/* ============================================================
   Saidpiece Mobile Experience Layer (SPM) - global stylesheet
   Added 2026-07-16. Loaded site-wide by saidpiece-mobile.php
   Scope: mobile-first fixes; desktop (>=922px) is left untouched
   except where explicitly noted.
   ============================================================ */

:root {
  --spm-gold: #C9A96E;
  --spm-gold-strong: #D4AF37;
  --spm-ink: #0D0B09;
  --spm-cream: #F2EDE3;
  --spm-paper: #F4EFE7;
  --spm-bar-h: 56px;
}

/* Retire the previous (V2) overlay nav and Astra's own mobile nav trigger.
   V3 markup is rendered by saidpiece-mobile.php. */
#spNavOpen, #spNavOverlay { display: none !important; }
@media (max-width: 921px) {
  #ast-mobile-header .ast-button-wrap,
  #ast-mobile-header .main-header-bar-navigation { display: none !important; }
}

/* ---------- Compact sticky mobile header (<=921px) ---------- */
@media (max-width: 921px) {
  #ast-mobile-header .ast-primary-header-bar {
    min-height: 64px;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    background: rgba(13, 11, 9, 0.38);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    transition: background .25s ease;
  }
  #ast-mobile-header .ast-primary-header-bar.header-scrolled,
  .header-scrolled #ast-mobile-header .ast-primary-header-bar {
    background: rgba(13, 11, 9, 0.94);
    box-shadow: 0 1px 0 rgba(201, 169, 110, 0.22);
  }
  #ast-mobile-header .ast-site-identity { padding: 0; }
  /* Gold logo on mobile, compact size (desktop keeps its own logo) */
  #ast-mobile-header .ast-site-identity img {
    content: url('https://saidpiecetravels.com/wp-content/uploads/2026/05/cropped-cropped-saidpiece-logo-transparent-gold-600x160-1-200x67.png');
    height: 38px !important;
    max-height: 38px !important;
    width: auto !important;
  }
  #ast-mobile-header .site-header-primary-section-right {
    gap: 8px;
    flex-wrap: nowrap;
    justify-content: flex-end;
  }
  #ast-mobile-header .site-header-primary-section-right > * { margin: 0 !important; }
  /* GTranslate globe: tap zone on the wrapper and current language only.
     Do NOT force display on the satellite language links; that revealed
     them as stray white marks next to the globe. */
  #ast-mobile-header .ast-header-html-1 { margin: 0; }
  #ast-mobile-header .gtranslate_wrapper { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; }
  #ast-mobile-header .gtranslate_wrapper a.gt-current-lang { display: flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; }
  /* GTranslate ships without its stylesheet on this site, leaving the
     satellite language links permanently visible as stray white marks.
     Hide them; the globe itself stays. */
  #ast-mobile-header .gsatelites { display: none !important; }
  /* The header logo filter turns any logo white; mobile uses the gold logo */
  #ast-mobile-header .ast-site-identity img { filter: none !important; }
}
@media (max-width: 459px) {
  .spm-head-cta { display: none !important; }
}

