/* CSS CLUSTER LOCKED - 2026-07-15
   Broad naked selectors were removed from this file.
   Future additions must be scoped by body[data-css-cluster] and, when possible, data-page-content-group. */

/* Mindo Bird Watching - tour collection page CSS
   Source: restored pair_057 rich EN/ES pages.
   Keep scoped to body[data-page-type="tour_collection"] where possible. */

body[data-page-type="tour_collection"] #siteHeader{
  width:min(1040px, calc(100% - 32px));
  margin:18px auto 0;
  position:sticky;
  top:var(--sticky-top,16px);
  z-index:5000;
}

/* =========================================================
   TARGET BIRD TOUR BUILDER
   Scoped shell spacing and hero refinement.
   ========================================================= */
body[data-css-cluster="tour_collection"][data-page-type="target_bird_tour_builder"] .targetBuilderPage{
  display:grid;
  gap:18px;
  padding:18px;
}

body[data-css-cluster="tour_collection"][data-page-type="target_bird_tour_builder"] .targetHero{
  position:relative;
  padding:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 12%, rgba(245,190,35,.15), transparent 28%),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(238,246,232,.96));
}

body[data-css-cluster="tour_collection"][data-page-type="target_bird_tour_builder"] .targetHeroCopy{
  position:relative;
  isolation:isolate;
  align-content:start;
  overflow:hidden;
  background:
    linear-gradient(145deg, rgba(255,255,255,.98) 0%, rgba(248,251,245,.98) 68%, rgba(232,242,225,.98) 100%);
}

body[data-css-cluster="tour_collection"][data-page-type="target_bird_tour_builder"] .targetHeroCopy::after{
  content:"";
  position:absolute;
  z-index:-1;
  right:-88px;
  bottom:-96px;
  width:260px;
  aspect-ratio:1;
  border:34px solid rgba(31,105,51,.07);
  border-radius:50%;
  box-shadow:0 0 0 28px rgba(245,190,35,.07);
  pointer-events:none;
}

body[data-css-cluster="tour_collection"][data-page-type="target_bird_tour_builder"] .targetHero h1{
  max-width:12ch;
  text-wrap:balance;
}

body[data-css-cluster="tour_collection"][data-page-type="target_bird_tour_builder"] .heroMetric{
  background:rgba(255,255,255,.9);
  border-color:rgba(31,105,51,.2);
  box-shadow:0 8px 22px rgba(20,58,31,.06);
}

body[data-css-cluster="tour_collection"][data-page-type="target_bird_tour_builder"] .heroRoutePreview{
  position:relative;
  z-index:1;
  display:grid;
  gap:10px;
  margin-top:4px;
  padding:14px;
  border:1px solid rgba(31,105,51,.2);
  border-radius:14px;
  background:rgba(255,255,255,.88);
  box-shadow:0 10px 26px rgba(20,58,31,.07);
}

body[data-css-cluster="tour_collection"][data-page-type="target_bird_tour_builder"] .heroRoutePreview > strong{
  color:var(--green);
  font-family:var(--font-heading, Georgia, serif);
  font-size:1.05rem;
}

body[data-css-cluster="tour_collection"][data-page-type="target_bird_tour_builder"] .heroRouteSteps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

body[data-css-cluster="tour_collection"][data-page-type="target_bird_tour_builder"] .heroRouteSteps span{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  padding:9px;
  border:1px solid rgba(31,105,51,.14);
  border-radius:11px;
  background:#fff;
  color:var(--text);
  font-size:.82rem;
  font-weight:700;
  line-height:1.25;
}

body[data-css-cluster="tour_collection"][data-page-type="target_bird_tour_builder"] .heroRouteSteps b{
  display:grid;
  flex:0 0 25px;
  width:25px;
  height:25px;
  place-items:center;
  border-radius:50%;
  background:var(--green);
  color:#fff;
  font-size:.76rem;
}

body[data-css-cluster="tour_collection"][data-page-type="target_bird_tour_builder"] .targetMiniReport{
  margin:0;
  padding:18px;
}

body[data-css-cluster="tour_collection"][data-page-type="target_bird_tour_builder"] :is(.builderShell,.sectionBand){
  margin:0;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:rgba(255,255,255,.5);
}

@media(max-width:980px){
  body[data-css-cluster="tour_collection"][data-page-type="target_bird_tour_builder"] .targetBuilderPage{
    gap:16px;
    padding:16px;
  }
}

@media(max-width:640px){
  body[data-css-cluster="tour_collection"][data-page-type="target_bird_tour_builder"] .targetBuilderPage{
    gap:12px;
    padding:12px;
  }

  body[data-css-cluster="tour_collection"][data-page-type="target_bird_tour_builder"] .targetHeroCopy{
    padding:20px;
  }

  body[data-css-cluster="tour_collection"][data-page-type="target_bird_tour_builder"] .targetHero h1{
    max-width:none;
  }

  body[data-css-cluster="tour_collection"][data-page-type="target_bird_tour_builder"] .heroRouteSteps{
    grid-template-columns:1fr;
  }
}

body[data-page-type="tour_collection"] #siteHeader .topbar{
  margin-top:0;
  width:100%;
}

body[data-page-type="tour_collection"] .container{
  width:min(1040px, calc(100% - 32px));
  margin-inline:auto;
}

@media (max-width:620px){
  body[data-page-type="tour_collection"] #siteHeader,
  body[data-page-type="tour_collection"] .container{
    width:min(100% - 18px,1040px);
  }
  body[data-page-type="tour_collection"] #siteHeader{
    margin-top:10px;
  }
}

/* Tour collection scoped base - locked 2026-07-15
   Replaces earlier naked .page/.hero/.tourGrid rules so this file cannot alter unrelated pages. */
body[data-css-cluster="tour_collection"] .page{
  margin-top:18px;
  padding:26px;
}
body[data-css-cluster="tour_collection"] .page.card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--r);
  box-shadow:var(--shadow);
}
body[data-css-cluster="tour_collection"] .hero{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:16px;
  align-items:stretch;
  margin-top:10px;
}
body[data-css-cluster="tour_collection"] .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;
}
body[data-css-cluster="tour_collection"] .heroMedia img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
body[data-css-cluster="tour_collection"] .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:center;
  gap:10px;
}
body[data-css-cluster="tour_collection"] .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-css-cluster="tour_collection"] .heroBody p{
  margin:0;
  color:var(--muted);
  line-height:1.65;
  max-width:72ch;
}
body[data-css-cluster="tour_collection"] .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-css-cluster="tour_collection"] .tourActions{
  margin-top:10px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
}
body[data-css-cluster="tour_collection"] .section{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid var(--line);
}
body[data-css-cluster="tour_collection"] .sectionHead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:10px;
}
body[data-css-cluster="tour_collection"] .sectionHead h2{margin:0;font-size:20px;}
body[data-css-cluster="tour_collection"] .sectionHint{margin:0;color:var(--muted);font-size:13px;}
body[data-css-cluster="tour_collection"] .cards,
body[data-css-cluster="tour_collection"] .tourGrid,
body[data-css-cluster="tour_collection"] .faqList{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  align-items:stretch;
}
body[data-css-cluster="tour_collection"] .infoCard,
body[data-css-cluster="tour_collection"] .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-css-cluster="tour_collection"] .tourCard{
  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:.9fr 1.1fr;
  align-items:stretch;
}
body[data-css-cluster="tour_collection"] .tourMedia{min-height:190px;background:rgba(255,255,255,.55);}
body[data-css-cluster="tour_collection"] .tourMedia img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
body[data-css-cluster="tour_collection"] .tourBody{
  padding:14px 16px 16px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:10px;
}
body[data-css-cluster="tour_collection"] .tourTitle{
  margin:0 0 6px;
  font-family:var(--font-head);
  color:var(--forest);
  letter-spacing:-0.02em;
  font-size:18px;
}
body[data-css-cluster="tour_collection"] .tourDesc,
body[data-css-cluster="tour_collection"] .infoCard p,
body[data-css-cluster="tour_collection"] .faqCard p{
  margin:0;
  color:var(--muted);
  line-height:1.6;
}
body[data-css-cluster="tour_collection"] .linkGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}
body[data-css-cluster="tour_collection"] .relatedGrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}
body[data-css-cluster="tour_collection"] .linkCard,
body[data-css-cluster="tour_collection"] .relatedCard{
  text-decoration:none;
  color:inherit;
  background:rgba(255,255,255,.65);
  border:1px solid var(--line);
  border-radius:var(--r);
  box-shadow:var(--shadow);
  overflow:hidden;
}
body[data-css-cluster="tour_collection"] .linkCard{display:block;padding:14px 16px;}
body[data-css-cluster="tour_collection"] .relatedCard{display:block;}
body[data-css-cluster="tour_collection"] .relatedMedia{
  width:100%;
  height:170px;
  display:block;
  object-fit:cover;
  background:rgba(255,255,255,.55);
}
body[data-css-cluster="tour_collection"] .relatedBody{padding:12px 14px 14px;}
@media(max-width:1000px){
  body[data-css-cluster="tour_collection"] .relatedGrid{grid-template-columns:repeat(2,minmax(0,1fr));}
  body[data-css-cluster="tour_collection"] .linkGrid{grid-template-columns:1fr;}
}
@media(max-width:900px){
  body[data-css-cluster="tour_collection"] .tourCard{grid-template-columns:1fr;}
  body[data-css-cluster="tour_collection"] .heroBody h1{font-size:28px;}
  body[data-css-cluster="tour_collection"] .heroMedia{min-height:240px;}
}
@media(max-width:560px){
  body[data-css-cluster="tour_collection"] .relatedGrid{grid-template-columns:1fr;}
}

