/* ============================================================
   SUNDARA TRAVELS – Responsive
   ============================================================ */

/* ── Large desktop ── */
@media (min-width: 1400px) {
  .hero-container { max-width: 1360px; }
}

/* ── Tablet landscape (992–1199) ── */
@media (max-width: 1199px) {
  .hero-container { grid-template-columns: 1fr 420px; gap: 40px; }
  .hero-heading { font-size: 3rem; }
  .wa-booking-wrap { gap: 36px; }
  .tariff-wrap { gap: 20px; }
}

/* ── Tablet portrait (768–991) ── */
@media (max-width: 991px) {
  :root { --nav-h: 64px; }

  /* Navbar mobile */
  #navMenu {
    background: rgba(248,250,252,0.97); backdrop-filter: blur(20px);
    border-radius: var(--radius); padding: 16px 20px 20px; margin-top: 8px;
    border: 1px solid rgba(37,99,235,0.1); box-shadow: var(--shadow-lg);
  }
  [data-theme="dark"] #navMenu { background: rgba(11,17,32,0.98); border-color: rgba(255,255,255,0.07); }
  #navMenu.show,#navMenu.collapsing { display: block !important; }
  .navbar-nav { flex-direction: column !important; align-items: flex-start !important; gap: 2px !important; margin: 0 0 8px !important; width: 100%; }
  .navbar-nav .nav-link { width: 100%; padding: 9px 12px !important; font-size: 0.9rem !important; }
  .nav-actions { margin-left: 0 !important; margin-top: 10px; padding-top: 12px; border-top: 1px solid rgba(0,0,0,0.06); flex-wrap: wrap; gap: 10px; }
  [data-theme="dark"] .nav-actions { border-color: rgba(255,255,255,0.06); }

  /* Hero */
  .hero-section { padding: 48px 0 60px; }
  .hero-container { grid-template-columns: 1fr; gap: 44px; text-align: center; padding: 48px 20px; }
  .hero-left { order: 1; align-items: center; padding-right: 0; }
  .hero-right { order: 2; max-width: 480px; margin: 0 auto; width: 100%; }
  .hero-btns { justify-content: center; }
  .hero-trust { justify-content: center; }
  .hero-sub { margin-left: auto; margin-right: auto; }
  .hero-badge { margin-left: auto; margin-right: auto; }

  /* About */
  .about-features { grid-template-columns: 1fr 1fr; }
  .about-content { text-align: center; }
  .mv-card { text-align: left; }

  /* Why timeline */
  .why-timeline::before { left: 22px; }
  .why-item { flex-direction: row !important; padding: 0 0 0 58px !important; }
  .why-dot { left: 22px !important; }
  .why-content { max-width: 100%; }

  /* WA Booking */
  .wa-booking-wrap { grid-template-columns: 1fr; gap: 36px; }
  .wa-booking-left h2 { font-size: 1.8rem; }
  .wa-booking-left p { max-width: 100%; }
  .wa-form-card { padding: 26px 22px; }
  .wb-vehicle-picker { grid-template-columns: repeat(3,1fr); }

  /* Tariff */
  .tariff-wrap { grid-template-columns: 1fr; gap: 20px; }

  /* Footer */
  .footer-bottom-inner { flex-direction: column; text-align: center; }
  .footer-legal { justify-content: center; }

  /* Stats */
  .stat-divider { display: none; }
}

/* ── Mobile (max 767) ── */
@media (max-width: 767px) {
  .section-about,.section-services,.section-why,
  .section-tariff,.section-routes,.section-process,
  .section-reviews,.section-faq,.section-wa-booking,
  .section-cta,.section-contact { padding: 72px 0; }

  .about-features { grid-template-columns: 1fr; }
  .services-grid { grid-template-columns: 1fr 1fr; }
  .routes-grid { grid-template-columns: 1fr; }
  .stats-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; padding: 0 8px; }
  .stat-divider { display: none; }
  .stat-num { font-size: 1.5rem; }

  .hero-heading { font-size: 2.2rem; }
  .section-title { font-size: 1.75rem; }
  .booking-card { padding: 24px 18px; }
  .form-row-two { grid-template-columns: 1fr; }

  .wa-booking-contact { flex-direction: column; }
  .wa-contact-pill { justify-content: center; }
  .wb-vehicle-picker { grid-template-columns: repeat(2,1fr); gap: 8px; }
  .wbv-sub { display: none; }
  .wb-confirm-box { padding: 30px 20px 26px; }

  .float-whatsapp { bottom: 90px;  right: 14px; width: 46px; height: 46px; font-size: 1.1rem; }
  .float-call     { bottom: 36px;  right: 14px; width: 46px; height: 46px; font-size: 1.1rem; }
  .float-tooltip  { display: none; }
  .sticky-book-bar { display: block; }
  .main-footer { padding-bottom: 72px; }
  .contact-form-wrap { padding: 22px 18px; }
  .section-cta h2 { font-size: 1.9rem; }
  .cta-btns { flex-direction: column; align-items: center; }
  .btn-cta-primary,.btn-cta-whatsapp { width: 100%; max-width: 280px; justify-content: center; }
  .faq-body { padding-left: 20px; }
  .back-to-top { left: auto; right: 14px; bottom: 176px; }
}

/* ── Mobile small (max 575) ── */
@media (max-width: 575px) {
  .hero-btns { flex-direction: column; align-items: center; }
  .btn-hero-primary,.btn-hero-secondary { width: 100%; max-width: 280px; justify-content: center; }
  .hero-trust { gap: 12px; justify-content: center; }
  .trust-divider { display: none; }
  .services-grid { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: repeat(2,1fr); }
  .why-content { flex-direction: column; gap: 10px; }
  .footer-legal { flex-direction: column; gap: 8px; text-align: center; }
  .app-store-btns { flex-direction: column; align-items: center; }
  .tariff-table thead th,.tariff-table tbody td { padding: 10px 12px; font-size: 0.78rem; }
}

/* ── Print ── */
@media print {
  .sticky-book-bar,.float-whatsapp,.float-call,.back-to-top,#mainNav { display: none !important; }
  body { background: #fff !important; color: #000 !important; }
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
