/* ═══════════════════════════════════════════════════════════════
   99 · RESPONSIVE
   All media queries · including new sections
   ═══════════════════════════════════════════════════════════════ */

@media (max-width: 1280px) {
  .header__center { display: none; }
  .topbar__inner  { gap: 16px; }
  .footer__main   { grid-template-columns: 1.4fr 1fr 1fr 1.2fr; }
  .footer__main > .footer__col:nth-child(4) { display: none; }
  .footer__featured__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1100px) {
  .tour-grid,
  .blog-grid,
  .testimonials__grid { grid-template-columns: repeat(2, 1fr); }

  .why-grid { grid-template-columns: repeat(2, 1fr); }
  .why-cell { border-bottom: 1px solid var(--line); }
  .why-cell:nth-child(2n) { border-right: 0; }
  .why-cell:nth-last-child(-n+2) { border-bottom: 0; }

  /* New full-width Why Choose Us (navy) */
  .why__grid { grid-template-columns: repeat(2, 1fr); }
  .why__card { border-bottom: 1px solid rgba(255,255,255,0.08); }
  .why__card:nth-child(2n) { border-right: 0; }
  .why__card:nth-last-child(-n+2) { border-bottom: 0; }

  .dest__bento {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, 280px);
  }
  .dest-tile--tall { grid-row: span 1; }
  .dest-tile--wide { grid-column: span 2; }

  .story        { grid-template-columns: 1fr; gap: 60px; }
  .story__visual { max-width: 500px; margin: 0 auto; }

  .trust__inner { grid-template-columns: repeat(3, 1fr); }
  .trust__item  { border-right: 0; }
  .certs__grid  { grid-template-columns: repeat(3, 1fr); }

  /* New sections */
  .whoweare__grid { grid-template-columns: 1fr; gap: 50px; }
  .whoweare__gallery { grid-template-rows: repeat(3, 160px); }

  .stats__grid { grid-template-columns: repeat(2, 1fr); gap: 50px; }
  .stat:nth-child(2)::after { display: none; }

  .safety__features { grid-template-columns: 1fr; gap: 32px; }

  .faq__grid { grid-template-columns: 1fr; gap: 40px; }
  .faq__sidebar { position: static; }

  .nav-item__link { padding: 0 14px; font-size: 12px; }
  .nav-aux__btn   { padding: 0 14px; font-size: 11px; }

  .pre-footer__inner { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .topbar      { display: none; }
  .nav-primary { display: none; }
  .menu-toggle { display: grid; }

  .btn-whatsapp span { display: none; }
  .btn-whatsapp      { padding: 10px; }
  .header__actions .btn-cta { display: none; }
  .header__main      { height: 78px; }

  .hero              { height: auto; min-height: 600px; padding: 100px 0 60px; align-items: stretch; }
  .hero__inner       { padding: 0; }
  .hero__grid        { grid-template-columns: 1fr; gap: 40px; }
  .hero-card         { max-width: 100%; margin-left: 0; }

  .footer__newsletter__inner,
  .footer__main { grid-template-columns: 1fr; gap: 30px; }
  .footer__main > .footer__col:nth-child(4) { display: block; }

  .section     { padding: 70px 0; }
  .section--lg { padding: 90px 0; }
  .cta-band    { padding: 90px 0; }
  .safety      { padding: 90px 0; }
  .stats       { padding: 70px 0; }

  .tours-head  { flex-direction: column; align-items: flex-start; }
  .pre-footer__actions { flex-direction: column; width: 100%; }
  .pre-footer__btn     { justify-content: center; }

  .back-to-top  { left: auto; right: 92px; bottom: 24px; }

  :root { --container-pad: 22px; }
}

@media (max-width: 600px) {
  .tour-grid,
  .blog-grid,
  .testimonials__grid,
  .why-grid,
  .why__grid { grid-template-columns: 1fr; }
  .why-cell { border-right: 0; border-bottom: 1px solid var(--line); }
  .why__card { border-right: 0; padding: 36px 24px; }
  .why__card:last-child { border-bottom: 0; }
  .footer__legal { flex-direction: column; align-items: center; gap: 8px; }
  .footer__bottom { flex-direction: column; gap: 18px; text-align: center; }

  .dest__bento {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(7, 240px);
  }
  .dest-tile--wide,
  .dest-tile--tall { grid-column: span 1; grid-row: span 1; }

  .trust__inner       { grid-template-columns: repeat(2, 1fr); }
  .certs__grid        { grid-template-columns: repeat(2, 1fr); }
  .footer__featured__grid { grid-template-columns: 1fr; }

  .announce__inner    { font-size: 12px; padding: 10px 40px; }
  .hero__title        { font-size: 44px; }
  .sec-head__title    { font-size: 30px; }
  .safety__title      { font-size: 32px; }
  .stat__num          { font-size: 48px; }

  .stats__grid        { grid-template-columns: 1fr; }
  .stat::after        { display: none !important; }

  .whoweare__highlights { grid-template-columns: 1fr; }
  .whoweare__gallery    { grid-template-columns: 1fr; grid-template-rows: repeat(3, 200px); }
  .whoweare__gallery__item--tall { grid-row: span 1; }
}