/* Tour card full-image modifier - use on pages where collages or posters must not be cropped. */
body[data-css-cluster="tour_collection"] .tourGrid--containImages .tourMedia img,
body[data-css-cluster="tour_collection"] .relatedGrid--containImages .relatedMedia,
body[data-css-cluster="tour_collection"] .tourMedia.mediaContain img,
body[data-css-cluster="tour_collection"] .relatedMedia.mediaContain{
  object-fit:contain;
  background:rgba(255,255,255,.72);
}

/* Cluster coverage note 2026-07-13:
   This file is the shared CSS module for tour_collection pages, including
   /birdwatching-tours-mindo/, /ecuador-birding-tours/, /tours/, and major tour hubs.
   Do not create one-off page CSS for individual tour collection pages unless a new
   reusable cluster cannot cover the layout. */


/* Pair 056 booking-page action panel rules for /assets/css/pages/tour-collection.css
   Reusable for booking/conversion pages inside the tour_collection cluster. */

body[data-css-cluster="tour_collection"] .bookingGrid--action,
body[data-page-type="booking_page"] .bookingGrid--action{
  align-items:stretch;
}

body[data-css-cluster="tour_collection"] .bookingPanel--action,
body[data-page-type="booking_page"] .bookingPanel--action{
  display:flex;
  flex-direction:column;
  min-height:100%;
}

body[data-css-cluster="tour_collection"] .bookingPanel--action .actionIntro,
body[data-page-type="booking_page"] .bookingPanel--action .actionIntro{
  margin:0 0 16px;
}

body[data-css-cluster="tour_collection"] .bookingPanel--action .compactChecklist,
body[data-page-type="booking_page"] .bookingPanel--action .compactChecklist{
  display:grid;
  gap:10px;
  margin:16px 0 18px;
}

body[data-css-cluster="tour_collection"] .bookingPanel--action .compactChecklist .item,
body[data-page-type="booking_page"] .bookingPanel--action .compactChecklist .item{
  padding:10px 12px;
  border:1px solid rgba(23,77,40,.14);
  border-radius:14px;
  background:#f7faf4;
  font-weight:800;
  line-height:1.35;
}

body[data-css-cluster="tour_collection"] .bookingPanel--action .processFlow,
body[data-page-type="booking_page"] .bookingPanel--action .processFlow{
  display:grid;
  gap:10px;
  margin:16px 0 18px;
  counter-reset:booking-flow;
}

body[data-css-cluster="tour_collection"] .bookingPanel--action .processFlow .step,
body[data-page-type="booking_page"] .bookingPanel--action .processFlow .step{
  position:relative;
  padding-left:38px;
  line-height:1.45;
  color:#52625b;
}

body[data-css-cluster="tour_collection"] .bookingPanel--action .processFlow .step:before,
body[data-page-type="booking_page"] .bookingPanel--action .processFlow .step:before{
  counter-increment:booking-flow;
  content:counter(booking-flow);
  position:absolute;
  left:0;
  top:0;
  width:24px;
  height:24px;
  border-radius:999px;
  background:#174d28;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:900;
}

body[data-css-cluster="tour_collection"] .bookingPanel--action .actionNote,
body[data-page-type="booking_page"] .bookingPanel--action .actionNote{
  margin:0;
  color:#52625b;
  font-weight:800;
  line-height:1.45;
}

body[data-css-cluster="tour_collection"] .bookingPanel--action .actionFooter,
body[data-page-type="booking_page"] .bookingPanel--action .actionFooter{
  margin-top:auto;
  padding-top:18px;
}

body[data-css-cluster="tour_collection"] .bookingPanel--action .actionFooter .btn,
body[data-page-type="booking_page"] .bookingPanel--action .actionFooter .btn{
  width:100%;
  justify-content:center;
  min-height:50px;
}

@media (max-width:860px){
  body[data-css-cluster="tour_collection"] .bookingGrid--action,
  body[data-page-type="booking_page"] .bookingGrid--action{
    grid-template-columns:1fr;
  }
}


/* Pair 057 repair: tour collection grid, card, and button consistency. */
body[data-css-cluster="tour_collection"][data-page-content-group="tours"] a:not(.btn):not(.linkCard):not(.relatedCard){
  color:inherit;
  text-decoration:underline;
  text-underline-offset:2px;
  font-weight:700;
}

body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .btn,
body[data-css-cluster="tour_collection"][data-page-content-group="tours"] a.btn{
  text-decoration:none;
}

body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .cards{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}

body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .section .cards:has(.infoCard:nth-child(3):last-child){
  grid-template-columns:repeat(3,minmax(0,1fr));
}

body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .infoCard{
  min-width:0;
  min-height:100%;
}

body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .linkGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}

body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .tourGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}

body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .tourCard{
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
}

body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .tourMedia{
  aspect-ratio:4/3;
  min-height:0;
}

body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .tourMedia img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .tourBody{
  flex:1 1 auto;
}

body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .tourActions{
  margin-top:auto;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .relatedGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}

body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .relatedCard{
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  text-decoration:none;
}

body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .relatedMedia{
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
  display:block;
}

body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .relatedBody{
  flex:1 1 auto;
}

body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .birdCompareFeature{
  display:grid;
  grid-template-columns:minmax(0,58%) minmax(0,42%);
  align-items:stretch;
}

body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .birdCompareFeature .activityMedia,
body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .birdCompareFeature .activityBody{
  min-width:0;
}

@media (max-width:980px){
  body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .section .cards:has(.infoCard:nth-child(3):last-child),
  body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .cards,
  body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .tourGrid,
  body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .relatedGrid{
    grid-template-columns:1fr 1fr;
  }

  body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .linkGrid{
    grid-template-columns:1fr;
  }
}

@media (max-width:720px){
  body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .section .cards:has(.infoCard:nth-child(3):last-child),
  body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .cards,
  body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .tourGrid,
  body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .relatedGrid,
  body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .birdCompareFeature{
    grid-template-columns:1fr;
  }

  body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .tourActions .btn{
    width:100%;
    justify-content:center;
  }
}

/* Tour collection image-containment lock - 2026-07-15
   This must live after the standard tourMedia/relatedMedia rules.
   Use the modifier in HTML only on grids whose source images are collages/posters that must not crop. */
body[data-css-cluster="tour_collection"] .tourGrid.tourGrid--containImages .tourMedia,
body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .tourGrid.tourGrid--containImages .tourMedia{
  aspect-ratio:4/3;
  min-height:0;
  background:rgba(255,255,255,.78);
}

