/* ============================================================
   Sungura Safari Camp — Responsive CSS
   All @media queries from both HTML sources
   ============================================================ */

@media (max-width: 1024px) {
  .welcome, .room-content, .location-grid { grid-template-columns: 1fr; gap: 56px; }
  .amenities-inner { grid-template-columns: repeat(2, 1fr); gap: 30px; }
  .amenity { border-left: 0; padding: 0; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 50px; }
  .masonry { columns: 2; }
  .nav-links { display: none; }
  .nav-inner { grid-template-columns: auto 1fr auto; }
  .nav-logo { justify-content: flex-start; }

  /* Site pages */
  .split, .room-card, .room-detail-grid, .contact-grid { grid-template-columns: 1fr; gap: 50px; }
  .room-card.reverse { direction: ltr; }
  .pillars { grid-template-columns: 1fr 1fr; }
  .stats-row, .contact-cards, .review-cards { grid-template-columns: 1fr 1fr; gap: 30px; }
  .stat { border-left: 0; padding: 0; }
  .booking-card { position: static; }
  .mosaic { grid-template-columns: 1fr 1fr; }
  .feat-list { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .container { padding: 0 22px; }
  .section { padding: 90px 0; }
  .topbar-inner { padding: 10px 22px; flex-direction: column; gap: 8px; align-items: flex-start; }
  .topbar-left { gap: 16px; font-size: 11px; }
  .hero { min-height: 600px; }
  .booking-bar { padding: 14px; border-radius: 18px; flex-direction: column; align-items: stretch; }
  .booking-field { border-right: 0; border-bottom: 1px solid rgba(201,169,110,0.18); padding: 12px 14px; min-width: 0; }
  .booking-bar .btn { border-radius: 12px; }
  .footer-grid { grid-template-columns: 1fr; }
  .masonry { columns: 1; }
  .amenities-inner { grid-template-columns: 1fr; }
  .nav-inner { padding: 14px 22px; }
  .nav-cta .btn { padding: 12px 18px; font-size: 11px; }

  /* Site pages */
  .page-hero { height: auto; padding: 140px 0 80px; min-height: 0; }
  .topbar-left { gap: 14px; font-size: 11px; }
  .pillars { grid-template-columns: 1fr; }
  .stats-row, .contact-cards, .review-cards { grid-template-columns: 1fr; }
  .stats-row { gap: 0; padding: 24px 0; }
  .stat { padding: 14px 0; border-left: 0; border-top: 1px solid rgba(97,71,67,0.15); }
  .stat:first-child { border-top: 0; }
  .stat .num { font-size: 30px; margin-bottom: 4px; }
  .other-rooms { grid-template-columns: 1fr; }
  .booking-form-wrap { padding: 32px 24px; }
  .form-row { grid-template-columns: 1fr; }

  /* Stats counter section: tighten the gap before the next section */
  .section:has(.stats-row) { padding-bottom: 24px; }

  /* Amboseli: airstrip tabs */
  .tab { padding: 12px 12px; font-size: 10.5px; }
}

@media (max-width: 720px) {
  /* Camp Life mosaic: uniform 2-up grid avoids masonry gaps on narrow screens */
  .mosaic { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 150px; gap: 10px; }
  .mosaic .tall { grid-row: span 1; }
}
