/* ============================
   Mindo Bird Watching
   Global Brand Styles (v1.4 production-safe)
   Fonts: Playfair Display (headings) + Open Sans (body/UI)
   Background: #C7DAAC site-wide
   ============================ */

/* Production-safe cleanup notes:
   - This file preserves existing class names to avoid breaking live pages.
   - Duplicate raw language switch rules were consolidated.
   - Global grid utilities were added for future page migrations.
   - Page-module classes are retained as a compatibility layer.
*/

/* Google Fonts */
@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700;800&family=Open+Sans:wght@400;600;700;800&display=swap");

:root{
  /* Brand palette */
  --bg: #C7DAAC;          /* site background (global) */
  --forest: #0D5925;      /* primary */
  --brown: #8B4513;       /* secondary */
  --sky: #87CEEB;         /* optional accent */
  --gold: #FFD700;        /* CTA accent */

  /* Neutrals */
  --ink: #071923;         /* primary text */
  --muted: rgba(7,25,35,.72);
  --card: rgba(255,255,255,.72);
  --card-strong: rgba(255,255,255,.88);
  --line: rgba(7,25,35,.14);

  /* Radius + shadow */
  --r: 18px;
  --shadow: 0 18px 55px rgba(7,25,35,.10);

  /* Typography */
  --font-body: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-head: "Playfair Display", Georgia, "Times New Roman", serif;

  /* Footer social icon sizing (NO bubbles) */
  --social-icon-size: 36px; /* icon size */
  --social-gap: 14px;       /* gap between icons */

  /* Sticky header spacing */
  --sticky-top: 16px;
}

/* Base reset */
*{ box-sizing:border-box; }
html, body{ height:100%; }

body{
  margin:0;
  font-family: var(--font-body);
  background: var(--bg);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Links: remove default underline/blue */
a{
  color: inherit;
  text-decoration: none;
}
a:visited{ color: inherit; }
a:hover{ text-decoration: none; }
a:focus-visible{
  outline: 3px solid rgba(255,215,0,.35);
  outline-offset: 3px;
  border-radius: 10px;
}

img{
  max-width: 100%;
  display: block;
}

/* ============================
   Global layout helpers
   Keep these generic so page files can avoid page-level CSS.
   ============================ */
.container{
  max-width: 1100px;
  margin: 0 auto;
  padding: 24px;
}

/* Global spacing and grid utilities.
   These are additive and safe: existing page classes continue to work. */
.stack{ display: grid; gap: 16px; }
.stack-sm{ display: grid; gap: 10px; }
.stack-lg{ display: grid; gap: 24px; }
.grid-2{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.grid-3{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.grid-4{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }

@media (max-width: 1000px){
  .grid-4{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px){
  .grid-2,
  .grid-3{ grid-template-columns: 1fr; }
}

@media (max-width: 560px){
  .grid-4{ grid-template-columns: 1fr; }
}

/* Text defaults */
h1,h2,h3,h4,h5,h6{
  font-family: var(--font-head);
  color: var(--forest);
  letter-spacing: -0.02em;
  margin: 0 0 10px;
}

p{
  margin: 0 0 12px;
  color: var(--muted);
  line-height: 1.65;
}

/* Cards */
.card{
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r);
  box-shadow: var(--shadow);
}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 14px;
  border-radius: 14px;
  border: 1px solid var(--line);
  font-weight: 800;
  background: var(--card-strong);
  color: var(--ink);
  cursor: pointer;
}

.btn.primary{
  background: rgba(255,215,0,.22);
  border-color: rgba(255,215,0,.55);
}

.btn.secondary{
  background: rgba(13,89,37,.14);
  border-color: rgba(13,89,37,.35);
}

/* Pills */
.pill{
  padding:10px 12px;
  border-radius: 999px;
  border: 1px solid var(--line);
  color: var(--muted);
  font-weight: 800;
  font-size: 13px;
  background: rgba(255,255,255,.55);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space: nowrap;
}

.pill.active{
  background: rgba(13,89,37,.14);
  border-color: rgba(13,89,37,.35);
  color: var(--ink);
}

/* ============================
   Global Header (APPROVED include)
   Uses header.html classes:
   .topbar .brand .right .lang .nav
   .menuBtn #menuPanel .menuList
   Plus sticky behavior (inside container)
   ============================ */

/* Sticky mount (keeps header sticky while scrolling) */
#siteHeader{
  position: sticky;
  top: var(--sticky-top);
  z-index: 2000;
}

/* If any ancestor sets overflow hidden, sticky can break.
   We explicitly allow visible overflow on common wrappers. */
html, body{ overflow-x: visible; }
.container{ overflow: visible; }

/* Header shell */
.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:rgba(255,255,255,.65);
  backdrop-filter: blur(10px);
  box-shadow: var(--shadow);
  position: relative; /* anchors menuPanel */
}

/* Brand */
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  font-weight:900;
  color: var(--ink);
  white-space:nowrap;
  min-width: 0;
}
.brand img{
  height:26px;
  width:auto;
  display:block;
  flex:0 0 auto;
  border-radius: 8px;
}

/* Right side (desktop) */
.right{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

/* NOTE: header.css is the primary source of truth for header layout.
   These base styles remain, desktop overrides are added at the bottom. */
.nav{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  justify-content:flex-end;
}

/* Language switch */
.lang{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.5);
}
.lang a{
  padding:8px 10px;
  border-radius:999px;
  font-weight:800;
  font-size:12.5px;
  color:var(--muted);
}
.lang a.active{
  background:rgba(13,89,37,.14);
  border:1px solid rgba(13,89,37,.35);
  color:var(--ink);
}

/* Hamburger (mobile) */
.menuBtn{
  display:none;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.65);
  cursor:pointer;
}
.menuBtn svg{ width:22px; height:22px; }

/* Mobile panel */
.menuPanel{
  display:none;
  position:absolute;
  right:12px;
  top: calc(100% + 10px);
  width: min(320px, calc(100vw - 24px));
  background: rgba(255,255,255,.92);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--shadow);
  padding: 12px;
  z-index: 2100;
}
.menuPanel .lang{
  width:100%;
  justify-content:center;
  margin-bottom: 10px;
  background: rgba(255,255,255,.75);
}
.menuList{
  display:grid;
  gap:10px;
}
.menuList a.pill{
  display:flex;
  justify-content:center;
  width:100%;
}

/* Mobile behavior: hide desktop nav and show hamburger */
@media (max-width:900px){
  .right .lang,
  .right .nav{ display:none; }
  .menuBtn{ display:inline-flex; }
  .menuPanel{ display:none; }
  .menuPanel.is-open{ display:block; }
}

/* Optional: tighten sticky spacing on small screens */
@media (max-width:520px){
  :root{ --sticky-top: 12px; }
  .container{ padding: 18px; }
}


/* ============================
   Raw EN/ES language switch
   Required directly below #siteHeader on bilingual pages.
   Keep .crawl-lang-links as legacy compatibility, but new pages should use .rawLangLinks.
   ============================ */
.crawl-lang-links,
.rawLangLinks{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
  margin-top:10px;
  margin-bottom:0;
  font-size:13px;
}

.crawl-lang-links a,
.rawLangLinks a{
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 700;
}

.crawl-lang-links a[aria-current="page"],
.rawLangLinks a[aria-current="page"]{
  color: var(--forest);
  font-weight: 900;
}

@media (max-width:900px){
  .crawl-lang-links,
  .rawLangLinks{
    justify-content:center;
    margin-top:8px;
  }
}

/* ============================
   Footer (NO bubbles, locked sizing)
   ============================ */

.footer{
  text-align:center;
  padding: 28px 0 10px;
}

.footer-social{
  display:flex;
  justify-content:center;
  align-items:center;
  gap: var(--social-gap);
  flex-wrap:wrap;
  margin-bottom: 14px;
}

/* IMPORTANT: remove container sizing/padding so Safari cannot blow it up */
.footer-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 0;
  margin: 0;
  line-height: 0;
  border: 0;
  background: transparent;
}

/* IMPORTANT: lock size at IMG level */
.footer-social img{
  width: var(--social-icon-size);
  height: var(--social-icon-size);
  object-fit: contain;
  display:block;
}

/* Bottom line: small logo + text centered */
.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin-top: 2px;
}

.footer-bottom img{
  height: 45px;
  width:auto;
  display:block;
}

.footer small{
  display:block;
  font-weight: 900;
  color: rgba(7,25,35,.78);
}

/* =========================================================
   MBW Header Fix - Desktop ES overlap fix (EN/ES vs Inicio)
   - Force real spacing so first nav pill cannot sit under lang
   - Keep dropdowns working
   ========================================================= */

@media (min-width: 901px){
  header.topbar[data-mbw-header] .right{
    flex-wrap: nowrap;
    min-width: 0;
    gap: 14px; /* stronger separation than header.css */
  }

  header.topbar[data-mbw-header] .lang{
    flex: 0 0 auto;
    flex-shrink: 0;
    position: relative;
    z-index: 3; /* keep lang above if anything collides */
  }

  header.topbar[data-mbw-header] nav.nav{
    flex: 1 1 auto;
    min-width: 0;
    flex-wrap: nowrap;
    overflow: visible; /* dropdowns must render outside nav */
    position: relative;
    z-index: 2;
  }

  /* Actual fix: push Inicio away from EN/ES on ES desktop */
  header.topbar[data-mbw-header][data-current-lang="es"] nav.nav > a.pill:first-child{
    margin-left: 12px; /* hard gap so it cannot overlap the lang pills */
  }
}

/* WhatsApp Smart CTA (MBW) v3
   Desktop size: change --mbwWaDeskW (e.g. 200px)
*/

.mbwWaBirdFab{
  --mbwWaDeskW: 120px;
  --mbwWaMobW: 88px;
  position: fixed !important;
  right: calc(12px + env(safe-area-inset-right)) !important;
  bottom: calc(12px + env(safe-area-inset-bottom)) !important;
  z-index: 2700 !important;
  font-family: inherit;
}

