/* ==========================================================================
   Responsive rules. Desktop-first base lives in style.css; breakpoints here
   handle 1024 / 768 tablet and 430-360 mobile independently, not just scaled.
   ========================================================================== */

/* ----- Large desktop refinement (>=1600) ----- */
@media (min-width: 1600px) {
  .container-fluid { max-width: 1480px; }
}

/* ----- Tablet landscape / small desktop (<=1024) ----- */
@media (max-width: 1024px) {
  .site-nav { display: none; }
  .menu-toggle { display: flex; }
  .site-header__partner img { height: 30px; }

  .intro__grid { grid-template-columns: 1fr; }
  .intro__collage { max-width: 560px; margin-inline: auto; }

  .site-footer__top { grid-template-columns: 1fr 1fr; row-gap: 2.5rem; }
  .site-footer__brand { grid-column: span 2; }

  .mosaic { grid-auto-rows: 90px; }

  .contact-layout { grid-template-columns: 1fr; }
  .contact-sidebar { position: static; }
}

/* ----- Tablet portrait (<=768) ----- */
@media (max-width: 768px) {
  .hero { min-height: 92svh; align-items: flex-end; }
  .hero__content { padding-bottom: 2.5rem; }
  .hero__ctas { flex-direction: column; align-items: stretch; }
  .hero__ctas .btn-premium { justify-content: center; }

  .section-head { flex-direction: column; align-items: flex-start; gap: 1rem; }

  .exp-row { grid-template-columns: 1fr; gap: 1.5rem; }
  .exp-row:nth-child(even) .exp-row__media { order: 0; }

  .mosaic { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 160px; }

  .site-footer__top { grid-template-columns: 1fr; }
  .site-footer__brand { grid-column: span 1; }
  .site-footer__bottom { flex-direction: column; text-align: center; }

  .attraction-list { grid-template-columns: 1fr; }
}

/* ----- Mobile (<=430) — designed independently, not just shrunk ----- */
@media (max-width: 430px) {
  :root { --header-h: 84px; }

  .site-header__inner { padding-left: 1.1rem; padding-right: 1.1rem; }
  .site-header__logo img { width: 140px; }
  .site-header.is-scrolled { height: 72px; }
  .site-header.is-scrolled .site-header__logo img { width: 120px; }
  /* Language switch and social icons already live in the mobile drawer —
     drop them from the persistent header so it doesn't crowd the Khimji
     logo out at the edge. */
  .site-header__right .lang-switch,
  .site-header__right .site-header__social { display: none; }
  .site-header__partner img { height: 26px; }

  .hero { min-height: 88svh; }
  .hero__title { font-size: clamp(2.1rem, 10vw, 3rem); }
  .hero__sub { font-size: 0.95rem; }
  .hero__scroll { display: none; }

  .section-pad { padding-block: 3rem; }

  .intro__collage { grid-template-columns: 1fr 1fr; gap: 0.6rem; }
  .intro__collage-badge { position: static; margin-top: 1rem; display: inline-flex; }

  .dest-card { aspect-ratio: 4/5; }

  .package-card__highlights li { font-size: 0.7rem; }

  .final-cta { min-height: 50vh; text-align: center; }
  .final-cta__ctas { flex-direction: column; }
  .final-cta__ctas .btn-premium { justify-content: center; }
}

@media (max-width: 360px) {
  .hero__title { font-size: 2rem; }
  .container-fluid { padding-left: 1rem; padding-right: 1rem; }
}