body[data-css-cluster="tour_collection"] .tourGrid.tourGrid--containImages .tourMedia img,
body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .tourGrid.tourGrid--containImages .tourMedia img,
body[data-css-cluster="tour_collection"] .tourMedia.mediaContain img,
body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .tourMedia.mediaContain img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  background:rgba(255,255,255,.78);
}

body[data-css-cluster="tour_collection"] .relatedGrid.relatedGrid--containImages .relatedMedia,
body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .relatedGrid.relatedGrid--containImages .relatedMedia,
body[data-css-cluster="tour_collection"] .relatedMedia.mediaContain,
body[data-css-cluster="tour_collection"][data-page-content-group="tours"] .relatedMedia.mediaContain{
  object-fit:contain;
  object-position:center center;
  background:rgba(255,255,255,.78);
}

/* Booking-page tour option grid lock - 2026-07-15
   Scoped to booking pages and only activated by .tourGrid--bookingOptions.
   Prevents 3-card dead space and keeps CTAs pinned without changing other tour collection pages. */
body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .tourGrid.tourGrid--bookingOptions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}

body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .tourGrid--bookingOptions .tourOption{
  display:flex;
  flex-direction:column;
  min-height:100%;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:rgba(255,255,255,.82);
  box-shadow:var(--shadow-soft);
}

body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .tourGrid--bookingOptions .tourOption > img{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  height:auto;
  min-height:185px;
  max-height:230px;
  object-fit:cover;
  object-position:center center;
  background:rgba(255,255,255,.72);
}

body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .tourGrid--bookingOptions .tourBody{
  display:flex;
  flex:1;
  flex-direction:column;
  gap:10px;
  padding:14px 16px 16px;
}

body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .tourGrid--bookingOptions .tourBody h3,
body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .tourGrid--bookingOptions .tourBody p,
body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .tourGrid--bookingOptions .miniList{
  margin:0;
}

body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .tourGrid--bookingOptions .miniList{
  padding-left:18px;
  color:var(--muted);
}

body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .tourGrid--bookingOptions .ctaRow{
  margin-top:auto;
  padding-top:4px;
}

body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .tourGrid--bookingOptions .ctaRow .btn{
  width:100%;
  justify-content:center;
}

@media (max-width:760px){
  body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .tourGrid.tourGrid--bookingOptions{
    grid-template-columns:1fr;
  }
}

/* Booking page layout guard - 2026-07-16
   Keep this at the end of the tour_collection module. It is intentionally
   scoped to booking pages so image containment and proof-card alignment do
   not alter existing tour hub, tour detail, or Ecuador tour collection pages. */
body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .tourGrid.tourGrid--bookingOptions{
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:1fr;
  align-items:stretch;
}

body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .tourGrid--bookingOptions .tourOption{
  height:100%;
}

body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .tourGrid--bookingOptions .tourOption > img{
  width:100%;
  aspect-ratio:16/9;
  height:auto;
  min-height:clamp(210px,22vw,270px);
  max-height:none;
  object-fit:contain;
  object-position:center center;
  background:rgba(255,255,255,.82);
  border-bottom:1px solid var(--line);
}

body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .tourGrid--bookingOptions .tourBody{
  flex:1 1 auto;
}

body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .tourGrid--bookingOptions .miniList{
  flex:1 1 auto;
}

body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .tourGrid--bookingOptions .ctaRow{
  margin-top:auto;
  padding-top:12px;
}

body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .proofGrid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);
  gap:18px;
  align-items:stretch;
  margin-bottom:24px;
}

body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .proofGrid .quote,
body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .proofGrid .reviewStats{
  height:100%;
}

