/* ═══════════════════════════════════════════
   RESPONSIVE — Mobile First Breakpoints
═══════════════════════════════════════════ */

/* ─── Large desktop ─── */
@media (max-width: 1200px) {
  .hero__inner    { gap: var(--sp-12); }
  .why__grid      { gap: var(--sp-12); }
}

/* ─── Tablet / Small Desktop ─── */
@media (max-width: 1100px) {
  .hero__inner        { grid-template-columns: 1fr; }
  .hero__card-wrap    { display: none; }
  .services__grid     { grid-template-columns: repeat(2, 1fr); }
  .why__grid,
  .booking__inner,
  .location__grid     { grid-template-columns: 1fr; gap: var(--sp-12); }
  .footer__main       { grid-template-columns: 1fr 1fr; }
}

/* ─── Mobile ─── */
@media (max-width: 768px) {
  :root { --sp-28: 72px; }

  /* Topbar */
  .topbar__right { display: none; }

  /* Navbar */
  .nav__links   { display: none; }
  .nav__cta-btn { display: none; }
  .nav__hamburger { display: flex; }

  /* Trust strip */
  .trust__grid { flex-wrap: wrap; }
  .trust__item {
    flex: 1 1 calc(50% - 1px);
    border-right: none;
    border-bottom: 1px solid rgba(8, 16, 31, .12);
  }

  /* Services */
  .services__grid { grid-template-columns: 1fr; }

  /* Tests */
  .tests__header { flex-direction: column; align-items: flex-start; }

  /* Booking */
  .form__row { grid-template-columns: 1fr; }

  /* Reviews */
  .review-card { width: 100%; }
  .review-cta  { flex-direction: column; }

  /* Hero stats */
  .hero__stats { flex-wrap: wrap; gap: var(--sp-4); }
  .hero-stat   { flex: auto; border-right: none; padding: 0; margin: 0 0 var(--sp-2); }

  /* Safari flexbox fallback for hero stats */
  @supports not (gap: 1px) {
    .hero__stats {
      display: block;
    }
    .hero-stat {
      display: inline-block;
      margin-bottom: var(--sp-4);
      width: 100%;
      text-align: center;
    }
  }

  /* Footer */
  .footer__main { grid-template-columns: 1fr; gap: var(--sp-10); }
  .footer__bottom { flex-direction: column; text-align: center; gap: var(--sp-2); }

  /* FAQ */
  .faq__q { font-size: var(--text-base); }

  /* Location */
  .location__grid { grid-template-columns: 1fr; }

  /* Floating action bar */
  .mobile-cta-bar { display: flex; }
  body { padding-bottom: 64px; }
}

/* ─── Very small screens ─── */
@media (max-width: 420px) {
  .trust__item { flex: 1 1 100%; }
  .hero__badge-text { display: none; }
}

/* ─── Safari Flexbox Gap Fallbacks ─── */
@supports not (gap: 1px) {
  .topbar__right,
  .logo,
  .nav__right,
  .hero__btns,
  .service-card__tags,
  .why__features,
  .booking__steps,
  .step-item,
  .form__group,
  .review-score,
  .review-score__stars,
  .carousel__track,
  .carousel__dots {
    display: block;
  }
  
  .topbar__right > *,
  .logo > *,
  .nav__right > *,
  .hero__btns > *,
  .service-card__tags > *,
  .why__features > *,
  .booking__steps > *,
  .step-item > *,
  .form__group > *,
  .review-score > *,
  .review-score__stars > *,
  .carousel__track > *,
  .carousel__dots > * {
    display: inline-block;
    margin-right: 0;
    margin-bottom: var(--sp-3);
  }
}

/* Packages responsive */
@media (max-width: 768px) {
  .packages-grid {
    grid-template-columns: 1fr;
  }
  .review-slider-controls {
    justify-content: center;
  }
}

/* Lightbox mobile */
@media (max-width: 600px) {
  .gallery-lightbox__prev { left: 4px; }
  .gallery-lightbox__next { right: 4px; }
  .gallery-lightbox__inner { max-width: 96vw; }
}

/* Form loading */
@media (max-width: 480px) {
  .review-nav-btn { width: 38px; height: 38px; font-size: 15px; }
}