.mbwWaBirdBtn{
  border: 0;
  padding: 0;
  margin: 0;
  background: transparent !important;
  cursor: pointer;
  border-radius: 18px;
  -webkit-tap-highlight-color: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.mbwWaBirdBtn:focus{
  outline: none;
}

.mbwWaBirdBtn:focus-visible{
  outline: 2px solid rgba(13, 89, 37, 0.35);
  outline-offset: 4px;
}

.mbwWaBirdImg{
  display: block;
  width: var(--mbwWaDeskW);
  height: auto;
  user-select: none;
  -webkit-user-drag: none;
  filter: drop-shadow(0 14px 34px rgba(0, 0, 0, 0.18));
}

/* Backdrop below panel */
.mbwWaBirdBackdrop{
  position: fixed;
  inset: 0;
  background: rgba(2, 6, 23, 0.28);
  opacity: 0;
  pointer-events: none;
  transition: opacity 160ms ease;
  z-index: 1;
}

.mbwWaBirdFab.is-open .mbwWaBirdBackdrop{
  opacity: 1;
  pointer-events: auto;
}

/* Desktop menu */
.mbwWaBirdPanel{
  position: absolute;
  right: 0;
  bottom: calc(var(--mbwWaDeskW) + 18px);
  width: 320px;
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.22);
  overflow: hidden;
  transform: translateY(10px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 160ms ease, transform 160ms ease;
  border: 1px solid rgba(15, 23, 42, 0.10);
  z-index: 2;
}

.mbwWaBirdFab.is-open .mbwWaBirdPanel{
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.mbwWaBirdHead{
  padding: 12px 12px 10px;
  background: #f3f6fb;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.mbwWaBirdTitle{
  font-weight: 900;
  font-size: 13px;
  color: #0D5925;
}

.mbwWaBirdClose{
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
  color: #334155;
  padding: 4px 8px;
  border-radius: 10px;
}

.mbwWaBirdActions{
  padding: 10px;
  display: grid;
  gap: 8px;
}

.mbwWaBirdAction{
  display: block;
  width: 100%;
  text-decoration: none;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  color: #0D5925;
  background: #ffffff;
  font-weight: 900;
  font-size: 13px;
  line-height: 1.25;
  white-space: normal;
}

/* Mobile-like: hide menu UI, keep button */
@media (max-width: 900px), (hover: none) and (pointer: coarse){
  .mbwWaBirdImg{ width: var(--mbwWaMobW); }
  .mbwWaBirdPanel{ display: none !important; }
  .mbwWaBirdBackdrop{ display: none !important; }
}

@media (max-width: 380px){
  .mbwWaBirdFab{ --mbwWaMobW: 138px; }
}

/* WhatsApp Smart CTA - Forest Green Hover */
.mbwWaBirdAction:hover{
  background: rgba(13, 89, 37, 0.06);
  color: #0D5925;
}

/* =========================================
   Blog card/button consistency
   - Use global .btn styles from site.css
   - Keep action buttons bottom-aligned in blog grids
   ========================================= */
.cards3,
.nextRow{
  align-items: stretch;
}

.cards3 .miniCard,
.nextRow .miniCard{
  display: flex;
  flex-direction: column;
  height: 100%;
}

.cards3 .miniCard .ctaRow,
.nextRow .miniCard .ctaRow{
  margin-top: auto !important;
}

.cards3 .miniCard > a.btn,
.cards3 .miniCard > a.btn.primary,
.cards3 .miniCard > a.btn.secondary,
.cards3 .miniCard > a.btn.ghost,
.nextRow .miniCard > a.btn,
.nextRow .miniCard > a.btn.primary,
.nextRow .miniCard > a.btn.secondary,
.nextRow .miniCard > a.btn.ghost{
  margin-top: auto;
  align-self: flex-start;
}

/* =========================================
   Page module compatibility layer
   These classes are intentionally retained because existing live pages may depend on them.
   Future pages should prefer generic .section, .card, .grid-* and .ctaRow utilities.

   Paid Social Landing Pages
   Shared EN/ES layout with aligned CTAs
   ========================================= */

.page{
  margin-top: 18px;
  padding: 26px;
}

.page.card{
  background: linear-gradient(180deg, rgba(246,250,240,.88) 0%, rgba(237,244,228,.92) 100%);
  border: 1px solid var(--line);
  border-radius: var(--r);
  box-shadow: var(--shadow);
}

.crawl-lang-links,
.rawLangLinks{
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
  margin-top: 10px;
  margin-bottom: 0;
  font-size: 13px;
}

.crawl-lang-links a,
.rawLangLinks a{
  color: var(--ink);
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 700;
}

.adHero{
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 18px;
  align-items: stretch;
  margin-top: 14px;
}

.heroCopy,
.heroVisual,
.trustBox,
.sectionBox,
.tourOption,
.faqCard,
.bookingPanel,
.quote,
.reviewStat{
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: rgba(255,255,255,.72);
  box-shadow: var(--shadow);
}

.heroCopy{
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
}

.eyebrow,
.quoteEyebrow{
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(13,89,37,.28);
  background: rgba(13,89,37,.10);
  color: var(--forest);
  font-weight: 900;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.heroCopy h1{
  margin: 0;
  font-size: 42px;
  line-height: 1.02;
  letter-spacing: -.035em;
}

.heroLead{
  margin: 0;
  color: var(--ink);
  font-size: 17px;
  line-height: 1.65;
  max-width: 70ch;
}

.trustLine{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}

.trustPill{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.64);
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
}

.ctaRow{
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: stretch;
  margin-top: 8px;
}

.ctaRow .btn{
  min-height: 46px;
  text-align: center;
}

.ctaRow--equal{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.ctaNote{
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.heroVisual{
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 420px;
}

.heroVisual img{
  width: 100%;
  height: 100%;
  min-height: 330px;
  object-fit: cover;
  display: block;
  flex: 1;
}

.visualBar{
  border-top: 1px solid var(--line);
  padding: 13px 15px;
  background: rgba(255,255,255,.62);
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.visualBar strong{
  color: var(--ink);
  font-weight: 900;
  font-size: 14px;
}

.visualBar span{
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.quickGrid{
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.trustBox{
  padding: 15px;
}

.trustBox strong{
  display: block;
  color: var(--ink);
  font-weight: 950;
  margin-bottom: 6px;
  font-size: 15px;
}

.trustBox p{
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.section{
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

.sectionHead{
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.sectionHead h2{
  margin: 0;
  font-size: 24px;
}

.sectionHint{
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  max-width: 58ch;
}

.sectionBox{
  padding: 18px;
}

.sectionBox h3{
  margin-bottom: 8px;
  font-size: 18px;
}

.sectionBox p{
  margin: 0 0 12px;
  color: var(--ink);
  line-height: 1.7;
}

.sectionBox p:last-child{
  margin-bottom: 0;
}

.split{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.tourGrid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.tourOption{
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.tourOption img{
  width: 100%;
  height: 210px;
  object-fit: cover;
  background: rgba(255,255,255,.55);
}

.tourBody{
  padding: 15px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

.tourBody h3{
  margin: 0;
  font-size: 19px;
  line-height: 1.1;
}

.tourBody p{
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
  flex: 1;
}

.tourBody .ctaRow{
  margin-top: auto;
}

.tourBody .btn{
  width: 100%;
}

.miniList{
  margin: 6px 0 0;
  padding-left: 18px;
  color: var(--muted);
  line-height: 1.65;
  font-size: 14px;
}

.bookingGrid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: stretch;
}

.bookingPanel{
  padding: 18px;
}

.bookingPanel h3{
  margin: 0 0 8px;
  font-size: 21px;
}

.bookingPanel p{
  color: var(--muted);
  line-height: 1.65;
}

.stepList{
  margin: 12px 0 0;
  padding-left: 20px;
  color: var(--ink);
  line-height: 1.7;
}

.formCard{
  margin-top: 12px;
  display: grid;
  gap: 10px;
}

.field{
  display: grid;
  gap: 6px;
  font-weight: 900;
  color: var(--ink);
  font-size: 13px;
}

.field textarea{
  width: 100%;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.76);
  color: var(--ink);
  padding: 12px;
  font: inherit;
  min-height: 116px;
  resize: vertical;
  line-height: 1.5;
  box-shadow: 0 10px 25px rgba(0,0,0,.05);
}

.proofGrid{
  display: grid;
  grid-template-columns: 1.12fr .88fr;
  gap: 16px;
  align-items: start;
}

.quote{
  margin: 0;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-self: start;
}

.quote p{
  margin: 0;
}

.quoteText{
  color: var(--ink);
  font-size: 24px;
  line-height: 1.42;
  font-weight: 800;
}

.quoteSupport{
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
  max-width: 58ch;
}

.quoteMeta{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

.quoteAuthor{
  display: grid;
  gap: 3px;
}

.quoteAuthor strong{
  color: var(--ink);
  font-size: 14px;
  font-weight: 950;
}

.quoteAuthor span{
  color: var(--muted);
  font-size: 13px;
}

.quoteLink{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(13,89,37,.28);
  background: rgba(13,89,37,.08);
  color: var(--forest);
  font-size: 13px;
  font-weight: 900;
  white-space: nowrap;
}

.reviewStats{
  display: grid;
  gap: 12px;
}

.reviewStat{
  padding: 14px;
}

.reviewStat strong{
  display: block;
  color: var(--ink);
  font-weight: 950;
  font-size: 18px;
  margin-bottom: 4px;
}

.reviewStat span{
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.faqGrid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.faqCard{
  padding: 16px;
}

.faqCard h3{
  margin: 0 0 8px;
  font-size: 17px;
}

.faqCard p{
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.internalLinks{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.linkCard{
  display: block;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: rgba(255,255,255,.62);
  box-shadow: var(--shadow);
  color: inherit;
  text-decoration: none;
}

.linkCard strong{
  display: block;
  color: var(--ink);
  margin-bottom: 6px;
  font-weight: 950;
}

.linkCard span{
  display: block;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

.stickyAdCta{
  position: fixed;
  left: 50%;
  bottom: 14px;
  transform: translateX(-50%);
  width: min(680px, calc(100vw - 28px));
  z-index: 2500;
  display: none;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  box-shadow: var(--shadow);
  backdrop-filter: blur(10px);
}

.stickyAdCta .btn{
  width: 100%;
  min-height: 44px;
  text-align: center;
  padding: 10px;
  font-size: 13px;
}

@media (max-width: 1000px){
  .quickGrid,
  .internalLinks{
    grid-template-columns: 1fr 1fr;
  }

  .tourGrid{
    grid-template-columns: 1fr;
  }

  .proofGrid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px){
  .adHero,
  .split,
  .bookingGrid,
  .faqGrid,
  .ctaRow--equal{
    grid-template-columns: 1fr;
  }

  .heroCopy h1{
    font-size: 32px;
  }

  .quoteText{
    font-size: 21px;
  }

  .heroVisual{
    min-height: 0;
  }

  .heroVisual img{
    min-height: 240px;
  }

  .page{
    padding: 18px;
  }

  .stickyAdCta{
    display: grid;
  }

  body{
    padding-bottom: 84px;
  }
}

@media (max-width: 560px){
  .quickGrid,
  .internalLinks{
    grid-template-columns: 1fr;
  }

  .ctaRow .btn,
  .quoteLink{
    width: 100%;
  }

  .quoteMeta{
    align-items: stretch;
  }

  .stickyAdCta{
    grid-template-columns: 1fr;
  }

  body{
    padding-bottom: 136px;
  }
}



/* =========================================
   Tour Collection Page Module
   Global tour collection styles.
   Scoped by body[data-page-type="tour_collection"] so tour layout is managed globally without affecting unrelated pages.
   ========================================= */
body[data-page-type="tour_collection"] .page{
margin-top:18px;
      padding:24px;
}
body[data-page-type="tour_collection"] .page.card{
background: var(--card);
      border: 1px solid var(--line);
      border-radius: var(--r);
      box-shadow: var(--shadow);
}
body[data-page-type="tour_collection"] .tourHero{
background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.78));
      border: 1px solid rgba(7,25,35,.12);
      border-radius: calc(var(--r) - 4px);
      box-shadow: 0 14px 36px rgba(7,25,35,.08);
      padding: 22px;
}
body[data-page-type="tour_collection"] .tourHero h1{
margin: 0 0 12px;
      max-width: 760px;
      letter-spacing: 0;
}
body[data-page-type="tour_collection"] .lede{
max-width: 92ch;
      margin-top: 10px;
}
body[data-page-type="tour_collection"] .lede p{
margin: 0 0 12px;
}
body[data-page-type="tour_collection"] .ledeGrid{
display:grid;
      grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr);
      gap: 18px;
      align-items: start;
      max-width: none;
}
body[data-page-type="tour_collection"] .ledeMain{
min-width: 0;
      background: rgba(255,255,255,.72);
      border: 1px solid rgba(7,25,35,.10);
      border-radius: 14px;
      padding: 16px;
}
body[data-page-type="tour_collection"] .ledeBullets{
margin: 10px 0 0;
      padding-left: 18px;
      color: var(--muted);
}
body[data-page-type="tour_collection"] .ledeBullets li{
margin: 6px 0;
}
body[data-page-type="tour_collection"] .ledeMain p a{
color: var(--forest);
      font-weight: 900;
      text-decoration: underline;
      text-underline-offset: 3px;
      text-decoration-thickness: 1.5px;
}
body[data-page-type="tour_collection"] .heroNote,
body[data-page-type="tour_collection"] .bookingNote{
margin: 10px 0 0;
      color: var(--ink);
      font-weight: 800;
      line-height: 1.5;
}
body[data-page-type="tour_collection"] .heroNote{
padding: 10px 12px;
      border-left: 4px solid rgba(255,215,0,.8);
      background: rgba(255,248,204,.72);
      border-radius: 10px;
}
body[data-page-type="tour_collection"] .bookingNote{
font-size: 13.5px;
}
body[data-page-type="tour_collection"] .heroRail{
display:grid;
      gap: 12px;
      min-width: 0;
}
body[data-page-type="tour_collection"] .socialProof{
background: rgba(255,255,255,.82);
      border: 1px solid var(--line);
      border-radius: 14px;
      box-shadow: 0 12px 28px rgba(7,25,35,.07);
      padding: 14px 14px 12px;
      width: 100%;
      max-width: none;
}
body[data-page-type="tour_collection"] .spHead{
font-size: 12px;
      letter-spacing: .08em;
      text-transform: uppercase;
      font-weight: 900;
      color: #1f5b3a;
      margin: 0 0 8px;
}
body[data-page-type="tour_collection"] .spRating{
display:flex;
      align-items: baseline;
      gap: 10px;
      flex-wrap: wrap;
      margin: 0 0 10px;
}
body[data-page-type="tour_collection"] .spStars{
font-weight: 900;
      letter-spacing: .10em;
      color: #fbbc05;
}
body[data-page-type="tour_collection"] .spScore{
font-weight: 900;
}
body[data-page-type="tour_collection"] .spCount a{
color: var(--ink);
      text-decoration: none;
      font-weight: 900;
      border-bottom: 1px dotted rgba(0,0,0,.25);
}
body[data-page-type="tour_collection"] .spPills{
display:flex;
      flex-wrap: wrap;
      gap: 10px;
      margin: 10px 0 12px;
}
body[data-page-type="tour_collection"] .spPill{
display:inline-flex;
      padding: 8px 12px;
      border-radius: 999px;
      border: 1px solid rgba(25,85,54,.18);
      background: rgba(215,244,216,.55);
      font-weight: 900;
      color: #1f5b3a;
      font-size: 13px;
      line-height: 1;
      white-space: nowrap;
}
body[data-page-type="tour_collection"] .spQuote{
margin: 0;
      padding-top: 10px;
      border-top: 1px dashed rgba(0,0,0,.15);
      color: var(--muted);
      font-size: 13px;
      line-height: 1.45;
}
body[data-page-type="tour_collection"] .spQuote strong{
color: var(--ink); font-weight: 900;
}
body[data-page-type="tour_collection"] .routeChoiceCard{
background: rgba(255,255,255,.82);
      border: 1px solid rgba(7,25,35,.12);
      border-radius: 14px;
      box-shadow: 0 12px 28px rgba(7,25,35,.07);
      padding: 14px;
}
body[data-page-type="tour_collection"] .routeChoiceCard h2{
margin: 0 0 10px;
      font-family: var(--font-body);
      font-size: 13px;
      line-height: 1.25;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--forest);
}
body[data-page-type="tour_collection"] .routeChoice{
display:grid;
      gap: 7px;
      padding: 12px 0;
      border-top: 1px dashed rgba(7,25,35,.14);
}
body[data-page-type="tour_collection"] .routeChoice:first-of-type{
border-top: 0;
      padding-top: 0;
}
body[data-page-type="tour_collection"] .routeChoice:last-child{
padding-bottom: 0;
}
body[data-page-type="tour_collection"] .routeChoice h3{
margin: 0;
      font-family: var(--font-head);
      font-size: 18px;
      line-height: 1.2;
      letter-spacing: 0;
      color: var(--forest);
}
body[data-page-type="tour_collection"] .routeChoice p{
margin: 0;
      color: var(--muted);
      font-size: 13.5px;
      line-height: 1.55;
}
body[data-page-type="tour_collection"] .routeChoice .btn{
justify-self: start;
      min-height: 38px;
      padding: 9px 13px;
      border-radius: 12px;
      font-size: 13px;
}
@media (max-width: 900px){
body[data-page-type="tour_collection"] .ledeGrid{
grid-template-columns: 1fr;
        gap: 14px;
}
body[data-page-type="tour_collection"] .socialProof{
max-width: none;
        width: 100%;
        justify-self: start;
}
body[data-page-type="tour_collection"] .routeChoice .btn{
width: 100%;
      justify-self: stretch;
}
}
body[data-page-type="tour_collection"] .ctaRow{
margin-top: 14px;
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      align-items:center;
}
body[data-page-type="tour_collection"] .tourHero .ctaRow .btn{
min-width: 190px;
      min-height: 44px;
}
body[data-page-type="tour_collection"] .tourHero .ctaRow .btn.primary{
flex: 1 1 260px;
}
body[data-page-type="tour_collection"] .tourHero .ctaRow .btn.secondary{
flex: 0 1 190px;
}
@media (max-width: 720px){
body[data-page-type="tour_collection"] .tourHero{
padding: 14px;
}
body[data-page-type="tour_collection"] .ledeMain{
padding: 14px;
}
body[data-page-type="tour_collection"] .tourHero .ctaRow{
display:grid;
      grid-template-columns: 1fr;
      gap: 10px;
}
body[data-page-type="tour_collection"] .tourHero .ctaRow .btn,
body[data-page-type="tour_collection"] .tourHero .ctaRow .btn.primary,
body[data-page-type="tour_collection"] .tourHero .ctaRow .btn.secondary{
width: 100%;
      min-width: 0;
      flex: none;
      white-space: normal;
}
}
body[data-page-type="tour_collection"] .waBtn{
display:inline-flex;
      align-items:center;
      gap:10px;
      padding: 12px 14px;
      border-radius: 14px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.65);
      box-shadow: var(--shadow);
      font-weight: 800;
      color: var(--ink);
      text-decoration: none;
}
body[data-page-type="tour_collection"] .waBtn img{
width: 22px;
      height: 22px;
      border-radius: 7px;
      display:block;
}
body[data-page-type="tour_collection"] .checks{
margin-top: 14px;
      display:grid;
      gap: 10px;
      grid-template-columns: repeat(3, 1fr);
}
body[data-page-type="tour_collection"] .check{
padding: 14px;
      border: 1px solid var(--line);
      border-radius: var(--r);
      background: rgba(255,255,255,.65);
}
body[data-page-type="tour_collection"] .check strong{
display:block;
      font-weight: 900;
      color: var(--ink);
      margin-bottom: 6px;
}
body[data-page-type="tour_collection"] .check p{
margin:0;
}
@media (max-width: 900px){
body[data-page-type="tour_collection"] .checks{
grid-template-columns: 1fr;
}
}
/* Cards layout */
body[data-page-type="tour_collection"] .cards{
margin-top: 18px;
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      align-items: start;
}
@media (max-width: 900px){
body[data-page-type="tour_collection"] .cards{
grid-template-columns: 1fr;
}
}
body[data-page-type="tour_collection"] .tourCard{
background: rgba(255,255,255,.65);
      border: 1px solid var(--line);
      border-radius: var(--r);
      box-shadow: var(--shadow);
      overflow: hidden;
}
body[data-page-type="tour_collection"] .tourBody{
padding: 14px 16px 16px;
}
body[data-page-type="tour_collection"] .tourTitle{
margin: 0 0 6px;
      font-family: var(--font-head);
      color: var(--forest);
      letter-spacing: -0.02em;
      font-size: 20px;
}
body[data-page-type="tour_collection"] .tourDesc{
margin: 0 0 12px;
      color: var(--muted);
      line-height: 1.6;
}
body[data-page-type="tour_collection"] .tourActions{
display:flex;
      gap: 10px;
      flex-wrap: wrap;
      margin-top: 10px;
}
/* Single image activities card */
body[data-page-type="tour_collection"] .activityCard{
margin-top: 16px;
      background: rgba(255,255,255,.65);
      border: 1px solid var(--line);
      border-radius: var(--r);
      box-shadow: var(--shadow);
      overflow:hidden;
      display:grid;
      grid-template-columns: 1.1fr .9fr;
      gap: 0;
      align-items: stretch;
}
body[data-page-type="tour_collection"] .activityMedia{
position: relative;
      min-height: 280px;
      background: rgba(255,255,255,.55);
}
body[data-page-type="tour_collection"] .activityMedia img{
width: 100%;
      height: 100%;
      object-fit: cover;
      display:block;
}
body[data-page-type="tour_collection"] .activityBody{
padding: 16px;
      display:flex;
      flex-direction: column;
      justify-content: center;
      gap: 10px;
}
body[data-page-type="tour_collection"] .activityBody h2{
margin: 0;
      font-size: 20px;
}
body[data-page-type="tour_collection"] .activityBody p{
margin: 0;
}
@media (max-width: 900px){
body[data-page-type="tour_collection"] .activityCard{
grid-template-columns: 1fr;
}
body[data-page-type="tour_collection"] .activityMedia{
min-height: 220px;
}
}
/* YouTube area */
body[data-page-type="tour_collection"] .videoWrap{
margin-top: 18px;
      padding-top: 14px;
      border-top: 1px solid var(--line);
}
body[data-page-type="tour_collection"] .videoHead{
display:flex;
      align-items:flex-end;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;
      margin-bottom: 10px;
}
body[data-page-type="tour_collection"] .videoHead h2{
margin: 0;
      font-size: 20px;
}
body[data-page-type="tour_collection"] .videoHint{
margin: 0;
      color: var(--muted);
      font-size: 13px;
}
body[data-page-type="tour_collection"] .videoGrid{
display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
}
@media (max-width: 900px){
body[data-page-type="tour_collection"] .videoGrid{
grid-template-columns: 1fr;
}
}
body[data-page-type="tour_collection"] .videoCard{
background: rgba(255,255,255,.65);
      border: 1px solid var(--line);
      border-radius: var(--r);
      box-shadow: var(--shadow);
      overflow:hidden;
}
body[data-page-type="tour_collection"] .videoFrame{
aspect-ratio: 9 / 16;
      width: 100%;
      background: rgba(255,255,255,.55);
}
body[data-page-type="tour_collection"] .videoFrame iframe{
width: 100%;
      height: 100%;
      border: 0;
      display:block;
}
body[data-page-type="tour_collection"] .videoCap{
padding: 10px 12px;
      border-top: 1px solid var(--line);
      color: var(--muted);
      font-size: 13px;
}
/* Carousel */
body[data-page-type="tour_collection"] .mbwCarousel{
position: relative;
      border-bottom: 1px solid var(--line);
      background: rgba(255,255,255,.55);
      overflow: hidden;
}
body[data-page-type="tour_collection"] .mbwCarouselViewport{
width: 100%;
      overflow: hidden;
}
body[data-page-type="tour_collection"] .mbwCarouselTrack{
display: flex;
      width: 100%;
      transform: translateX(0);
      transition: transform 420ms ease;
      will-change: transform;
}
body[data-page-type="tour_collection"] .mbwSlide{
flex: 0 0 100%;
      width: 100%;
}
body[data-page-type="tour_collection"] .mbwSlide img{
width: 100%;
      height: 280px;
      display:block;
      object-fit: cover;
}
body[data-page-type="tour_collection"] .mbwSlide .label{
padding: 10px 12px;
      border-top: 1px solid var(--line);
      color: var(--muted);
      font-size: 13px;
      background: rgba(255,255,255,.55);
}
body[data-page-type="tour_collection"] .mbwNavBtn{
position:absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 44px;
      height: 44px;
      border-radius: 14px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.88);
      box-shadow: var(--shadow);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      cursor:pointer;
      user-select:none;
      z-index: 2;
}
body[data-page-type="tour_collection"] .mbwNavBtn svg{
width: 20px; height: 20px;
}
body[data-page-type="tour_collection"] .mbwNavPrev{
left: 10px;
}
body[data-page-type="tour_collection"] .mbwNavNext{
right: 10px;
}
body[data-page-type="tour_collection"] .mbwDots{
position:absolute;
      left: 50%;
      bottom: 10px;
      transform: translateX(-50%);
      display:inline-flex;
      gap: 6px;
      padding: 6px 10px;
      border-radius: 999px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.80);
      z-index: 2;
      pointer-events: none;
}
body[data-page-type="tour_collection"] .mbwDot{
width: 8px;
      height: 8px;
      border-radius: 999px;
      background: rgba(13,89,37,.22);
}
body[data-page-type="tour_collection"] .mbwDot.is-active{
background: rgba(13,89,37,.65);
}
@media (prefers-reduced-motion: reduce){
body[data-page-type="tour_collection"] .mbwCarouselTrack{
transition: none;
}
}
/* Tour spotlights inside tour type cards */
body[data-page-type="tour_collection"] .mini-links{
margin-top:10px;padding:10px 12px;border:1px solid rgba(11,59,28,.14);border-radius:14px;background:rgba(255,255,255,.55)
}
body[data-page-type="tour_collection"] .mini-links__label{
font-weight:800;font-size:12px;letter-spacing:.02em;text-transform:uppercase;color:#0b3b1c;margin-bottom:4px
}
body[data-page-type="tour_collection"] .mini-links__link{
color:#0b3b1c;text-decoration:underline;text-underline-offset:3px;font-weight:700
}
body[data-page-type="tour_collection"] .mini-links__sep{
margin:0 8px;color:rgba(11,59,28,.5);font-weight:900
}
@media (max-width: 720px){
body[data-page-type="tour_collection"] .mini-links{
margin-top:12px
}
}
/* Related field guides block */
body[data-page-type="tour_collection"] .guidesWrap{
margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}
body[data-page-type="tour_collection"] .guidesHead{
display:flex;
  align-items:flex-end;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
body[data-page-type="tour_collection"] .guidesHead h2{
margin: 0;
  font-size: 20px;
}
body[data-page-type="tour_collection"] .guidesHint{
margin: 0;
  color: var(--muted);
  font-size: 13px;
}
body[data-page-type="tour_collection"] .experienceSummary{
display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 14px;
}
body[data-page-type="tour_collection"] .experienceSummary div{
background: rgba(255,255,255,.72);
  border: 1px solid rgba(7,25,35,.11);
  border-radius: 14px;
  padding: 13px 14px;
  box-shadow: 0 10px 24px rgba(7,25,35,.06);
}
body[data-page-type="tour_collection"] .experienceSummary strong{
display:block;
  color: var(--ink);
  font-weight: 900;
  margin-bottom: 5px;
}
body[data-page-type="tour_collection"] .experienceSummary span{
display:block;
  color: var(--muted);
  line-height: 1.55;
  font-size: 13.5px;
}
body[data-page-type="tour_collection"] .guidesGrid{
display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
body[data-page-type="tour_collection"] .guideCard{
background: rgba(255,255,255,.65);
  border: 1px solid var(--line);
  border-radius: var(--r);
  box-shadow: var(--shadow);
  padding: 14px;
  display:flex;
  flex-direction:column;
  gap: 10px;
  min-height: 190px;
}
body[data-page-type="tour_collection"] .guideCard h3{
margin: 0;
  font-family: var(--font-head);
  color: var(--forest);
  letter-spacing: -0.02em;
  font-size: 18px;
}
body[data-page-type="tour_collection"] .guideCard p{
margin: 0;
  color: var(--muted);
  line-height: 1.6;
  flex: 1;
}
body[data-page-type="tour_collection"] .guideCard .tourActions{
margin-top: auto;
}
@media (max-width: 1100px){
body[data-page-type="tour_collection"] .experienceSummary{
grid-template-columns: 1fr;
}
body[data-page-type="tour_collection"] .guidesGrid{
grid-template-columns: 1fr 1fr;
}
}
@media (max-width: 900px){
body[data-page-type="tour_collection"] .guidesGrid{
grid-template-columns: 1fr;
}
}

/* =========================================================
   MBW Global Page Modules v2 CLEAN
   Purpose: add exact-scoped reusable page modules without changing
   existing broad compatibility classes.
   Safety rule:
   - No broad body[data-page-type] layout rules.
   - No duplicate unscoped .page, .hero, .section, .ctaRow, .faqGrid rules.
   - Existing page-level CSS may remain during rollout.
   - Remove page-level CSS only after page-by-page visual QA.
   ========================================================= */

/* -----------------------------
   Tour detail carousel module
   Exact-scope only. No broad body[data-page-type] selectors.
   ----------------------------- */
body[data-page-type="tour_detail"] .mbwCarousel{
  position: relative;
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: rgba(255,255,255,.65);
  box-shadow: var(--shadow);
  overflow: hidden;
}

body[data-page-type="tour_detail"] .mbwCarouselViewport{
  width: 100%;
  overflow: hidden;
}

body[data-page-type="tour_detail"] .mbwCarouselTrack{
  display: flex;
  width: 100%;
  transform: translateX(0);
  transition: transform 420ms ease;
  will-change: transform;
}

body[data-page-type="tour_detail"] .mbwSlide{
  flex: 0 0 100%;
  width: 100%;
}

body[data-page-type="tour_detail"] .mbwSlide img{
  width: 100%;
  height: 280px;
  display: block;
  object-fit: cover;
}

body[data-page-type="tour_detail"] .mbwSlide .label{
  padding: 10px 12px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 13px;
  background: rgba(255,255,255,.55);
}

body[data-page-type="tour_detail"] .mbwNavBtn{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.88);
  box-shadow: var(--shadow);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  user-select: none;
  z-index: 2;
}

body[data-page-type="tour_detail"] .mbwNavBtn svg{
  width: 20px;
  height: 20px;
}

body[data-page-type="tour_detail"] .mbwNavPrev{
  left: 10px;
}

body[data-page-type="tour_detail"] .mbwNavNext{
  right: 10px;
}

body[data-page-type="tour_detail"] .mbwDots{
  position: absolute;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
  display: inline-flex;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.80);
  z-index: 2;
  pointer-events: none;
}

body[data-page-type="tour_detail"] .mbwDot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(13,89,37,.22);
}

body[data-page-type="tour_detail"] .mbwDot.is-active{
  background: rgba(13,89,37,.65);
}

@media (prefers-reduced-motion: reduce){
  body[data-page-type="tour_detail"] .mbwCarouselTrack{
    transition: none;
  }
}

/* -----------------------------
   Tour detail module
   Covers Jewels, Cock-of-the-Rock, Full Day, and Private Custom variants.
   ----------------------------- */
body[data-page-type="tour_detail"] .hero{
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 16px;
  align-items: start;
  margin-top: 10px;
}

body[data-page-type="tour_detail"] .heroMedia,
body[data-page-type="tour_detail"] .heroImageCard,
body[data-page-type="tour_detail"] .slot.card{
  border: 1px solid var(--line);
  border-radius: var(--r);
  overflow: hidden;
  box-shadow: var(--shadow);
  background: rgba(255,255,255,.55);
}

body[data-page-type="tour_detail"] .heroMedia{
  min-height: 320px;
  position: relative;
}

body[data-page-type="tour_detail"] .heroMedia img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

body[data-page-type="tour_detail"] .heroBody{
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--r);
  box-shadow: var(--shadow);
  background: rgba(255,255,255,.65);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 10px;
  min-width: 0;
}

body[data-page-type="tour_detail"] .kicker{
  display: inline-flex;
  gap: 8px;
  align-items: center;
  font-weight: 900;
  color: var(--forest);
  letter-spacing: -0.01em;
  font-size: 13px;
  text-transform: uppercase;
}

body[data-page-type="tour_detail"] .heroBody h1,
body[data-page-type="tour_detail"] h1{
  margin: 0 0 10px;
  font-family: var(--font-head);
  color: var(--forest);
  letter-spacing: -0.02em;
  line-height: 1.05;
}

body[data-page-type="tour_detail"] .heroBody h1{
  margin-bottom: 0;
  font-size: 34px;
}

body[data-page-type="tour_detail"] .heroBody p{
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
  max-width: 70ch;
}

body[data-page-type="tour_detail"] .copy{
  max-width: 92ch;
  display: flex;
  flex-direction: column;
  height: 100%;
}

body[data-page-type="tour_detail"] .copy p{
  margin: 0 0 12px;
  line-height: 1.6;
}

body[data-page-type="tour_detail"] .trustPanel{
  margin-top: 6px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: rgba(255,255,255,.55);
  box-shadow: var(--shadow);
  display: none;
}

body[data-page-type="tour_detail"] .trustPanel h2{
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: -0.01em;
  color: var(--ink);
}

body[data-page-type="tour_detail"] .trustGrid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

body[data-page-type="tour_detail"] .trustItem{
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,.65);
  padding: 10px 12px;
  box-shadow: var(--shadow);
  font-weight: 900;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.35;
}

body[data-page-type="tour_detail"] .trustSub{
  display: block;
  margin-top: 4px;
  font-weight: 700;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

body[data-page-type="tour_detail"] .metaWrap{
  margin-top: 12px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: rgba(255,255,255,.55);
  box-shadow: var(--shadow);
}

body[data-page-type="tour_detail"] .metaTitle{
  margin: 0 0 10px;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: -0.01em;
  color: var(--ink);
}

body[data-page-type="tour_detail"] .metaGrid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  align-items: stretch;
}

body[data-page-type="tour_detail"] .metaCard{
  padding: 14px 14px 12px;
  min-width: 0;
}

body[data-page-type="tour_detail"] .metaLabel{
  display: block;
  font-weight: 900;
  color: var(--muted);
  margin-bottom: 6px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

body[data-page-type="tour_detail"] .metaValue{
  margin: 0;
  color: var(--ink);
  font-weight: 900;
  line-height: 1.35;
}

body[data-page-type="tour_detail"] .metaSub{
  margin: 6px 0 0;
  color: var(--muted);
  line-height: 1.55;
  font-size: 13px;
}

body[data-page-type="tour_detail"] .twoCol,
body[data-page-type="tour_detail"] .grid2{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: start;
}

body[data-page-type="tour_detail"] .speciesGrid{
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
}

body[data-page-type="tour_detail"] .species{
  background: rgba(255,255,255,.65);
  border: 1px solid var(--line);
  border-radius: var(--r);
  box-shadow: var(--shadow);
  overflow: hidden;
  text-decoration: none;
  color: var(--ink);
  display: block;
  min-width: 0;
}

body[data-page-type="tour_detail"] .species img{
  width: 100%;
  height: 120px;
  object-fit: cover;
  display: block;
}

body[data-page-type="tour_detail"] .species .cap{
  padding: 10px 12px;
  border-top: 1px solid var(--line);
  font-weight: 900;
  font-size: 13px;
}

body[data-page-type="tour_detail"] .species .sub{
  padding: 0 12px 12px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}

body[data-page-type="tour_detail"] .faqGrid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: start;
}

body[data-page-type="tour_detail"] .qa{
  padding: 10px 0;
  border-top: 1px solid var(--line);
}

body[data-page-type="tour_detail"] .qa:first-child{
  border-top: 0;
  padding-top: 0;
}

body[data-page-type="tour_detail"] .q{
  margin: 0 0 4px;
  font-weight: 900;
  color: var(--ink);
  font-size: 13px;
}

body[data-page-type="tour_detail"] .a{
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
  font-size: 13px;
}

body[data-page-type="tour_detail"] .finalCta{
  margin-top: 18px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: rgba(255,255,255,.65);
  box-shadow: var(--shadow);
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 14px;
  align-items: start;
}

body[data-page-type="tour_detail"] .finalCta p{
  margin: 0;
  color: var(--muted);
  max-width: 70ch;
  line-height: 1.6;
}

body[data-page-type="tour_detail"] .finalTitle{
  margin: 0 0 6px;
  font-weight: 900;
  color: var(--ink);
  letter-spacing: -0.01em;
  font-size: 16px;
}

body[data-page-type="tour_detail"] .checks{
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

body[data-page-type="tour_detail"] .checks li{
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: var(--ink);
}

body[data-page-type="tour_detail"] .checks .tick{
  width: 22px;
  height: 22px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.65);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  font-weight: 900;
  color: var(--forest);
  line-height: 1;
}

body[data-page-type="tour_detail"] .slotFrame{
  aspect-ratio: 9 / 16;
  background: rgba(255,255,255,.55);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

body[data-page-type="tour_detail"] .slotFrame img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

body[data-page-type="tour_detail"] .heroImageFrame{
  width: 100%;
  aspect-ratio: 4 / 3;
  background: rgba(255,255,255,.55);
}

body[data-page-type="tour_detail"] .heroImageFrame img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  background: rgba(255,255,255,.55);
}

body[data-page-type="tour_detail"] .heroImageBar{
  padding: 12px 14px;
  border-top: 1px solid var(--line);
  background: rgba(255,255,255,.55);
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

body[data-page-type="tour_detail"] .heroImageTitle{
  margin: 0;
  font-weight: 900;
  color: var(--ink);
  font-size: 13.5px;
  letter-spacing: -0.01em;
}

body[data-page-type="tour_detail"] .heroImageTag{
  display: inline-flex;
  align-items: center;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.55);
  font-weight: 900;
  color: var(--ink);
  font-size: 12.5px;
  line-height: 1;
  white-space: nowrap;
}

@media (min-width: 901px){
  body[data-page-type="tour_detail"] .trustPanel{
    display: block;
  }
}

@media (max-width: 1000px){
  body[data-page-type="tour_detail"] .speciesGrid{
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 900px){
  body[data-page-type="tour_detail"] .hero,
  body[data-page-type="tour_detail"] .twoCol,
  body[data-page-type="tour_detail"] .grid2,
  body[data-page-type="tour_detail"] .faqGrid,
  body[data-page-type="tour_detail"] .finalCta{
    grid-template-columns: 1fr;
  }

  body[data-page-type="tour_detail"] .heroMedia{
    min-height: 240px;
  }

  body[data-page-type="tour_detail"] .metaGrid{
    grid-template-columns: repeat(2, 1fr);
  }

  body[data-page-type="tour_detail"] .metaCard.focus,
  body[data-page-type="tour_detail"] .metaCard.included{
    grid-column: 1 / -1;
  }

  body[data-page-type="tour_detail"] .heroBody h1{
    font-size: 28px;
  }
}

@media (max-width: 520px){
  body[data-page-type="tour_detail"] .speciesGrid{
    grid-template-columns: repeat(2, 1fr);
  }
}

/* -----------------------------
   Booking page module
   ----------------------------- */
body[data-page-type="booking_page"] .layout{
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 16px;
  align-items: stretch;
}

body[data-page-type="booking_page"] .leftStack{
  display: grid;
  gap: 18px;
  align-content: start;
  min-width: 0;
}

body[data-page-type="booking_page"] .rightStack{
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-self: stretch;
  height: 100%;
}

body[data-page-type="booking_page"] .heroLeft,
body[data-page-type="booking_page"] .heroRight{
  display: grid;
  gap: 12px;
  align-content: start;
  min-width: 0;
}

body[data-page-type="booking_page"] .heroLeft{
  justify-items: stretch;
}

body[data-page-type="booking_page"] .heroLeft > *{
  min-width: 0;
}

body[data-page-type="booking_page"] h1{
  margin: 0 0 10px;
  letter-spacing: -0.02em;
}

body[data-page-type="booking_page"] .metaCard,
body[data-page-type="booking_page"] .heroActions{
  padding: 14px;
  display: grid;
  gap: 10px;
}

body[data-page-type="booking_page"] .heroImageCard{
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: rgba(255,255,255,.65);
  box-shadow: var(--shadow);
  overflow: hidden;
}

body[data-page-type="booking_page"] .heroImageFrame{
  width: 100%;
  aspect-ratio: 4 / 3;
  background: rgba(255,255,255,.55);
}

body[data-page-type="booking_page"] .heroImageFrame img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

body[data-page-type="booking_page"] .heroImageBar{
  padding: 12px 14px;
  border-top: 1px solid var(--line);
  background: rgba(255,255,255,.55);
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

body[data-page-type="booking_page"] .quickRow{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

body[data-page-type="booking_page"] .quickRow .btn{
  flex: 1 1 160px;
}

@media (max-width: 900px){
  body[data-page-type="booking_page"] .layout{
    grid-template-columns: 1fr;
  }
}

/* -----------------------------
   Contact page module
   ----------------------------- */
body[data-page-type="contact_page"] .contactLayout{
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 16px;
  align-items: start;
}

body[data-page-type="contact_page"] .leftStack,
body[data-page-type="contact_page"] .rightStack{
  display: grid;
  gap: 12px;
  align-content: start;
  align-items: start;
}

body[data-page-type="contact_page"] h1{
  margin: 0 0 10px;
  letter-spacing: -0.02em;
}

body[data-page-type="contact_page"] .metaCard,
body[data-page-type="contact_page"] .cardBox{
  padding: 14px;
}

body[data-page-type="contact_page"] .form{
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

body[data-page-type="contact_page"] .row2{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  align-items: start;
}

body[data-page-type="contact_page"] .rowPhone{
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 10px;
  align-items: end;
}

body[data-page-type="contact_page"] label{
  display: grid;
  gap: 6px;
  font-weight: 900;
  font-size: 13px;
  color: var(--ink);
  min-width: 0;
  width: 100%;
}

body[data-page-type="contact_page"] .labelText{
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
  line-height: 1.1;
}

body[data-page-type="contact_page"] .req{
  color: rgba(160,0,0,.85);
  font-weight: 950;
  margin-left: 0;
}

body[data-page-type="contact_page"] input,
body[data-page-type="contact_page"] select,
body[data-page-type="contact_page"] textarea{
  width: 100%;
  max-width: 100%;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.70);
  box-shadow: 0 10px 25px rgba(0,0,0,.06);
  padding: 12px;
  font: inherit;
  color: var(--ink);
  outline: none;
  box-sizing: border-box;
  min-width: 0;
  display: block;
}

body[data-page-type="contact_page"] input,
body[data-page-type="contact_page"] select{
  height: 46px;
  line-height: 46px;
  padding-top: 0;
  padding-bottom: 0;
}

body[data-page-type="contact_page"] textarea{
  min-height: 130px;
  resize: vertical;
  line-height: 1.5;
}

@media (max-width: 900px){
  body[data-page-type="contact_page"] .contactLayout,
  body[data-page-type="contact_page"] .row2,
  body[data-page-type="contact_page"] .rowPhone{
    grid-template-columns: 1fr;
  }
}

/* -----------------------------
   Reviews page module
   ----------------------------- */
body[data-page-type="reviews_page"]{
  --google-star: #fbbc04;
  --glass: rgba(255,255,255,.70);
  --glass2: rgba(255,255,255,.62);
  --soft: rgba(255,255,255,.55);
}

body[data-page-type="reviews_page"] .hero{
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 16px;
  align-items: start;
}

body[data-page-type="reviews_page"] .hero h1{
  margin: 0 0 8px;
  letter-spacing: -0.02em;
}

body[data-page-type="reviews_page"] .hero p{
  margin: 0;
  max-width: 85ch;
  color: var(--ink);
  line-height: 1.65;
}

body[data-page-type="reviews_page"] .leftStack{
  display: grid;
  gap: 14px;
  align-content: start;
}

body[data-page-type="reviews_page"] .ctaPills{
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  align-items: stretch;
  max-width: 560px;
}

body[data-page-type="reviews_page"] .pillBtn{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  text-decoration: none;
  font-weight: 950;
  letter-spacing: -0.01em;
  color: var(--ink);
  background: var(--glass);
  min-height: 58px;
}

body[data-page-type="reviews_page"] .pillBtn .pillLeft{
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

body[data-page-type="reviews_page"] .pillIcon{
  width: 38px;
  height: 38px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(3,78,162,.18);
  background: rgba(3,78,162,.06);
  flex: 0 0 auto;
  font-size: 18px;
  overflow: hidden;
}

body[data-page-type="reviews_page"] .pillIcon img{
  width: 34px;
  height: 34px;
  display: block;
  object-fit: contain;
}

body[data-page-type="reviews_page"] .pillText{
  display: grid;
  gap: 2px;
  min-width: 0;
}

body[data-page-type="reviews_page"] .pillTitle{
  margin: 0;
  font-size: 16px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body[data-page-type="reviews_page"] .pillSub{
  margin: 0;
  font-size: 12.5px;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body[data-page-type="reviews_page"] .pillChevron{
  width: 34px;
  height: 34px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(0,0,0,.06);
  background: rgba(255,255,255,.7);
  flex: 0 0 auto;
  font-size: 18px;
  line-height: 1;
}

body[data-page-type="reviews_page"] .pillPrimary{
  background: rgba(251,188,4,.22);
  border-color: rgba(251,188,4,.35);
}

body[data-page-type="reviews_page"] .pillPrimary .pillIcon{
  background: rgba(251,188,4,.18);
  border-color: rgba(251,188,4,.40);
}

body[data-page-type="reviews_page"] .pillSecondary{
  background: rgba(255,255,255,.70);
  border-color: rgba(0,0,0,.10);
}

body[data-page-type="reviews_page"] .pillSecondary .pillIcon{
  background: rgba(0,0,0,.03);
  border-color: rgba(0,0,0,.10);
}

@media (max-width: 900px){
  body[data-page-type="reviews_page"] .hero{
    grid-template-columns: 1fr;
  }
}

/* -----------------------------
   Guide/article page module
   ----------------------------- */
body[data-page-type="guide_page"] .hero,
body[data-page-type="article_page"] .hero{
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 16px;
  align-items: start;
}

body[data-page-type="guide_page"] .hero h1,
body[data-page-type="article_page"] .hero h1{
  margin: 0 0 10px;
  letter-spacing: -0.02em;
  line-height: 1.05;
}

body[data-page-type="guide_page"] .hero p,
body[data-page-type="article_page"] .hero p{
  margin: 0;
  color: var(--ink);
  line-height: 1.75;
  max-width: 85ch;
}

@media (max-width: 900px){
  body[data-page-type="guide_page"] .hero,
  body[data-page-type="article_page"] .hero{
    grid-template-columns: 1fr;
  }
}

/* -----------------------------
   Home page module
   ----------------------------- */
body[data-page-type="home_page"] .mobileHero{
  display: none;
  margin-top: 12px;
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: rgba(255,255,255,.65);
  box-shadow: var(--shadow);
  overflow: hidden;
}

body[data-page-type="home_page"] .mobileHeroFrame{
  width: 100%;
  aspect-ratio: 16 / 9;
  background: rgba(255,255,255,.55);
  display: flex;
  align-items: center;
  justify-content: center;
}

body[data-page-type="home_page"] .mobileHeroFrame img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

body[data-page-type="home_page"] .aboveFold{
  display: flex;
  flex-direction: column;
  gap: 16px;
}

body[data-page-type="home_page"] .aboveFold .wx{ order: 1; }
body[data-page-type="home_page"] .aboveFold .hero{ order: 2; }

body[data-page-type="home_page"] .wx{
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: rgba(255,255,255,.65);
  box-shadow: var(--shadow);
  padding: 14px;
  margin: 0;
}

body[data-page-type="home_page"] .wxGrid{
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 10px;
  align-items: stretch;
}

body[data-page-type="home_page"] .wxDay{
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255,255,255,.55);
  box-shadow: var(--shadow);
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}

body[data-page-type="home_page"] .wxDayTop{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
}

body[data-page-type="home_page"] .wxDow,
body[data-page-type="home_page"] .wxPlace,
body[data-page-type="home_page"] .wxLine,
body[data-page-type="home_page"] .wxRain{
  font-weight: 900;
  font-size: 12.5px;
  color: var(--ink);
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body[data-page-type="home_page"] .wxPlace{
  display: inline-flex;
  align-items: center;
  gap: 2px;
  min-width: 0;
}

body[data-page-type="home_page"] .wxLine{
  line-height: 1.25;
}

body[data-page-type="home_page"] .wxIcon{
  font-size: 18px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  flex: 0 0 auto;
}

body[data-page-type="home_page"] .wxRain{
  color: var(--muted);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-align: center;
}

body[data-page-type="home_page"] .wxNote{
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.5;
}

body[data-page-type="home_page"] .wxNote[hidden]{ display: none; }

body[data-page-type="home_page"] .hero{
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 16px;
  align-items: start;
}

body[data-page-type="home_page"] .hero h1{
  margin: 0 0 10px;
  letter-spacing: -0.02em;
  line-height: 1.05;
}

body[data-page-type="home_page"] .hero p{
  margin: 0;
  color: var(--ink);
  line-height: 1.75;
  max-width: 85ch;
}

body[data-page-type="home_page"] .heroCtas{
  margin-top: 14px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

@media (max-width: 1100px){
  body[data-page-type="home_page"] .wxGrid{
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 900px){
  body[data-page-type="home_page"] .mobileHero{ display: block; }
  body[data-page-type="home_page"] .aboveFold .hero{ order: 1; }
  body[data-page-type="home_page"] .aboveFold .wx{ order: 2; }
  body[data-page-type="home_page"] .hero{ grid-template-columns: 1fr; }
}

@media (max-width: 560px){
  body[data-page-type="home_page"] .wxGrid{
    grid-template-columns: 1fr 1fr;
  }
}

/* =========================================================
   MBW Home Page Module v3
   Exact-scoped homepage module.
   Source: consolidated original EN/ES homepage page-level CSS.
   Safe usage: remove homepage page-level <style> only after this block is deployed in /assets/css/site.css.
   ========================================================= */
body[data-page-type="home_page"] .page{
margin-top: 18px; padding: 26px;
}

body[data-page-type="home_page"] .page.card{
background: var(--card);
      border: 1px solid var(--line);
      border-radius: var(--r);
      box-shadow: var(--shadow);
}

body[data-page-type="home_page"] .rawLangLinks{
display:flex;
      gap:10px;
      align-items:center;
      justify-content:flex-end;
      margin-top:10px;
      margin-bottom:0;
      font-size:13px;
}

body[data-page-type="home_page"] .rawLangLinks a{
color: var(--ink);
      text-decoration: underline;
      text-underline-offset: 3px;
      font-weight: 700;
}

body[data-page-type="home_page"] .mobileHero{
display: none;
      margin-top: 12px;
      border: 1px solid var(--line);
      border-radius: var(--r);
      background: rgba(255,255,255,.65);
      box-shadow: var(--shadow);
      overflow: hidden;
}

body[data-page-type="home_page"] .mobileHeroFrame{
width: 100%;
      aspect-ratio: 16 / 9;
      background: rgba(255,255,255,.55);
      display: flex;
      align-items: center;
      justify-content: center;
}

body[data-page-type="home_page"] .mobileHeroFrame img{
width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
}

@media (max-width: 900px){
body[data-page-type="home_page"] .mobileHero{
display: block;
}
}

body[data-page-type="home_page"] .aboveFold{
display:flex;
      flex-direction: column;
      gap: 16px;
}

body[data-page-type="home_page"] .aboveFold .wx{
order: 1;
}

body[data-page-type="home_page"] .aboveFold .hero{
order: 2;
}

@media (max-width: 900px){
body[data-page-type="home_page"] .aboveFold .hero{
order: 1;
}

body[data-page-type="home_page"] .aboveFold .wx{
order: 2;
}
}

body[data-page-type="home_page"] .wx{
border: 1px solid var(--line);
      border-radius: var(--r);
      background: rgba(255,255,255,.65);
      box-shadow: var(--shadow);
      padding: 14px;
      margin: 0;
}

body[data-page-type="home_page"] .wxGrid{
display:grid;
      grid-template-columns: repeat(8, 1fr);
      gap: 10px;
      align-items: stretch;
}

body[data-page-type="home_page"] .wxDay{
border: 1px solid var(--line);
      border-radius: 16px;
      background: rgba(255,255,255,.55);
      box-shadow: var(--shadow);
      padding: 10px;
      display:flex;
      flex-direction: column;
      gap: 10px;
      min-width: 0;
}

body[data-page-type="home_page"] .wxDayTop{
display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 8px;
      min-width: 0;
}

body[data-page-type="home_page"] .wxDow{
font-weight: 900;
      font-size: 12.5px;
      color: var(--ink);
      letter-spacing: -0.01em;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
}

body[data-page-type="home_page"] .wxPlace{
display:inline-flex;
      align-items:center;
      gap: 2px;
      min-width: 0;
      font-weight: 900;
      font-size: 12.5px;
      color: var(--ink);
      letter-spacing: -0.01em;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
}

@media (min-width: 901px){
body[data-page-type="home_page"] .wxPlace{
gap: 0;
}
}

body[data-page-type="home_page"] .wxPinDot{
font-size: 14px;
      line-height: 1;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      transform: translateY(-0.5px);
}

body[data-page-type="home_page"] .wxTempsRow{
display:block; min-width: 0;
}

body[data-page-type="home_page"] .wxTempsLines{
min-width: 0;
}

body[data-page-type="home_page"] .wxLine{
font-weight: 900;
      font-size: 12.5px;
      color: var(--ink);
      letter-spacing: -0.01em;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      line-height: 1.25;
}

body[data-page-type="home_page"] .wxIcon{
font-size: 18px;
      line-height: 1;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width: 22px;
      flex: 0 0 auto;
}

body[data-page-type="home_page"] .wxRain{
font-weight: 900;
      font-size: 12.5px;
      color: var(--muted);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      display:flex;
      align-items:center;
      justify-content:center;
      gap: 6px;
      text-align:center;
}

body[data-page-type="home_page"] .wxNote{
margin: 10px 0 0;
      color: var(--muted);
      font-size: 12.5px;
      line-height: 1.5;
}

body[data-page-type="home_page"] .wxNote[hidden]{
display:none;
}

body[data-page-type="home_page"] .wxSkeleton .wxDay{
position: relative;
      overflow: hidden;
}

body[data-page-type="home_page"] .wxSkeleton .wxDay:before{
content:"";
      position:absolute;
      inset:-40% -60%;
      background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.55), rgba(255,255,255,0));
      transform: translateX(-40%);
      animation: wxShimmer 1.35s linear infinite;
      pointer-events:none;
}

@keyframes wxShimmer{
0%{ transform: translateX(-40%); }
      100%{ transform: translateX(40%); }
}

body[data-page-type="home_page"] .hero{
display:grid;
      grid-template-columns: 1.1fr .9fr;
      gap: 16px;
      align-items: start;
}

body[data-page-type="home_page"] .hero h1{
margin: 0 0 10px;
      letter-spacing: -0.02em;
      line-height: 1.05;
}

body[data-page-type="home_page"] .hero p{
margin: 0;
      color: var(--ink);
      line-height: 1.75;
      max-width: 85ch;
}

body[data-page-type="home_page"] .heroCtas{
margin-top: 14px;
      display:flex;
      gap: 10px;
      flex-wrap: wrap;
      align-items:center;
}

body[data-page-type="home_page"] .heroAside{
border: 1px solid var(--line);
      border-radius: var(--r);
      background: rgba(255,255,255,.65);
      box-shadow: var(--shadow);
      padding: 14px;
}

body[data-page-type="home_page"] .heroAside h2{
margin:0 0 10px;
      font-family: var(--font-head);
      color: var(--forest);
      letter-spacing: -0.02em;
      font-size: 18px;
}

body[data-page-type="home_page"] .heroList{
margin: 0;
      padding-left: 18px;
      color: var(--ink);
      line-height: 1.7;
}

body[data-page-type="home_page"] .section{
margin-top: 18px;
      padding-top: 14px;
      border-top: 1px solid var(--line);
}

body[data-page-type="home_page"] .sectionHead{
display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap: 12px;
      flex-wrap: wrap;
      margin-bottom: 10px;
}

body[data-page-type="home_page"] .sectionHead h2{
margin:0;
      font-family: var(--font-head);
      color: var(--forest);
      letter-spacing: -0.02em;
      font-size: 20px;
}

body[data-page-type="home_page"] .hint{
margin:0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.5;
}

body[data-page-type="home_page"] .ctaBand{
margin-top: 14px;
      border: 1px dashed rgba(13,89,37,.35);
      border-radius: 16px;
      background: rgba(255,255,255,.55);
      padding: 14px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 12px;
      flex-wrap: wrap;
}

body[data-page-type="home_page"] .ctaBand p{
margin:0;
      color: var(--ink);
      line-height: 1.6;
}

body[data-page-type="home_page"] .secureCard{
margin-top: 14px;
      border: 1px solid var(--line);
      border-radius: 16px;
      background: rgba(255,255,255,.55);
      box-shadow: var(--shadow);
      padding: 14px;
      display:flex;
      gap: 14px;
      align-items:center;
      width: 100%;
}

body[data-page-type="home_page"] .secureImg{
width: 210px;
      height: 210px;
      flex: 0 0 auto;
      border-radius: 22px;
      background: rgba(255,255,255,.55);
      display:flex;
      align-items:center;
      justify-content:center;
      overflow:hidden;
      border: 1px solid var(--line);
}

body[data-page-type="home_page"] .secureImg img{
width: 100%;
      height: 100%;
      object-fit: contain;
      display:block;
}

body[data-page-type="home_page"] .secureCopy{
min-width: 0;
}

body[data-page-type="home_page"] .secureKicker{
margin: 0 0 6px;
      font-weight: 900;
      letter-spacing: -0.01em;
      color: var(--ink);
      font-size: 15px;
      line-height: 1.2;
}

body[data-page-type="home_page"] .secureText{
margin: 0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.6;
}

body[data-page-type="home_page"] .mediaGrid{
display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
      align-items: start;
}

body[data-page-type="home_page"] .mediaCol{
display:flex;
      flex-direction: column;
      gap: 14px;
      align-items: stretch;
      min-width: 0;
}

body[data-page-type="home_page"] .mediaCard{
border: 1px solid var(--line);
      border-radius: var(--r);
      background: rgba(255,255,255,.65);
      box-shadow: var(--shadow);
      overflow:hidden;
}

body[data-page-type="home_page"] .mediaFrame{
width:100%;
      aspect-ratio: 16 / 10;
      background: rgba(255,255,255,.55);
      display:flex;
      align-items:center;
      justify-content:center;
      position:relative;
}

body[data-page-type="home_page"] .mediaFrame img{
width:100%;
      height:100%;
      object-fit: cover;
      display:block;
}

body[data-page-type="home_page"] .videoFrame{
width:100%;
      aspect-ratio: 9 / 16;
      border:0;
      display:block;
      background: rgba(255,255,255,.55);
}

body[data-page-type="home_page"] .mediaBar{
padding: 10px 12px;
      border-top: 1px solid var(--line);
      background: rgba(255,255,255,.55);
      display:flex;
      justify-content:space-between;
      gap: 10px;
      flex-wrap: wrap;
      align-items:center;
}

body[data-page-type="home_page"] .mediaTitle{
margin:0;
      font-weight: 900;
      color: var(--ink);
      font-size: 13.5px;
      letter-spacing: -0.01em;
}

body[data-page-type="home_page"] .badge{
display:inline-flex;
      align-items:center;
      gap: 8px;
      padding: 8px 10px;
      border-radius: 999px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.65);
      box-shadow: var(--shadow);
      font-weight: 900;
      font-size: 12.5px;
      color: var(--ink);
      line-height: 1;
      white-space: nowrap;
}

body[data-page-type="home_page"] .tiles{
display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
}

body[data-page-type="home_page"] .tile{
border: 1px solid var(--line);
      border-radius: var(--r);
      background: rgba(255,255,255,.65);
      box-shadow: var(--shadow);
      padding: 14px;
      text-decoration:none;
      color: inherit;
      display:block;
      min-height: 120px;
}

body[data-page-type="home_page"] .tile h3{
margin:0 0 6px;
      font-family: var(--font-head);
      color: var(--forest);
      letter-spacing: -0.01em;
      font-size: 16.5px;
}

body[data-page-type="home_page"] .tile p{
margin:0;
      color: var(--ink);
      line-height: 1.65;
}

body[data-page-type="home_page"] .tile .sub{
margin-top: 10px;
      color: var(--muted);
      font-size: 12.5px;
}

body[data-page-type="home_page"] .photoRail{
display:grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px;
}

body[data-page-type="home_page"] .photo{
border: 1px solid var(--line);
      border-radius: var(--r);
      background: rgba(255,255,255,.65);
      box-shadow: var(--shadow);
      overflow:hidden;
}

body[data-page-type="home_page"] .photo img{
width:100%;
      height: 170px;
      object-fit: cover;
      display:block;
      background: rgba(255,255,255,.55);
}

body[data-page-type="home_page"] .photoCap{
padding: 10px 12px;
      border-top: 1px solid var(--line);
      background: rgba(255,255,255,.55);
      color: var(--muted);
      font-size: 12.5px;
      line-height: 1.45;
}

body[data-page-type="home_page"] .topicGrid{
display:grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 14px;
      align-items: stretch;
}

body[data-page-type="home_page"] .topicCard{
border: 1px solid var(--line);
      border-radius: var(--r);
      background: rgba(255,255,255,.65);
      box-shadow: var(--shadow);
      overflow:hidden;
      text-decoration:none;
      color: inherit;
      display:block;
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

body[data-page-type="home_page"] .topicCard:hover,
body[data-page-type="home_page"] .topicCard:focus-visible{
transform: translateY(-2px);
      box-shadow: 0 12px 30px rgba(0,0,0,.08);
      border-color: rgba(13,89,37,.25);
}

body[data-page-type="home_page"] .topicCard:focus-visible{
outline: 2px solid rgba(13,89,37,.35);
      outline-offset: 2px;
}

body[data-page-type="home_page"] .topicFrame{
width:100%;
      aspect-ratio: 16 / 9;
      background: rgba(255,255,255,.55);
      overflow:hidden;
}

body[data-page-type="home_page"] .topicFrame img{
width:100%;
      height:100%;
      object-fit: cover;
      display:block;
}

body[data-page-type="home_page"] .topicBody{
padding: 14px 16px 16px;
      display:flex;
      flex-direction:column;
      gap: 8px;
}

body[data-page-type="home_page"] .topicBody h3{
margin:0;
      font-family: var(--font-head);
      color: var(--forest);
      letter-spacing: -0.01em;
      font-size: 20px;
      line-height: 1.08;
}

body[data-page-type="home_page"] .topicBody p{
margin:0;
      color: var(--ink);
      line-height: 1.65;
}

body[data-page-type="home_page"] .topicCta{
display:inline-flex;
      align-items:center;
      gap: 8px;
      margin-top: 2px;
      font-weight: 900;
      font-size: 13px;
      letter-spacing: -0.01em;
      color: var(--forest);
}

body[data-page-type="home_page"] .topicCta .arrow{
font-size: 15px;
      line-height: 1;
}

@media (max-width: 1180px){
body[data-page-type="home_page"] .wxGrid{
grid-template-columns: repeat(4, 1fr);
}
}

@media (max-width: 980px){
body[data-page-type="home_page"] .photoRail{
grid-template-columns: repeat(2, 1fr);
}

body[data-page-type="home_page"] .photo img{
height: 180px;
}
}

@media (max-width: 900px){
body[data-page-type="home_page"] .hero{
grid-template-columns: 1fr;
}

body[data-page-type="home_page"] .mediaGrid{
grid-template-columns: 1fr;
}

body[data-page-type="home_page"] .tiles{
grid-template-columns: 1fr;
}

body[data-page-type="home_page"] .topicGrid{
grid-template-columns: 1fr;
}

body[data-page-type="home_page"] .photoRail{
grid-template-columns: 1fr;
}

body[data-page-type="home_page"] .photo img{
height: 220px;
}

body[data-page-type="home_page"] .secureCard{
align-items: flex-start;
}

body[data-page-type="home_page"] .secureImg{
width: 152px; height: 152px;
}

body[data-page-type="home_page"] .wxGrid{
grid-template-columns: repeat(2, 1fr);
}
}

body[data-page-type="home_page"] .heroCtasGrid{
display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:10px;
      align-items:stretch;
      max-width:720px;
}

body[data-page-type="home_page"] .heroCtasGrid .heroBtn{
width:100%;
      min-height:52px;
      text-align:center;
      white-space:normal;
}

body[data-page-type="home_page"] .heroCtasGrid .heroBtnPrimary{
box-shadow:0 16px 36px rgba(7,25,35,.12);
}

@media (max-width:900px){
body[data-page-type="home_page"] .heroCtasGrid{
max-width:none;
}
}

@media (max-width:640px){
body[data-page-type="home_page"] .heroCtasGrid{
grid-template-columns:1fr;
}
}

body[data-page-type="home_page"] .tiles4{
display:grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px;
}

@media (max-width: 1100px){
body[data-page-type="home_page"] .tiles4{
grid-template-columns: repeat(2, 1fr);
}
}

@media (max-width: 900px){
body[data-page-type="home_page"] .tiles4{
grid-template-columns: 1fr;
}
}

body[data-page-type="home_page"] .tile{
display:flex;
      flex-direction:column;
      align-items:flex-start;
      height:100%;
}

body[data-page-type="home_page"] .tile p{
width:100%;
}

body[data-page-type="home_page"] .tile .sub{
margin-top:auto;
      padding-top:10px;
      width:100%;
}

body[data-page-type="home_page"] .tiles,
body[data-page-type="home_page"] .tiles4{
align-items:stretch;
}

body[data-page-type="home_page"] .featuredGrid{
display:grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
      align-items: stretch;
}

body[data-page-type="home_page"] .featuredCard{
border: 1px solid var(--line);
      border-radius: var(--r);
      background: rgba(255,255,255,.65);
      box-shadow: var(--shadow);
      padding: 14px;
      display:flex;
      flex-direction:column;
      gap: 8px;
      min-height: 100%;
}

body[data-page-type="home_page"] .featuredCard h3{
margin:0;
      font-family: var(--font-head);
      color: var(--forest);
      letter-spacing: -0.01em;
      font-size: 17px;
      line-height: 1.1;
}

body[data-page-type="home_page"] .featuredCard p{
margin:0;
      color: var(--ink);
      line-height: 1.65;
}

body[data-page-type="home_page"] .featuredCard .mini{
margin-top:auto;
      padding-top:8px;
      color: var(--muted);
      font-size: 12.5px;
      line-height: 1.45;
}

@media (max-width: 900px){
body[data-page-type="home_page"] .featuredGrid{
grid-template-columns: 1fr;
}
}

/* =========================================================
   MBW Tour Detail Module v4 SAFE OVERRIDE
   This block is appended after the existing global CSS.
   It does NOT remove existing tour_detail carousel, slot, heroImage, or legacy selectors.
   It only restores the exact layout behavior from the original working tour-detail page CSS.
   ========================================================= */
body[data-page-type="tour_detail"] .page{
margin-top:18px;
      padding:26px;
}

body[data-page-type="tour_detail"] .page.card{
background: var(--card);
      border: 1px solid var(--line);
      border-radius: var(--r);
      box-shadow: var(--shadow);
}

body[data-page-type="tour_detail"] .hero{
display:grid;
      grid-template-columns: 1.1fr .9fr;
      gap: 16px;
      align-items: stretch;
      margin-top: 10px;
}

body[data-page-type="tour_detail"] .heroMedia{
border: 1px solid var(--line);
      border-radius: var(--r);
      overflow: hidden;
      box-shadow: var(--shadow);
      background: rgba(255,255,255,.55);
      min-height: 320px;
      position: relative;
}

body[data-page-type="tour_detail"] .heroMedia img{
width: 100%;
      height: 100%;
      object-fit: cover;
      display:block;
}

body[data-page-type="tour_detail"] .heroBody{
padding: 16px;
      border: 1px solid var(--line);
      border-radius: var(--r);
      box-shadow: var(--shadow);
      background: rgba(255,255,255,.65);
      display:flex;
      flex-direction: column;
      justify-content: flex-start;
      gap: 10px;
      min-width: 0;
}

body[data-page-type="tour_detail"] .kicker{
display:inline-flex;
      gap: 8px;
      align-items:center;
      font-weight: 900;
      color: var(--forest);
      letter-spacing: -0.01em;
      font-size: 13px;
      text-transform: uppercase;
}

body[data-page-type="tour_detail"] .heroBody h1{
margin: 0;
      font-family: var(--font-head);
      color: var(--forest);
      letter-spacing: -0.02em;
      line-height: 1.05;
      font-size: 34px;
}

body[data-page-type="tour_detail"] .heroBody p{
margin: 0;
      color: var(--muted);
      line-height: 1.65;
      max-width: 70ch;
}

body[data-page-type="tour_detail"] .ctaRow{
margin-top: 10px;
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      align-items:center;
}

body[data-page-type="tour_detail"] .trustPanel{
margin-top: 6px;
      padding: 12px 14px;
      border: 1px solid var(--line);
      border-radius: var(--r);
      background: rgba(255,255,255,.55);
      box-shadow: var(--shadow);
      display:none;
}

body[data-page-type="tour_detail"] .trustPanel h2{
margin: 0 0 10px;
      font-size: 13px;
      font-weight: 900;
      letter-spacing: -0.01em;
      color: var(--ink);
}

body[data-page-type="tour_detail"] .trustGrid{
display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
}

body[data-page-type="tour_detail"] .trustItem{
border: 1px solid var(--line);
      border-radius: 14px;
      background: rgba(255,255,255,.65);
      padding: 10px 12px;
      box-shadow: var(--shadow);
      font-weight: 900;
      color: var(--ink);
      font-size: 13px;
      line-height: 1.35;
}

body[data-page-type="tour_detail"] .trustSub{
display:block;
      margin-top: 4px;
      font-weight: 700;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.45;
}

body[data-page-type="tour_detail"] .metaWrap{
margin-top: 12px;
      padding: 12px;
      border: 1px solid var(--line);
      border-radius: var(--r);
      background: rgba(255,255,255,.55);
      box-shadow: var(--shadow);
}

body[data-page-type="tour_detail"] .metaTitle{
margin: 0 0 10px;
      font-size: 13px;
      font-weight: 900;
      letter-spacing: -0.01em;
      color: var(--ink);
}

body[data-page-type="tour_detail"] .metaGrid{
display:grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 10px;
      align-items: stretch;
}

body[data-page-type="tour_detail"] .metaCard{
padding: 14px 14px 12px;
      border: 1px solid var(--line);
      border-radius: var(--r);
      background: rgba(255,255,255,.65);
      box-shadow: var(--shadow);
      min-width: 0;
}

body[data-page-type="tour_detail"] .metaLabel{
display:block;
      font-weight: 900;
      color: var(--muted);
      margin-bottom: 6px;
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: 0.02em;
}

body[data-page-type="tour_detail"] .metaValue{
margin:0;
      color: var(--ink);
      font-weight: 900;
      line-height: 1.35;
}

body[data-page-type="tour_detail"] .metaSub{
margin:6px 0 0;
      color: var(--muted);
      line-height: 1.55;
      font-size: 13px;
}

body[data-page-type="tour_detail"] .section{
margin-top: 18px;
      padding-top: 14px;
      border-top: 1px solid var(--line);
}

body[data-page-type="tour_detail"] .sectionHead{
display:flex;
      align-items:flex-end;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;
      margin-bottom: 10px;
}

body[data-page-type="tour_detail"] .sectionHead h2{
margin: 0;
      font-size: 20px;
}

body[data-page-type="tour_detail"] .sectionHint{
margin: 0;
      color: var(--muted);
      font-size: 13px;
}

body[data-page-type="tour_detail"] .twoCol{
display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      align-items: start;
}

body[data-page-type="tour_detail"] .softCard{
background: rgba(255,255,255,.65);
      border: 1px solid var(--line);
      border-radius: var(--r);
      box-shadow: var(--shadow);
      padding: 14px 16px;
}

body[data-page-type="tour_detail"] .softCard h3{
margin: 0 0 8px;
      font-size: 16px;
      color: var(--ink);
      letter-spacing: -0.01em;
}

body[data-page-type="tour_detail"] .softCard ul{
margin: 0;
      padding-left: 18px;
      color: var(--muted);
      line-height: 1.7;
}

body[data-page-type="tour_detail"] .speciesGrid{
display:grid;
      grid-template-columns: repeat(6, 1fr);
      gap: 12px;
}

body[data-page-type="tour_detail"] .species{
background: rgba(255,255,255,.65);
      border: 1px solid var(--line);
      border-radius: var(--r);
      box-shadow: var(--shadow);
      overflow:hidden;
      text-decoration:none;
      color: var(--ink);
      display:block;
      min-width: 0;
}

body[data-page-type="tour_detail"] .species img{
width:100%;
      height: 120px;
      object-fit: cover;
      display:block;
}

body[data-page-type="tour_detail"] .species .cap{
padding: 10px 12px;
      border-top: 1px solid var(--line);
      font-weight: 900;
      font-size: 13px;
}

body[data-page-type="tour_detail"] .species .sub{
padding: 0 12px 12px;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.5;
}

body[data-page-type="tour_detail"] .faqGrid{
display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
      align-items: start;
}

body[data-page-type="tour_detail"] .faqCard{
background: rgba(255,255,255,.65);
      border: 1px solid var(--line);
      border-radius: var(--r);
      box-shadow: var(--shadow);
      padding: 14px 16px;
}

body[data-page-type="tour_detail"] .faqCard h3{
margin: 0 0 10px;
      font-size: 16px;
      color: var(--ink);
      letter-spacing: -0.01em;
}

body[data-page-type="tour_detail"] .qa{
padding: 10px 0;
      border-top: 1px solid var(--line);
}

body[data-page-type="tour_detail"] .qa:first-child{
border-top: 0;
      padding-top: 0;
}

body[data-page-type="tour_detail"] .q{
margin: 0 0 4px;
      font-weight: 900;
      color: var(--ink);
      font-size: 13px;
}

body[data-page-type="tour_detail"] .a{
margin: 0;
      color: var(--muted);
      line-height: 1.6;
      font-size: 13px;
}

body[data-page-type="tour_detail"] .finalCta{
margin-top: 18px;
      padding: 16px;
      border: 1px solid var(--line);
      border-radius: var(--r);
      background: rgba(255,255,255,.65);
      box-shadow: var(--shadow);
      display:grid;
      grid-template-columns: 1.15fr .85fr;
      gap: 14px;
      align-items: start;
}

body[data-page-type="tour_detail"] .finalCta p{
margin: 0;
      color: var(--muted);
      max-width: 70ch;
      line-height: 1.6;
}

body[data-page-type="tour_detail"] .finalTitle{
margin: 0 0 6px;
      font-weight: 900;
      color: var(--ink);
      letter-spacing: -0.01em;
      font-size: 16px;
}

body[data-page-type="tour_detail"] .finalActions{
margin-top: 12px;
      display:flex;
      gap: 10px;
      flex-wrap: wrap;
      align-items:center;
}

body[data-page-type="tour_detail"] .nextSteps{
border: 1px solid var(--line);
      border-radius: var(--r);
      background: rgba(255,255,255,.55);
      padding: 12px 14px;
      box-shadow: var(--shadow);
}

body[data-page-type="tour_detail"] .nextSteps h3{
margin: 0 0 10px;
      font-size: 13px;
      font-weight: 900;
      letter-spacing: -0.01em;
      color: var(--ink);
}

body[data-page-type="tour_detail"] .steps{
margin: 0;
      padding-left: 18px;
      color: var(--muted);
      line-height: 1.7;
      font-size: 13px;
}

@media (min-width: 901px){
body[data-page-type="tour_detail"] .trustPanel{
display:block;
}
}

@media (max-width: 1000px){
body[data-page-type="tour_detail"] .speciesGrid{
grid-template-columns: repeat(3, 1fr);
}
}

@media (max-width: 900px){
body[data-page-type="tour_detail"] .hero{
grid-template-columns: 1fr;
}

body[data-page-type="tour_detail"] .heroMedia{
min-height: 240px;
}

body[data-page-type="tour_detail"] .twoCol{
grid-template-columns: 1fr;
}

body[data-page-type="tour_detail"] .faqGrid{
grid-template-columns: 1fr;
}

body[data-page-type="tour_detail"] .finalCta{
grid-template-columns: 1fr;
}

body[data-page-type="tour_detail"] .ctaRow{
display:grid;
        grid-template-columns: 1fr;
        gap: 10px;
        align-items: stretch;
}

body[data-page-type="tour_detail"] .ctaRow a{
width: 100%;
        justify-content: center;
        text-align: center;
}

body[data-page-type="tour_detail"] .metaGrid{
grid-template-columns: repeat(2, 1fr);
}

body[data-page-type="tour_detail"] .metaCard.focus,
body[data-page-type="tour_detail"] .metaCard.included{
grid-column: 1 / -1;
}

body[data-page-type="tour_detail"] .finalActions{
display:grid;
        grid-template-columns: 1fr;
        gap: 10px;
        align-items: stretch;
}

body[data-page-type="tour_detail"] .finalActions a{
width: 100%;
        justify-content: center;
        text-align: center;
}

body[data-page-type="tour_detail"] .heroBody h1{
font-size: 28px;
}
}

@media (max-width: 520px){
body[data-page-type="tour_detail"] .speciesGrid{
grid-template-columns: repeat(2, 1fr);
}
}

/* =========================================================
   MBW Tour Detail Variant: Custom Private Tour v1
   Exact-scoped global module.
   Scope: body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"]
   Source of truth: original working Custom Private Tour page-level CSS.
   ========================================================= */
body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .page{
margin-top:18px; padding:26px;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .page.card{
background: var(--card);
      border: 1px solid var(--line);
      border-radius: var(--r);
      box-shadow: var(--shadow);
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .hero{
display:grid;
      grid-template-columns: 1.15fr .85fr;
      gap: 16px;
      align-items:start;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] h1{
margin:0 0 10px;
      letter-spacing:-0.02em;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .lede{
margin:0;
      max-width: 92ch;
      color: var(--ink);
      line-height: 1.65;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .metaCard{
border: 1px solid var(--line);
      border-radius: var(--r);
      background: rgba(255,255,255,.65);
      box-shadow: var(--shadow);
      padding: 14px;
      display:grid;
      gap: 10px;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .chips{
display:flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items:center;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .chip{
display:inline-flex;
      align-items:center;
      padding: 7px 10px;
      border-radius: 999px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.55);
      font-weight: 900;
      color: var(--ink);
      font-size: 12.5px;
      line-height: 1;
      white-space: nowrap;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .note{
margin:0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.55;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .section{
margin-top: 18px;
      padding-top: 14px;
      border-top: 1px solid var(--line);
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .sectionHead{
display:flex;
      align-items:flex-end;
      justify-content:space-between;
      gap: 12px;
      flex-wrap: wrap;
      margin-bottom: 10px;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .sectionHead h2{
margin:0;
      font-family: var(--font-head);
      color: var(--forest);
      letter-spacing:-0.02em;
      font-size: 20px;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .grid2{
display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .block{
border: 1px solid var(--line);
      border-radius: var(--r);
      background: rgba(255,255,255,.65);
      box-shadow: var(--shadow);
      overflow:hidden;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .blockTop{
padding: 14px;
      display:flex;
      align-items:center;
      justify-content:flex-start;
      gap: 12px;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .badge{
flex:0 0 auto;
      width: 34px;
      height: 34px;
      border-radius: 999px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.55);
      box-shadow: var(--shadow);
      display:flex;
      align-items:center;
      justify-content:center;
      font-weight: 950;
      color: var(--forest);
      line-height: 1;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .blockTitle{
flex: 1 1 auto;
      min-width: 0;
      text-align: left;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .blockTop h3{
margin: 0;
      font-weight: 950;
      letter-spacing: -0.01em;
      color: var(--ink);
      font-size: 15px;
      line-height: 1.2;
      text-align: left;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .blockBody{
padding: 0 14px 14px;
      border-top: 1px solid var(--line);
      background: rgba(255,255,255,.55);
      color: var(--ink);
      line-height: 1.7;
      font-size: 14px;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .blockBody p{
margin: 12px 0 0;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .blockBody ul{
margin: 10px 0 0; padding-left: 18px;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .blockBody li{
margin: 6px 0;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .ctaRow{
margin-top: 12px;
      display:flex;
      gap: 10px;
      flex-wrap: wrap;
      align-items:center;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .heroImageCard{
border: 1px solid var(--line);
      border-radius: var(--r);
      background: rgba(255,255,255,.65);
      box-shadow: var(--shadow);
      overflow:hidden;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .heroImageFrame{
width: 100%;
      aspect-ratio: 4 / 3;
      background: rgba(255,255,255,.55);
      display:flex;
      align-items:center;
      justify-content:center;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .heroImageFrame img{
width: 100%;
      height: 100%;
      display:block;
      object-fit: cover;
      object-position: center;
      background: rgba(255,255,255,.55);
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .heroImageBar{
padding: 12px 14px;
      border-top: 1px solid var(--line);
      background: rgba(255,255,255,.55);
      display:flex;
      justify-content:space-between;
      gap: 10px;
      flex-wrap: wrap;
      align-items:center;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .heroImageTitle{
margin: 0;
      font-weight: 900;
      color: var(--ink);
      font-size: 13.5px;
      letter-spacing: -0.01em;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .heroImageTag{
display:inline-flex;
      align-items:center;
      padding: 7px 10px;
      border-radius: 999px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.55);
      font-weight: 900;
      color: var(--ink);
      font-size: 12.5px;
      line-height: 1;
      white-space: nowrap;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .info3{
display:grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 12px;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .qa{
margin: 10px 0 0;
      display:grid;
      gap: 10px;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .q{
border: 1px solid var(--line);
      border-radius: 16px;
      background: rgba(255,255,255,.55);
      padding: 12px;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .q h3{
margin: 0;
      font-weight: 950;
      letter-spacing: -0.01em;
      color: var(--ink);
      font-size: 14px;
      line-height: 1.25;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .q p{
margin: 8px 0 0;
      color: var(--ink);
      line-height: 1.65;
      font-size: 13.5px;
}

@media (max-width: 980px){
body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .hero{
grid-template-columns: 1fr;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .grid2{
grid-template-columns: 1fr;
}

body[data-page-type="tour_detail"][data-tour-variant="custom_private_tour"] .info3{
grid-template-columns: 1fr;
}
}

/* =========================================================
   MBW CTA/Button Row Spacing System v1
   Purpose:
   - Improve button spacing and wrapping across tour/category/detail pages.
   - Keep primary CTAs visually dominant.
   - Make secondary trust/action buttons feel intentional instead of uneven.
   - Safe additive override placed at the end of site.css.
   ========================================================= */

/* Shared CTA rows used across current MBW pages */
.btnRow,
.ctaRow,
.finalActions,
.tourActions{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
}

/* Keep buttons aligned and prevent awkward text squeeze */
.btnRow .btn,
.ctaRow .btn,
.finalActions .btn,
.tourActions .btn{
  min-height: 46px;
  line-height: 1.25;
  text-align: center;
  white-space: nowrap;
}

/* Main action rows: stronger primary button presence */
.btnRow .btn.primary,
.ctaRow .btn.primary,
.finalActions .btn.primary,
.tourActions .btn.primary{
  flex: 0 0 auto;
  padding-left: 18px;
  padding-right: 18px;
}

/* Secondary buttons in action rows should feel consistent */
.btnRow .btn.secondary,
.ctaRow .btn.secondary,
.finalActions .btn.secondary,
.tourActions .btn.secondary{
  flex: 0 0 auto;
  padding-left: 16px;
  padding-right: 16px;
}

/* Consecutive CTA rows are usually trust-signal rows */
.btnRow + .btnRow,
.ctaRow + .ctaRow{
  margin-top: 10px !important;
  gap: 9px 10px;
}

/* Trust rows: smaller pill style so they do not overpower the primary CTA */
.btnRow + .btnRow .btn,
.ctaRow + .ctaRow .btn{
  min-height: 38px;
  padding: 8px 13px;
  border-radius: 999px;
  font-size: 14px;
  box-shadow: 0 10px 22px rgba(7,25,35,.06);
}

/* Tour category pages often have longer CTA clusters */
body[data-page-type="tour_category"] .btnRow{
  gap: 10px 12px;
}

body[data-page-type="tour_category"] .btnRow + .btnRow{
  max-width: 760px;
}

body[data-page-type="tour_category"] .btnRow + .btnRow .btn{
  font-size: 14px;
  min-height: 38px;
}

/* Tour detail pages: keep CTA clusters clean without flattening page-specific CSS */
body[data-page-type="tour_detail"] .ctaRow,
body[data-page-type="tour_detail"] .btnRow{
  gap: 10px 12px;
}

body[data-page-type="tour_detail"] .ctaRow + .ctaRow,
body[data-page-type="tour_detail"] .btnRow + .btnRow{
  gap: 9px 10px;
}

/* Featured card buttons should stay tidy and not stretch unexpectedly */
.featured .fBody .btn,
.featureGrid .fBody .btn{
  white-space: normal;
  align-self: flex-start;
}

/* Medium screens: allow a balanced two-column CTA feel */
@media (max-width: 900px){
  .btnRow,
  .ctaRow,
  .finalActions,
  .tourActions{
    gap: 10px;
  }

  .btnRow .btn,
  .ctaRow .btn,
  .finalActions .btn,
  .tourActions .btn{
    white-space: normal;
  }

  body[data-page-type="tour_category"] .btnRow .btn,
  body[data-page-type="tour_detail"] .btnRow .btn,
  body[data-page-type="tour_detail"] .ctaRow .btn{
    flex: 1 1 calc(50% - 10px);
  }

  body[data-page-type="tour_category"] .btnRow .btn.primary,
  body[data-page-type="tour_detail"] .btnRow .btn.primary,
  body[data-page-type="tour_detail"] .ctaRow .btn.primary{
    flex: 1 1 calc(50% - 10px);
  }
}

/* Small mobile: stack primary actions cleanly and keep trust pills readable */
@media (max-width: 560px){
  .btnRow,
  .ctaRow,
  .finalActions,
  .tourActions{
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    align-items: stretch;
  }

  .btnRow .btn,
  .ctaRow .btn,
  .finalActions .btn,
  .tourActions .btn{
    width: 100%;
    justify-content: center;
    white-space: normal;
  }

  .btnRow + .btnRow,
  .ctaRow + .ctaRow{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
  }

  .btnRow + .btnRow .btn,
  .ctaRow + .ctaRow .btn{
    width: auto;
    flex: 1 1 auto;
    min-width: min(100%, 150px);
    font-size: 13.5px;
  }
}

/* =========================================================
   MBW Half-Day Lower CTA Row Button Fix v2
   Purpose:
   - Only make the lower trust/utility buttons white.
   - Do NOT affect primary or secondary buttons in the main CTA row.
   - Scoped only to half-day tour category pages.
   ========================================================= */

body[data-page-type="tour_category"][data-tour-category="half_day"] .ctaRow + .ctaRow .btn,
body[data-page-type="tour_category"][data-tour-category="half_day"] .btnRow + .btnRow .btn{
  background: #ffffff;
  border: 1px solid var(--line);
  color: var(--ink);
  box-shadow: 0 10px 22px rgba(7,25,35,.06);
  min-height: 38px;
  padding: 8px 13px;
  border-radius: 999px;
  font-size: 14px;
}

body[data-page-type="tour_category"][data-tour-category="half_day"] .ctaRow + .ctaRow .btn:hover,
body[data-page-type="tour_category"][data-tour-category="half_day"] .btnRow + .btnRow .btn:hover{
  background: rgba(255,255,255,.92);
  border-color: rgba(7,25,35,.20);
  transform: translateY(-1px);
}

/* =========================================================
   MBW About Page Module v1
   Purpose:
   - Move the working About page layout into global site.css.
   - Exact-scoped to body[data-page-type="about"].
   - Safe for EN/ES About pages only.
   - After deploying this file, About page-level <style> can be removed
     after visual QA on desktop and mobile.
   ========================================================= */

body[data-page-type="about"] .page{
margin-top:18px; padding:26px;
}

body[data-page-type="about"] .page.card{
background: var(--card);
      border: 1px solid var(--line);
      border-radius: var(--r);
      box-shadow: var(--shadow);
}

body[data-page-type="about"] .aboutLayout{
margin-top: 10px;
      display:grid;
      grid-template-columns: 1.1fr 0.9fr;
      gap: 18px;
      align-items:start;
}

body[data-page-type="about"] .copy{
max-width: 82ch;
      margin: 0;
}

body[data-page-type="about"] .copy p{
margin:0 0 12px;
}

body[data-page-type="about"] .sideImage{
position: relative;
      border-radius: var(--r);
      overflow:hidden;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.65);
      box-shadow: var(--shadow);
      min-height: 520px;
}

body[data-page-type="about"] .sideImage img{
width:100%;
      height:100%;
      object-fit: cover;
      display:block;
      transform: scale(1.01);
}

body[data-page-type="about"] .sideImage::after{
content:"";
      position:absolute;
      inset:0;
      background: linear-gradient(180deg, rgba(0,0,0,0.18), rgba(0,0,0,0.05), rgba(0,0,0,0.22));
      pointer-events:none;
}

body[data-page-type="about"] .sideImageCaption{
position:absolute;
      left: 14px;
      right: 14px;
      bottom: 12px;
      color: #fff;
      z-index: 1;
      font-weight: 800;
      letter-spacing: -0.02em;
      text-shadow: 0 10px 30px rgba(0,0,0,0.35);
      line-height: 1.2;
}

body[data-page-type="about"] .sideImageCaption span{
display:block;
      margin-top: 6px;
      font-weight: 700;
      font-size: 13px;
      opacity: 0.92;
      letter-spacing: 0;
      line-height: 1.35;
      max-width: 48ch;
}

body[data-page-type="about"] .leftFill{
margin-top: 14px;
      display:grid;
      grid-template-columns: 1fr;
      gap: 14px;
      max-width: 82ch;
}

body[data-page-type="about"] .fillCard{
border: 1px solid var(--line);
      border-radius: var(--r);
      background: rgba(255,255,255,.65);
      box-shadow: var(--shadow);
      overflow:hidden;
      padding: 14px;
}

body[data-page-type="about"] .fillTitle{
margin: 0 0 10px;
      font-family: var(--font-head);
      color: var(--forest);
      letter-spacing: -0.02em;
      font-size: 18px;
      line-height: 1.2;
}

body[data-page-type="about"] .quote{
margin: 0;
      color: var(--ink);
      line-height: 1.65;
      font-weight: 500;
}

body[data-page-type="about"] .quoteMeta{
margin-top: 10px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap: 10px;
      flex-wrap:wrap;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.4;
}

body[data-page-type="about"] .stars{
display:inline-flex;
      align-items:center;
      gap: 10px;
      font-weight: 900;
}

body[data-page-type="about"] .stars .starRow{
letter-spacing: 1px;
      color: #fbbc04;
}

body[data-page-type="about"] .stars .who{
font-weight: 800;
      color: var(--ink);
}

body[data-page-type="about"] .reviewLink{
color: var(--ink);
      font-weight: 900;
      text-decoration: underline;
      text-underline-offset: 3px;
      white-space:nowrap;
}

body[data-page-type="about"] .socialTop{
display:block;
}

body[data-page-type="about"] .socialKicker{
display:inline-flex;
      align-items:center;
      gap: 8px;
      padding: 7px 10px;
      border-radius: 999px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,.78);
      font-weight: 900;
      font-size: 12px;
      color: var(--ink);
      white-space:nowrap;
}

body[data-page-type="about"] .socialCopy{
margin: 8px 0 0;
      color: var(--muted);
      line-height: 1.55;
      max-width: 68ch;
}

body[data-page-type="about"]{
--mbw-icon-ig: url("/assets/images/icons/mbw_ig.png");
      --mbw-icon-fb: url("/assets/images/icons/mbw_fb.png");
      --mbw-icon-tt: url("/assets/images/icons/mbw_tt.png");
      --mbw-icon-yt: url("/assets/images/icons/mbw_yt.png");
      --mbw-icon-cc: url("/assets/images/icons/mbw_chicho.png");
      --mbw-icon-gs: url("/assets/images/icons/mbw_shop.png");
}

body[data-page-type="about"] .socialGrid{
margin-top: 12px;
      display:grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
      align-items:start;
}

body[data-page-type="about"] .socialBtn{
display:inline-flex;
      align-items:center;
      gap: 10px;
      min-width: 0;
      text-decoration:none;
      justify-content:flex-start;
}

body[data-page-type="about"] .socialBtn .ico{
width: 27px;  
      height: 27px; 
      display:inline-block;
      background-size: contain;
      background-repeat: no-repeat;
      background-position: center;
      filter: drop-shadow(0 10px 20px rgba(0,0,0,0.10));
      flex: 0 0 auto;
}

body[data-page-type="about"] .socialBtn .label{
min-width: 0;
      overflow:hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
      display:block;
      line-height: 1.1;
}

body[data-page-type="about"] .ico.ig{
background-image: var(--mbw-icon-ig);
}

body[data-page-type="about"] .ico.fb{
background-image: var(--mbw-icon-fb);
}

body[data-page-type="about"] .ico.tt{
background-image: var(--mbw-icon-tt);
}

body[data-page-type="about"] .ico.yt{
background-image: var(--mbw-icon-yt);
}

body[data-page-type="about"] .ico.cc{
background-image: var(--mbw-icon-cc);
}

body[data-page-type="about"] .ico.gs{
background-image: var(--mbw-icon-gs);
}

@media (max-width: 1200px){
body[data-page-type="about"] .socialGrid{
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}

@media (max-width: 900px){
body[data-page-type="about"] .socialGrid{
grid-template-columns: 1fr;
}

body[data-page-type="about"] .socialGrid a{
width: 100%; justify-content:center;
}
}

body[data-page-type="about"] .grid{
margin-top:16px;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:14px;
}

body[data-page-type="about"] .mini{
padding:16px;
      border:1px solid var(--line);
      border-radius:var(--r);
      background:rgba(255,255,255,.65);
}

body[data-page-type="about"] .mini h2{
margin:0 0 6px;
      font-size:16px;
      font-family:var(--font-head);
      color:var(--forest);
      letter-spacing:-0.02em;
}

body[data-page-type="about"] .mini p{
margin:0;
}

body[data-page-type="about"] .ctaRow{
margin-top:16px;
      display:flex;
      gap:12px;
      flex-wrap:wrap;
}

@media (max-width: 900px){
body[data-page-type="about"] .aboutLayout{
grid-template-columns: 1fr;
}

body[data-page-type="about"] .sideImage{
min-height: 260px;
}

body[data-page-type="about"] .grid{
grid-template-columns:1fr;
}

body[data-page-type="about"] .leftFill{
max-width: none;
}
}

body[data-page-type="about"] .aboutHeroNew{
display:grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 18px;
  align-items: stretch;
  margin-top: 6px;
}

body[data-page-type="about"] .aboutHeroNew .aboutLeft{
min-width: 0;
}

body[data-page-type="about"] .aboutHeroNew .aboutRight{
min-width: 0;
}

body[data-page-type="about"] .aboutHeroNew .aboutRight .sideImage{
height: 100%;
}

body[data-page-type="about"] .aboutHeroNew .aboutRight .sideImage img{
width: 100%;
  height: 100%;
  min-height: 560px;
  object-fit: cover;
}

body[data-page-type="about"] .partnerRow{
margin-top: 18px;
  padding: 18px;
  border-radius: 18px;
  background: rgba(255,255,255,0.35);
  border: 1px solid rgba(0,0,0,0.06);
}

body[data-page-type="about"] .partnerHead{
display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

body[data-page-type="about"] .partnerHead h2{
margin: 0;
  font-size: 24px;
  line-height: 1.15;
}

body[data-page-type="about"] .partnerHead p{
margin: 0;
  color: rgba(0,0,0,0.65);
  max-width: 560px;
  font-size: 14px;
  line-height: 1.45;
}

body[data-page-type="about"] .partnerGrid{
display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

body[data-page-type="about"] .partnerCard{
display: grid;
  grid-template-columns: 140px 1fr;
  gap: 16px;
  align-items: start;
  background: rgba(255,255,255,0.70);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 16px;
  padding: 16px;
}

body[data-page-type="about"] .partnerMedia{
width: 140px;
  aspect-ratio: 1 / 1;
  border-radius: 14px;
  overflow: hidden;
  background: rgba(0,0,0,0.04);
  border: 1px solid rgba(0,0,0,0.06);
}

body[data-page-type="about"] .partnerMedia img{
width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

body[data-page-type="about"] .partnerKicker{
font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(0,0,0,0.55);
  font-weight: 800;
  margin-bottom: 2px;
}

body[data-page-type="about"] .partnerBody h3{
margin: 0 0 6px 0;
  font-size: 18px;
  line-height: 1.2;
}

body[data-page-type="about"] .partnerBody p{
margin: 0 0 12px 0;
  color: rgba(0,0,0,0.72);
  font-size: 14px;
  line-height: 1.5;
}

body[data-page-type="about"] .partnerActions{
display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

body[data-page-type="about"] .partnerNote{
margin: 12px 0 0 0;
  color: rgba(0,0,0,0.55);
  font-size: 12px;
  line-height: 1.4;
}

@media (max-width: 1100px){
body[data-page-type="about"] .partnerGrid{
grid-template-columns: 1fr;
}
}

@media (max-width: 980px){
body[data-page-type="about"] .aboutHeroNew{
grid-template-columns: 1fr;
}

body[data-page-type="about"] .aboutHeroNew .aboutRight .sideImage img{
min-height: 360px;
}

body[data-page-type="about"] .partnerHead{
flex-direction: column;
    align-items: flex-start;
}

body[data-page-type="about"] .partnerGrid{
grid-template-columns: 1fr;
}

body[data-page-type="about"] .partnerCard{
grid-template-columns: 96px 1fr;
}

body[data-page-type="about"] .partnerMedia{
width: 96px;
}
}

body[data-page-type="about"] .introCard h1{
margin:0 0 10px;
}

body[data-page-type="about"] .introCard p{
margin:0 0 10px;
}

body[data-page-type="about"] .introCard p:last-child{
margin-bottom:0;
}

body[data-page-type="about"] .page.card{
max-width: 1120px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 900px){
body[data-page-type="about"] .page.card{
padding: 18px;
}
}

body[data-page-type="about"] .partnerCard{
grid-template-columns: 1fr;
  padding: 0;
  overflow: hidden;
}

body[data-page-type="about"] .partnerMedia{
width: 100%;
  aspect-ratio: 4 / 3; 
  border-radius: 0;
  border: 0;
  border-bottom: 1px solid rgba(0,0,0,0.06);
}

body[data-page-type="about"] .partnerMedia img{
width: 100%;
  height: 100%;
  object-fit: cover;
}

body[data-page-type="about"] .partnerBody{
padding: 16px;
}

body[data-page-type="about"] .partnerActions{
padding-top: 2px;
}

@media (max-width: 980px){
body[data-page-type="about"] .partnerCard{
grid-template-columns: 1fr;
}

body[data-page-type="about"] .partnerMedia{
width: 100%;
    aspect-ratio: 4 / 3;
}
}

/* =========================================================
   Page module: Quito to Mindo day trip
   Moved from page-level CSS into global site.css.
   Scoped by body[data-page-content-group="day_trip"] so it is safe
   for existing pages and does not affect other layouts.
   ========================================================= */
/* Quito to Mindo day trip page: compact scoped layout, using global MBW base styles */
body[data-page-content-group="day_trip"] .page{margin-top:18px;padding:26px;}
body[data-page-content-group="day_trip"] .page.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);}
body[data-page-content-group="day_trip"] .crumbs{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px;color:var(--muted);font-weight:800;font-size:12.5px;}
body[data-page-content-group="day_trip"] .crumbs a{color:var(--muted);text-decoration:none;}
body[data-page-content-group="day_trip"] .hero{display:grid;grid-template-columns:1.12fr .88fr;gap:16px;align-items:start;}
body[data-page-content-group="day_trip"] .heroCard,
body[data-page-content-group="day_trip"] .imageCard,
body[data-page-content-group="day_trip"] .infoCard,
body[data-page-content-group="day_trip"] .timelineCard,
body[data-page-content-group="day_trip"] .faqCard,
body[data-page-content-group="day_trip"] .ctaBand,
body[data-page-content-group="day_trip"] .linkCard{border:1px solid var(--line);border-radius:var(--r);background:rgba(255,255,255,.68);box-shadow:var(--shadow);}
body[data-page-content-group="day_trip"] .heroCard{padding:18px;}
body[data-page-content-group="day_trip"] .eyebrow{display:inline-flex;width:fit-content;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.82);color:var(--forest);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;}
body[data-page-content-group="day_trip"] .eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--forest);display:inline-block;}
body[data-page-content-group="day_trip"] h1{font-size:32px;line-height:1.08;margin:0 0 10px;letter-spacing:-.025em;}
body[data-page-content-group="day_trip"] h2{font-size:22px;line-height:1.18;}
body[data-page-content-group="day_trip"] .lede{margin:0;color:var(--ink);line-height:1.62;font-size:14.5px;max-width:82ch;}
body[data-page-content-group="day_trip"] .lede p{margin:0 0 10px;color:var(--ink);}
body[data-page-content-group="day_trip"] .heroActions,
body[data-page-content-group="day_trip"] .ctaRow{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px;}
body[data-page-content-group="day_trip"] .pillRow{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
body[data-page-content-group="day_trip"] .pill{padding:7px 10px;font-size:12px;background:rgba(255,255,255,.82);color:var(--ink);box-shadow:none;}
body[data-page-content-group="day_trip"] .pill:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--forest);display:inline-block;margin-right:7px;}
body[data-page-content-group="day_trip"] .imageCard{overflow:hidden;display:grid;grid-template-rows:auto auto;align-self:start;}
body[data-page-content-group="day_trip"] .imageFrame{background:#0b1220;aspect-ratio:4/3;min-height:0;}
body[data-page-content-group="day_trip"] .imageFrame img{width:100%;height:100%;object-fit:cover;display:block;}
body[data-page-content-group="day_trip"] .imageCap{padding:10px 12px;color:var(--muted);border-top:1px solid var(--line);line-height:1.45;font-size:12.5px;background:rgba(255,255,255,.7);margin:0;}
body[data-page-content-group="day_trip"] .quickGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px;}
body[data-page-content-group="day_trip"] .infoCard{padding:12px;}
body[data-page-content-group="day_trip"] .infoCard strong{display:block;color:var(--forest);font-size:12.5px;margin-bottom:4px;}
body[data-page-content-group="day_trip"] .infoCard span,
body[data-page-content-group="day_trip"] .infoCard p{display:block;color:var(--ink);line-height:1.5;font-size:12.5px;margin:0;}
body[data-page-content-group="day_trip"] .section{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);}
body[data-page-content-group="day_trip"] .section h2{margin:0 0 10px;font-family:var(--font-head);color:var(--forest);letter-spacing:-.02em;}
body[data-page-content-group="day_trip"] .sectionLead{margin:0 0 10px;color:var(--ink);line-height:1.62;font-size:14px;max-width:92ch;}
body[data-page-content-group="day_trip"] .twoCol{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start;}
body[data-page-content-group="day_trip"] .timeline{display:grid;gap:10px;}
body[data-page-content-group="day_trip"] .timelineCard{padding:12px;display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:start;}
body[data-page-content-group="day_trip"] .time{color:var(--forest);font-family:var(--font-head);font-weight:900;font-size:15px;}
body[data-page-content-group="day_trip"] .timelineCard h3,
body[data-page-content-group="day_trip"] .linkCard h3,
body[data-page-content-group="day_trip"] .faqCard h3{margin:0 0 5px;color:var(--ink);font-size:15px;letter-spacing:-.01em;font-family:var(--font-body);font-weight:900;}
body[data-page-content-group="day_trip"] .timelineCard p,
body[data-page-content-group="day_trip"] .linkCard p,
body[data-page-content-group="day_trip"] .faqCard p{margin:0;color:var(--muted);line-height:1.52;font-size:13px;}
body[data-page-content-group="day_trip"] .linkGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
body[data-page-content-group="day_trip"] .linkCard{padding:12px;text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease;}
body[data-page-content-group="day_trip"] .linkCard:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(0,0,0,.08);}
body[data-page-content-group="day_trip"] .linkCard small{display:inline-flex;margin-top:8px;font-weight:900;color:var(--forest);font-size:12px;}
body[data-page-content-group="day_trip"] .bulletList{margin:0;padding:0;list-style:none;display:grid;gap:7px;}
body[data-page-content-group="day_trip"] .bulletList li{display:flex;gap:9px;color:var(--ink);line-height:1.52;font-size:13px;}
body[data-page-content-group="day_trip"] .bulletList li:before{content:"";width:7px;height:7px;border-radius:50%;margin-top:7px;background:var(--forest);flex:0 0 auto;}
body[data-page-content-group="day_trip"] .faqGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
body[data-page-content-group="day_trip"] .faqCard{padding:12px;}
body[data-page-content-group="day_trip"] .ctaBand{padding:14px;display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;background:rgba(255,255,255,.72);}
body[data-page-content-group="day_trip"] .ctaBand h2{margin:0 0 6px;}
body[data-page-content-group="day_trip"] .ctaBand p{margin:0;color:var(--ink);line-height:1.55;font-size:13.5px;}
body[data-page-content-group="day_trip"] .ctaBand .ctaRow{margin-top:0;justify-content:flex-end;}
body[data-page-content-group="day_trip"] .note{margin:10px 0 0;color:var(--muted);font-size:12.5px;line-height:1.45;}
@media(max-width:980px){
  body[data-page-content-group="day_trip"] .hero,
  body[data-page-content-group="day_trip"] .quickGrid,
  body[data-page-content-group="day_trip"] .twoCol,
  body[data-page-content-group="day_trip"] .linkGrid,
  body[data-page-content-group="day_trip"] .faqGrid,
  body[data-page-content-group="day_trip"] .ctaBand{grid-template-columns:1fr;}
  body[data-page-content-group="day_trip"] .ctaBand .ctaRow{justify-content:flex-start;}
}
@media(max-width:640px){
  body[data-page-content-group="day_trip"] .page{padding:18px;}
  body[data-page-content-group="day_trip"] h1{font-size:30px;}
  body[data-page-content-group="day_trip"] .timelineCard{grid-template-columns:1fr;gap:6px;}
  body[data-page-content-group="day_trip"] .heroActions .btn,
  body[data-page-content-group="day_trip"] .ctaRow .btn{width:100%;justify-content:center;}
}


/* =========================================================
   Raw bilingual language fallback links
   Keep links in the DOM for hreflang/accessibility/analytics fallback,
   but do not render a second visible language switch below the header.
   The visible language switch belongs in the global header.
   ========================================================= */
.rawLangLinks{
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* =========================================
   Homepage mini shop card
   Shared EN/ES homepage shop module
   ========================================= */
.shopMiniCard{
  margin-top:14px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:18px;
  background:rgba(255,255,255,.58);
  box-shadow:0 10px 28px rgba(0,0,0,.05);
  padding:14px;
  display:grid;
  grid-template-columns:112px 1fr;
  gap:14px;
  align-items:center;
  min-height:132px;
}

.shopMiniLogo{
  width:84px;
  height:84px;
  border-radius:18px;
  background:transparent;
  border:none;
  display:grid;
  place-items:center;
  overflow:hidden;
}

.shopMiniLogo img{
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:contain;
  display:block;
}

.shopMiniCopy{
  min-width:0;
}

.shopMiniKicker{
  margin:0 0 4px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.72;
}

.shopMiniTitle{
  margin:0 0 5px;
  font-size:18px;
  line-height:1.15;
  font-weight:900;
}

.shopMiniText{
  margin:0 0 10px;
  font-size:14px;
  line-height:1.45;
  opacity:.88;
}

.shopMiniCta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:9px 14px;
  border-radius:12px;
  font-weight:900;
  text-decoration:none;
}

@media (max-width:720px){
  .shopMiniCard{
    grid-template-columns:88px 1fr;
    min-height:0;
  }

  .shopMiniLogo{
    width:72px;
    height:72px;
  }

  .shopMiniTitle{
    font-size:16px;
  }
}
/* =========================================================
   Bird Species Profile Page Module
   Scoped global styles for hummingbird, toucan, tanager, and bird guide pages.
   These styles replace page-level <style> blocks on bird species profile pages.
   ========================================================= */

body[data-page-type="bird_species_profile"] .birdProfilePage{
  margin-top: 18px;
  padding: 26px;
}

body[data-page-type="bird_species_profile"] .birdProfilePage.card{
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r);
  box-shadow: var(--shadow);
}

body[data-page-type="bird_species_profile"] .hero{
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 16px;
  align-items: stretch;
  margin-top: 10px;
}

body[data-page-type="bird_species_profile"] .heroMedia{
  border: 1px solid var(--line);
  border-radius: var(--r);
  overflow: hidden;
  box-shadow: var(--shadow);
  background: rgba(255,255,255,.55);
  min-height: 320px;
  position: relative;
}

body[data-page-type="bird_species_profile"] .heroMedia img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

body[data-page-type="bird_species_profile"] .heroBody{
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--r);
  box-shadow: var(--shadow);
  background: rgba(255,255,255,.68);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
}

body[data-page-type="bird_species_profile"] .kicker{
  display: inline-flex;
  gap: 8px;
  align-items: center;
  font-weight: 900;
  color: var(--forest);
  letter-spacing: -0.01em;
  font-size: 13px;
  text-transform: uppercase;
}

body[data-page-type="bird_species_profile"] .heroBody h1{
  margin: 0;
  font-family: var(--font-head);
  color: var(--forest);
  letter-spacing: -0.02em;
  line-height: 1.05;
  font-size: 36px;
}

body[data-page-type="bird_species_profile"] .heroBody p{
  margin: 0;
  color: var(--ink);
  line-height: 1.68;
  max-width: 72ch;
}

body[data-page-type="bird_species_profile"] .trustLine{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}

body[data-page-type="bird_species_profile"] .trustPill{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 12px;
  border-radius: 999px;
  border: 1px solid rgba(13,89,37,.28);
  background: rgba(13,89,37,.10);
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
}

body[data-page-type="bird_species_profile"] .section{
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

body[data-page-type="bird_species_profile"] .sectionHead{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

body[data-page-type="bird_species_profile"] .sectionHead h2{
  margin: 0;
  font-size: 24px;
}

body[data-page-type="bird_species_profile"] .sectionHint{
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  max-width: 64ch;
}

body[data-page-type="bird_species_profile"] .cards{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: stretch;
}

body[data-page-type="bird_species_profile"] .infoCard{
  background: rgba(255,255,255,.68);
  border: 1px solid var(--line);
  border-radius: var(--r);
  box-shadow: var(--shadow);
  padding: 16px;
}

body[data-page-type="bird_species_profile"] .infoCard h3{
  margin: 0 0 8px;
  font-size: 17px;
  color: var(--ink);
  letter-spacing: -0.01em;
}

body[data-page-type="bird_species_profile"] .infoCard p{
  margin: 0;
  color: var(--muted);
  line-height: 1.68;
}

body[data-page-type="bird_species_profile"] .infoCard ul{
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  line-height: 1.72;
}

body[data-page-type="bird_species_profile"] .infoCard li{
  margin: 4px 0;
}

body[data-page-type="bird_species_profile"] .speciesGrid{
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}

body[data-page-type="bird_species_profile"] .species{
  background: rgba(255,255,255,.68);
  border: 1px solid var(--line);
  border-radius: var(--r);
  box-shadow: var(--shadow);
  overflow: hidden;
  display: block;
}

body[data-page-type="bird_species_profile"] .species img{
  width: 100%;
  height: 140px;
  object-fit: cover;
  display: block;
}

body[data-page-type="bird_species_profile"] .species .cap{
  padding: 10px 12px 5px;
  border-top: 1px solid var(--line);
  font-weight: 900;
  font-size: 13px;
  color: var(--ink);
}

body[data-page-type="bird_species_profile"] .species .sub{
  padding: 0 12px 12px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

body[data-page-type="bird_species_profile"] .tourCard{
  background: rgba(255,255,255,.68);
  border: 1px solid var(--line);
  border-radius: var(--r);
  box-shadow: var(--shadow);
  overflow: hidden;
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 0;
  align-items: stretch;
}

body[data-page-type="bird_species_profile"] .tourMedia{
  min-height: 190px;
  background: rgba(255,255,255,.55);
}

body[data-page-type="bird_species_profile"] .tourMedia img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

body[data-page-type="bird_species_profile"] .tourBody{
  padding: 16px;
}

body[data-page-type="bird_species_profile"] .tourTitle{
  margin: 0 0 6px;
  font-family: var(--font-head);
  color: var(--forest);
  letter-spacing: -0.02em;
  font-size: 20px;
}

body[data-page-type="bird_species_profile"] .tourDesc{
  margin: 0 0 12px;
  color: var(--muted);
  line-height: 1.62;
}

body[data-page-type="bird_species_profile"] .tourActions{
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 10px;
}

body[data-page-type="bird_species_profile"] .faqList{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: start;
}

body[data-page-type="bird_species_profile"] .faqItem{
  background: rgba(255,255,255,.68);
  border: 1px solid var(--line);
  border-radius: var(--r);
  box-shadow: var(--shadow);
  padding: 16px;
}

body[data-page-type="bird_species_profile"] .faqItem h3{
  margin: 0 0 8px;
  font-size: 17px;
  color: var(--ink);
  letter-spacing: -0.01em;
}

body[data-page-type="bird_species_profile"] .faqItem p{
  margin: 0;
  color: var(--muted);
  line-height: 1.68;
}

body[data-page-type="bird_species_profile"] .relatedGrid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  align-items: stretch;
}

body[data-page-type="bird_species_profile"] .relatedCard{
  background: rgba(255,255,255,.68);
  border: 1px solid var(--line);
  border-radius: var(--r);
  box-shadow: var(--shadow);
  overflow: hidden;
  display: block;
  text-decoration: none;
  color: inherit;
}

body[data-page-type="bird_species_profile"] .relatedCard img{
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
}

body[data-page-type="bird_species_profile"] .relatedBody{
  padding: 14px;
}

body[data-page-type="bird_species_profile"] .relatedTitle{
  margin: 0 0 6px;
  font-size: 17px;
  color: var(--ink);
  letter-spacing: -0.01em;
}

body[data-page-type="bird_species_profile"] .relatedText{
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.62;
}

body[data-page-type="bird_species_profile"] .finalCta{
  margin-top: 22px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: rgba(255,255,255,.70);
  box-shadow: var(--shadow);
}

body[data-page-type="bird_species_profile"] .finalGrid{
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 16px;
  align-items: start;
}

body[data-page-type="bird_species_profile"] .finalLeft{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

body[data-page-type="bird_species_profile"] .finalCta h2{
  margin: 0;
  font-size: 24px;
}

body[data-page-type="bird_species_profile"] .finalCta p{
  margin: 0;
  color: var(--muted);
  max-width: 72ch;
  line-height: 1.65;
}

body[data-page-type="bird_species_profile"] .nextSteps{
  background: rgba(255,255,255,.62);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 13px 14px;
  box-shadow: var(--shadow);
}

body[data-page-type="bird_species_profile"] .nextSteps h3{
  margin: 0 0 8px;
  font-size: 15px;
  color: var(--ink);
  letter-spacing: -0.01em;
}

body[data-page-type="bird_species_profile"] .nextSteps ol{
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  line-height: 1.72;
  font-size: 13px;
}

body[data-page-type="bird_species_profile"] .nextSteps li{
  margin: 0;
}

@media (max-width: 1000px){
  body[data-page-type="bird_species_profile"] .speciesGrid{
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 900px){
  body[data-page-type="bird_species_profile"] .birdProfilePage{
    padding: 18px;
  }

  body[data-page-type="bird_species_profile"] .hero,
  body[data-page-type="bird_species_profile"] .cards,
  body[data-page-type="bird_species_profile"] .tourCard,
  body[data-page-type="bird_species_profile"] .faqList,
  body[data-page-type="bird_species_profile"] .relatedGrid,
  body[data-page-type="bird_species_profile"] .finalGrid{
    grid-template-columns: 1fr;
  }

  body[data-page-type="bird_species_profile"] .heroMedia{
    min-height: 240px;
  }

  body[data-page-type="bird_species_profile"] .heroBody h1{
    font-size: 30px;
  }

  body[data-page-type="bird_species_profile"] .tourMedia{
    min-height: 220px;
  }
}

@media (max-width: 520px){
  body[data-page-type="bird_species_profile"] .speciesGrid{
    grid-template-columns: repeat(2, 1fr);
  }

  body[data-page-type="bird_species_profile"] .ctaRow .btn,
  body[data-page-type="bird_species_profile"] .tourActions .btn{
    width: 100%;
  }
}

/* =========================================================
   Homepage SEO Authority Enhancements
   Added for paired EN/ES homepage refresh.
   Scoped to home_page so global site styles remain stable.
   ========================================================= */
body[data-page-type="home_page"] .seoAuthoritySection,
body[data-page-type="home_page"] .seoPlanningSection,
body[data-page-type="home_page"] .seoFaqSection{
  scroll-margin-top: 110px;
}

body[data-page-type="home_page"] .authorityGrid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

body[data-page-type="home_page"] .authorityCard,
body[data-page-type="home_page"] .seoPlanningCard{
  border: 1px solid var(--line);
  border-radius: var(--r);
  background: rgba(255,255,255,.72);
  box-shadow: var(--shadow);
}

body[data-page-type="home_page"] .authorityCard{
  padding: 16px;
}

body[data-page-type="home_page"] .authorityCard h3,
body[data-page-type="home_page"] .seoFaqSection .faqCard h3{
  margin: 0 0 8px;
  font-size: 18px;
  line-height: 1.16;
}

body[data-page-type="home_page"] .authorityCard p,
body[data-page-type="home_page"] .seoPlanningCard p,
body[data-page-type="home_page"] .seoFaqSection .faqCard p{
  margin: 0;
  color: var(--muted);
  line-height: 1.68;
}

body[data-page-type="home_page"] .seoPlanningCard{
  padding: 18px;
}

body[data-page-type="home_page"] .seoPlanningCard p + p{
  margin-top: 12px;
}

body[data-page-type="home_page"] .seoPlanningCard a{
  color: var(--forest);
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
}

body[data-page-type="home_page"] .seoFaqGrid{
  align-items: stretch;
}

body[data-page-type="home_page"] .seoFaqSection .faqCard{
  background: rgba(255,255,255,.72);
}

@media (max-width: 1000px){
  body[data-page-type="home_page"] .authorityGrid{
    grid-template-columns: 1fr;
  }
}