body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .proofGrid .quote{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .reviewStats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .reviewStat{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-width:0;
  min-height:0;
}

body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .birdCompareFeature{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
  gap:18px;
  align-items:stretch;
  margin:24px 0 26px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:var(--r);
  background:rgba(255,255,255,.72);
  box-shadow:var(--shadow-soft);
}

body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .proofGrid + .birdCompareFeature{
  margin-top:24px;
}

body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .birdCompareFeature .activityMedia,
body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .birdCompareFeature .activityBody{
  min-width:0;
}

body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .birdCompareFeature .activityBody{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .birdCompareFeature .mbwCarousel{
  height:100%;
  min-height:280px;
}

body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .birdCompareFeature .mbwCarouselViewport,
body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .birdCompareFeature .mbwCarouselTrack,
body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .birdCompareFeature .mbwSlide{
  height:100%;
}

body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .birdCompareFeature .mbwSlide img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}

@media (max-width:860px){
  body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .tourGrid.tourGrid--bookingOptions,
  body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .proofGrid,
  body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .birdCompareFeature{
    grid-template-columns:1fr;
  }

  body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .tourGrid--bookingOptions .tourOption > img{
    min-height:0;
  }
}

@media (max-width:620px){
  body[data-css-cluster="tour_collection"][data-page-type="booking_page"] .reviewStats{
    grid-template-columns:1fr;
  }
}

/* Tour hero CTA lock - 2026-07-16
   Scoped to hero actions only. Final CTA layout is owned by global site.css. */
body[data-css-cluster="tour_collection"] .hero .heroBody > .ctaRow {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
  margin-top: 14px;
}

body[data-css-cluster="tour_collection"] .hero .heroBody > .ctaRow .btn,
body[data-css-cluster="tour_collection"] .hero .heroBody > .ctaRow a.btn {
  width: 100%;
  min-height: 42px;
  height: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.15;
  padding: 10px 14px;
  white-space: normal;
  text-decoration: none;
}

body[data-css-cluster="tour_collection"] .hero .heroBody > .ctaRow[aria-label="Primary actions"] .btn.primary:first-child:nth-last-child(3),
body[data-css-cluster="tour_collection"] .hero .heroBody > .ctaRow[aria-label="Acciones principales"] .btn.primary:first-child:nth-last-child(3),
body[data-css-cluster="tour_collection"] .hero .heroBody > .ctaRow[aria-label="Acciones primarias"] .btn.primary:first-child:nth-last-child(3) {
  grid-column: 1 / -1;
}

body[data-css-cluster="tour_collection"] .hero .heroBody > p + .ctaRow {
  margin-top: 10px;
}

@media (max-width: 560px) {
  body[data-css-cluster="tour_collection"] .hero .heroBody > .ctaRow {
    grid-template-columns: 1fr;
  }

  body[data-css-cluster="tour_collection"] .hero .heroBody > .ctaRow[aria-label="Primary actions"] .btn.primary:first-child:nth-last-child(3),
  body[data-css-cluster="tour_collection"] .hero .heroBody > .ctaRow[aria-label="Acciones principales"] .btn.primary:first-child:nth-last-child(3),
  body[data-css-cluster="tour_collection"] .hero .heroBody > .ctaRow[aria-label="Acciones primarias"] .btn.primary:first-child:nth-last-child(3) {
    grid-column: auto;
  }
}

body[data-css-cluster="tour_collection"] .hero .heroBody > .ctaRow,
body[data-css-cluster="tour_collection"] .tourHeroActions {
  display: flex !important;
  flex-flow: row wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
}

body[data-css-cluster="tour_collection"] .hero .heroBody > .ctaRow .btn,
body[data-css-cluster="tour_collection"] .hero .heroBody > .ctaRow a.btn,
body[data-css-cluster="tour_collection"] .tourHeroActions .btn,
body[data-css-cluster="tour_collection"] .tourHeroActions a.btn {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 42px !important;
  height: auto !important;
  aspect-ratio: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 10px 16px !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

/* Final CTA layout is intentionally owned by global site.css. */

/* Tour collection final CTA lock - 2026-07-16
   Opt-in only. Requires .finalCta--split on the final CTA section. */
body[data-css-cluster="tour_collection"] .finalCta.finalCta--split,
body[data-css-cluster="tour-collection"] .finalCta.finalCta--split{
  display:block !important;
  grid-template-columns:none !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  margin:clamp(24px,3vw,36px) auto 0 !important;
  padding:clamp(16px,2.4vw,24px) !important;
  border:1px solid var(--line, rgba(19,73,45,.18)) !important;
  border-radius:calc(var(--r,18px) + 4px) !important;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,255,255,.88)) !important;
  box-shadow:0 18px 42px rgba(20,60,32,.12) !important;
}
body[data-css-cluster="tour_collection"] .finalCta.finalCta--split .finalGrid,
body[data-css-cluster="tour-collection"] .finalCta.finalCta--split .finalGrid{
  display:grid !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  grid-template-columns:minmax(0,1fr) minmax(260px,340px) !important;
  gap:clamp(18px,3vw,32px) !important;
  align-items:stretch !important;
}
body[data-css-cluster="tour_collection"] .finalCta.finalCta--split .finalLeft,
body[data-css-cluster="tour-collection"] .finalCta.finalCta--split .finalLeft{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  min-width:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
body[data-css-cluster="tour_collection"] .finalCta.finalCta--split .finalTitle,
body[data-css-cluster="tour-collection"] .finalCta.finalCta--split .finalTitle,
body[data-css-cluster="tour_collection"] .finalCta.finalCta--split h2,
body[data-css-cluster="tour-collection"] .finalCta.finalCta--split h2{
  margin:0 0 10px !important;
  max-width:18ch !important;
  line-height:.98 !important;
}
body[data-css-cluster="tour_collection"] .finalCta.finalCta--split .finalLeft p,
body[data-css-cluster="tour-collection"] .finalCta.finalCta--split .finalLeft p{
  margin:0 !important;
  max-width:62ch !important;
}
body[data-css-cluster="tour_collection"] .finalCta.finalCta--split .ctaRow,
body[data-css-cluster="tour-collection"] .finalCta.finalCta--split .ctaRow,
body[data-css-cluster="tour_collection"] .finalCta.finalCta--split .ctaRow--inline,
body[data-css-cluster="tour-collection"] .finalCta.finalCta--split .ctaRow--inline{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px 12px !important;
  width:100% !important;
  max-width:none !important;
  margin:clamp(18px,2.4vw,24px) 0 0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
body[data-css-cluster="tour_collection"] .finalCta.finalCta--split .ctaRow > a,
body[data-css-cluster="tour-collection"] .finalCta.finalCta--split .ctaRow > a,
body[data-css-cluster="tour_collection"] .finalCta.finalCta--split .ctaRow .btn,
body[data-css-cluster="tour-collection"] .finalCta.finalCta--split .ctaRow .btn{
  display:inline-flex !important;
  flex:0 0 auto !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  max-width:max-content !important;
  min-width:0 !important;
  height:auto !important;
  min-height:44px !important;
  aspect-ratio:auto !important;
  padding:10px 18px !important;
  border-radius:12px !important;
  line-height:1.1 !important;
  text-align:center !important;
  text-decoration:none !important;
  white-space:normal !important;
}
body[data-css-cluster="tour_collection"] .finalCta.finalCta--split .ctaRow > a:first-child,
body[data-css-cluster="tour-collection"] .finalCta.finalCta--split .ctaRow > a:first-child,
body[data-css-cluster="tour_collection"] .finalCta.finalCta--split .ctaRow .btn:first-child,
body[data-css-cluster="tour-collection"] .finalCta.finalCta--split .ctaRow .btn:first-child{
  width:auto !important;
  max-width:max-content !important;
  height:auto !important;
  min-height:44px !important;
  aspect-ratio:auto !important;
}
body[data-css-cluster="tour_collection"] .finalCta.finalCta--split .nextSteps,
body[data-css-cluster="tour-collection"] .finalCta.finalCta--split .nextSteps{
  align-self:stretch !important;
  width:100% !important;
  max-width:340px !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  padding:clamp(16px,2vw,22px) !important;
  border:1px solid var(--line, rgba(19,73,45,.18)) !important;
  border-radius:var(--r,18px) !important;
  background:rgba(255,255,255,.92) !important;
  box-shadow:0 14px 30px rgba(20,60,32,.08) !important;
}
body[data-css-cluster="tour_collection"] .finalCta.finalCta--split .nextSteps h3,
body[data-css-cluster="tour-collection"] .finalCta.finalCta--split .nextSteps h3{
  margin:0 0 10px !important;
}
body[data-css-cluster="tour_collection"] .finalCta.finalCta--split .nextSteps ol,
body[data-css-cluster="tour-collection"] .finalCta.finalCta--split .nextSteps ol{
  margin:0 !important;
  padding-left:1.25rem !important;
}
body[data-css-cluster="tour_collection"] .finalCta.finalCta--split .nextSteps li,
body[data-css-cluster="tour-collection"] .finalCta.finalCta--split .nextSteps li{
  margin:0 0 8px !important;
}
body[data-css-cluster="tour_collection"] .finalCta.finalCta--split .nextSteps li:last-child,
body[data-css-cluster="tour-collection"] .finalCta.finalCta--split .nextSteps li:last-child{
  margin-bottom:0 !important;
}
@media (max-width:760px){
  body[data-css-cluster="tour_collection"] .finalCta.finalCta--split .finalGrid,
  body[data-css-cluster="tour-collection"] .finalCta.finalCta--split .finalGrid{
    grid-template-columns:1fr !important;
  }
  body[data-css-cluster="tour_collection"] .finalCta.finalCta--split .nextSteps,
  body[data-css-cluster="tour-collection"] .finalCta.finalCta--split .nextSteps{
    max-width:none !important;
  }
}

/* Tour collection bottom booking CTA lock - 2026-07-17
   The supplied EN/ES booking pages use a plain .bookingPanel for this final
   action, so keep the lock on that real structure rather than a generic CTA. */
body[data-css-cluster="tour_collection"][data-page-content-group="booking"] .section > .bookingPanel:not(.bookingPanel--action){
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:clamp(18px,2.4vw,24px) !important;
  border:1px solid var(--line,#cfd9ca) !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.86) !important;
  box-shadow:0 14px 32px rgba(28,55,36,.08) !important;
  overflow:hidden !important;
}

body[data-css-cluster="tour_collection"][data-page-content-group="booking"] .section > .bookingPanel:not(.bookingPanel--action) h2{
  margin:0 0 10px !important;
  max-width:none !important;
  line-height:1.08 !important;
}

body[data-css-cluster="tour_collection"][data-page-content-group="booking"] .section > .bookingPanel:not(.bookingPanel--action) > p{
  margin:0 !important;
  max-width:72ch !important;
}

body[data-css-cluster="tour_collection"][data-page-content-group="booking"] .section > .bookingPanel:not(.bookingPanel--action) .ctaRow{
  display:flex !important;
  flex-flow:row wrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  width:100% !important;
  margin:18px 0 0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

body[data-css-cluster="tour_collection"][data-page-content-group="booking"] .section > .bookingPanel:not(.bookingPanel--action) .ctaRow .btn{
  display:inline-flex !important;
  flex:0 0 auto !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:44px !important;
  height:auto !important;
  aspect-ratio:auto !important;
  padding:10px 18px !important;
  border-radius:12px !important;
  line-height:1.15 !important;
  text-align:center !important;
  text-decoration:none !important;
  white-space:normal !important;
  box-shadow:none !important;
}

body[data-css-cluster="tour_collection"][data-page-content-group="booking"] .section > .bookingPanel:not(.bookingPanel--action) .ctaRow .btn.primary{
  background:#fff0ad !important;
  border-color:#e6b81e !important;
  color:#0b1d21 !important;
}

body[data-css-cluster="tour_collection"][data-page-content-group="booking"] .section > .bookingPanel:not(.bookingPanel--action) .ctaRow .btn.secondary{
  background:#dfeade !important;
  border-color:#7fab8e !important;
  color:#0b1d21 !important;
}

@media(max-width:560px){
  body[data-css-cluster="tour_collection"][data-page-content-group="booking"] .section > .bookingPanel:not(.bookingPanel--action) .ctaRow{
    align-items:stretch !important;
  }

  body[data-css-cluster="tour_collection"][data-page-content-group="booking"] .section > .bookingPanel:not(.bookingPanel--action) .ctaRow .btn{
    width:100% !important;
  }
}

/* Legacy unscoped CTA locks disabled. They do not describe the bookingPanel
   markup used by this cluster and must not leak into other page components. */
/* Book-tour primary experience and optional additions */
body[data-css-cluster="tour_collection"].tourRequestPage .tourPrimary,
body[data-css-cluster="tour_collection"].tourRequestPage .tourAddOns{
  min-width:0;
  margin:4px 0 14px;
  padding:clamp(14px,2vw,18px);
  border:1px solid var(--line,rgba(19,73,45,.18));
  border-radius:16px;
  background:rgba(246,250,240,.72);
}

body[data-css-cluster="tour_collection"].tourRequestPage .tourPrimary legend,
body[data-css-cluster="tour_collection"].tourRequestPage .tourAddOns legend{
  padding:0 7px;
  color:var(--green,#0d5925);
  font-weight:800;
}

body[data-css-cluster="tour_collection"].tourRequestPage .tourPrimary .fieldHelp,
body[data-css-cluster="tour_collection"].tourRequestPage .tourAddOns .fieldHelp{
  margin:0 0 12px;
  color:var(--muted,#58636b);
  font-size:.92rem;
  line-height:1.45;
}

body[data-css-cluster="tour_collection"].tourRequestPage .tourPrimaryGrid,
body[data-css-cluster="tour_collection"].tourRequestPage .tourAddOnGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

body[data-css-cluster="tour_collection"].tourRequestPage .tourPrimaryOption,
body[data-css-cluster="tour_collection"].tourRequestPage .tourAddOnOption{
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-width:0;
  padding:12px;
  border:1px solid var(--line,rgba(19,73,45,.18));
  border-radius:14px;
  background:#fff;
  cursor:pointer;
}

body[data-css-cluster="tour_collection"].tourRequestPage .tourPrimaryOption{
  position:relative;
  min-height:88px;
  padding:14px 42px 14px 14px;
  border-width:1.5px;
  box-shadow:0 8px 18px rgba(20,60,32,.05);
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

body[data-css-cluster="tour_collection"].tourRequestPage .tourPrimaryOption:hover{
  border-color:rgba(13,89,37,.45);
  box-shadow:0 12px 24px rgba(20,60,32,.1);
  transform:translateY(-1px);
}

body[data-css-cluster="tour_collection"].tourRequestPage .tourPrimaryOption--wide,
body[data-css-cluster="tour_collection"].tourRequestPage .tourAddOnOption--wide{
  grid-column:1 / -1;
}

body[data-css-cluster="tour_collection"].tourRequestPage .tourPrimaryOption input[type="radio"],
body[data-css-cluster="tour_collection"].tourRequestPage .tourAddOnOption input[type="checkbox"]{
  flex:0 0 18px;
  width:18px !important;
  min-width:18px !important;
  height:18px;
  margin:2px 0 0;
  padding:0 !important;
  accent-color:var(--green,#0d5925);
}

body[data-css-cluster="tour_collection"].tourRequestPage .tourPrimaryOption input[type="radio"]{
  position:absolute;
  top:14px;
  right:14px;
  margin:0;
}

body[data-css-cluster="tour_collection"].tourRequestPage .tourPrimaryOption span,
body[data-css-cluster="tour_collection"].tourRequestPage .tourAddOnOption span{
  display:grid;
  gap:3px;
  min-width:0;
}

body[data-css-cluster="tour_collection"].tourRequestPage .tourPrimaryOption strong,
body[data-css-cluster="tour_collection"].tourRequestPage .tourAddOnOption strong{
  color:var(--ink,#071923);
  line-height:1.25;
}

body[data-css-cluster="tour_collection"].tourRequestPage .tourPrimaryOption small,
body[data-css-cluster="tour_collection"].tourRequestPage .tourAddOnOption small{
  color:var(--muted,#58636b);
  font-size:.82rem;
  line-height:1.35;
}

body[data-css-cluster="tour_collection"].tourRequestPage .tourPrimaryOption:has(input:checked){
  border-color:var(--green,#0d5925);
  background:linear-gradient(135deg,rgba(226,239,224,.95),rgba(246,250,240,.96));
  box-shadow:0 12px 28px rgba(13,89,37,.14),inset 0 0 0 1px rgba(13,89,37,.12);
}

body[data-css-cluster="tour_collection"].tourRequestPage .tourPrimaryOption:has(input:checked) strong{
  color:var(--green,#0d5925);
}

body[data-css-cluster="tour_collection"].tourRequestPage .tourAddOnOption:has(input:checked){
  border-color:rgba(13,89,37,.55);
  background:rgba(226,239,224,.72);
}

body[data-css-cluster="tour_collection"].tourRequestPage .tourAddOnOption:has(input:disabled){
  opacity:.52;
  cursor:not-allowed;
}

body[data-css-cluster="tour_collection"].tourRequestPage .tourOtherDetails{
  margin:12px 0 0;
}

body[data-css-cluster="tour_collection"].tourRequestPage .tourOtherDetails[hidden]{
  display:none !important;
}

body[data-css-cluster="tour_collection"].tourRequestPage .finalCta.finalCta--split,
body[data-css-cluster="tour_collection"].tourRequestPage .finalCta.finalCta--split .finalGrid,
body[data-css-cluster="tour_collection"].tourRequestPage .finalCta.finalCta--split .finalLeft,
body[data-css-cluster="tour_collection"].tourRequestPage .finalCta.finalCta--split .nextSteps,
body[data-css-cluster="tour_collection"].tourRequestPage .finalCta.finalCta--split h2,
body[data-css-cluster="tour_collection"].tourRequestPage .finalCta.finalCta--split h3,
body[data-css-cluster="tour_collection"].tourRequestPage .finalCta.finalCta--split p,
body[data-css-cluster="tour_collection"].tourRequestPage .finalCta.finalCta--split ol,
body[data-css-cluster="tour_collection"].tourRequestPage .finalCta.finalCta--split li{
  text-align:left !important;
}

body[data-css-cluster="tour_collection"].tourRequestPage .finalCta.finalCta--split .finalLeft{
  align-items:flex-start !important;
}

body[data-css-cluster="tour_collection"].tourRequestPage .finalCta.finalCta--split .nextSteps{
  align-items:stretch !important;
}

@media(max-width:640px){
  body[data-css-cluster="tour_collection"].tourRequestPage .tourPrimaryGrid,
  body[data-css-cluster="tour_collection"].tourRequestPage .tourAddOnGrid{
    grid-template-columns:1fr;
  }

  body[data-css-cluster="tour_collection"].tourRequestPage .tourPrimaryOption--wide,
  body[data-css-cluster="tour_collection"].tourRequestPage .tourAddOnOption--wide{
    grid-column:auto;
  }
}

@media not all {
/* MBW FINAL CTA + BUTTON CONSISTENCY LOCK v2026-07-16 */
:where(.finalCta,.final-cta,.bottomCta,.bottom-cta,.closingCta,.closing-cta,.ctaBand,.cta-band,.finalCtaBand,.final-cta-band,.planCta,.plan-cta,.bookingCta,.booking-cta,.tourFinalCta,.tour-final-cta,.shopFinalCta,.recommendationsFinalCta){
  margin:clamp(22px,3vw,34px) auto 0!important;
  padding:clamp(12px,1.8vw,16px)!important;
  border:1px solid var(--line,#cfd9ca)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.44)!important;
  box-shadow:0 18px 38px rgba(28,55,36,.10)!important;
  overflow:hidden!important;
}
:where(.finalCta,.final-cta,.bottomCta,.bottom-cta,.closingCta,.closing-cta,.ctaBand,.cta-band,.finalCtaBand,.final-cta-band,.planCta,.plan-cta,.bookingCta,.booking-cta,.tourFinalCta,.tour-final-cta,.shopFinalCta,.recommendationsFinalCta) :where(.finalGrid,.final-grid,.ctaGrid,.cta-grid,.bottomCtaGrid,.bottom-cta-grid){
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(240px,.42fr)!important;
  align-items:center!important;
  gap:clamp(16px,2.4vw,28px)!important;
  width:100%!important;
  min-height:0!important;
  padding:clamp(16px,2.2vw,24px)!important;
  border:1px solid var(--line,#cfd9ca)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.82)!important;
}
:where(.finalCta,.final-cta,.bottomCta,.bottom-cta,.closingCta,.closing-cta,.ctaBand,.cta-band,.finalCtaBand,.final-cta-band,.planCta,.plan-cta,.bookingCta,.booking-cta,.tourFinalCta,.tour-final-cta,.shopFinalCta,.recommendationsFinalCta) :where(.nextSteps,.next-steps,.whatNext,.what-next,.nextStepCard,.next-step-card){
  align-self:center!important;
  height:auto!important;
  min-height:0!important;
  padding:clamp(14px,2vw,20px)!important;
  border:1px solid var(--line,#cfd9ca)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.88)!important;
  box-shadow:none!important;
}
:where(.finalCta,.final-cta,.bottomCta,.bottom-cta,.closingCta,.closing-cta,.ctaBand,.cta-band,.finalCtaBand,.final-cta-band,.planCta,.plan-cta,.bookingCta,.booking-cta,.tourFinalCta,.tour-final-cta,.shopFinalCta,.recommendationsFinalCta) :where(.nextSteps,.next-steps,.whatNext,.what-next,.nextStepCard,.next-step-card) ol,
:where(.finalCta,.final-cta,.bottomCta,.bottom-cta,.closingCta,.closing-cta,.ctaBand,.cta-band,.finalCtaBand,.final-cta-band,.planCta,.plan-cta,.bookingCta,.booking-cta,.tourFinalCta,.tour-final-cta,.shopFinalCta,.recommendationsFinalCta) :where(.nextSteps,.next-steps,.whatNext,.what-next,.nextStepCard,.next-step-card) ul{
  margin:.55rem 0 0 1.1rem!important;
  padding:0!important;
}
:where(.finalCta,.final-cta,.bottomCta,.bottom-cta,.closingCta,.closing-cta,.ctaBand,.cta-band,.finalCtaBand,.final-cta-band,.planCta,.plan-cta,.bookingCta,.booking-cta,.tourFinalCta,.tour-final-cta,.shopFinalCta,.recommendationsFinalCta) :where(.ctaRow,.cta-row,.buttonRow,.button-row,.actions,.finalActions,.final-actions,.ctaActions,.cta-actions){
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px 12px!important;
  margin-top:clamp(14px,2vw,22px)!important;
}
:where(.finalCta,.final-cta,.bottomCta,.bottom-cta,.closingCta,.closing-cta,.ctaBand,.cta-band,.finalCtaBand,.final-cta-band,.planCta,.plan-cta,.bookingCta,.booking-cta,.tourFinalCta,.tour-final-cta,.shopFinalCta,.recommendationsFinalCta) :where(a.btn,button.btn,.btn,a.button,.button,.ctaButton,.cta-button,.primaryCta,.secondaryCta){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:42px!important;
  padding:10px 18px!important;
  border-radius:12px!important;
  line-height:1.15!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:normal!important;
  box-shadow:none!important;
}
:where(.finalCta,.final-cta,.bottomCta,.bottom-cta,.closingCta,.closing-cta,.ctaBand,.cta-band,.finalCtaBand,.final-cta-band,.planCta,.plan-cta,.bookingCta,.booking-cta,.tourFinalCta,.tour-final-cta,.shopFinalCta,.recommendationsFinalCta) :where(a.btn,button.btn,.btn,a.button,.button,.ctaButton,.cta-button,.primaryCta,.secondaryCta):hover,
:where(.finalCta,.final-cta,.bottomCta,.bottom-cta,.closingCta,.closing-cta,.ctaBand,.cta-band,.finalCtaBand,.final-cta-band,.planCta,.plan-cta,.bookingCta,.booking-cta,.tourFinalCta,.tour-final-cta,.shopFinalCta,.recommendationsFinalCta) :where(a.btn,button.btn,.btn,a.button,.button,.ctaButton,.cta-button,.primaryCta,.secondaryCta):focus{
  text-decoration:none!important;
}
:where(.finalCta,.final-cta,.bottomCta,.bottom-cta,.closingCta,.closing-cta,.ctaBand,.cta-band,.finalCtaBand,.final-cta-band,.planCta,.plan-cta,.bookingCta,.booking-cta,.tourFinalCta,.tour-final-cta,.shopFinalCta,.recommendationsFinalCta) :where(.btn.primary,.button.primary,.primaryCta,.cta-primary,[data-cta-primary]){
  background:#fff0ad!important;
  border-color:#e6b81e!important;
  color:#0b1d21!important;
}
:where(.finalCta,.final-cta,.bottomCta,.bottom-cta,.closingCta,.closing-cta,.ctaBand,.cta-band,.finalCtaBand,.final-cta-band,.planCta,.plan-cta,.bookingCta,.booking-cta,.tourFinalCta,.tour-final-cta,.shopFinalCta,.recommendationsFinalCta) :where(.btn.secondary,.button.secondary,.secondaryCta,.cta-secondary,[data-cta-secondary]){
  background:#dfeade!important;
  border-color:#7fab8e!important;
  color:#0b1d21!important;
}
@media (max-width:760px){
  :where(.finalCta,.final-cta,.bottomCta,.bottom-cta,.closingCta,.closing-cta,.ctaBand,.cta-band,.finalCtaBand,.final-cta-band,.planCta,.plan-cta,.bookingCta,.booking-cta,.tourFinalCta,.tour-final-cta,.shopFinalCta,.recommendationsFinalCta) :where(.finalGrid,.final-grid,.ctaGrid,.cta-grid,.bottomCtaGrid,.bottom-cta-grid){
    grid-template-columns:1fr!important;
    align-items:start!important;
  }
}
@media (max-width:480px){
  :where(.finalCta,.final-cta,.bottomCta,.bottom-cta,.closingCta,.closing-cta,.ctaBand,.cta-band,.finalCtaBand,.final-cta-band,.planCta,.plan-cta,.bookingCta,.booking-cta,.tourFinalCta,.tour-final-cta,.shopFinalCta,.recommendationsFinalCta) :where(.ctaRow,.cta-row,.buttonRow,.button-row,.actions,.finalActions,.final-actions,.ctaActions,.cta-actions){
    align-items:stretch!important;
  }
  :where(.finalCta,.final-cta,.bottomCta,.bottom-cta,.closingCta,.closing-cta,.ctaBand,.cta-band,.finalCtaBand,.final-cta-band,.planCta,.plan-cta,.bookingCta,.booking-cta,.tourFinalCta,.tour-final-cta,.shopFinalCta,.recommendationsFinalCta) :where(a.btn,button.btn,.btn,a.button,.button,.ctaButton,.cta-button,.primaryCta,.secondaryCta){
    width:100%!important;
  }
}
/* END MBW FINAL CTA + BUTTON CONSISTENCY LOCK */

/* === MBW HERO + FINAL CTA CONSISTENCY LOCK 2026-07-16 === */
:where(.finalCta, .final-cta, .finalCtaBand, .final-cta-band, .bottomCta, .bottom-cta, .ctaBand, .cta-band, .finalAction, .final-action, .finalBooking, .final-booking, .finalCtaWrap, .final-cta-wrap, .closingCta, .closing-cta, .bookCta, .book-cta, .finalPanel, .final-panel, .finalCtaPanel, .final-cta-panel, .nextStepCta, .next-step-cta) {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.75fr) !important;
  gap: clamp(16px, 3vw, 32px) !important;
  align-items: center !important;
  margin: clamp(24px, 4vw, 40px) 0 !important;
  padding: clamp(18px, 3vw, 32px) !important;
  border: 1px solid rgba(62, 88, 67, 0.22) !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, 0.78) !important;
  box-shadow: 0 18px 44px rgba(38, 64, 38, 0.1) !important;
}

:where(.finalCta, .final-cta, .finalCtaBand, .final-cta-band, .bottomCta, .bottom-cta, .ctaBand, .cta-band, .finalAction, .final-action, .finalBooking, .final-booking, .finalCtaWrap, .final-cta-wrap, .closingCta, .closing-cta, .bookCta, .book-cta, .finalPanel, .final-panel, .finalCtaPanel, .final-cta-panel, .nextStepCta, .next-step-cta) :where(.nextCard, .whatNext, .what-next, .nextSteps, .next-steps, .nextBox, .next-box, .nextPanel, .next-panel, aside) {
  align-self: center !important;
  background: rgba(255, 255, 255, 0.9) !important;
  border: 1px solid rgba(62, 88, 67, 0.2) !important;
  border-radius: 18px !important;
  padding: clamp(16px, 2vw, 24px) !important;
  box-shadow: none !important;
}

:where(.finalCta, .final-cta, .finalCtaBand, .final-cta-band, .bottomCta, .bottom-cta, .ctaBand, .cta-band, .finalAction, .final-action, .finalBooking, .final-booking, .finalCtaWrap, .final-cta-wrap, .closingCta, .closing-cta, .bookCta, .book-cta, .finalPanel, .final-panel, .finalCtaPanel, .final-cta-panel, .nextStepCta, .next-step-cta, .adHero, .heroGrid, .pageHero, .heroShell, .heroSection, .heroSplit, .heroPanelGrid, .articleHero, .tourHero, .speciesHero, .guideHero, .surfaceHero, .hero, .heroWrap, .hero-wrap) :where(.buttonStack, .button-stack, .buttonGroup, .button-group, .finalActions, .final-actions, .ctaActions, .cta-actions, .buttonRow, .button-row, .actionRow, .action-row, .heroActions, .hero-actions, .heroCtaRow, .hero-cta-row) {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  margin-top: clamp(14px, 2vw, 24px) !important;
  max-width: none !important;
}

:where(.finalCta, .final-cta, .finalCtaBand, .final-cta-band, .bottomCta, .bottom-cta, .ctaBand, .cta-band, .finalAction, .final-action, .finalBooking, .final-booking, .finalCtaWrap, .final-cta-wrap, .closingCta, .closing-cta, .bookCta, .book-cta, .finalPanel, .final-panel, .finalCtaPanel, .final-cta-panel, .nextStepCta, .next-step-cta, .adHero, .heroGrid, .pageHero, .heroShell, .heroSection, .heroSplit, .heroPanelGrid, .articleHero, .tourHero, .speciesHero, .guideHero, .surfaceHero, .hero, .heroWrap, .hero-wrap) :where(a.button, a.btn, .btn, .button, .ctaButton, .cta-button, .pillButton, .pill-button) {
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 42px !important;
  padding: 0.72rem 1rem !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  text-decoration: none !important;
  border-radius: 12px !important;
  line-height: 1.15 !important;
  white-space: normal !important;
  box-sizing: border-box !important;
}

@media (max-width: 760px) {
  :where(.finalCta, .final-cta, .finalCtaBand, .final-cta-band, .bottomCta, .bottom-cta, .ctaBand, .cta-band, .finalAction, .final-action, .finalBooking, .final-booking, .finalCtaWrap, .final-cta-wrap, .closingCta, .closing-cta, .bookCta, .book-cta, .finalPanel, .final-panel, .finalCtaPanel, .final-cta-panel, .nextStepCta, .next-step-cta) {
    grid-template-columns: 1fr !important;
  }
}
/* === END MBW HERO + FINAL CTA CONSISTENCY LOCK 2026-07-16 === */
}

/* === MBW BOOK-TOUR RESPONSIVE FORM LOCK 2026-07-23 ===
   Top-level and intentionally last so cached legacy component rules cannot win. */
body.tourRequestPage[data-css-cluster="tour_collection"] .tourRequestFormPanel{
  container-type:inline-size;
}

body.tourRequestPage[data-css-cluster="tour_collection"] :where(.tourPrimary,.tourAddOns){
  display:block !important;
  min-width:0 !important;
  margin:14px 0 !important;
  padding:16px !important;
  border:1px solid rgba(19,73,45,.18) !important;
  border-radius:16px !important;
  background:rgba(246,250,240,.78) !important;
  box-sizing:border-box !important;
  text-align:left !important;
}

body.tourRequestPage[data-css-cluster="tour_collection"] :where(.tourPrimary,.tourAddOns) > legend{
  width:auto !important;
  margin:0 !important;
  padding:0 8px !important;
  color:var(--green,#0d5925) !important;
  font-family:inherit !important;
  font-size:1rem !important;
  font-weight:850 !important;
  line-height:1.25 !important;
  text-align:left !important;
}

body.tourRequestPage[data-css-cluster="tour_collection"] :where(.tourPrimary,.tourAddOns) > .fieldHelp{
  display:block !important;
  margin:0 0 13px !important;
  color:var(--muted,#58636b) !important;
  font-size:.9rem !important;
  line-height:1.45 !important;
  text-align:left !important;
}

body.tourRequestPage[data-css-cluster="tour_collection"] :where(.tourPrimaryGrid,.tourAddOnGrid){
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:10px !important;
  width:100% !important;
  min-width:0 !important;
}

body.tourRequestPage[data-css-cluster="tour_collection"] :where(.tourPrimaryOption,.tourAddOnOption){
  display:grid !important;
  grid-template-columns:20px minmax(0,1fr) !important;
  align-items:start !important;
  gap:10px !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:12px !important;
  border:1px solid rgba(19,73,45,.2) !important;
  border-radius:13px !important;
  background:#fff !important;
  box-shadow:0 7px 18px rgba(20,60,32,.055) !important;
  box-sizing:border-box !important;
  cursor:pointer !important;
  text-align:left !important;
}

body.tourRequestPage[data-css-cluster="tour_collection"] .tourPrimaryOption{
  min-height:82px !important;
  border-width:1.5px !important;
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease !important;
}

body.tourRequestPage[data-css-cluster="tour_collection"] .tourPrimaryOption:hover{
  border-color:rgba(13,89,37,.48) !important;
  box-shadow:0 11px 23px rgba(20,60,32,.1) !important;
  transform:translateY(-1px);
}

body.tourRequestPage[data-css-cluster="tour_collection"] :where(.tourPrimaryOption,.tourAddOnOption) > input{
  position:static !important;
  display:block !important;
  grid-column:1 !important;
  grid-row:1 !important;
  width:18px !important;
  min-width:18px !important;
  max-width:18px !important;
  height:18px !important;
  min-height:18px !important;
  margin:2px 0 0 !important;
  padding:0 !important;
  accent-color:var(--green,#0d5925) !important;
  box-shadow:none !important;
}

body.tourRequestPage[data-css-cluster="tour_collection"] :where(.tourPrimaryOption,.tourAddOnOption) > span{
  display:grid !important;
  grid-column:2 !important;
  grid-row:1 !important;
  gap:4px !important;
  min-width:0 !important;
  text-align:left !important;
}

body.tourRequestPage[data-css-cluster="tour_collection"] :where(.tourPrimaryOption,.tourAddOnOption) strong{
  display:block !important;
  margin:0 !important;
  color:var(--ink,#071923) !important;
  font-size:.95rem !important;
  font-weight:850 !important;
  line-height:1.25 !important;
  overflow-wrap:anywhere;
}

body.tourRequestPage[data-css-cluster="tour_collection"] :where(.tourPrimaryOption,.tourAddOnOption) small{
  display:block !important;
  margin:0 !important;
  color:var(--muted,#58636b) !important;
  font-size:.8rem !important;
  font-weight:500 !important;
  line-height:1.38 !important;
  overflow-wrap:anywhere;
}

body.tourRequestPage[data-css-cluster="tour_collection"] .tourPrimaryOption:has(input:checked){
  border-color:var(--green,#0d5925) !important;
  background:linear-gradient(135deg,rgba(226,239,224,.98),rgba(246,250,240,.98)) !important;
  box-shadow:0 11px 25px rgba(13,89,37,.14),inset 0 0 0 1px rgba(13,89,37,.1) !important;
}

body.tourRequestPage[data-css-cluster="tour_collection"] .tourPrimaryOption:has(input:checked) strong{
  color:var(--green,#0d5925) !important;
}

body.tourRequestPage[data-css-cluster="tour_collection"] .tourAddOnOption:has(input:checked){
  border-color:rgba(13,89,37,.55) !important;
  background:rgba(226,239,224,.78) !important;
}

body.tourRequestPage[data-css-cluster="tour_collection"] .tourAddOnOption:has(input:disabled){
  opacity:.5 !important;
  cursor:not-allowed !important;
}

body.tourRequestPage[data-css-cluster="tour_collection"] :where(.tourPrimaryOption--wide,.tourAddOnOption--wide){
  grid-column:1 / -1 !important;
}

body.tourRequestPage[data-css-cluster="tour_collection"] .tourOtherDetails{
  display:grid !important;
  margin:12px 0 0 !important;
  text-align:left !important;
}

body.tourRequestPage[data-css-cluster="tour_collection"] .tourOtherDetails[hidden]{
  display:none !important;
}

body.tourRequestPage[data-css-cluster="tour_collection"] .guestAccommodationGrid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:12px !important;
  align-items:end !important;
}

@container (min-width:520px){
  body.tourRequestPage[data-css-cluster="tour_collection"] :where(.tourPrimaryGrid,.tourAddOnGrid){
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  body.tourRequestPage[data-css-cluster="tour_collection"] .guestAccommodationGrid{
    grid-template-columns:minmax(125px,.68fr) minmax(230px,1.32fr) !important;
  }
}

body.tourRequestPage[data-css-cluster="tour_collection"] .finalCta.finalCta--split,
body.tourRequestPage[data-css-cluster="tour_collection"] .finalCta.finalCta--split :where(.finalGrid,.finalLeft,.nextSteps,h2,h3,p,ol,li){
  text-align:left !important;
}

body.tourRequestPage[data-css-cluster="tour_collection"] .finalCta.finalCta--split .finalLeft{
  align-items:flex-start !important;
}

body.tourRequestPage[data-css-cluster="tour_collection"] .finalCta.finalCta--split .nextSteps{
  align-items:stretch !important;
}

body.tourRequestPage[data-css-cluster="tour_collection"] .finalCta.finalCta--split .nextSteps ol{
  margin:0 !important;
  padding-left:1.35rem !important;
}

body.tourRequestPage[data-css-cluster="tour_collection"] .finalCta.finalCta--split .ctaRow{
  justify-content:flex-start !important;
}

@media(max-width:760px){
  body.tourRequestPage[data-css-cluster="tour_collection"] .tourRequestConversionGrid{
    grid-template-columns:minmax(0,1fr) !important;
  }

  body.tourRequestPage[data-css-cluster="tour_collection"] :where(.tourPrimary,.tourAddOns){
    padding:13px !important;
  }

  body.tourRequestPage[data-css-cluster="tour_collection"] .tourPrimaryOption{
    min-height:0 !important;
  }

  body.tourRequestPage[data-css-cluster="tour_collection"] .finalCta.finalCta--split .finalGrid{
    grid-template-columns:minmax(0,1fr) !important;
  }

  body.tourRequestPage[data-css-cluster="tour_collection"] .finalCta.finalCta--split .nextSteps{
    width:100% !important;
    max-width:none !important;
  }
}
/* === END MBW BOOK-TOUR RESPONSIVE FORM LOCK 2026-07-23 === */

/* === MBW BOOK-TOUR MOBILE FIELD + PRIMARY CTA POLISH 2026-07-23 === */
body.tourRequestPage[data-css-cluster="tour_collection"] #bookTourForm,
body.tourRequestPage[data-css-cluster="tour_collection"] #bookTourForm .grid-2,
body.tourRequestPage[data-css-cluster="tour_collection"] #bookTourForm .field{
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

body.tourRequestPage[data-css-cluster="tour_collection"] #bookTourForm input[type="date"]{
  display:block !important;
  inline-size:100% !important;
  width:100% !important;
  min-inline-size:0 !important;
  min-width:0 !important;
  max-inline-size:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

body.tourRequestPage[data-css-cluster="tour_collection"] #bookTourForm .ctaRow > :where(button.btn,a.btn){
  min-height:44px !important;
  font-family:inherit !important;
  font-size:.95rem !important;
  font-weight:850 !important;
  line-height:1.15 !important;
  letter-spacing:0 !important;
}

body.tourRequestPage[data-css-cluster="tour_collection"] #bookTourForm #submitBtn{
  font-family:inherit !important;
  font-size:.95rem !important;
  font-weight:850 !important;
}

@media(max-width:760px){
  body.tourRequestPage[data-css-cluster="tour_collection"] #bookTourForm .grid-2{
    width:100% !important;
    overflow:visible !important;
  }

  body.tourRequestPage[data-css-cluster="tour_collection"] #bookTourForm input[type="date"]{
    font-size:16px !important;
  }

  body.tourRequestPage[data-css-cluster="tour_collection"] #bookTourForm .ctaRow > :where(button.btn,a.btn){
    width:100% !important;
    min-height:50px !important;
    font-size:1rem !important;
  }
}
/* === END MBW BOOK-TOUR MOBILE FIELD + PRIMARY CTA POLISH 2026-07-23 === */

/* iOS Safari gives native date controls an intrinsic width wider than their
   grid column. Keep the native picker but constrain its rendered box. */
@supports (-webkit-touch-callout:none){
  @media(max-width:760px){
    body.tourRequestPage[data-css-cluster="tour_collection"] #bookTourForm .grid-2 > .field{
      width:100% !important;
      min-width:0 !important;
      max-width:100% !important;
      overflow:hidden !important;
    }

    body.tourRequestPage[data-css-cluster="tour_collection"] #bookTourForm input[type="date"]{
      -webkit-appearance:none !important;
      appearance:none !important;
      display:block !important;
      inline-size:-webkit-fill-available !important;
      width:-webkit-fill-available !important;
      min-inline-size:0 !important;
      min-width:0 !important;
      max-inline-size:100% !important;
      max-width:100% !important;
      margin-inline:0 !important;
      box-sizing:border-box !important;
      overflow:hidden !important;
    }

    body.tourRequestPage[data-css-cluster="tour_collection"] #bookTourForm input[type="date"]::-webkit-date-and-time-value{
      min-width:0 !important;
      margin:0 !important;
      text-align:left !important;
    }
  }
}

/* Mobile date pickers render disabled dates differently, so the same rules
   are also enforced by the page script with a visible inline message. */
body.tourRequestPage[data-css-cluster="tour_collection"] #bookTourForm .dateError{
  margin:-4px 0 12px;
  padding:10px 12px;
  border:1px solid #c85b4f;
  border-radius:10px;
  background:#fff4f2;
  color:#7a1f18;
  font-size:.9rem;
  font-weight:700;
  line-height:1.35;
}

body.tourRequestPage[data-css-cluster="tour_collection"] #bookTourForm .dateError[hidden]{
  display:none !important;
}

/* Keep the single native Apple picker and vertically center its selected
   value inside the mobile field. */
@supports (-webkit-touch-callout:none){
  @media(max-width:760px){
    body.tourRequestPage[data-css-cluster="tour_collection"] #bookTourForm input[type="date"]{
      height:50px !important;
      min-height:50px !important;
      padding-top:0 !important;
      padding-bottom:0 !important;
      line-height:50px !important;
    }

    body.tourRequestPage[data-css-cluster="tour_collection"] #bookTourForm input[type="date"]::-webkit-date-and-time-value{
      display:flex !important;
      align-items:center !important;
      height:50px !important;
      min-height:50px !important;
      padding:0 !important;
      line-height:1.2 !important;
      text-align:left !important;
    }

    body.tourRequestPage[data-css-cluster="tour_collection"] #bookTourForm input[type="date"]::-webkit-calendar-picker-indicator{
      align-self:center !important;
      margin-block:0 !important;
    }
  }
}