/* ═══════════════════════════════════════════════════════════════
   TOUR DETAIL · mobile hardening (prevents horizontal overflow)
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 1100px) {
  /* Sidebar stacks below content on tablet & mobile — keep it a neat, centered card
     so the booking panel & calendar never stretch full-width (which blew up the
     aspect-ratio:1 day cells into a huge, broken-looking grid). */
  .tour-layout__grid { grid-template-columns: 1fr !important; gap: 36px; }
  .tour-aside { position: static !important; top: auto; max-width: 560px; width: 100%; margin-left: auto; margin-right: auto; }
  .tour-cal__grid { max-width: 392px; margin-left: auto; margin-right: auto; }
}

@media (max-width: 768px) {
  /* Pricing table: allow horizontal scroll inside its own box, never the page */
  .tour-pricing-table { display: block; width: 100%; overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; }
  .tour-pricing-table thead, .tour-pricing-table tbody, .tour-pricing-table tr { width: 100%; }

  /* Stats 4→2 */
  .tour-stats { grid-template-columns: repeat(2, 1fr); }
  .tour-stat:nth-child(2) { border-right: 0; }
  .tour-stat:nth-child(1), .tour-stat:nth-child(2) { border-bottom: 1px solid rgba(255,255,255,0.1); }

  /* Includes / packing / before stack */
  .tour-includes,
  .tour-packing,
  .tour-meta-row { grid-template-columns: 1fr !important; }
  .tour-before__card { grid-template-columns: 40px 1fr; gap: 12px; }

  /* Hero quick stats wrap cleanly */
  .tour-hero { min-height: 420px; padding: 84px 0 36px; }
  .tour-hero__quick { gap: 10px 16px; font-size: 12.5px; }
  .tour-hero__quick__sep { display: none; }
  .tour-hero__title { font-size: clamp(32px, 9vw, 46px); }
  .tour-hero__subtitle { font-size: 15px; }

  /* Tabs scroll horizontally but stay inside viewport */
  .tour-tabs__inner { gap: 0; }
  .tour-tabs__btn { padding: 13px 16px; font-size: 11px; gap: 4px; }
  .tour-tabs__btn .tour-tabs__icon { width: 18px; height: 18px; }
  .tour-tabs__btn--enquire { margin-left: 0; }

  .tour-panel__title { font-size: 25px; }
  .tour-layout { padding: 40px 0 100px; }
}

@media (max-width: 600px) {
  .tour-stats { grid-template-columns: repeat(2, 1fr); }
  /* Calendar days comfortable tap targets */
  .tour-cal__day { font-size: 13px; }
  .tour-hero__quick { font-size: 12px; }
}

/* ═══════════════════════════════════════════════════════════════
   FULL DAY CATEGORY · mobile
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .cat-filter__inner { flex-direction: column; align-items: stretch; gap: 12px; }
  .cat-filter__tabs { justify-content: center; }
  .cat-filter__count { text-align: center; }
  .cat-section { padding: 40px 0; }
  .cat-section__head { flex-direction: column; align-items: flex-start; gap: 8px; margin-bottom: 22px; }
  .cat-section__title { font-size: 26px; }
  .cat-intro { padding: 44px 0 6px; }
  .cta-band__actions { flex-direction: column; width: 100%; }
  .cta-band__actions .btn { justify-content: center; width: 100%; }
}

/* ═══════════════════════════════════════════════════════════════
   LEGAL / CONTACT / ABOUT / WHY-CHOOSE-US · mobile
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 900px) {
  .contact-grid { grid-template-columns: 1fr !important; gap: 36px; }
  .pillar { grid-template-columns: 1fr !important; gap: 32px; padding: 44px 0; }
  .pillar:nth-child(even) .pillar__body { order: 2; }
  .pillar:nth-child(even) .pillar__visual { order: 1; }
  .pillar__visual { height: 300px; }
  .pillar__visual::after { font-size: 150px; }
  .intro__grid { grid-template-columns: 1fr !important; gap: 24px; }
  .intro__stats { grid-template-columns: repeat(2, 1fr) !important; gap: 32px 20px; }
  .why-stats__grid { grid-template-columns: repeat(2, 1fr); gap: 40px 0; }
  .why-stats__item:nth-child(2) { border-right: 0; }
}

@media (max-width: 600px) {
  .page-hero { padding: 90px 0 50px; min-height: auto; }
  .page-hero__title { font-size: clamp(30px, 8.5vw, 42px); }
  .page-hero__desc { font-size: 15px; }
  .form-row { grid-template-columns: 1fr !important; gap: 14px !important; }
  .contact-form { padding: 26px 22px; }
  .legal__wrap { padding: 0; }
  .legal h2 { font-size: 21px; }
  .pillars { padding: 60px 0; }
  .pillar__title { font-size: clamp(26px, 7vw, 34px); }
  .manifesto { padding: 60px 0; }
  .manifesto__quote { font-size: clamp(20px, 6vw, 28px); }
  .why-stats { padding: 60px 0; }
  .why-stats__grid { grid-template-columns: 1fr; gap: 36px; }
  .why-stats__item { border-right: 0 !important; }
  .refund-tl__item { grid-template-columns: 1fr !important; gap: 6px; }
  .intro__stats { grid-template-columns: 1fr !important; }
}
