/* ==========================================================================
   NexTrip Travels — Responsive Rules
   Breakpoints: >=1200 desktop (base), 1199, 991, 767, 575
   ========================================================================== */

/* ---------- Laptop / small desktop ---------- */
@media (max-width: 1199.98px) {
  .container-xl { padding-inline: 20px; }
  .section { padding: 84px 0; }

  .trip-panel-grid { grid-template-columns: repeat(2, 1fr); }
  .trip-panel-grid > .trip-field:nth-child(5),
  .trip-panel-grid > div:last-child { grid-column: span 2; }

  .dest-grid { grid-template-columns: repeat(4, 1fr); grid-template-rows: 220px 220px 220px; }
  .dest-card--xl { grid-column: span 4; grid-row: span 1; }
  .dest-card--md { grid-column: span 2; }
  .dest-card--sm { grid-column: span 2; }

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

  .services-bento { grid-template-columns: repeat(2, 1fr); }
  .svc-card, .svc-card:nth-child(1), .svc-card:nth-child(4), .svc-card.is-dark { grid-column: span 1; }

  .visa-country-grid { grid-template-columns: repeat(3, 1fr); }
  .visa-process { grid-template-columns: repeat(2, 1fr); row-gap: 34px; }
  .journey-line { display: none; }
  .journey-track { grid-template-columns: repeat(2, 1fr); row-gap: 34px; }

  .blog-grid { grid-template-columns: repeat(2, 1fr); }
  .testi-card { flex: 0 0 calc(50% - 12px); }

  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-grid .footer-col.footer-newsletter { grid-column: span 3; margin-top: 10px; }
}

/* ---------- Tablet ---------- */
@media (max-width: 991.98px) {
  :root { --header-h: 78px; --header-h-scrolled: 66px; }

  .main-nav, .header-actions .btn-nx { display: none; }
  .nav-toggle { display: flex; }

  .hero { min-height: auto; padding-bottom: 40px; }
  .hero-content { padding-bottom: 90px; padding-top: 40px; }
  .hero-cta-row { margin-bottom: 34px; }

  .trip-panel { margin-top: -70px; padding: 24px; }
  .trip-panel-grid { grid-template-columns: 1fr 1fr; }

  .why-grid { grid-template-columns: repeat(2, 1fr); }
  .services-bento { grid-template-columns: 1fr; }

  .pkg-grid { grid-template-columns: repeat(2, 1fr); }
  .blog-grid { grid-template-columns: repeat(2, 1fr); }

  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  .footer-grid .footer-brand { grid-column: span 2; }
  .footer-grid .footer-col.footer-newsletter { grid-column: span 2; }

  .split-row { flex-direction: column; }
  .pkg-gallery { grid-template-columns: 1fr 1fr; grid-template-rows: 140px 140px; }
  .pkg-gallery a:first-child { grid-column: span 2; grid-row: span 1; height: 220px; }
  .price-sidebar { position: static; margin-top: 30px; }
}

/* ---------- Mobile (large) ---------- */
@media (max-width: 767.98px) {
  .section { padding: 64px 0; }
  .section-head { margin-bottom: 38px; }
  .section-title { font-size: 1.7rem; }

  .hero-title { font-size: clamp(1.9rem, 8vw, 2.6rem); }
  .hero-text { font-size: 1rem; }
  .hero-cta-row .btn-nx { width: 100%; }
  .hero-cta-row { flex-direction: column; }
  .hero-trust { gap: 16px; flex-direction: column; }

  .trip-panel { margin-top: -50px; border-radius: var(--radius-md); }
  .trip-panel-grid { grid-template-columns: 1fr; gap: 14px; }
  .trip-panel-grid > * { grid-column: span 1 !important; }

  .dest-grid { grid-template-columns: 1fr; grid-template-rows: none; }
  .dest-card--xl, .dest-card--md, .dest-card--sm { grid-column: span 1; height: 260px; }

  .pkg-grid { grid-template-columns: 1fr; }
  .why-grid { grid-template-columns: 1fr; }
  .journey-track { grid-template-columns: 1fr; }
  .visa-country-grid { grid-template-columns: repeat(2, 1fr); }
  .visa-process { grid-template-columns: 1fr; }

  .blog-grid { grid-template-columns: 1fr; }
  .testi-card { flex: 0 0 100%; }

  .final-cta-actions { flex-direction: column; }
  .final-cta-actions .btn-nx { width: 100%; }

  .footer-grid { grid-template-columns: 1fr; }
  .footer-grid .footer-brand, .footer-grid .footer-col.footer-newsletter { grid-column: span 1; }
  .footer-bottom { flex-direction: column; text-align: center; }

  .counter-stats { gap: 26px; }
  .counter-item .num { font-size: 1.9rem; }

  .page-hero { padding-top: calc(var(--header-h) + 50px); padding-bottom: 60px; }
}

/* ---------- Mobile (small) ---------- */
@media (max-width: 575.98px) {
  .container-xl { padding-inline: 16px; }
  .brand { font-size: 1.15rem; }
  .brand .brand-mark { width: 34px; height: 34px; font-size: 0.95rem; }

  .eyebrow { font-size: 11px; padding: 6px 13px; }
  .btn-nx { padding: 13px 22px; font-size: 0.88rem; }

  .visa-country-grid { grid-template-columns: repeat(2, 1fr); }
  .pkg-body { padding: 18px; }
  .trip-panel { padding: 18px; }

  .mobile-nav { width: 100%; }
}
