/* =====================================================
   FACILITIES PAGE — Joginder Gymkhana Club
   ===================================================== */

.facility-section { padding: 100px 0; }
.facility-section:nth-child(even) { background: var(--cream); }
.facility-img {
  width: 100%;
  height: 460px;
  object-fit: cover;
  border-radius: 4px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.12);
}
.feature-list { list-style: none; margin-top: 1.2rem; }
.feature-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 0;
  border-bottom: 1px solid var(--border);
  font-size: 0.9rem;
  color: var(--text-mid);
}
.feature-list li:last-child { border-bottom: none; }
.feature-list li::before { content: '✦'; color: var(--gold); font-size: 0.6rem; flex-shrink: 0; }

.sports-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-top: 1.5rem;
}
.sport-item {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 4px;
  padding: 1.5rem;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  transition: all var(--transition);
}
.sport-item:hover { border-color: var(--gold); transform: translateY(-4px); box-shadow: 0 10px 30px var(--shadow); }
.sport-icon { font-size: 2rem; flex-shrink: 0; }
.sport-name { font-family: 'Playfair Display', serif; font-size: 1rem; color: var(--text); margin-bottom: 0.3rem; }
.sport-desc { font-size: 0.82rem; color: var(--text-mid); line-height: 1.65; }

.venue-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
  margin-top: 2rem;
}
.venue-card {
  background: var(--white);
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 4px 20px var(--shadow);
  transition: all var(--transition);
}
.venue-card:hover { transform: translateY(-8px); box-shadow: 0 15px 40px var(--shadow-deep); }
.venue-card img { width: 100%; height: 200px; object-fit: cover; }
.venue-card-body { padding: 1.2rem; }
.venue-card-title { font-family: 'Playfair Display', serif; font-size: 1.05rem; color: var(--text); margin-bottom: 0.4rem; }
.venue-card-desc { font-size: 0.83rem; color: var(--text-mid); line-height: 1.65; }

/* ── ROOMS ── */
.rooms-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.room-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-radius: 4px;
  overflow: hidden;
  transition: all var(--transition);
}
.room-card:hover { border-color: var(--gold); box-shadow: 0 12px 35px var(--shadow); transform: translateY(-5px); }
.room-card img { width: 100%; height: 220px; object-fit: cover; }
.room-card-body { padding: 1.5rem; }
.room-num { font-family: 'Cinzel', serif; font-size: 0.7rem; color: var(--gold); letter-spacing: 0.15em; text-transform: uppercase; margin-bottom: 0.4rem; }
.room-title { font-family: 'Playfair Display', serif; font-size: 1.1rem; color: var(--text); margin-bottom: 0.5rem; }
.room-features { list-style: none; margin-top: 0.75rem; }
.room-features li { font-size: 0.8rem; color: var(--text-mid); padding: 3px 0; display: flex; align-items: center; gap: 6px; }
.room-features li::before { content: '✓'; color: #4caf50; font-weight: 700; }

/* ── CTA ── */
.facilities-cta-section { padding: 70px 0; background: var(--teal); text-align: center; }

/* ── RESPONSIVE ── */
@media (max-width: 700px) {
  .sports-grid, .venue-grid { grid-template-columns: 1fr; }
  .rooms-grid { grid-template-columns: 1fr; }
}
