/* ============================================================
   MZANZI OVERRIDE — override.css
   Loaded LAST with highest priority.
   Kills all old Gowilds / Elementor layout constraints.
   ============================================================ */

/* ── KILL OLD THEME WRAPPERS ── */
/* Force every old wrapper to full width */
.site,
#page,
#content,
.site-content,
.content-area,
.entry-content > *:not(.alignwide):not(.alignfull),
.wp-site-blocks,
.is-layout-constrained > *,
.is-layout-flow > * {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  float: none !important;
  clear: both !important;
}

/* Kill any grid/flex that constrains width */
.site,
#page,
#content,
.site-content {
  display: block !important;
  grid-template-columns: none !important;
  grid-template-areas: none !important;
}

/* Kill any old sidebar layout */
#primary,
#secondary,
.sidebar,
.widget-area {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}

/* ── KILL OLD HEADER ── */
/* Hide the old Gowilds header — we have our own */
.header-builder-frontend,
.wp-site-header:not(#mzHeader),
.gowilds-page-loading,
.canvas-mobile,
#gva-overlay,
.gva-header,
.header-default,
.site-header-default,
[class*="gowilds-header"],
[class*="gva-header"],
[id*="gva-header"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* ── FORCE OUR HEADER VISIBLE (desktop only) ── */
#mzHeader {
  display: block !important;
  visibility: visible !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 99999 !important;
}
/* Mobile nav handles itself — hide desktop header on mobile */
@media (max-width: 900px) {
  #mzHeader { display: none !important; }
}

/* ── KILL ELEMENTOR LAYOUT ── */
.elementor-page,
.elementor-section-wrap,
.elementor-section,
.elementor-container,
.elementor-row,
.elementor-column-wrap,
.elementor-widget-wrap {
  max-width: none !important;
}

/* Kill any leftover margin from old theme — but NOT padding (header offset uses it) */
body {
  margin: 0 !important;
  overflow-x: hidden !important;
  background: #fff !important;
  /* padding-top set dynamically by JS to match fixed header height */
}

/* Pages with their own hero handle offset internally */
body .hero,
body .tp-hero,
body .lw-hero,
/* page-hero margin-top set by critical inline CSS */

/* ── MAKE OUR CONTENT FULL WIDTH ── */
/* Hero must be edge-to-edge */
.hero,
.tp-hero,
.lw-hero,
.about-hero,
.page-hero,
.cta-banner,
.tour-types,
.gallery-slider-section,
.testimonials-section,
.stats-bar,
.tp-facts,
.lw-facts {
  width: 100% !important;
  max-width: 100% !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  box-sizing: border-box !important;
}

/* Better approach — just make body a clean block */
body.mzanzi-theme {
  width: 100% !important;
  max-width: 100% !important;
}

/* Our sections are full width by default */
section,
.section,
footer,
header {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* ── PROTECT FIXED/OVERLAY ELEMENTS FROM WIDTH RESETS ── */
/* Mobile drawer — must NOT be 100% width on desktop */
nav.mz-mobile-drawer,
#mzMobileDrawer,
.mz-mobile-drawer {
  width: 320px !important;
  max-width: 320px !important;
  position: fixed !important;
  top: 0 !important;
  height: 100vh !important;
  right: -110% !important;
  left: auto !important;
  z-index: 99992 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.mz-mobile-overlay,
#mzMobileOverlay {
  z-index: 99991 !important;
}
nav.mz-mobile-drawer.open,
#mzMobileDrawer.open,
.mz-mobile-drawer.open {
  right: 0 !important;
}
/* Full width on phones */
@media (max-width: 600px) {
  nav.mz-mobile-drawer,
  #mzMobileDrawer,
  .mz-mobile-drawer {
    width: 100vw !important;
    max-width: 100vw !important;
    right: -100vw !important;
  }
  nav.mz-mobile-drawer.open,
  #mzMobileDrawer.open,
  .mz-mobile-drawer.open {
    right: 0 !important;
  }
}

/* Our container centers content correctly */
.container {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.container--wide {
  max-width: 1400px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* ── HERO IMAGE FIX ── */
.hero {
  position: relative !important;
  min-height: 90vh !important;
  display: flex !important;
  align-items: center !important;
  /* margin-top set by critical inline CSS — do NOT override here */
}
.hero-slideshow {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
.hero-slide {
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  transition: opacity 1.2s ease !important;
}
.hero-slide.active {
  opacity: 1 !important;
}
.hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to bottom, rgba(14,31,22,.35) 0%, rgba(14,31,22,.6) 100%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
.hero-content {
  position: relative !important;
  z-index: 2 !important;
}

/* ── WHEN NO HERO IMAGE LOADED (placeholder state) ── */
/* Show dark green + gold text still visible */
.hero-slide:not([style*="url"]) {
  background-color: var(--forest) !important;
}

/* ── BODY CLASSES — add mzanzi-theme to body ── */
/* (added via functions.php body_class filter) */

/* ── KILL ANY COLUMN LAYOUT FROM OLD THEME ── */
/* These are the classes Gowilds uses to make that column layout */
.col-xs-12,
.col-sm-12,
.col-md-12,
.container-fluid,
.wrap,
#wrapper,
.wrapper,
.boxed,
.boxed-layout {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}

/* ── ADMIN BAR OFFSET ── */
.admin-bar #mzHeader { top: 32px !important; }
.admin-bar .hero,
.admin-bar .page-hero,
.admin-bar .tp-hero,
.admin-bar .lw-hero,
/* admin-bar hero offset handled by critical inline */
@media screen and (max-width: 782px) {
  .admin-bar #mzHeader { top: 46px !important; }
  /* admin-bar hero handled by critical inline */
}

/* ── FOOTER FULL WIDTH ── */
.site-footer,
#siteFooter {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
}

/* ── WP TRAVEL ENGINE SINGLE PAGE OVERRIDE ── */
/* Force WTE trip pages to not use old template */
.single-trip .entry-content,
.single-trip #content,
.single-trip .site-content {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
}

/* ── MOBILE ── */
@media (max-width: 900px) {
  .hero { min-height: 420px !important; align-items: flex-start !important; }
  .container, .container--wide { padding-left: 16px !important; padding-right: 16px !important; }
}
@media (max-width: 600px) {
  .hero { min-height: 360px !important; align-items: flex-start !important; }
}

/* ── LOGO SIZE LOCK — NEVER let logo grow beyond nav height ── */
.mz-logo-icon,
.mz-logo img,
.mz-logo .mz-logo-img,
.site-logo img,
.site-logo-img,
img.site-logo-img,
img.mz-logo-img {
  width: 42px !important;
  height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
  object-fit: contain !important;
}

/* Kill any WP custom logo output that could be injected */
.custom-logo-link img,
.wp-custom-logo img {
  max-height: 44px !important;
  width: auto !important;
  max-width: 180px !important;
}



/* ============================================================
   MOBILE OPTIMISATION — in override.css so it beats everything
   ============================================================ */

/* ─── POPUP — must not be affected by section width rules ─── */
.rv-popup-overlay {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  max-width: 100vw !important;
  background: rgba(5,10,7,.65) !important;
  z-index: 99995 !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  padding: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .35s ease !important;
  box-sizing: border-box !important;
}
.rv-popup-overlay.open {
  opacity: 1 !important;
  pointer-events: all !important;
}
.rv-popup {
  background: #fff !important;
  width: 100% !important;
  max-width: 480px !important;
  border-radius: 20px 20px 0 0 !important;
  padding: 28px 24px 36px !important;
  transform: translateY(100%) !important;
  transition: transform .4s cubic-bezier(.22,.9,.36,1) !important;
  position: relative !important;
  box-sizing: border-box !important;
  max-height: 90vh !important;
  overflow-y: auto !important;
}
.rv-popup-overlay.open .rv-popup {
  transform: translateY(0) !important;
}
.rv-popup-close {
  position: absolute !important;
  top: 14px !important; right: 16px !important;
  width: 32px !important; height: 32px !important;
  border-radius: 50% !important;
  background: #f3f3f3 !important;
  border: none !important; cursor: pointer !important;
  display: flex !important; align-items: center !important;
  justify-content: center !important;
  color: #555 !important; z-index: 2 !important;
}
.rv-popup-drag {
  width: 40px !important; height: 4px !important;
  background: #ddd !important; border-radius: 2px !important;
  margin: 0 auto 20px !important;
}
.rv-popup-stars { display: flex !important; gap: 5px !important; margin-bottom: 12px !important; }
.rv-popup-stars span { font-size: 1.5rem !important; }
.rv-popup-eyebrow {
  display: block !important;
  font-size: .65rem !important; font-weight: 800 !important;
  letter-spacing: .18em !important; text-transform: uppercase !important;
  color: var(--gold, #b8902e) !important; margin-bottom: 6px !important;
}
.rv-popup-title {
  font-family: var(--ff-d, 'Georgia', serif) !important;
  font-size: 1.3rem !important; font-weight: 700 !important;
  color: var(--forest, #0a1e14) !important;
  margin: 0 0 8px !important; line-height: 1.25 !important;
}
.rv-popup-sub {
  font-size: .85rem !important; color: #666 !important;
  margin: 0 0 22px !important; line-height: 1.55 !important;
}
.rv-popup-btns { display: flex !important; flex-direction: column !important; gap: 10px !important; }
.rv-popup-btn-primary {
  display: flex !important; align-items: center !important;
  justify-content: center !important; gap: 8px !important;
  padding: 14px 20px !important;
  background: var(--forest, #0a1e14) !important;
  color: #fff !important; border-radius: 10px !important;
  font-size: .88rem !important; font-weight: 700 !important;
  text-decoration: none !important;
  width: 100% !important; box-sizing: border-box !important;
}
.rv-popup-btn-secondary {
  display: flex !important; align-items: center !important;
  justify-content: center !important;
  padding: 13px 20px !important;
  background: transparent !important;
  border: 1.5px solid #ddd !important;
  color: #888 !important; border-radius: 10px !important;
  font-size: .84rem !important; font-weight: 600 !important;
  cursor: pointer !important; font-family: inherit !important;
  width: 100% !important; box-sizing: border-box !important;
}
@media (min-width: 601px) {
  .rv-popup-overlay { align-items: center !important; padding: 20px !important; }
  .rv-popup {
    border-radius: 16px !important;
    max-width: 420px !important;
    transform: translateY(16px) scale(.97) !important;
    width: auto !important;
    min-width: 380px !important;
  }
  .rv-popup-overlay.open .rv-popup { transform: translateY(0) scale(1) !important; }
  .rv-popup-drag { display: none !important; }
}

/* ─── GLOBAL MOBILE SPACING ─── */
@media (max-width: 600px) {
  .section           { padding: 36px 0 !important; }
  .section--lg       { padding: 48px 0 !important; }
  .section--sm       { padding: 28px 0 !important; }
  .container         { padding: 0 14px !important; }
  .section-heading   { margin-bottom: 24px !important; }
  .section-heading h2{ font-size: 1.45rem !important; }
  .section-heading p { font-size: .87rem !important; }

  /* Hero */
  .hero              { min-height: 340px !important; max-height: 480px !important; }
  .hero-content      { padding-top: 24px !important; padding-bottom: 24px !important; }
  .hero-title        { font-size: 1.6rem !important; margin-bottom: 10px !important; line-height: 1.15 !important; }
  .hero-desc         { font-size: .84rem !important; margin-bottom: 18px !important; }
  .hero-tagline      { font-size: .64rem !important; margin-bottom: 8px !important; }
  .hero-actions .btn { padding: 11px 18px !important; font-size: .79rem !important; }

  /* Packages */
  .packages-section  { padding: 32px 0 !important; }
  .pkg-featured-ad   { border-radius: 10px !important; margin-bottom: 24px !important; }
  .pkg-featured-collage { min-height: 185px !important; }
  .pkg-featured-body { padding: 16px 14px !important; }
  .pkg-featured-title{ font-size: 1.15rem !important; }
  .pkg-featured-desc { font-size: .81rem !important; margin-bottom: 10px !important; }
  .pf-amt            { font-size: 1.45rem !important; }
  .pkg-featured-btn  { padding: 10px 18px !important; font-size: .81rem !important; }
  .pkg-grid          { gap: 12px !important; }
  .pkg-img           { height: 170px !important; }
  .pkg-body          { padding: 12px !important; }
  .pkg-title         { font-size: .93rem !important; }
  .pkg-desc          { font-size: .79rem !important; }
  .pkg-inc           { display: none !important; }
  .pkg-from          { font-size: .6rem !important; }
  .pkg-price         { font-size: 1.05rem !important; }
  .pkg-book-btn, .pkg-detail-btn { padding: 7px 11px !important; font-size: .77rem !important; }

  /* Vehicle fleet */
  .vfleet-section    { padding: 28px 0 24px !important; }
  .vfl-card          { width: 82vw !important; min-width: 82vw !important; }
  .vfl-img-wrap      { height: 175px !important; }
  .vfl-body          { padding: 11px 13px !important; }

  /* Blog */
  .blog-section      { padding: 32px 0 !important; }
  .hbf-img           { min-height: 175px !important; }
  .hbf-body          { padding: 16px 14px !important; gap: 8px !important; }
  .hbf-title         { font-size: 1.05rem !important; }
  .hbf-excerpt       { font-size: .81rem !important; }
  .blog-grid         { gap: 12px !important; }
  .blog-card-img     { height: 150px !important; }
  .blog-card-body    { padding: 14px !important; }
  .blog-card-title   { font-size: .9rem !important; }

  /* Events */
  .ev-fp-section     { padding: 28px 0 !important; }
  .ev-fp-title       { font-size: 1.35rem !important; }
  .ev-fp-sub         { font-size: .81rem !important; margin-bottom: 14px !important; }
  .ev-fp-cards       { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  .ev-fp-card-img    { height: 95px !important; }

  /* Extras banner */
  .extras-fp-banner  { grid-template-columns: 1fr !important; min-height: auto !important; }
  .extras-fp-divider { display: none !important; }
  .extras-fp-card    { padding: 16px 12px !important; gap: 12px !important; }
  .extras-fp-img     { width: 62px !important; height: 62px !important; }

  /* Gallery slider */
  .gsl-slide         { height: 210px !important; }

  /* Activities */
  .activities-promo-section { padding: 28px 0 32px !important; }

  /* Reviews */
  .sr-section        { padding: 32px 0 28px !important; }
  .sr-title          { font-size: 1.4rem !important; }
  .sr-header         { margin-bottom: 20px !important; }
  .sr-grid {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
    gap: 12px !important;
    padding-bottom: 6px !important;
    margin: 0 -14px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
    grid-template-columns: none !important;
  }
  .sr-grid::-webkit-scrollbar { display: none !important; }
  .sr-section .glsr-review {
    min-width: 78vw !important;
    max-width: 78vw !important;
    scroll-snap-align: start !important;
    flex-shrink: 0 !important;
    padding: 18px 16px !important;
  }
  .sr-actions        { margin-top: 20px !important; }
  .btn-sr-more       { padding: 10px 20px !important; font-size: .81rem !important; display: block !important; margin-bottom: 8px !important; margin-left: 0 !important; }
  .sr-cta            { margin-top: 24px !important; padding-top: 20px !important; }

  /* CTA banner */
  .cta-banner        { padding: 32px 0 !important; }
  .cta-text h2       { font-size: 1.2rem !important; }
  .cta-text p        { font-size: .84rem !important; }
  .cta-inner .btn    { padding: 10px 16px !important; font-size: .77rem !important; }

  /* Footer */
  .footer-main       { padding: 32px 0 24px !important; }

  /* Stats bar */
  .stats-grid {
    display: flex !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }
  .stats-grid::-webkit-scrollbar { display: none !important; }
  .stat-item         { min-width: 110px !important; padding: 0 16px !important; flex-shrink: 0 !important; }
  .stat-num          { font-size: 1.5rem !important; }
  .stat-label        { font-size: .68rem !important; }

  /* Page hero (inner pages) */
  .page-hero         { padding: 28px 0 24px !important; }
  .page-hero h1      { font-size: 1.45rem !important; }
}

/* ============================================================
   MOBILE CAROUSEL & SWIPE HINTS — override.css (wins over all)
   ============================================================ */

/* ── Swipe hint badge (shown on all mobile carousels) ── */
.mz-swipe-hint {
  display: none !important;
}
@media (max-width: 600px) {
  .mz-swipe-hint {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: .72rem !important;
    font-weight: 600 !important;
    color: #888 !important;
    justify-content: center !important;
    margin-bottom: 14px !important;
    letter-spacing: .03em !important;
  }
  .mz-swipe-hint svg {
    animation: swipeNudge 1.6s ease-in-out infinite !important;
  }
  @keyframes swipeNudge {
    0%,100% { transform: translateX(0); }
    40%      { transform: translateX(6px); }
    60%      { transform: translateX(-3px); }
  }
}

/* ── PACKAGES — horizontal swipe carousel on mobile ── */
@media (max-width: 600px) {

  /* Remove section heading bottom gap */
  .packages-section .section-heading { margin-bottom: 16px !important; }
  .packages-section { padding: 28px 0 32px !important; }

  /* Featured card: stack, compact */
  .pkg-featured-ad {
    grid-template-columns: 1fr !important;
    margin-bottom: 20px !important;
    border-radius: 12px !important;
  }
  .pkg-featured-collage { min-height: 200px !important; max-height: 200px !important; }
  .pkg-featured-body    { padding: 16px 14px !important; }
  .pkg-featured-title   { font-size: 1.1rem !important; margin-bottom: 6px !important; }
  .pkg-featured-desc    { font-size: .81rem !important; margin-bottom: 10px !important; line-height: 1.5 !important; }
  .pkg-featured-inc     { display: none !important; }
  .pkg-featured-footer  { padding-top: 12px !important; }
  .pf-amt               { font-size: 1.4rem !important; }
  .pkg-featured-btn     { padding: 10px 18px !important; font-size: .82rem !important; }

  /* Grid → horizontal scroll carousel */
  .pkg-grid {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
    gap: 14px !important;
    margin: 0 -14px !important;
    padding: 4px 14px 16px !important;
    grid-template-columns: none !important;
  }
  .pkg-grid::-webkit-scrollbar { display: none !important; }

  .pkg-card {
    min-width: 72vw !important;
    max-width: 72vw !important;
    scroll-snap-align: start !important;
    flex-shrink: 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .pkg-img           { height: 160px !important; flex-shrink: 0 !important; }
  .pkg-body          { padding: 12px 12px 10px !important; flex: 1 !important; }
  .pkg-title         { font-size: .9rem !important; margin-bottom: 5px !important; }
  .pkg-desc          { font-size: .78rem !important; margin-bottom: 8px !important;
                       -webkit-line-clamp: 2 !important; overflow: hidden !important;
                       display: -webkit-box !important; -webkit-box-orient: vertical !important; }
  .pkg-inc           { display: none !important; }
  .pkg-footer        { padding-top: 10px !important; margin-top: auto !important; }
  .pkg-from          { font-size: .58rem !important; }
  .pkg-price         { font-size: 1rem !important; }
  .pkg-book-btn      { padding: 8px 12px !important; font-size: .76rem !important; white-space: nowrap !important; }
  .pkg-detail-btn    { display: none !important; }
  .pkg-btns          { width: auto !important; }

  /* Extras CTA below packages */
  .pkg-extras-cta    { margin-top: 16px !important; padding-top: 20px !important; }
}

/* ── VEHICLE FLEET — swipe hint only (already a slider) ── */
@media (max-width: 600px) {
  .vfleet-section    { padding: 28px 0 24px !important; }
  .vfleet-section .section-heading { margin-bottom: 16px !important; }
  .vfl-card          { width: 82vw !important; min-width: 82vw !important; }
  .vfl-img-wrap      { height: 175px !important; }
  .vfl-body          { padding: 12px 14px !important; }
  .vfl-name          { font-size: .9rem !important; }
  .vfl-seats         { font-size: .72rem !important; margin-bottom: 8px !important; }
  .vfl-book-btn      { padding: 9px 14px !important; font-size: .75rem !important; }
  .vfl-arrow         { display: none !important; } /* hide arrows, swipe is enough */
}

/* ── BLOG FEATURED ── */
@media (max-width: 600px) {
  .blog-section      { padding: 28px 0 !important; }
  .blog-section .section-heading { margin-bottom: 16px !important; }
  .home-blog-featured {
    grid-template-columns: 1fr !important;
    border-radius: 12px !important;
  }
  .hbf-img           { min-height: 180px !important; max-height: 180px !important; }
  .hbf-body          { padding: 16px 14px !important; gap: 8px !important; }
  .hbf-meta          { font-size: .68rem !important; }
  .hbf-title         { font-size: 1rem !important; }
  .hbf-excerpt       { font-size: .8rem !important; line-height: 1.5 !important;
                       -webkit-line-clamp: 3 !important; overflow: hidden !important;
                       display: -webkit-box !important; -webkit-box-orient: vertical !important; }
  .hbf-gallery       { display: none !important; } /* hide gallery strip on mobile */
  .hbf-read-btn      { padding: 10px 16px !important; font-size: .79rem !important; }
}

/* ── REVIEWS CAROUSEL ── */
@media (max-width: 600px) {
  .sr-section        { padding: 28px 0 24px !important; }
  .sr-header         { margin-bottom: 16px !important; }
  .sr-title          { font-size: 1.35rem !important; }
  .sr-subtitle       { font-size: .82rem !important; }
  .sr-grid {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
    gap: 12px !important;
    margin: 0 -14px !important;
    padding: 4px 14px 12px !important;
    grid-template-columns: none !important;
  }
  .sr-grid::-webkit-scrollbar { display: none !important; }
  .sr-section .glsr-review {
    min-width: 78vw !important;
    max-width: 78vw !important;
    scroll-snap-align: start !important;
    flex-shrink: 0 !important;
    padding: 16px 14px !important;
  }
  .sr-actions        { margin-top: 16px !important; gap: 8px !important; }
  .btn-sr-more       { padding: 10px 20px !important; font-size: .8rem !important; margin-left: 0 !important; }
}

/* ── EVENTS SECTION ── */
@media (max-width: 600px) {
  .ev-fp-section     { padding: 28px 0 !important; }
  .ev-fp-inner       { grid-template-columns: 1fr !important; gap: 20px !important; }
  .ev-fp-title       { font-size: 1.35rem !important; margin-bottom: 8px !important; }
  .ev-fp-sub         { font-size: .81rem !important; margin-bottom: 14px !important; }
  .ev-fp-cards       { grid-template-columns: 1fr 1fr !important; gap: 8px !important; }
  .ev-fp-card-img    { height: 90px !important; }
  .ev-fp-card-name   { font-size: .73rem !important; }
  .ev-fp-card-body   { padding: 8px 10px !important; }
}

/* ── EXTRAS (HELICOPTER / PARAGLIDING) ── */
@media (max-width: 600px) {
  .extras-fp-banner  { grid-template-columns: 1fr !important; min-height: auto !important; }
  .extras-fp-divider { display: none !important; }
  .extras-fp-card    { padding: 16px 14px !important; gap: 12px !important; }
  .extras-fp-img     { width: 60px !important; height: 60px !important; }
  .extras-fp-title   { font-size: .9rem !important; }
  .extras-fp-desc    { font-size: .79rem !important; -webkit-line-clamp: 2 !important;
                       overflow: hidden !important; display: -webkit-box !important;
                       -webkit-box-orient: vertical !important; }
  .extras-fp-cta-btn { padding: 8px 14px !important; font-size: .76rem !important; }
}

/* ── GALLERY SLIDER ── */
@media (max-width: 600px) {
  .gallery-slider-section { padding: 0 !important; }
  .gsl-slide         { height: 200px !important; }
  .gsl-title         { font-size: .85rem !important; }
}

/* ── ACTIVITIES PROMO ── */
@media (max-width: 600px) {
  .activities-promo-section { padding: 28px 0 32px !important; }
  .act-featured      { min-height: 180px !important; }
  .act-featured-content h2  { font-size: 1.2rem !important; }
  .act-grid          { grid-template-columns: repeat(2,1fr) !important; gap: 6px !important; }
  .act-grid-item     { height: 100px !important; }
}

/* ── STATS BAR ── */
@media (max-width: 600px) {
  .stats-bar         { padding: 24px 0 !important; }
  .stats-grid {
    display: flex !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }
  .stats-grid::-webkit-scrollbar { display: none !important; }
  .stat-item         { min-width: 110px !important; flex-shrink: 0 !important; padding: 0 14px !important; }
  .stat-num          { font-size: 1.5rem !important; }
  .stat-label        { font-size: .67rem !important; }
}

/* ── CTA BANNER ── */
@media (max-width: 600px) {
  .cta-banner        { padding: 28px 0 !important; }
  .cta-text h2       { font-size: 1.15rem !important; }
  .cta-text p        { font-size: .82rem !important; }
  .cta-inner .btn    { padding: 10px 14px !important; font-size: .76rem !important; }
}

/* ── FOOTER ── */
@media (max-width: 600px) {
  .footer-main       { padding: 28px 0 20px !important; }
  .footer-col h4     { font-size: .78rem !important; margin-bottom: 10px !important; }
}

/* ── SECTION HEADINGS GLOBAL ── */
@media (max-width: 600px) {
  .section-heading h2  { font-size: 1.4rem !important; }
  .section-heading p   { font-size: .84rem !important; }
  .section-heading     { margin-bottom: 20px !important; }
  .tagline             { font-size: .62rem !important; }
  .container           { padding: 0 14px !important; }
}

/* ============================================================
   PACKAGE CARDS — 2-visible carousel + compact on mobile
   ============================================================ */
@media (max-width: 600px) {

  /* Show 2 cards at once so user sees more, scrolls less */
  .pkg-grid {
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
    gap: 10px !important;
    margin: 0 -14px !important;
    padding: 4px 14px 12px !important;
    grid-template-columns: none !important;
  }
  .pkg-grid::-webkit-scrollbar { display: none !important; }

  /* Each card ~46vw = 2 cards visible + peek of 3rd */
  .pkg-card {
    min-width: 46vw !important;
    max-width: 46vw !important;
    scroll-snap-align: start !important;
    flex-shrink: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    border-radius: 10px !important;
  }

  /* Card image — short */
  .pkg-img           { height: 130px !important; flex-shrink: 0 !important; }

  /* Card body — very compact */
  .pkg-body          { padding: 9px 10px 8px !important; flex: 1 !important; }
  .pkg-title         { font-size: .8rem !important; font-weight: 700 !important;
                       line-height: 1.25 !important; margin-bottom: 4px !important;
                       white-space: normal !important; }
  .pkg-desc          { display: none !important; } /* hide desc — saves major space */
  .pkg-inc           { display: none !important; }
  .pkg-dur-tag       { font-size: .6rem !important; padding: 3px 7px !important; margin-bottom: 0 !important; }

  /* Footer: price + button stacked */
  .pkg-footer {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    padding-top: 8px !important;
    margin-top: auto !important;
  }
  .pkg-from          { font-size: .55rem !important; }
  .pkg-price         { font-size: .92rem !important; }
  .pkg-btns          { width: 100% !important; }
  .pkg-book-btn {
    width: 100% !important;
    justify-content: center !important;
    padding: 7px 8px !important;
    font-size: .72rem !important;
  }
  .pkg-detail-btn    { display: none !important; }

  /* Featured card — also compact */
  .pkg-featured-ad         { grid-template-columns: 1fr !important; margin-bottom: 16px !important; border-radius: 10px !important; }
  .pkg-featured-collage    { min-height: 180px !important; max-height: 180px !important; }
  .pkg-featured-body       { padding: 14px 12px !important; }
  .pkg-featured-title      { font-size: 1rem !important; margin-bottom: 4px !important; }
  .pkg-featured-desc       { font-size: .78rem !important; margin-bottom: 8px !important; line-height: 1.4 !important; -webkit-line-clamp: 2 !important; overflow: hidden !important; display: -webkit-box !important; -webkit-box-orient: vertical !important; }
  .pkg-featured-inc        { display: none !important; }
  .pkg-featured-footer     { padding-top: 10px !important; }
  .pf-amt                  { font-size: 1.3rem !important; }
  .pkg-featured-btn        { padding: 9px 16px !important; font-size: .79rem !important; }
}