/* SPM header controls (JS moves them into the header bar) */
.spm-nav-trigger {
  width: 48px; height: 48px;
  display: flex; flex-direction: column; gap: 5px;
  align-items: center; justify-content: center;
  background: transparent;
  border: 1px solid rgba(201, 169, 110, 0.55);
  border-radius: 0;
  cursor: pointer; padding: 0; flex: 0 0 auto;
}
.spm-nav-trigger span { display: block; width: 20px; height: 1.5px; background: var(--spm-cream); transition: transform .2s ease, opacity .2s ease; }
.spm-nav-trigger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.spm-nav-trigger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.spm-nav-trigger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
.spm-head-cta {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 0 14px; margin-right: 10px;
  font-family: 'Jost', sans-serif; font-size: 11.5px; font-weight: 500;
  letter-spacing: 2.5px; text-transform: uppercase;
  color: var(--spm-ink) !important; background: var(--spm-gold);
  text-decoration: none !important; white-space: nowrap;
}
.spm-head-cta:hover, .spm-head-cta:active { background: #DCC08A; color: var(--spm-ink) !important; }
@media (min-width: 922px) { .spm-nav-trigger, .spm-head-cta, #spm-nav { display: none !important; } }

/* ---------- V3 full-screen mobile navigation ---------- */
#spm-nav {
  position: fixed; inset: 0; z-index: 100001;
  background: radial-gradient(130% 100% at 50% 0%, #201709 0%, #0D0B09 55%);
  display: flex; flex-direction: column;
  padding: 0 28px calc(18px + env(safe-area-inset-bottom));
  overflow-y: auto; -webkit-overflow-scrolling: touch;
  visibility: hidden; opacity: 0; pointer-events: none;
  transition: opacity .24s ease, visibility 0s linear .24s;
}
#spm-nav.is-open {
  visibility: visible; opacity: 1; pointer-events: auto;
  transition: opacity .24s ease;
}
.spm-nav-head { display: flex; align-items: center; justify-content: space-between; min-height: 72px; flex: 0 0 auto; }
.spm-nav-logo { height: 30px; width: auto; display: block; }
svg.spm-logo-svg { height: 36px; width: auto; display: block; }
#ast-mobile-header .site-branding svg.spm-logo-svg { height: 38px; margin-left: 20px !important; }
/* Desktop header: same lockup, larger, centred with the menu row */
@media (min-width: 922px) {
  #masthead .site-branding svg.spm-logo-svg { height: 48px; margin-left: 0; }
  #masthead .site-branding, #masthead .ast-site-identity { margin: 0 !important; padding: 0 !important; display: flex !important; align-items: center !important; }
  #masthead .ast-primary-header-bar .ast-builder-grid-row { align-items: center; }
}
#ast-mobile-header .site-branding, #ast-mobile-header .ast-site-identity { margin: 0 !important; overflow: visible !important; padding: 0 !important; display: flex !important; align-items: center !important; }
/* Header line: logo and menu trigger vertically centred on one row.
   The GTranslate globe is hidden on mobile (its stylesheet never loads
   on this site, so the switcher is non-functional there anyway). */
@media (max-width: 921px) {
  #ast-mobile-header .ast-header-html-1 { display: none !important; }
  #ast-mobile-header .ast-primary-header-bar,
  #ast-mobile-header .site-primary-header-wrap,
  #ast-mobile-header .ast-builder-grid-row,
  #ast-mobile-header .site-header-primary-section-left,
  #ast-mobile-header .site-header-primary-section-right {
    display: flex; align-items: center !important;
  }
  #ast-mobile-header .ast-builder-grid-row { justify-content: space-between; width: 100%; }
  #ast-mobile-header .site-header-primary-section-right { padding-right: 20px; }
  #ast-mobile-header .site-branding * { line-height: 1 !important; }
}
#spmNavClose {
  width: 48px; height: 48px; display: flex; align-items: center; justify-content: center;
  background: transparent; border: 1px solid rgba(201, 169, 110, 0.55);
  color: var(--spm-gold); cursor: pointer;
}
.spm-nav-links { display: flex; flex-direction: column; flex: 1 0 auto; justify-content: center; padding: 2vh 0; }
.spm-nav-links a {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 27px; font-weight: 400; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--spm-cream); text-decoration: none;
  padding: 13px 2px; min-height: 48px; display: flex; align-items: center; line-height: 1.15;
}
.spm-nav-links a:hover, .spm-nav-links a:active { color: var(--spm-gold); }
.spm-nav-links a.spm-current { color: var(--spm-gold); font-style: italic; }
.spm-nav-cta {
  flex: 0 0 auto; display: flex; align-items: center; justify-content: center;
  min-height: 54px; background: var(--spm-gold); color: var(--spm-ink) !important;
  font-family: 'Jost', sans-serif; font-size: 13px; font-weight: 500;
  letter-spacing: 3px; text-transform: uppercase; text-decoration: none !important; margin-top: 8px;
}
.spm-nav-cta:hover, .spm-nav-cta:active { background: #DCC08A; }
.spm-nav-contact { display: flex; justify-content: center; gap: 8px; padding: 10px 0 2px; flex: 0 0 auto; }
.spm-nav-contact a {
  color: rgba(255, 255, 255, 0.6); font-family: 'Jost', sans-serif;
  font-size: 12.5px; letter-spacing: 1.5px; text-decoration: none; text-transform: uppercase;
  min-height: 48px; min-width: 84px; display: inline-flex; align-items: center; justify-content: center;
}
.spm-nav-contact a:hover, .spm-nav-contact a:active { color: var(--spm-gold); }
body.spm-nav-lock { overflow: hidden !important; }

/* ---------- Mobile sticky bottom CTA ---------- */
#spm-bar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 99990;
  background: var(--spm-gold);
  box-shadow: 0 -2px 14px rgba(13, 11, 9, 0.28);
  padding-bottom: env(safe-area-inset-bottom);
  transform: translateY(110%);
  transition: transform .28s ease;
}
#spm-bar.is-visible { transform: translateY(0); }
#spm-bar a {
  display: flex; align-items: center; justify-content: center;
  min-height: var(--spm-bar-h);
  font-family: 'Jost', sans-serif; font-size: 13px; font-weight: 600;
  letter-spacing: 3px; text-transform: uppercase;
  color: var(--spm-ink) !important; text-decoration: none !important;
}
@media (min-width: 768px) { #spm-bar { display: none !important; } }
/* Keep content and floating chat clear of the bar */
@media (max-width: 767px) {
  body.spm-bar-active .elementor-location-footer { padding-bottom: calc(var(--spm-bar-h) + env(safe-area-inset-bottom)); }
  body.spm-bar-active #chaty-widget-0,
  body.spm-bar-active .chaty-widget,
  body.spm-bar-active [id^="chaty-widget"] {
    transform: translateY(calc(-1 * (var(--spm-bar-h) + env(safe-area-inset-bottom)))) !important;
    transition: transform .28s ease;
  }
}

/* ---------- Mobile typography floor + spacing (<=767px) ---------- */
@media (max-width: 767px) {
  body { font-size: 17px; }
  /* keep long paragraphs readable: never center long-form text inside SPM sections */
  .spm-left { text-align: left !important; }
}

/* ---------- Generic SPM utilities (used by new sections) ---------- */
.spm-acc-panel { overflow: hidden; max-height: 0; transition: max-height .3s ease; }
.spm-acc-open > .spm-acc-panel { max-height: none; }

.spm-clamp { position: relative; }
.spm-clamp.is-clamped .spm-clamp-body {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 5; overflow: hidden;
}
.spm-clamp-more {
  background: none; border: none; padding: 10px 0; min-height: 44px;
  font-family: 'Jost', sans-serif; font-size: 12px; letter-spacing: 2.5px; text-transform: uppercase;
  color: var(--spm-gold-strong); cursor: pointer;
}

/* ---------- Round 3: journeys container overlap fix ----------
   The Elementor journeys container carries margin-top:-60px from the
   original desktop stacking; with the mobile reorder it overlapped the
   trust strip's second row. Desktop keeps its negative margin. */
@media (max-width: 767px) {
  .elementor-1183 > .elementor-element-210f4d7 { margin-top: 0 !important; }
  /* inner journeys container carries +20px margin: with transparent section
     backgrounds it exposed a pale seam between the trust strip and journeys */
  .elementor-1183 .elementor-element-921b4cc { margin-top: 0 !important; }
  .spm-trust { border-bottom: none !important; }
}

/* ---------- Round 3: dark why-us on mobile for section rhythm ----------
   With the bespoke section hidden, the cream why-us ran straight into the
   cream how-it-works. A dark why-us restores the light/dark alternation. */
@media (max-width: 767px) {
  .wtu-section { background: #111110 !important; }
  .wtu-section .wtu-heading { color: #F2EDE3 !important; }
  .wtu-section .wtu-heading em { color: #C9A96E !important; }
  .wtu-section .wtu-m-item { border-top-color: rgba(201,169,110,0.28); }
  .wtu-section .wtu-m-item:last-of-type { border-bottom-color: rgba(201,169,110,0.28); }
  .wtu-section .wtu-m-item h3 { color: #F2EDE3; }
  .wtu-section .wtu-m-item h3 em { color: #C9A96E; }
  .wtu-section .wtu-m-item p { color: rgba(255,255,255,0.75); }
  .wtu-section .wtu-btn { color: #F2EDE3; border-color: #C9A96E; }
  .wtu-section .wtu-btn:hover, .wtu-section .wtu-btn:active { background: #C9A96E; color: #111110; }
}

/* ---------- Round 2 visual fixes (owner review, 17 Jul) ---------- */
@media (max-width: 767px) {
  /* Trust strip: bright treatment so it reads clearly between the hero
     and the dark journeys section (desktop keeps the dark strip) */
  .spm-trust {
    background: #F5F0E8 !important;
    border-top: none !important;
    border-bottom: none !important;
    padding: 24px 20px !important;
  }
  .spm-trust-item svg { stroke: #A8863D !important; }
  .spm-trust-item span { color: rgba(26,26,24,0.85) !important; font-weight: 400; }

  /* Bespoke "Build Your Own Bhutan Story" section: hidden on mobile to
     reduce CTA fatigue (how-it-works + final CTA carry the same action).
     Desktop unchanged. */
  .elementor-1183 > .elementor-element-3d02049 { display: none !important; }
}

/* Founder heading: beat the Elementor kit h2 colour on the dark section */
.spm-fnd .spm-fnd-title { color: #ffffff !important; }
.spm-fnd .spm-fnd-title em { color: #C9A96E !important; }

/* ---------- Footer accordions (mobile) ---------- */
@media (max-width: 767px) {
  .elementor-location-footer .sp-footer-col { border-top: 1px solid rgba(201,169,110,0.22); }
  .spm-facc-btn {
    width: 100%; display: flex; align-items: center; justify-content: space-between;
    background: none; border: none; cursor: pointer; padding: 14px 2px; min-height: 52px;
    font-family: 'Jost', sans-serif; font-size: 13px; font-weight: 500;
    letter-spacing: 3px; text-transform: uppercase; color: #C9A96E; text-align: left;
  }
  .spm-facc-btn svg { transition: transform .25s ease; color: rgba(201,169,110,0.8); }
  .spm-facc-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
  .spm-facc-panel { overflow: hidden; max-height: 0; transition: max-height .3s ease; }
  .spm-facc-open .spm-facc-panel { max-height: none; }
  .elementor-location-footer .sp-footer-col ul li a,
  .elementor-location-footer .sp-footer-contact-value { min-height: 40px; display: inline-flex; align-items: center; }
}
@media (prefers-reduced-motion: reduce) {
  .spm-facc-btn svg, .spm-facc-panel { transition: none !important; }
}

/* ---------- FAQ hero: full-bleed, photo at full strength, white text ---------- */
body.page-id-1256 .ast-container,
body.page-id-1256 .e-con,
body.page-id-1256 .faq-page-wrap,
body.page-id-1256 .elementor-widget-container { padding-left: 0 !important; padding-right: 0 !important; max-width: 100% !important; }
/* the FAQ hero content uses a JS fade-up; guarantee it's visible even if that
   observer never fires (e.g. text already in view on load) */
body.page-id-1256 .faq-hero .fade-up { opacity: 1 !important; transform: none !important; }
body.page-id-1256 .faq-hero {
  border-radius: 0 !important;
  position: relative; left: 50%; right: 50%;
  width: 100vw !important; max-width: 100vw !important;
  margin-left: -50vw !important; margin-right: -50vw !important;
  margin-top: 0 !important; margin-bottom: 0 !important;
  padding-left: 0 !important; padding-right: 0 !important;
  overflow: hidden;
}
body.page-id-1256 .faq-hero-inner,
body.page-id-1256 .faq-hero > .faq-hero-content,
body.page-id-1256 .faq-hero .faq-hero-eyebrow,
body.page-id-1256 .faq-hero h1,
body.page-id-1256 .faq-hero .faq-hero-sub,
body.page-id-1256 .faq-hero .faq-count { padding-left: 24px; padding-right: 24px; }
body.page-id-1256 .faq-hero-bg {
  background-image:
    linear-gradient(to bottom, rgba(12,10,8,0.62) 0%, rgba(12,10,8,0.30) 32%, rgba(12,10,8,0.30) 62%, rgba(12,10,8,0.66) 100%),
    url('https://saidpiecetravels.com/wp-content/uploads/2026/07/Laya.jpg.webp') !important;
  background-size: cover, cover !important;
  background-position: center, center 30% !important;
  opacity: 1 !important;
}
body.page-id-1256 .faq-hero .label { color: #E4D3AA !important; }
body.page-id-1256 .faq-hero .rule { background: #C9A96E !important; }
body.page-id-1256 .faq-hero h1 { color: #ffffff !important; text-shadow: 0 2px 26px rgba(0,0,0,0.5); }
body.page-id-1256 .faq-hero h1 em { color: #E4D3AA !important; }
body.page-id-1256 .faq-hero .faq-hero-sub { color: rgba(255,255,255,0.92) !important; }
body.page-id-1256 .faq-hero .faq-count-num { color: #E4D3AA !important; }
body.page-id-1256 .faq-hero .faq-count-label { color: rgba(255,255,255,0.8) !important; }

/* ---------- Women's journey hero: focus on the traveller ---------- */
body.postid-5121 .spx-hero > img { object-position: 50% 26% !important; }

/* ---------- Trips archive: editorial card redesign ---------- */
.post-type-archive-trip .category-trips-single,
.post-type-archive-trip .category-trips-single-inner-wrap {
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.post-type-archive-trip .category-trips-single {
  padding-bottom: 26px;
  margin-bottom: 34px;
  border-bottom: 1px solid rgba(201,169,110,0.35);
}
.post-type-archive-trip .category-trip-fig,
.post-type-archive-trip .category-trip-fig a,
.post-type-archive-trip .category-trip-fig img {
  border-radius: 0 !important;
}
.post-type-archive-trip .category-trips-single-inner-wrap { border: none !important; }
.post-type-archive-trip .wishlist-toggle-wrap { display: none !important; }
.post-type-archive-trip .category-trip-title,
.post-type-archive-trip .category-trip-title a {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 500 !important;
  color: #1a1a18 !important;
}
.post-type-archive-trip .category-trip-desc {
  border-left: none !important;
  padding-left: 0 !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: rgba(26,26,24,0.7) !important;
}
.post-type-archive-trip .wpte-trip-duration {
  font-family: 'Jost', sans-serif !important;
  letter-spacing: 1px;
}
.post-type-archive-trip .actual-price {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  color: #1a1a18 !important;
}
body.post-type-archive-trip .category-trips-single .wpte-button,
body.post-type-archive-trip .wpte-button-group a.wpte-button {
  display: flex !important; align-items: center; justify-content: center;
  width: 100% !important; min-height: 52px;
  background: #C9A96E !important; border: 1px solid #C9A96E !important;
  color: #141310 !important;
  font-family: 'Jost', sans-serif !important; font-size: 12px !important;
  font-weight: 600 !important; letter-spacing: 3px !important; text-transform: uppercase;
  border-radius: 0 !important; text-decoration: none !important;
  transition: background .25s ease;
}
body.post-type-archive-trip .category-trips-single .wpte-button:hover { background: #DCC08A !important; border-color: #DCC08A !important; color: #141310 !important; }
.post-type-archive-trip input[type="search"],
.post-type-archive-trip .wte-filterbar-toggle-btn,
.post-type-archive-trip select {
  border-radius: 0 !important;
}

/* ---------- Trips archive: Bhutan Journey Ideas ---------- */
.post-type-archive-trip .category-trip-aval-time,
.post-type-archive-trip .category-trip-dates,
.post-type-archive-trip .category-trip-pax { display: none !important; }
.spm-arch-intro {
  font-family: 'Jost', sans-serif; font-weight: 300;
  font-size: 17px; line-height: 1.6; color: rgba(26,26,24,0.72);
  margin: 10px auto 6px; max-width: 62ch;
}
.spm-arch-extra { margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(201,169,110,0.3); }
.spm-arch-private {
  font-family: 'Jost', sans-serif; font-size: 12px; font-weight: 500;
  letter-spacing: 1.8px; text-transform: uppercase; color: #8A6F3C; margin: 0 0 2px;
}
.spm-customise-link {
  display: inline-flex; align-items: center; min-height: 44px;
  font-family: 'Jost', sans-serif; font-size: 13px; font-weight: 500;
  letter-spacing: 1.5px; text-transform: uppercase;
  color: #1a1a18 !important; text-decoration: underline; text-underline-offset: 4px;
  text-decoration-color: rgba(201,169,110,0.7);
}
.spm-customise-link:hover { color: #C9A96E !important; }
.spm-price-from, .spm-price-basis { font-size: 0.62em; font-weight: 400; letter-spacing: 0.4px; color: rgba(26,26,24,0.6); }
@media (max-width: 767px) {
  .post-type-archive-trip .wte-filterbar-toggle-btn { min-height: 52px; }
  .post-type-archive-trip .wte-filterbar button, .post-type-archive-trip .wte-filterbar .wte-btn { min-height: 48px; }
}

/* ---------- Single journey pages: full-bleed mobile hero + layout ---------- */
@media (max-width: 767px) {
  /* the Elementor wrappers add 40px padding per side plus top spacing, boxing the page */
  body.single-trip .e-con { padding: 0 !important; }
  body.single-trip .spx-aud { display: inline-block; font-size: 12px !important; opacity: 0.75; }

  body.single-trip .spx-hero {
    margin-top: 64px !important;
    min-height: calc(94svh - 64px);
    display: flex; flex-direction: column; justify-content: flex-end;
    position: relative;
  }
  body.single-trip .spx-hero > img {
    position: absolute !important; inset: 0;
    width: 100% !important; height: 100% !important; object-fit: cover;
  }
  body.single-trip .spx-hero-shade {
    position: absolute !important; inset: 0; height: 100% !important;
    background: linear-gradient(to top, rgba(12,10,8,0.94) 0%, rgba(12,10,8,0.56) 42%, rgba(12,10,8,0.30) 74%, rgba(12,10,8,0.16) 100%) !important;
  }
  body.single-trip .spx-hero-inner { position: relative; z-index: 2; padding: 34px 0 32px !important; height: auto !important; }
  body.single-trip .spx-hero .spx-container { padding: 0 20px !important; }
  body.single-trip .spx-eyebrow { font-size: 11px !important; letter-spacing: 3px !important; }
  body.single-trip .spx-hero h1 { font-size: clamp(33px, 9.2vw, 40px) !important; line-height: 1.12 !important; margin: 8px 0 10px !important; }
  body.single-trip .spx-tagline { font-size: 17px !important; line-height: 1.55 !important; }
  body.single-trip .spx-hero-meta {
    display: grid !important; grid-template-columns: 1fr 1fr;
    gap: 16px 18px !important; margin-top: 22px !important;
    padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.16);
  }
  body.single-trip .spx-hm { margin: 0 !important; }
  body.single-trip .spx-hero-cta {
    grid-column: 1 / -1; width: 100%;
    display: flex !important; flex-direction: column; gap: 10px; margin-top: 8px !important;
  }
  body.single-trip .spx-hero-cta .spx-btn {
    width: 100% !important; min-height: 52px;
    display: flex !important; align-items: center; justify-content: center;
    text-align: center; padding: 0 18px !important; box-sizing: border-box;
  }

  /* section anchor nav: swipeable single row with real tap targets */
  body.single-trip .spx-nav ul {
    display: flex !important; overflow-x: auto; -webkit-overflow-scrolling: touch;
    scrollbar-width: none; gap: 2px; padding: 0 12px !important; margin: 0;
  }
  body.single-trip .spx-nav ul::-webkit-scrollbar { display: none; }
  body.single-trip .spx-nav li { flex: 0 0 auto; list-style: none; }
  body.single-trip .spx-nav a { display: flex; align-items: center; min-height: 50px; padding: 0 12px; white-space: nowrap; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  #spm-nav, #spm-bar, .spm-nav-trigger span, .spm-acc-panel,
  .luxury-trip-card .card-image, .luxury-content-overlay, .trip-excerpt {
    transition: none !important;
    animation: none !important;
  }
}

/* ---------- GTranslate globe: remove heavy shadow blob in header ---------- */
#masthead .gtranslate_wrapper img, .gt_container--hqi1p6 img { box-shadow: none !important; }

/* ---------- Final CTA band: stack cleanly on mobile ---------- */
@media (max-width: 768px) {
  .cta-band .cta-right { display: flex !important; flex-direction: column !important; align-items: stretch !important; }
  .cta-band .cta-btn { justify-content: center; width: 100%; min-height: 54px; padding: 0 20px !important; box-sizing: border-box; }
  .cta-band .cta-secondary { justify-content: center; }
  .cta-band .cta-assure { text-align: center; }
}

/* ---------- Homepage mobile section order (brief section 4) ---------- */
@media (max-width: 767px) {
  .elementor-1183 { display: flex; flex-direction: column; }
  .elementor-1183 > .elementor-element-600b39e { order: 1; }  /* hero */
  .elementor-1183 > .elementor-element-spmtru1 { order: 2; }  /* trust */
  .elementor-1183 > .elementor-element-210f4d7 { order: 3; }  /* journeys */
  .elementor-1183 > .elementor-element-30b7109 { order: 4; }  /* why us */
  .elementor-1183 > .elementor-element-3d02049 { order: 5; }  /* bespoke CTA */
  .elementor-1183 > .elementor-element-spmhiw1 { order: 6; }  /* how it works */
  .elementor-1183 > .elementor-element-f64c982 { order: 7; }  /* experiences */
  .elementor-1183 > .elementor-element-spmfnd1 { order: 8; }  /* founder */
  .elementor-1183 > .elementor-element-6a3d178 { order: 9; }  /* reviews */
  .elementor-1183 > .elementor-element-spmfaq1 { order: 10; } /* FAQs */
  .elementor-1183 > .elementor-element-1558152 { order: 11; } /* final CTA + Instagram */
}

/* ---------- No horizontal overflow guard on small screens ---------- */
@media (max-width: 767px) {
  html, body { max-width: 100%; overflow-x: hidden; }
}
