/* /var/www/airportcabotrips.com/public/assets/css/style.css */
/* v12 - premium claro (sky + sand) + mobile fixes */

:root{
  --font-body: "Manrope", "Helvetica Neue", "Helvetica", sans-serif;
  --font-display: "Cormorant Garamond", "Times New Roman", serif;
  --site-chrome-height: 88px;
  --site-chrome-offset: 88px;

  /* Light theme foundation (ivory + sky) */
  --bg:  #F6F3EE;
  --bg2: #EAF1F6;

  /* Surfaces (solid, no dark glass) */
  --card:    #FBF9F5;
  --surface: #FFFFFF;
  --surface2:#FDFBF8;

  /* Text */
  --text:#0B1B2B;
  --muted:  rgba(11,27,43,.72);
  --muted2: rgba(11,27,43,.56);
  --white:#fff;

  /* Premium gold accents (kept close) */
  --gold:#C8A24A;
  --gold2:#E4C97A;

  /* Borders (more visible but still fine) */
  --border:  rgba(11,27,43,.14);
  --border2: rgba(11,27,43,.22);

  /* Shadows (soft, elegant, less black) */
  --shadow: 0 18px 46px rgba(11,27,43,.10), 0 3px 10px rgba(11,27,43,.06);

  --radius: 18px;
  --radius2: 22px;

  --container: 1220px;
}

*{ box-sizing:border-box; }
html,body{
  min-height:100%;
  overflow-x:hidden;
  touch-action: manipulation;
}
@supports (overflow: clip){
  html,body{ overflow-x:clip; }
}
body{
  margin:0;
  color:var(--text);
  font-family: var(--font-body);
  background:
    radial-gradient(1100px 680px at 18% 0%, rgba(228,201,122,.18), transparent 62%),
    radial-gradient(1000px 700px at 85% 10%, rgba(164,188,202,.35), transparent 62%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg2) 62%, #F2F6F8 100%);
}

.skip-link{
  position:absolute;
  left:14px;
  top:-40px;
  padding:8px 12px;
  border-radius:10px;
  background: #fff;
  color: rgba(11,27,43,.95);
  border:1px solid var(--border2);
  box-shadow: 0 8px 18px rgba(11,27,43,.10);
  z-index: 999;
  transition: top .15s ease;
}
.skip-link:focus{
  top: 12px;
}

h1,h2,h3,.brand__name{
  font-family: var(--font-display);
  letter-spacing: .2px;
}

body[data-theme="tropical"]{
  --font-body: "DM Sans", "Helvetica Neue", "Helvetica", sans-serif;
  --font-display: "Fraunces", "Georgia", serif;
  --bg: #F6F1E8;
  --bg2: #DFF1EA;
  --card: #FFF9F1;
  --surface: #FFFFFF;
  --surface2: #FFF6E8;
  --text: #0F2E2B;
  --muted: rgba(15,46,43,.70);
  --muted2: rgba(15,46,43,.54);
  --gold: #E7794B;
  --gold2: #F1B36A;
  --border: rgba(15,46,43,.14);
  --border2: rgba(15,46,43,.22);
  --shadow: 0 20px 50px rgba(15,46,43,.12), 0 4px 12px rgba(15,46,43,.08);
  background:
    radial-gradient(1200px 700px at 15% 0%, rgba(231,121,75,.18), transparent 62%),
    radial-gradient(1000px 650px at 85% 15%, rgba(64,166,151,.28), transparent 62%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg2) 65%, #E7F2EE 100%);
}

body[data-theme="bold"]{
  --font-body: "Space Grotesk", "Helvetica Neue", "Helvetica", sans-serif;
  --font-display: "League Spartan", "Helvetica Neue", "Helvetica", sans-serif;
  --bg: #F4F5F7;
  --bg2: #E7ECF3;
  --card: #FFFFFF;
  --surface: #FFFFFF;
  --surface2: #F2F6FB;
  --text: #0B1220;
  --muted: rgba(11,18,32,.70);
  --muted2: rgba(11,18,32,.54);
  --gold: #FF6B35;
  --gold2: #FFB454;
  --border: rgba(11,18,32,.14);
  --border2: rgba(11,18,32,.24);
  --shadow: 0 18px 46px rgba(11,18,32,.14), 0 5px 14px rgba(11,18,32,.08);
  background:
    radial-gradient(1200px 720px at 12% 8%, rgba(255,107,53,.20), transparent 60%),
    radial-gradient(900px 620px at 85% 12%, rgba(34,139,230,.25), transparent 62%),
    linear-gradient(180deg, var(--bg) 0%, var(--bg2) 65%, #F0F3F7 100%);
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button,input,select{ font:inherit; }
:focus-visible{
  outline: 3px solid rgba(200,162,74,.55);
  outline-offset: 2px;
}

.container{
  width:min(var(--container), calc(100% - 40px));
  margin:0 auto;
}

body.has-site-chrome main{
  padding-top: var(--site-chrome-offset);
}

/* Utilities */
.mt-12{ margin-top:12px; }
.badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  font-weight:600;
  font-size:12px;
  color: rgba(11,27,43,.90);
  background: rgba(200,162,74,.14);
  border:1px solid rgba(200,162,74,.32);
}

/* Site chrome */
.site-chrome{
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 1100;
  transition: transform .36s cubic-bezier(.22, 1, .36, 1), opacity .24s ease;
  will-change: transform, opacity;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
}
.site-chrome.is-scroll-hidden{
  transform: translate3d(0, calc(-100% - 12px), 0);
  opacity: 0;
  pointer-events: none;
}
body.is-booking-focused .site-chrome{
  transform: translate3d(0, calc(-100% - 12px), 0);
  opacity: 0;
  pointer-events: none;
}

/* Header */
.header{
  position:relative;
  z-index:1;
  height: var(--site-chrome-height);
  min-height: 0;
  overflow: visible;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,245,237,.98));
  border-bottom:1px solid rgba(11,27,43,.18);
  box-shadow: 0 10px 24px rgba(11,27,43,.10);
  backdrop-filter: blur(14px) saturate(140%);
}
.header > .container{
  position: relative;
  height: 100%;
}
.header__bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: clamp(14px, 2vw, 24px);
  height: 100%;
  padding: 0;
  min-width:0;
}
.header .header__bar{
  padding: 0;
}
.header__summary{
  display:flex;
  flex:1 1 auto;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
}
.header__pill{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  min-height:30px;
  padding:6px 12px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color: rgba(11,27,43,.92);
  background:
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(248,244,237,.88)),
    linear-gradient(180deg, rgba(200,162,74,.20), rgba(164,188,202,.18));
  border:1px solid rgba(200,162,74,.34);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 10px 20px rgba(11,27,43,.06);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.header__meta{
  max-width:100%;
  font-size:12px;
  color: rgba(11,27,43,.62);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.brand{
  display:flex;
  align-items:center;
  gap:0;
  height: 100%;
  min-width:0;
}
.header .brand{
  padding-right: 12px;
}
.brand__mark{
  width:36px;
  height:36px;
  border-radius:12px;
  background-color: #C8A24A;
  background:
    radial-gradient(circle at 30% 30%, rgba(228,201,122,.60), transparent 62%),
    linear-gradient(135deg, rgba(200,162,74,.75), rgba(255,255,255,.55));
  border:1px solid rgba(200,162,74,.48);
  box-shadow: 0 14px 28px rgba(11,27,43,.14);
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.brand-badge{
  width:auto;
  height:48px;
  border-radius:0;
  background:none;
  border:none;
  box-shadow:none;
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:visible;
}
.brand-badge img{
  width: auto;
  height: 100%;
  max-width: none;
  object-fit: contain;
  display:block;
}
.header .brand__mark{
  box-shadow: 0 16px 34px rgba(11,27,43,.16);
}
.header .brand-badge{
  box-shadow:none;
}
.header .brand__name{
  color: rgba(11,27,43,.96);
}
.header .brand__tag{
  color: rgba(11,27,43,.62);
}
.brand__text{ min-width:0; display:flex; flex-direction:column; }
.brand__name{
  font-weight:700;
  letter-spacing:.2px;
  color: rgba(11,27,43,.96);
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.brand__tag{
  font-size:12px;
  color: rgba(11,27,43,.62);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.nav{
  display:none;
  flex:1 1 auto;
  justify-content:center;
  gap:8px;
  align-items:center;
  height: 100%;
}
.nav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 40px;
  font-size:13px;
  color: rgba(11,27,43,.78);
  padding:8px 12px;
  border-radius:999px;
  transition: background .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease;
  border: 1px solid transparent;
}
.nav a:hover{
  background: rgba(164,188,202,.22);
  color: rgba(11,27,43,.94);
  border-color: rgba(132,167,196,.30);
  box-shadow: 0 8px 18px rgba(11,27,43,.08);
}
.nav a.is-active{
  color: rgba(11,27,43,.98);
  background: rgba(200,162,74,.18);
  border-color: rgba(200,162,74,.35);
  box-shadow: inset 0 0 0 1px rgba(200,162,74,.25);
}
.header .nav a{
  color: rgba(11,27,43,.78);
}
.header .nav a:hover{
  background: rgba(164,188,202,.22);
  color: rgba(11,27,43,.94);
  border-color: rgba(132,167,196,.30);
  box-shadow: 0 8px 18px rgba(11,27,43,.08);
}
.header .nav a.is-active{
  color: rgba(11,27,43,.98);
  background: rgba(200,162,74,.18);
  border-color: rgba(200,162,74,.35);
  box-shadow: inset 0 0 0 1px rgba(200,162,74,.25);
}

.header__actions{
  display:flex;
  align-items:center;
  gap:10px;
  height: 100%;
  flex:0 0 auto;
}
.header__actions .hamburger{
  display:none;
}
.header__actions::before{
  content:none;
  display:none;
}
.header .header__actions::before{
  content:none;
  display:none;
}
.hamburger{
  width:42px;
  height:42px;
  border-radius:14px;
  border:1px solid var(--border2);
  background: rgba(255,255,255,.88);
  color: rgba(11,27,43,.92);
  cursor:pointer;
  position:relative;
  box-shadow: 0 10px 22px rgba(11,27,43,.10);
}
.header .hamburger{
  border-color: rgba(11,27,43,.18);
  background: rgba(255,255,255,.88);
  color: rgba(11,27,43,.92);
  box-shadow: 0 10px 22px rgba(11,27,43,.10);
}
.hamburger span,
.hamburger span::before,
.hamburger span::after{
  content:"";
  display:block;
  width:18px;
  height:2px;
  background: rgba(11,27,43,.82);
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  border-radius:2px;
}
.header .hamburger span,
.header .hamburger span::before,
.header .hamburger span::after{
  background: rgba(11,27,43,.82);
}
.hamburger span{ top:50%; }
.hamburger span::before{ top:-6px; position:absolute; }
.hamburger span::after{ top:6px; position:absolute; }

.mobile-nav{
  display:none;
  position:absolute;
  top: calc(100% + 10px);
  left: 0;
  right: 0;
  z-index: 5;
  max-height: calc(100vh - var(--site-chrome-offset) - 24px);
  overflow:auto;
  flex-direction:column;
  gap:6px;
  padding:0;
}
.header .mobile-nav{
  padding: 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(11,27,43,.16);
  box-shadow: 0 18px 34px rgba(11,27,43,.14);
}
.mobile-nav a{
  padding:12px 12px;
  border-radius:14px;
  font-size:14px;
  color: rgba(11,27,43,.90);
  background: rgba(255,255,255,.86);
  border:1px solid var(--border);
}
.header .mobile-nav a{
  color: rgba(11,27,43,.90);
  background: rgba(255,255,255,.86);
  border-color: var(--border);
}
.mobile-nav a:hover{
  background: rgba(164,188,202,.22);
  border-color: rgba(132,167,196,.30);
}
.mobile-nav a.is-active{
  background: rgba(200,162,74,.18);
  border-color: rgba(200,162,74,.35);
}
.header .mobile-nav a:hover{
  background: rgba(164,188,202,.22);
  border-color: rgba(132,167,196,.30);
}
.header .mobile-nav a.is-active{
  background: rgba(200,162,74,.18);
  border-color: rgba(200,162,74,.35);
}
.header .mobile-nav a.mobile-nav__secondary{
  background: rgba(255,255,255,.92);
  border-color: rgba(132,167,196,.36);
}
.header .mobile-nav a.mobile-nav__cta{
  background: linear-gradient(135deg, rgba(228,201,122,.92), rgba(200,162,74,.92));
  color: #13263a;
  border-color: rgba(200,162,74,.56);
  box-shadow: 0 12px 24px rgba(200,162,74,.18);
  font-weight:700;
}
.mobile-nav.is-open{ display:flex; }

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px 14px;
  border-radius:14px;
  font-weight:700;
  font-size:13px;
  cursor:pointer;
  border:1px solid transparent;
  transition: transform .05s ease, background .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
  user-select:none;
  white-space:nowrap;
}
.btn:active{ transform: translateY(1px); }

.btn--primary{
  background: linear-gradient(135deg, rgba(228,201,122,.92), rgba(200,162,74,.92));
  color: #13263a;
  border-color: rgba(200,162,74,.62);
  box-shadow: 0 16px 30px rgba(200,162,74,.18);
}
.btn--primary:hover{
  box-shadow: 0 18px 34px rgba(200,162,74,.22);
  filter: saturate(1.03);
}
#submitBtn{
  position: relative;
  overflow: hidden;
  isolation: isolate;
  min-width: min(100%, 280px);
  min-height: 52px;
  transform-origin: 50% 50%;
  transition: transform 180ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 240ms cubic-bezier(0.22, 1, 0.36, 1), filter 220ms ease, background 220ms ease, border-color 220ms ease, color 220ms ease;
}
#submitBtn::after{
  content: "";
  position: absolute;
  top: -18%;
  bottom: -18%;
  left: -24%;
  width: 32%;
  opacity: 0;
  pointer-events: none;
  background: linear-gradient(115deg, rgba(255,255,255,0), rgba(255,255,255,.56), rgba(255,255,255,0));
  transform: skewX(-22deg) translate3d(-160%, 0, 0);
}
#submitBtn .btnText,
#submitBtn .btnLoader{
  position: relative;
  z-index: 1;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 0;
  transition: opacity 180ms ease, transform 240ms cubic-bezier(0.22, 1, 0.36, 1), filter 220ms ease;
}
#submitBtn .btnText{
  display: inline-flex;
}
#submitBtn .btnLoader{
  display: none;
  font-weight: 800;
  letter-spacing: .01em;
}
#submitBtn .btnLoader::before{
  content: "";
  width: 16px;
  height: 16px;
  border-radius: 999px;
  border: 2px solid rgba(19,38,58,.24);
  border-top-color: rgba(19,38,58,.92);
  box-shadow: 0 0 0 2px rgba(255,255,255,.16);
  animation: wizardSubmitSpin 720ms linear infinite;
}
#submitBtn:disabled:not(.is-success){
  cursor: progress;
}
#submitBtn.is-submitting{
  transform: translate3d(0, -1px, 0) scale(1.012);
  box-shadow: 0 22px 42px rgba(200,162,74,.26);
  filter: saturate(1.04);
}
#submitBtn.is-submitting::after{
  opacity: .82;
  animation: wizardSubmitSweep 980ms cubic-bezier(0.22, 1, 0.36, 1) infinite;
}
#submitBtn.is-submitting .btnLoader{
  animation: wizardSubmitLabelIn 240ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
#submitBtn.is-submitting .btnText{
  opacity: 0;
  transform: translate3d(0, -7px, 0) scale(.98);
  filter: blur(2px);
}

.btn--outline{
  background: rgba(255,255,255,.92);
  color: rgba(11,27,43,.92);
  border-color: rgba(132,167,196,.55);
  box-shadow: 0 10px 22px rgba(11,27,43,.08);
}
.btn--outline:hover{
  background: rgba(164,188,202,.20);
  border-color: rgba(132,167,196,.62);
}
.header .btn--outline{
  background: rgba(255,255,255,.92);
  color: rgba(11,27,43,.92);
  border-color: rgba(132,167,196,.55);
  box-shadow: 0 10px 22px rgba(11,27,43,.08);
}
.header .btn--outline:hover{
  background: rgba(164,188,202,.20);
  border-color: rgba(132,167,196,.62);
}
.header__actions .btn{
  min-height: 40px;
  align-self: center;
}

/* Secondary links */
.link-secondary,
a.link-secondary{
  color: rgba(11,27,43,.68);
  font-weight: 600;
  letter-spacing: .2px;
  text-decoration: none;
  border-bottom: 1px solid rgba(132,167,196,.35);
  transition: color .15s ease, border-color .15s ease, opacity .15s ease;
}
.link-secondary:hover,
.link-secondary:focus{
  color: rgba(11,27,43,.9);
  border-color: rgba(200,162,74,.65);
}
.link-secondary:active{
  opacity: .9;
}

/* Sections */
.section{ padding: 44px 0; }
.section-title{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-bottom: 16px;
}
.section-title h2{
  margin:0;
  font-family:"Cormorant Garamond", serif;
  font-weight:700;
  color: rgba(11,27,43,.96);
  letter-spacing:.2px;
}
.section-title p{
  margin:6px 0 0;
  color: rgba(11,27,43,.62);
  font-size:13px;
  max-width: 56ch;
}

/* Home sizing improvements */
.page-home .section{
  padding: 58px 0;
}
.page-home-theme .section{
  padding: 54px 0;
}
.page-home-theme main,
.page-review main,
.page-thank main{
  position: relative;
  isolation: isolate;
}
.page-home-theme main::before,
.page-review main::before,
.page-thank main::before{
  content:"";
  position:absolute;
  inset: 0 0 auto;
  height: 360px;
  background:
    radial-gradient(900px 360px at 14% 0%, rgba(200,162,74,.18), transparent 68%),
    radial-gradient(940px 420px at 86% 0%, rgba(164,188,202,.18), transparent 72%);
  pointer-events:none;
  z-index:-1;
}
.page-home-theme .section-title{
  align-items: flex-start;
  margin-bottom: 22px;
}
.page-home-theme .section-title > div{
  max-width: 760px;
}
.page-home-theme .section-title h1,
.page-home-theme .section-title h2{
  font-size: clamp(32px, 4vw, 44px);
  line-height: 1.02;
}
.page-home-theme .section-title p{
  max-width: 64ch;
  font-size: 15px;
  line-height: 1.7;
}
.page-home-theme .hero{
  padding-top: 12px;
}
.page-home-theme .hero__card{
  box-shadow: 0 24px 54px rgba(11,27,43,.14), 0 6px 18px rgba(11,27,43,.06);
}
.page-home-theme .hero__copy h1{
  font-size: clamp(36px, 4.3vw, 46px);
}
.page-home-theme .hero__copy p{
  font-size: 16px;
}
.page-home-theme .hero__media{
  min-height: 300px;
}
.page-home-theme .card,
.page-home-theme .route-card,
.page-home-theme .contact-card{
  border-color: rgba(214,197,165,.48);
  box-shadow: 0 22px 46px rgba(11,27,43,.10), 0 4px 12px rgba(11,27,43,.05);
}
.page-home-theme .card,
.page-home-theme .contact-card{
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,246,239,.97));
}
.page-home-theme .route-card{
  background:
    radial-gradient(360px 180px at 0% 0%, rgba(200,162,74,.16), transparent 64%),
    linear-gradient(140deg, rgba(255,255,255,.96), rgba(248,244,237,.96));
}
.page-home-theme .route-card:hover{
  box-shadow: 0 28px 48px rgba(11,27,43,.12);
}
.page-fleet .section:first-of-type .container,
.page-404 .section:first-of-type .container{
  position: relative;
  padding: 28px;
  border-radius: 28px;
  background:
    radial-gradient(720px 240px at 0% 0%, rgba(231,121,75,.14), transparent 58%),
    radial-gradient(740px 260px at 100% 0%, rgba(64,166,151,.14), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,249,241,.96));
  border: 1px solid rgba(15,46,43,.12);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.page-fleet .section:first-of-type .container::after,
.page-404 .section:first-of-type .container::after{
  content:"";
  position:absolute;
  inset:auto 28px 0;
  height:1px;
  background: linear-gradient(90deg, rgba(231,121,75,0), rgba(231,121,75,.42), rgba(64,166,151,0));
  pointer-events:none;
}
.page-fleet .section-title{
  margin-bottom: 24px;
}
.page-fleet .section-title > div{
  max-width: none;
}
.fleet-hero{
  display:grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(240px, .75fr);
  gap: clamp(18px, 3vw, 34px);
  align-items: end;
}
.fleet-kicker{
  display:block;
  margin-bottom: 10px;
  color: rgba(231,121,75,.92);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.page-fleet .section-title h1{
  color: rgba(15,46,43,.96);
  font-size: clamp(34px, 4vw, 46px);
  line-height: 1.02;
  margin-bottom: 10px;
}
.page-fleet .section-title p{
  color: rgba(15,46,43,.66);
  max-width: 66ch;
}
.page-fleet .section-title .fleet-lede{
  color: rgba(15,46,43,.82);
  font-size: 16px;
  line-height: 1.65;
  max-width: 64ch;
}
.fleet-pills{
  display:flex;
  flex-wrap:wrap;
  gap: 8px;
  margin-top: 14px;
}
.fleet-pills span{
  display:inline-flex;
  align-items:center;
  min-height: 32px;
  padding: 7px 11px;
  border-radius: 999px;
  color: rgba(15,46,43,.82);
  background: rgba(255,255,255,.64);
  border: 1px solid rgba(231,121,75,.20);
  font-size: 12px;
  font-weight: 700;
  box-shadow: 0 8px 18px rgba(15,46,43,.04);
}
.fleet-hero__aside{
  padding: 16px 0 2px;
  border-top: 1px solid rgba(231,121,75,.28);
}
.fleet-hero__aside span{
  display:block;
  color: rgba(231,121,75,.88);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.fleet-hero__aside strong{
  display:block;
  margin-top: 8px;
  color: rgba(15,46,43,.94);
  font-size: clamp(22px, 3vw, 32px);
  line-height: 1.04;
}
.fleet-hero__aside p{
  margin-top: 10px;
  color: rgba(15,46,43,.64);
  font-size: 13px;
  line-height: 1.65;
}
.page-fleet .route-grid{
  margin-top: 20px;
}
.page-fleet .veh-cards{
  grid-template-columns: repeat(auto-fit, minmax(292px, 1fr));
  gap: 20px;
  margin-top: 0;
}
.page-fleet .veh-card{
  background:
    radial-gradient(360px 180px at 0% 0%, rgba(231,121,75,.10), transparent 64%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,249,241,.97));
  border-color: rgba(15,46,43,.12);
  box-shadow: 0 18px 42px rgba(15,46,43,.10), 0 4px 12px rgba(15,46,43,.06);
}
.page-fleet .veh-card__media{
  min-height: 220px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.page-fleet .veh-card__media::after{
  background:
    linear-gradient(180deg, rgba(15,46,43,0) 48%, rgba(15,46,43,.18));
}
.page-fleet .veh-card__content{
  display: grid;
  gap: 10px;
  padding: 20px 20px 22px;
}
.page-fleet .veh-card__content h3{
  color: rgba(15,46,43,.96);
  font-size: 24px;
  margin: 0;
}
.page-fleet .page-fleet__short{
  margin: -2px 0 0;
  color: rgba(15,46,43,.74);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
}
.page-fleet .page-fleet__facts{
  margin: 0;
  color: rgba(15,46,43,.66);
  font-size: 14px;
  line-height: 1.6;
}
.page-fleet .expect-list{
  margin-top: 2px;
  color: rgba(15,46,43,.78);
  font-size: 13px;
}
.page-fleet .page-fleet__actions{
  margin-top: 2px;
}
.page-fleet .page-fleet__actions .btn{
  width: 100%;
}
@media (max-width: 820px){
  .fleet-hero{
    grid-template-columns: 1fr;
  }
  .page-fleet .section-title{
    margin-bottom: 24px;
  }
}

/* Contextual mobile booking action. Hidden while the form or keyboard is active. */
.mobile-booking-cta{ display:none; }
@media (max-width: 767px){
  body.has-mobile-booking-cta{ padding-bottom:calc(78px + env(safe-area-inset-bottom)); }
  .mobile-booking-cta{
    position:fixed;
    z-index:950;
    left:12px;
    right:12px;
    bottom:max(10px, env(safe-area-inset-bottom));
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:9px 9px 9px 13px;
    border:1px solid rgba(11,27,43,.14);
    border-radius:16px;
    background:rgba(251,249,245,.96);
    color:var(--text);
    box-shadow:0 18px 40px rgba(11,27,43,.18), 0 2px 8px rgba(11,27,43,.08);
    backdrop-filter:blur(16px) saturate(140%);
    transition:opacity .2s ease, transform .24s ease, visibility .2s ease;
  }
  .mobile-booking-cta.is-hidden{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate3d(0,18px,0);
  }
  .mobile-booking-cta__copy{ min-width:0; display:grid; gap:2px; }
  .mobile-booking-cta__copy span{ color:rgba(11,27,43,.84); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
  .mobile-booking-cta__copy strong{ overflow:hidden; color:var(--muted2); font-size:11px; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
  .mobile-booking-cta__button{
    flex:0 0 auto;
    min-height:46px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 16px;
    border:1px solid rgba(200,162,74,.42);
    border-radius:12px;
    background:linear-gradient(135deg,var(--gold2),var(--gold));
    color:#0b1b2b;
    font-size:13px;
    font-weight:900;
    text-decoration:none;
    box-shadow:0 9px 20px rgba(200,162,74,.2);
  }
}
@media (max-width: 365px){
  .mobile-booking-cta__copy strong{ display:none; }
  .mobile-booking-cta__button{ padding:0 13px; }
}
.page-404 .hero__cta{
  margin-top: 18px;
}
.page-home .home-booking-priority{
  position: relative;
  padding: 18px 0 8px;
}
.page-home .home-booking-priority::before{
  content:"";
  position:absolute;
  inset: 8px 0 0;
  background:
    radial-gradient(900px 360px at 15% 0%, rgba(200,162,74,.18), transparent 68%),
    radial-gradient(900px 420px at 85% 0%, rgba(164,188,202,.18), transparent 72%);
  pointer-events:none;
}
.page-home .home-booking-priority > *{
  position: relative;
  z-index: 1;
}
.page-home .home-booking-priority .section{
  padding: 20px 0 12px;
}
.page-home .home-booking-priority .card{
  box-shadow: 0 22px 48px rgba(11,27,43,.14), 0 4px 14px rgba(11,27,43,.08);
}
.page-home .home-booking-priority #booking > .section-title{
  margin-bottom: 18px;
}
.page-home .hero{
  padding-top: 8px;
}
.page-home .hero__copy h1{
  font-size: 38px;
}
.page-home .hero__copy p{
  font-size: 16px;
}
.page-home .trust-chip{
  font-size: 13px;
  padding: 9px 12px;
}
.page-home .hero__statValue{ font-size: 22px; }
.page-home .hero__statLabel{ font-size: 13px; }
.page-home .hero__fineprint{ font-size: 13px; }
.page-home .hero__media{ min-height: 300px; }
.page-home .signal__card h3{ font-size: 22px; }
.page-home .signal__card p{ font-size: 14px; }
.page-home .route-card h3{ font-size: 21px; }
.page-home .route-card p{ font-size: 14px; }
.page-home .veh-card__media{ min-height: 210px; }
.page-home .veh-card__content h3{ font-size: 20px; }
.page-home .veh-card__content p{ font-size: 14px; }

/* First home visit intro animation */
@keyframes homeIntroRise{
  from{
    opacity:0;
    transform: translateY(18px);
    filter: blur(3px);
  }
  to{
    opacity:1;
    transform: translateY(0);
    filter: blur(0);
  }
}
html.intro-first-visit .page-home .hero__copy > *,
html.intro-first-visit .page-home .hero__media,
html.intro-first-visit .page-home #booking .card{
  opacity:0;
  animation: homeIntroRise .65s cubic-bezier(.22,1,.36,1) forwards;
}
html.intro-first-visit .page-home .hero__copy > *:nth-child(1){ animation-delay: .04s; }
html.intro-first-visit .page-home .hero__copy > *:nth-child(2){ animation-delay: .12s; }
html.intro-first-visit .page-home .hero__copy > *:nth-child(3){ animation-delay: .20s; }
html.intro-first-visit .page-home .hero__copy > *:nth-child(4){ animation-delay: .28s; }
html.intro-first-visit .page-home .hero__copy > *:nth-child(5){ animation-delay: .36s; }
html.intro-first-visit .page-home .hero__copy > *:nth-child(6){ animation-delay: .44s; }
html.intro-first-visit .page-home .hero__media{ animation-delay: .22s; }
html.intro-first-visit .page-home #booking .card{ animation-delay: .52s; }
@media (prefers-reduced-motion: reduce){
  html.intro-first-visit .page-home .hero__copy > *,
  html.intro-first-visit .page-home .hero__media,
  html.intro-first-visit .page-home #booking .card{
    animation:none;
    opacity:1;
    transform:none;
    filter:none;
  }
}

/* Experience */
.experience__grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 18px;
  align-items: start;
}
.experience__lead{
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 14px;
  line-height:1.6;
}
.expect-list{
  margin: 0;
  padding: 0 0 0 18px;
  color: var(--text);
  font-size: 13px;
  line-height:1.7;
}
.expect-list li{ margin-bottom: 6px; }
.experience__images{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.experience__image{
  margin: 0;
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--border);
  box-shadow: 0 18px 40px rgba(11,27,43,.08);
}
.experience__image img{
  display:block;
  width: 100%;
  height: 200px;
  object-fit: cover;
}
.experience__image figcaption{
  padding: 10px 12px 12px;
  font-size: 12px;
  color: var(--muted);
}

/* Awards */
.awards{
  padding-top: 28px;
}
.awards__inner{
  display:grid;
  grid-template-columns: 1fr;
  gap: 16px;
  align-items:center;
  padding: 18px;
  border-radius: 22px;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(11,27,43,.12);
  box-shadow: 0 20px 40px rgba(11,27,43,.1);
}
.awards__eyebrow{
  display:inline-block;
  font-size: 11px;
  letter-spacing: .3px;
  text-transform: uppercase;
  color: rgba(11,27,43,.58);
  margin-bottom: 8px;
}
.awards__copy h2{
  margin: 0;
  font-size: 24px;
  line-height:1.2;
  color: var(--text);
  font-family:"Cormorant Garamond", serif;
}
.awards__logos{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.awards__logo{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height: 52px;
  border-radius: 14px;
  border: 1px dashed rgba(11,27,43,.2);
  color: rgba(11,27,43,.7);
  font-size: 12px;
  letter-spacing: .3px;
  text-transform: uppercase;
  background: linear-gradient(140deg, rgba(248,244,237,.9), rgba(255,255,255,.9));
}

/* Routes */
.section--routes{
  position:relative;
}
.route-group{
  margin-top:22px;
}
.route-group__title{
  margin:0 0 12px;
  font-size:20px;
  color: rgba(11,27,43,.92);
}
.route-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap:16px;
}
.route-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:18px;
  border-radius:18px;
  background:
    linear-gradient(140deg, rgba(255,255,255,.92), rgba(248,244,237,.92)),
    linear-gradient(180deg, rgba(228,201,122,.16), rgba(164,188,202,.18));
  border:1px solid rgba(11,27,43,.12);
  box-shadow: 0 18px 40px rgba(11,27,43,.08);
  min-height: 190px;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.route-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 24px 44px rgba(11,27,43,.12);
  border-color: rgba(200,162,74,.4);
}
.route-card__tag{
  align-self:flex-start;
  padding:6px 10px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.2px;
  color: rgba(11,27,43,.78);
  background: rgba(200,162,74,.16);
  border:1px solid rgba(200,162,74,.35);
}
.route-card h3{
  margin:0;
  font-size:20px;
  line-height:1.05;
}
.route-card p{
  margin:0;
  font-size:13px;
  color: rgba(11,27,43,.64);
}
.route-grid--compact .route-card{
  min-height: 160px;
}

/* Home destinations & rates */
.section-destinations-rates{
  position: relative;
}
.section-destinations-rates::before{
  content:"";
  position:absolute;
  inset: 26px 0 0;
  background:
    radial-gradient(760px 300px at 12% 6%, rgba(200,162,74,.14), transparent 70%),
    radial-gradient(900px 360px at 86% 16%, rgba(164,188,202,.16), transparent 72%);
  pointer-events:none;
}
.section-destinations-rates .container{
  position: relative;
  z-index: 1;
}
.destinations-rates__header{
  display:grid;
  gap: 12px;
  max-width: 780px;
  margin-bottom: 24px;
}
.destinations-rates__eyebrow{
  display:inline-flex;
  align-items:center;
  gap: 12px;
  width: fit-content;
  font-size: 11px;
  letter-spacing: .30em;
  text-transform: uppercase;
  font-weight: 700;
  color: rgba(11,27,43,.60);
}
.destinations-rates__eyebrow::before{
  content:"";
  width: 46px;
  height: 1px;
  background: linear-gradient(90deg, rgba(200,162,74,.98), rgba(200,162,74,.22));
}
.destinations-rates__header h2{
  margin: 0;
  max-width: 10ch;
  font-size: clamp(38px, 5vw, 66px);
  line-height: .92;
  letter-spacing: -.02em;
  color: rgba(11,27,43,.97);
}
.destinations-rates__header p{
  margin: 0;
  max-width: 640px;
  font-size: 16px;
  line-height: 1.75;
  color: rgba(11,27,43,.68);
}
.destinations-rates__grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
.destination-rate-card{
  position: relative;
  display:block;
  min-width: 0;
  border-radius: 30px;
  overflow: hidden;
  border: 1px solid rgba(11,27,43,.10);
  background:
    linear-gradient(160deg, rgba(255,255,255,.985), rgba(247,243,236,.95)),
    radial-gradient(circle at top left, rgba(228,201,122,.18), transparent 54%);
  box-shadow:
    0 28px 62px rgba(11,27,43,.12),
    0 10px 24px rgba(11,27,43,.05),
    inset 0 1px 0 rgba(255,255,255,.75);
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.destination-rate-card:hover{
  transform: translateY(-5px);
  border-color: rgba(200,162,74,.32);
  box-shadow:
    0 34px 72px rgba(11,27,43,.16),
    0 12px 28px rgba(11,27,43,.07),
    inset 0 1px 0 rgba(255,255,255,.82);
}
.destination-rate-card__media{
  position: relative;
  min-height: 540px;
  isolation: isolate;
}
.destination-rate-card__media::before{
  content:"";
  position:absolute;
  inset:0;
  background-image: var(--destination-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  filter: saturate(.78) contrast(1.04) brightness(.88);
  transform: scale(1.04);
}
.destination-rate-card__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 4%, rgba(218,183,95,.14), transparent 22%),
    linear-gradient(180deg, rgba(8,20,31,.12) 0%, rgba(8,20,31,.20) 28%, rgba(8,20,31,.82) 100%),
    linear-gradient(135deg, rgba(12,29,46,.18), rgba(12,29,46,0) 42%);
}
.destination-rate-card__overlay{
  position:relative;
  z-index:1;
  min-height: 540px;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding: 24px 22px 22px;
  text-align:center;
}
.destination-rate-card__top{
  width:100%;
  display:flex;
  justify-content:center;
}
.destination-rate-card__middle{
  width:100%;
  flex:1;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding-top: 72px;
}
.destination-rate-card__bottom{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  gap: 10px;
}
.destination-rate-card__label,
.destination-rate-card__price{
  position: relative;
  z-index: 1;
}
.destination-rate-card__label{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.24);
  backdrop-filter: blur(10px) saturate(130%);
  color: rgba(255,255,255,.96);
  max-width: min(100%, 220px);
  padding-top: 8px;
  padding-bottom: 8px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.2;
  text-align:center;
  overflow-wrap: anywhere;
}
.destination-rate-card__price{
  display:inline-flex;
  align-items:flex-end;
  justify-content:center;
  gap: 6px;
  color: #fff;
  text-shadow: 0 8px 22px rgba(7,17,28,.30);
}
.destination-rate-card__currency{
  font-size: 26px;
  line-height: 1;
  font-family: var(--font-display);
  transform: translateY(-4px);
}
.destination-rate-card__price strong{
  font-family: var(--font-display);
  font-size: 62px;
  line-height: .86;
  letter-spacing: -.03em;
}
.destination-rate-card__unit{
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .22em;
  color: rgba(218,183,95,.92);
  text-transform: uppercase;
  transform: translateY(-10px);
}
.destination-rate-card__accent{
  width: 48px;
  height: 1px;
  background: linear-gradient(90deg, rgba(218,183,95,.16), rgba(218,183,95,.95), rgba(218,183,95,.16));
  box-shadow: 0 0 18px rgba(218,183,95,.18);
}
.destination-rate-card__starting{
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255,255,255,.72);
}
.destination-rate-card__service{
  display:block;
  max-width: 100%;
  color: rgba(255,255,255,.82);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .36em;
  line-height: 1.3;
  text-transform: uppercase;
  overflow-wrap: anywhere;
  text-align:center;
}
.destination-rate-card__middle h3{
  margin: 0;
  max-width: 9ch;
  font-size: 39px;
  line-height: .98;
  color: rgba(255,255,255,.98);
  text-wrap: balance;
  overflow-wrap: anywhere;
  text-shadow: 0 14px 26px rgba(7,17,28,.28);
}
.destination-rate-card__btn{
  margin-top: auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 10px;
  width: 100%;
  max-width: 100%;
  min-height: 52px;
  padding: 0 18px;
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(246,241,233,.96)),
    radial-gradient(circle at top left, rgba(228,201,122,.22), transparent 56%);
  border: 1px solid rgba(255,255,255,.46);
  color: rgba(11,27,43,.96);
  box-shadow:
    0 16px 28px rgba(7,17,28,.16),
    inset 0 1px 0 rgba(255,255,255,.82);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.destination-rate-card__btn span{
  display:block;
  line-height: 1.15;
  text-align: center;
  overflow-wrap: anywhere;
  font-size: 12px;
  font-weight: 700;
}
.destination-rate-card__btn::after{
  content:"→";
  font-size: 13px;
  opacity: .92;
  transform: translateY(-1px);
}
@media (min-width: 1150px){
  .destinations-rates__grid{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .destination-rate-card{
    grid-column: span 2;
  }
  .destinations-rates__grid--count-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .destinations-rates__grid--count-5 .destination-rate-card{
    grid-column: span 1;
  }
  .destinations-rates__grid--count-5 .destination-rate-card__media,
  .destinations-rates__grid--count-5 .destination-rate-card__overlay{
    min-height: 500px;
  }
  .destinations-rates__grid--count-5 .destination-rate-card__label{
    min-height: 34px;
    max-width: 100%;
    padding: 7px 10px;
    font-size: 9px;
    letter-spacing: .06em;
  }
  .destinations-rates__grid--count-5 .destination-rate-card__middle{
    padding-top: 56px;
  }
  .destinations-rates__grid--count-5 .destination-rate-card__middle h3{
    max-width: 8ch;
    font-size: 28px;
  }
  .destinations-rates__grid--count-5 .destination-rate-card__accent{
    width: 34px;
  }
  .destinations-rates__grid--count-5 .destination-rate-card__starting{
    font-size: 9px;
    letter-spacing: .12em;
  }
  .destinations-rates__grid--count-5 .destination-rate-card__currency{
    font-size: 18px;
    transform: translateY(-3px);
  }
  .destinations-rates__grid--count-5 .destination-rate-card__price strong{
    font-size: 40px;
  }
  .destinations-rates__grid--count-5 .destination-rate-card__unit{
    font-size: 9px;
    letter-spacing: .16em;
    transform: translateY(-7px);
  }
  .destinations-rates__grid--count-5 .destination-rate-card__service{
    font-size: 9px;
    letter-spacing: .22em;
  }
  .destinations-rates__grid--count-5 .destination-rate-card__btn{
    min-height: 44px;
    padding: 0 12px;
  }
  .destinations-rates__grid--count-5 .destination-rate-card__btn span{
    font-size: 10px;
  }
  .destinations-rates__grid--count-5 .destination-rate-card__btn::after{
    font-size: 11px;
  }
}

@media (min-width: 720px) and (max-width: 1149px){
  .destinations-rates__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .destinations-rates__grid--count-5{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
  .destinations-rates__grid--count-5 .destination-rate-card{
    grid-column: span 2;
  }
  .destinations-rates__grid--count-5 .destination-rate-card:nth-child(4){
    grid-column: 2 / span 2;
  }
  .destinations-rates__grid--count-5 .destination-rate-card:nth-child(5){
    grid-column: 4 / span 2;
  }
  .destinations-rates__grid--count-5 .destination-rate-card__middle h3{
    font-size: 30px;
  }
  .destinations-rates__grid--count-5 .destination-rate-card__media,
  .destinations-rates__grid--count-5 .destination-rate-card__overlay{
    min-height: 500px;
  }
}

@media (max-width: 719px){
  .destinations-rates__header{
    gap: 10px;
    margin-bottom: 18px;
  }
  .destinations-rates__header h2{
    max-width: none;
    font-size: 34px;
  }
  .destinations-rates__header p{
    font-size: 15px;
    line-height: 1.68;
  }
}

@media (max-width: 520px){
  .destination-rate-card{
    border-radius: 24px;
  }
  .destination-rate-card__media,
  .destination-rate-card__overlay{
    min-height: 460px;
  }
  .destination-rate-card__overlay{
    padding: 20px 18px 18px;
  }
  .destination-rate-card__middle{
    padding-top: 54px;
  }
  .destination-rate-card__middle h3{
    font-size: 28px;
  }
  .destination-rate-card__accent{
    width: 36px;
  }
  .destination-rate-card__starting,
  .destination-rate-card__service{
    font-size: 10px;
  }
  .destination-rate-card__price{
    gap: 5px;
  }
  .destination-rate-card__price strong{
    font-size: 44px;
  }
  .destination-rate-card__currency{
    font-size: 20px;
  }
  .destination-rate-card__unit{
    font-size: 10px;
    transform: translateY(-7px);
  }
  .destination-rate-card__btn{
    min-height: 48px;
    padding: 0 16px;
  }
}

/* Guaranteed-inventory tour booking */
.page-tours .tour-wizard-progress ol{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.page-tours .tour-wizard-progress__track{
  left:16.666%;
  right:16.666%;
}
.page-tours .tour-wizard-progress__track span{
  width:0;
}
.page-tours .tour-wizard-contact{
  display:grid;
  gap:14px;
  padding-top:20px;
  border-top:1px solid rgba(11,27,43,.10);
}
.page-tours .tour-wizard-contact__head h4{
  margin:5px 0 0;
  color:#13263a;
  font-size:20px;
  letter-spacing:0;
}
.page-tours .tour-payment-stage:not([hidden]){
  display:grid;
  gap:16px;
  animation:tourWizardStepIn .24s cubic-bezier(.22,1,.36,1) both;
}
.page-tours #tourConfirmedReference{
  padding:7px 10px;
  border:1px solid rgba(47,104,82,.22);
  border-radius:6px;
  background:rgba(47,104,82,.07);
  color:#2f6852;
  font-size:12px;
  font-weight:800;
}

/* Tour confirmation */
.page-tour-reservation .tour-reservation-page{
  padding-top:38px;
  background:#f3f5f6;
}
.tour-confirmation{
  display:grid;
  gap:24px;
  max-width:1160px;
  margin:0 auto;
}
.tour-confirmation__header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  padding:4px 0 22px;
  border-bottom:1px solid rgba(11,27,43,.13);
}
.tour-confirmation__header h1{
  max-width:720px;
  margin:7px 0 8px;
  color:#13263a;
  font-size:clamp(32px,4vw,52px);
  line-height:1.02;
  letter-spacing:0;
}
.tour-confirmation__header p{
  max-width:680px;
  margin:0;
  color:rgba(11,27,43,.68);
  font-size:16px;
}
.tour-confirmation__reference{
  display:grid;
  min-width:190px;
  gap:3px;
  text-align:right;
}
.tour-confirmation__reference span,
.tour-confirmation__reference small{
  color:rgba(11,27,43,.55);
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
}
.tour-confirmation__reference strong{
  color:#13263a;
  font-size:20px;
  letter-spacing:0;
}
.tour-confirmation__layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  gap:22px;
  align-items:start;
}
.tour-confirmation__ticket,
.tour-confirmation__payment{
  border:1px solid rgba(11,27,43,.11);
  border-radius:8px;
  background:#fff;
  box-shadow:0 12px 34px rgba(11,27,43,.06);
}
.tour-confirmation__ticket{
  overflow:hidden;
}
.tour-confirmation__tour{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  min-height:170px;
  background:#13263a;
  color:#fff;
}
.tour-confirmation__tour img{
  width:100%;
  height:100%;
  min-height:170px;
  object-fit:cover;
}
.tour-confirmation__tour > div{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:26px 30px;
}
.tour-confirmation__tour span,
.tour-confirmation__tour p{
  margin:0;
  color:rgba(255,255,255,.70);
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
}
.tour-confirmation__tour h2{
  margin:6px 0 10px;
  color:#fff;
  font-size:28px;
  line-height:1.12;
  letter-spacing:0;
}
.tour-confirmation__essentials{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin:0 28px;
  padding:24px 0;
  border-bottom:1px solid rgba(11,27,43,.10);
}
.tour-confirmation__essentials div{
  min-width:0;
  padding:0 18px;
  border-left:1px solid rgba(11,27,43,.09);
}
.tour-confirmation__essentials div:first-child,
.tour-confirmation__essentials .is-wide{
  border-left:0;
}
.tour-confirmation__essentials .is-wide{
  grid-column:1/-1;
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid rgba(11,27,43,.09);
}
.tour-confirmation__essentials span,
.tour-confirmation__note span{
  display:block;
  margin-bottom:5px;
  color:rgba(11,27,43,.52);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}
.tour-confirmation__essentials strong{
  display:block;
  color:#13263a;
  font-size:16px;
  overflow-wrap:anywhere;
}
.tour-confirmation__route,
.tour-confirmation__traveler,
.tour-confirmation__note{
  margin:0 28px;
  padding:24px 0;
  border-bottom:1px solid rgba(11,27,43,.10);
}
.tour-confirmation__route > p{
  margin:8px 0 14px;
  color:rgba(11,27,43,.72);
  line-height:1.65;
}
.tour-confirmation__route ul{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 20px;
  margin:0;
  padding:0;
  list-style:none;
}
.tour-confirmation__route li{
  position:relative;
  padding-left:16px;
  color:#294358;
  font-size:13px;
}
.tour-confirmation__route li::before{
  content:"";
  position:absolute;
  top:7px;
  left:0;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#c8a24a;
}
.tour-confirmation__traveler{
  display:grid;
  grid-template-columns:minmax(160px,.8fr) 1.2fr;
  gap:24px;
}
.tour-confirmation__traveler h3{
  margin:6px 0 0;
  color:#13263a;
  font-size:20px;
  letter-spacing:0;
}
.tour-confirmation__traveler dl{
  display:grid;
  gap:10px;
  margin:0;
}
.tour-confirmation__traveler dl div{
  display:flex;
  justify-content:space-between;
  gap:16px;
}
.tour-confirmation__traveler dt{
  color:rgba(11,27,43,.52);
  font-size:12px;
}
.tour-confirmation__traveler dd{
  margin:0;
  color:#13263a;
  font-size:13px;
  font-weight:700;
  text-align:right;
  overflow-wrap:anywhere;
}
.tour-confirmation__note p{
  margin:0;
  color:#294358;
}
.tour-confirmation__timeline{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  padding:25px 28px 28px;
}
.tour-confirmation__timeline > div{
  display:flex;
  gap:10px;
  min-width:0;
}
.tour-confirmation__timeline > div > span{
  display:grid;
  width:26px;
  height:26px;
  flex:0 0 26px;
  place-items:center;
  border-radius:50%;
  background:#e3c46d;
  color:#13263a;
  font-size:11px;
  font-weight:900;
}
.tour-confirmation__timeline p{
  margin:0;
  color:rgba(11,27,43,.60);
  font-size:12px;
  line-height:1.45;
}
.tour-confirmation__timeline strong{
  display:block;
  margin-bottom:2px;
  color:#13263a;
  font-size:13px;
}
.tour-confirmation__payment{
  position:sticky;
  top:106px;
  display:grid;
  gap:15px;
  padding:24px;
}
.tour-confirmation__amount{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(11,27,43,.10);
}
.tour-confirmation__amount span{
  color:rgba(11,27,43,.58);
  font-size:13px;
}
.tour-confirmation__amount strong{
  color:#13263a;
  font-size:22px;
  text-align:right;
}
.tour-confirmation__payment-status{
  display:flex;
  align-items:center;
  gap:8px;
  color:#9b681f;
  font-size:12px;
  text-transform:uppercase;
}
.tour-confirmation__payment-status span{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#c8903e;
}
.tour-confirmation__payment-status.is-paid,
.tour-confirmation__payment-status.is-cash{color:#2f6852}
.tour-confirmation__payment-status.is-paid span,
.tour-confirmation__payment-status.is-cash span{background:#2f6852}
.tour-confirmation__payment h2{
  margin:0;
  color:#13263a;
  font-size:23px;
  letter-spacing:0;
}
.tour-confirmation__payment > p{
  margin:0 0 4px;
  color:rgba(11,27,43,.66);
  font-size:13px;
  line-height:1.55;
}
.tour-confirmation__payment .btn{
  width:100%;
}
.tour-confirmation__back{
  color:#315f7d;
  font-size:13px;
  font-weight:700;
  text-align:center;
}
.tour-confirmation__payment > small{
  color:rgba(11,27,43,.46);
  font-size:10px;
  text-align:center;
  text-transform:uppercase;
}
@media(max-width:900px){
  .tour-confirmation__layout{grid-template-columns:1fr}
  .tour-confirmation__payment{position:static}
}
@media(max-width:640px){
  .page-tour-reservation .tour-reservation-page{padding-top:24px}
  .tour-confirmation__header{align-items:flex-start;flex-direction:column}
  .tour-confirmation__reference{text-align:left}
  .tour-confirmation__tour{grid-template-columns:1fr}
  .tour-confirmation__tour img{height:190px;min-height:0}
  .tour-confirmation__tour > div{padding:22px}
  .tour-confirmation__tour h2{font-size:24px}
  .tour-confirmation__essentials{grid-template-columns:1fr 1fr;margin:0 20px}
  .tour-confirmation__essentials div{padding:0 12px}
  .tour-confirmation__essentials div:nth-child(3){margin-top:18px;border-left:0}
  .tour-confirmation__route,.tour-confirmation__traveler,.tour-confirmation__note{margin:0 20px}
  .tour-confirmation__route ul,.tour-confirmation__traveler,.tour-confirmation__timeline{grid-template-columns:1fr}
  .tour-confirmation__traveler dl div{display:grid;gap:2px}
  .tour-confirmation__traveler dd{text-align:left}
  .tour-confirmation__timeline{padding:22px 20px}
}
/* Services + steps */
.section-services .section-title{
  margin-bottom: 18px;
}
.section-steps .section-title{
  margin-bottom: 18px;
}
.steps-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-bottom: 14px;
}
.step-card{
  border-radius: 18px;
  background: var(--surface2);
  border: 1px solid var(--border2);
  box-shadow: var(--shadow);
  padding: 16px;
}
.step-card__num{
  width: 32px;
  height: 32px;
  border-radius: 10px;
  display:grid;
  place-items:center;
  font-weight:700;
  color: rgba(11,27,43,.92);
  background: rgba(200,162,74,.18);
  border: 1px solid rgba(200,162,74,.32);
  margin-bottom: 10px;
}
.step-card h3{
  margin: 0 0 6px;
  font-size: 16px;
  color: var(--text);
}
.step-card p{
  margin: 0;
  font-size: 13px;
  color: var(--muted);
  line-height: 1.5;
}
.included-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.included-card{
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(164,188,202,.14);
  border: 1px solid rgba(132,167,196,.28);
  color: rgba(11,27,43,.86);
  font-size: 12px;
}

/* Proof */
.section-proof .section-title{
  margin-bottom: 18px;
}
.ta-badges{
  display:flex;
  gap: 12px;
  margin: 8px 0 18px;
  overflow-x: auto;
  padding-bottom: 6px;
}
.ta-badge{
  flex: 0 0 auto;
  display:flex;
  justify-content:center;
  align-items:center;
  padding: 16px 20px;
  border-radius: 20px;
  background:
    linear-gradient(160deg, rgba(255,255,255,.98), rgba(248,244,237,.92)),
    radial-gradient(circle at 50% 0%, rgba(228,201,122,.55), transparent 72%),
    linear-gradient(180deg, rgba(200,162,74,.18), rgba(164,188,202,.06));
  border: 1px solid rgba(200,162,74,.6);
  box-shadow:
    0 18px 34px rgba(11,27,43,.12),
    inset 0 1px 0 rgba(255,255,255,.9);
  min-height: 96px;
  min-width: 190px;
  position: relative;
  transition: transform .2s ease, box-shadow .2s ease;
}
.ta-badge *{
  pointer-events: none;
}
.ta-badge .TA_certificateOfExcellence,
.ta-badge .TA_certificateOfExcellence ul,
.ta-badge .TA_certificateOfExcellence li,
.ta-badge .TA_certificateOfExcellence span{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.ta-badge .TA_certificateOfExcellence ul{
  list-style: none !important;
}
.ta-badge::before{
  content: none;
}
.ta-badge img{
  max-width: 170px;
  height: auto;
  display:block;
  filter: drop-shadow(0 8px 14px rgba(11,27,43,.18));
}
@media (max-width: 520px){
  .ta-badges{
    gap: 10px;
    scroll-snap-type: x mandatory;
    padding-bottom: 10px;
  }
  .ta-badge{
    min-width: 160px;
    min-height: 78px;
    padding: 12px 14px;
    scroll-snap-align: start;
  }
  .ta-badge::before{
    width:24px;
    height:24px;
  }
  .ta-badge img{
    max-width: 140px;
  }
}
.proof-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-bottom: 14px;
}
.proof-card{
  border-radius: 18px;
  background: #fff;
  border: 1px solid var(--border);
  box-shadow: 0 12px 26px rgba(58,58,52,.08);
  padding: 14px;
}
.proof-card h3{
  margin: 0 0 6px;
  font-size: 15px;
  color: var(--text);
}
.proof-card p{
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}
.mention-card{
  padding: 16px;
  border-radius: 18px;
  background: var(--surface2);
  border: 1px solid var(--border2);
  box-shadow: var(--shadow);
}
.mention-title{
  font-weight: 700;
  color: var(--text);
  margin-bottom: 8px;
}
.mention-card ul{
  margin: 0 0 12px 18px;
  color: var(--muted);
  font-size: 13px;
}
.mention-actions{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
}

/* FAQ (home) */
.section-faq .section-title{
  margin-bottom: 18px;
}

/* Hero */
.hero{ padding: 24px 0 26px; }
.hero__card{
  display:grid;
  grid-template-columns: 1fr;
  gap:14px;
  border-radius: var(--radius2);
  background: var(--card);
  border:1px solid var(--border);
  box-shadow: var(--shadow);
  overflow:hidden;
  max-width: 980px;
  margin: 0 auto;
  width: 100%;
}
.hero__copy,
.hero__media{
  min-width: 0;
}
.hero__copy{ padding: 18px 18px 18px; }
.hero__copy h1{
  margin:0 0 10px;
  font-weight:700;
  letter-spacing:.2px;
  color: rgba(11,27,43,.98);
  line-height:1.12;
  font-size: 34px;
  overflow-wrap: anywhere;
}
.hero__copy p{
  margin:0 0 14px;
  color: rgba(11,27,43,.72);
  font-size: 14px;
  line-height:1.55;
  max-width: 62ch;
  overflow-wrap: anywhere;
}
.trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin: 12px 0 14px;
}
.trust-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  font-size:12px;
  color: rgba(11,27,43,.82);
  background: rgba(164,188,202,.18);
  border:1px solid rgba(132,167,196,.30);
}
.trust-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background: rgba(200,162,74,.95);
  box-shadow: 0 0 0 3px rgba(200,162,74,.16);
}
.hero__cta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top: 12px;
}
.hero__after{
  margin-top: 12px;
  font-size: 13px;
  color: rgba(11,27,43,.68);
  background: rgba(255,255,255,.8);
  border: 1px solid var(--border);
  padding: 10px 12px;
  border-radius: 14px;
}
.hero-estimator{
  display:grid;
  gap: 14px;
  padding: 18px;
  border-radius: 24px;
  background:
    linear-gradient(160deg, rgba(9,21,33,.97), rgba(13,29,45,.94)),
    radial-gradient(circle at top right, rgba(228,201,122,.24), transparent 38%);
  border: 1px solid rgba(228,201,122,.18);
  box-shadow:
    0 24px 44px rgba(11,27,43,.16),
    inset 0 1px 0 rgba(255,255,255,.06);
  color: rgba(255,255,255,.96);
}
.hero-estimator--floating{
  position:absolute;
  left:16px;
  right:16px;
  bottom:16px;
  z-index:1;
  backdrop-filter: blur(14px) saturate(140%);
}
.hero-estimator__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 14px;
}
.hero-estimator__eyebrow{
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(228,201,122,.82);
}
.hero-estimator__title{
  margin-top: 6px;
  font-family: var(--font-display);
  font-size: 30px;
  line-height: .98;
  letter-spacing: -.02em;
  color: #fff;
}
.hero-estimator__lede{
  margin: 8px 0 0;
  max-width: 42ch;
  font-size: 13px;
  line-height: 1.55;
  color: rgba(255,255,255,.68);
}
.hero-estimator__jump{
  flex: 0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.92);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.hero-estimator__jump:hover{
  background: rgba(255,255,255,.08);
  border-color: rgba(228,201,122,.26);
}
.hero-estimator__grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.hero-estimator__item{
  min-width: 0;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.hero-estimator__item--wide{
  grid-column: 1 / -1;
}
.hero-estimator__item span{
  display:block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.54);
}
.hero-estimator__item strong{
  display:block;
  margin-top: 7px;
  font-size: 14px;
  line-height: 1.35;
  color: rgba(255,255,255,.96);
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.hero-estimator__footer{
  display:grid;
  gap: 10px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.10);
}
.hero-estimator__price{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 12px;
}
.hero-estimator__priceLabel{
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(228,201,122,.82);
}
.hero-estimator__price strong{
  font-family: var(--font-display);
  font-size: clamp(34px, 6vw, 54px);
  line-height: .88;
  letter-spacing: -.04em;
  color: #fff;
  text-align: right;
}
.hero-estimator__note{
  font-size: 12px;
  line-height: 1.5;
  color: rgba(255,255,255,.68);
}
.hero__stats{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
  margin: 16px 0 8px;
}
.hero__stat{
  padding:12px 14px;
  background: rgba(255,255,255,.85);
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow: var(--shadow);
  display:flex;
  flex-direction:column;
  gap:6px;
}
.hero__statValue{
  font-size:20px;
  font-weight:700;
  color: rgba(11,27,43,.95);
}
.hero__statLabel{
  font-size:12px;
  color: var(--muted2);
}
.hero__fineprint{
  margin-top: 12px;
  font-size:12px;
  color: rgba(11,27,43,.58);
}
.hero__media{
  min-height: 260px;
  aspect-ratio: 16 / 11;
  position:relative;
  background-color: rgba(164,188,202,.12);
  border-top:1px solid var(--border);
  overflow:hidden;
}
.hero__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 20%, rgba(200,162,74,.14), transparent 58%),
    radial-gradient(circle at 80% 60%, rgba(255,255,255,.18), transparent 62%),
    linear-gradient(180deg, rgba(11,27,43,.06), rgba(11,27,43,.30));
  pointer-events:none;
  z-index:1;
}
.hero__video{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:var(--hero-video-position-desktop, 50% 50%);
  transform:scale(var(--hero-video-scale-desktop, 1));
  transform-origin:center;
  opacity:0;
  transition:opacity .35s ease;
  pointer-events:none;
}
.hero__video.is-ready{ opacity:1; }
@media (max-width: 767px){
  .hero__video{
    object-position:var(--hero-video-position-mobile, 50% 50%);
    transform:scale(var(--hero-video-scale-mobile, 1));
  }
  .page-home .hero__media--mobile-video{
    min-height:0;
    aspect-ratio:4 / 5;
  }
  .page-home .hero__media--mobile-video .hero__video{
    object-fit:cover;
  }
}
.hero__mediaLabel{
  position:absolute;
  left:16px;
  right:16px;
  top:16px;
  bottom:auto;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:12px 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.72);
  border:1px solid var(--border);
  color: rgba(11,27,43,.92);
  z-index:2;
  backdrop-filter: blur(10px);
  box-shadow: 0 14px 28px rgba(11,27,43,.10);
}
@media (prefers-reduced-motion: reduce){
  .hero__video{ display:none; }
}
.hero__mediaLabel strong{ display:block; font-size:13px; }
.hero__mediaLabel span{ font-size:12px; color: rgba(11,27,43,.62); }

/* Signal strip */
.signal{
  padding: 20px 0 6px;
}
.signal__grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:16px;
}
.signal__card{
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.78));
  border:1px solid var(--border);
  border-radius: 18px;
  padding: 18px;
  box-shadow: var(--shadow);
}
.signal__eyebrow{
  font-size:11px;
  text-transform: uppercase;
  letter-spacing:.16em;
  color: rgba(11,27,43,.55);
  margin-bottom:8px;
}
.signal__card h3{
  margin:0 0 8px;
  font-size:20px;
  color: rgba(11,27,43,.95);
}
.signal__card p{
  margin:0;
  color: rgba(11,27,43,.7);
  font-size:13px;
  line-height:1.6;
}

/* Booking layout */
.booking-wrap{
  display:grid;
  grid-template-columns: 1fr;
  gap: 14px;
  max-width: 960px;
  margin: 0 auto;
}
.card{
  border-radius: var(--radius2);
  background: var(--card);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  overflow:hidden;
}
.booking-wrap > .card{
  overflow: visible;
}
.card-inner{ padding: 16px; }

#bookingForm{
  position: relative;
  perspective: 1200px;
  transform-style: preserve-3d;
  --wizard-total: 500ms;
  --wizard-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --wizard-exit-dur: 290ms;
  --wizard-enter-dur: 230ms;
  --wizard-overlap: 35ms;
  --wizard-enter-delay: calc(var(--wizard-exit-dur) - var(--wizard-overlap));
}
#bookingForm::before{
  content: "Reservation confirmed. Opening your review.";
  position: absolute;
  left: 14px;
  right: 14px;
  top: 18px;
  z-index: 5;
  padding: 18px 20px;
  border-radius: 20px;
  border: 1px solid rgba(45,190,110,.26);
  background:
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(244,251,247,.96)),
    radial-gradient(circle at 12% 0%, rgba(45,190,110,.16), transparent 60%);
  box-shadow: 0 20px 34px rgba(11,27,43,.10);
  color: rgba(11,27,43,.94);
  font-family: "Cormorant Garamond", serif;
  font-size: 28px;
  line-height: 1.05;
  text-align: center;
  letter-spacing: .01em;
  opacity: 0;
  filter: blur(4px);
  transform: translate3d(0, 10px, 0) scale(.992);
  pointer-events: none;
  transition: opacity 280ms var(--wizard-ease), transform 280ms var(--wizard-ease), filter 220ms var(--wizard-ease);
}
#bookingForm::after{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 4;
  opacity: 0;
  background: radial-gradient(82% 70% at 50% 20%, rgba(247,232,191,.18), rgba(247,232,191,0) 70%);
  transform: scale(.992);
  transition: opacity 180ms ease-out, transform 180ms ease-out;
}
#bookingForm.is-spotlit::after{
  opacity: 1;
  transform: scale(1.004);
}
#bookingForm.is-submit-success::before{
  opacity: 1;
  filter: blur(0);
  transform: translate3d(0, 0, 0) scale(1);
  animation: wizardDoneSettle 380ms var(--wizard-ease) both, wizardSubmitBridgeGlow 760ms ease-out 80ms both;
}
#bookingForm.is-animating{
  overflow: hidden;
  transition: height var(--wizard-total) var(--wizard-ease);
  pointer-events: none;
}
.steps-head,
.steps-progress,
.wizard-steps,
.wscene,
.price__sticky,
.summary-dock,
.wpanel.is-active,
.wcard,
.veh,
.roundtrip-upsell,
.wizard-features__item,
.estimate__line strong,
.price-trust{
  backface-visibility: hidden;
  transform-origin: 50% 50%;
}
.is-motion-reveal{
  animation: wizardRevealRise 560ms cubic-bezier(0.22, 1, 0.36, 1) both;
  animation-delay: var(--wiz-item-delay, 0ms);
}
.is-motion-pop{
  animation: wizardPop 320ms cubic-bezier(0.22, 1, 0.36, 1);
}
.is-motion-emphasis{
  animation: wizardEmphasis 420ms cubic-bezier(0.22, 1, 0.36, 1);
}
@keyframes wizardRevealRise{
  0%{
    opacity: 0;
    transform: translate3d(0, 12px, 0) scale(.994);
    filter: blur(4px);
  }
  100%{
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
  }
}
@keyframes wizardPop{
  0%{
    transform: translate3d(0, 6px, 0);
    opacity: .88;
  }
  100%{
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes wizardEmphasis{
  0%{
    transform: translate3d(0, 0, 0) scale(1);
    color: inherit;
  }
  50%{
    transform: translate3d(0, -1px, 0) scale(1.015);
    color: rgba(11,27,43,.98);
  }
  100%{
    transform: translate3d(0, 0, 0) scale(1);
    color: inherit;
  }
}
@keyframes wizardStepSettle{
  0%{
    transform: translate3d(0, 4px, 0);
    box-shadow: 0 8px 18px rgba(11,27,43,.06);
  }
  100%{
    transform: translate3d(0, 0, 0);
    box-shadow: 0 12px 28px rgba(200,162,74,.18), 0 8px 20px rgba(11,27,43,.10);
  }
}
@keyframes wizardDoneSettle{
  0%{
    transform: scale(.9);
    opacity: 0;
  }
  100%{
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes wizardSubmitSpin{
  to{
    transform: rotate(360deg);
  }
}
@keyframes wizardSubmitSweep{
  0%{
    transform: skewX(-22deg) translate3d(-180%, 0, 0);
  }
  100%{
    transform: skewX(-22deg) translate3d(430%, 0, 0);
  }
}
@keyframes wizardSubmitLabelIn{
  0%{
    opacity: 0;
    transform: translate3d(0, 8px, 0) scale(.96);
    filter: blur(2px);
  }
  100%{
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
    filter: blur(0);
  }
}
@keyframes wizardSubmitSuccessPulse{
  0%{
    transform: translate3d(0, 0, 0) scale(1);
  }
  48%{
    transform: translate3d(0, -1px, 0) scale(1.035);
  }
  100%{
    transform: translate3d(0, 0, 0) scale(1);
  }
}
@keyframes wizardSubmitBridgeGlow{
  0%{
    box-shadow: 0 20px 34px rgba(11,27,43,.10);
  }
  50%{
    box-shadow: 0 28px 46px rgba(45,190,110,.12);
  }
  100%{
    box-shadow: 0 20px 34px rgba(11,27,43,.10);
  }
}
.wscene{
  display:flex;
  align-items:center;
  gap:12px;
  padding: 12px;
  margin-bottom: 12px;
  border-radius: 16px;
  border: 1px solid rgba(200,162,74,.30);
  background: linear-gradient(130deg, rgba(200,162,74,.14), rgba(255,255,255,.92) 54%);
  box-shadow: 0 12px 30px rgba(11,27,43,.08);
}
.wscene__icon{
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display:grid;
  place-items:center;
  background: rgba(200,162,74,.24);
  border: 1px solid rgba(200,162,74,.42);
  color: rgba(11,27,43,.92);
  font-weight: 900;
}
.wscene__eyebrow{
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: rgba(11,27,43,.56);
}
.wscene__title{
  margin: 2px 0 3px;
  font-size: 17px;
  color: rgba(11,27,43,.94);
  font-family:"Cormorant Garamond", serif;
}
.wscene__sub{
  margin: 0;
  font-size: 12px;
  color: rgba(11,27,43,.66);
}


.steps-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding: 14px 16px;
  background: var(--surface2);
  border-bottom: 1px solid var(--border);
}
.steps-head__left{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.steps-badge{
  width:36px;
  height:36px;
  border-radius: 14px;
  display:grid;
  place-items:center;
  background: rgba(200,162,74,.14);
  border:1px solid rgba(200,162,74,.30);
  color: rgba(11,27,43,.90);
}
.steps-head__meta{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.steps-head__meta strong{
  color: rgba(11,27,43,.92);
  font-size: 13px;
}
.steps-head__meta span{
  color: rgba(11,27,43,.62);
  font-size: 12px;
}
.steps-progress{
  padding: 10px 16px 12px;
  border-bottom: 1px solid var(--border);
  background: rgba(255,255,255,.75);
}
.steps-progress__track{
  height: 6px;
  border-radius: 999px;
  background: rgba(132,167,196,.26);
  overflow:hidden;
}
.steps-progress__fill{
  height: 100%;
  width: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(200,162,74,.92), rgba(200,162,74,.45));
  transform-origin: left center;
  transform: scaleX(.25);
  transition: transform 460ms var(--wizard-ease);
}
.steps-progress__text{
  margin-top: 8px;
  font-size: 12px;
  color: rgba(11,27,43,.62);
}
#bookingForm.is-animating .steps-progress__fill{
  will-change: transform;
}

.wizard-features{
  display:grid;
  gap:10px;
  margin: 0 auto 14px;
  padding: 12px 14px;
  max-width: 960px;
  border: 1px solid rgba(200,162,74,.20);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(250,246,237,.94)),
    radial-gradient(circle at top left, rgba(200,162,74,.10), transparent 58%);
  box-shadow: 0 12px 28px rgba(11,27,43,.06);
}
.wizard-features__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.wizard-features__eyebrow{
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: rgba(11,27,43,.56);
}
.wizard-features__intro{
  margin: 0;
  color: rgba(11,27,43,.66);
  font-size: 11px;
  line-height: 1.35;
}
.wizard-features__list{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0;
  padding:0;
}
.wizard-features__item{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.76);
  border: 1px solid rgba(200,162,74,.18);
  color: rgba(11,27,43,.90);
  font-size: 12px;
  line-height: 1.25;
  box-shadow: 0 6px 16px rgba(11,27,43,.04);
}
.wizard-features__emoji{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  min-width:16px;
  font-size: 12px;
  line-height: 1;
  opacity: .78;
  filter: saturate(.82);
}


.wizard-steps{
  display:flex;
  gap:8px;
  padding: 12px 12px 14px;
  overflow:auto;
  border-bottom: 1px solid var(--border);
  background: rgba(255,255,255,.75);
  -webkit-overflow-scrolling: touch;
}
.wstep{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:10px;
  padding: 10px 12px;
  border-radius: 14px;
  border:1px solid rgba(132,167,196,.38);
  background: rgba(255,255,255,.92);
  color: rgba(11,27,43,.78);
  cursor:pointer;
  transition: transform .2s ease, box-shadow .2s ease, background .18s ease, border-color .18s ease, color .18s ease;
  box-shadow: 0 6px 14px rgba(11,27,43,.04);
  position: relative;
  overflow: hidden;
}
.wstep::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  background: linear-gradient(120deg, rgba(200,162,74,.08), rgba(200,162,74,0));
  transition: opacity .2s ease;
}
.wstep:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(11,27,43,.08);
}
.wstep:hover::after{
  opacity: 1;
}
.wstep__num{
  width:26px;
  height:26px;
  border-radius: 10px;
  display:grid;
  place-items:center;
  position:relative;
  background: rgba(164,188,202,.18);
  border:1px solid rgba(132,167,196,.30);
  font-weight:800;
  font-size:12px;
  color: rgba(11,27,43,.86);
}
.wstep.is-active{
  background: rgba(200,162,74,.18);
  border-color: rgba(200,162,74,.42);
  color: rgba(11,27,43,.92);
  box-shadow: 0 12px 28px rgba(200,162,74,.18), 0 8px 20px rgba(11,27,43,.10);
  animation: wizardStepSettle 320ms cubic-bezier(0.22, 1, 0.36, 1);
}
.wstep.is-active .wstep__num{
  background: rgba(200,162,74,.26);
  border-color: rgba(200,162,74,.42);
  color: rgba(11,27,43,.92);
}
.wstep.is-done{
  background: rgba(45,190,110,.12);
  border-color: rgba(45,190,110,.30);
  color: rgba(11,27,43,.90);
}
.wstep.is-done .wstep__num{
  background: rgba(45,190,110,.16);
  border-color: rgba(45,190,110,.28);
  color: transparent;
}
.wstep.is-done .wstep__num::after{
  content:"✓";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color: rgba(11,27,43,.92);
  font-weight:900;
  animation: wizardDoneSettle 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.form-alert{
  padding: 12px 12px;
  border-radius: 16px;
  background: rgba(220,85,85,.12);
  border:1px solid rgba(220,85,85,.28);
  color: rgba(11,27,43,.92);
  margin: 14px 0 0;
}
.form-alert.is-hidden{ display:none; }

/* Success */
.success{
  margin-top: 12px;
  padding: 18px 16px;
  border-radius: var(--radius2);
  background: rgba(45,190,110,.12);
  border:1px solid rgba(45,190,110,.28);
  color: rgba(11,27,43,.92);
}
.success__icon{
  width:40px;
  height:40px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background: rgba(45,190,110,.16);
  border:1px solid rgba(45,190,110,.28);
  font-weight:900;
  color: rgba(11,27,43,.92);
}
.success__title{
  margin: 12px 0 6px;
  font-family:"Cormorant Garamond", serif;
  font-size: 20px;
}
.success__text{
  margin:0 0 12px;
  color: rgba(11,27,43,.68);
  font-size: 13px;
}
.success__ref{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding: 12px;
  border-radius: 16px;
  background: rgba(164,188,202,.10);
  border:1px solid var(--border);
}
.success__refLabel{ font-size:12px; color: rgba(11,27,43,.60); }
.success__refValue{ font-weight:900; letter-spacing:.6px; color: rgba(11,27,43,.92); }

/* Panels */
.wpanel{
  display:none;
  padding: 14px 0 6px;
  position: relative;
  z-index: 1;
  opacity: 0;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}
.wpanel.is-active{
  display:block;
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}
.card.is-submit-success .steps-head,
.card.is-submit-success .steps-progress,
.card.is-submit-success .wizard-steps,
.card.is-submit-success .wscene{
  opacity: 0;
  transform: translate3d(0, -8px, 0) scale(.994);
  filter: blur(3px);
  transition: transform 240ms var(--wizard-ease), opacity 220ms ease, filter 220ms ease;
}
.card.is-submit-success #bookingForm{
  min-height: 180px;
}
.card.is-submit-success #bookingForm .wpanel.is-active{
  opacity: 0;
  transform: translate3d(0, -14px, 0) scale(.988);
  filter: blur(4px);
  transition: transform 320ms var(--wizard-ease), opacity 260ms ease, filter 260ms ease;
}
.booking-wrap.is-submit-success .price__sticky{
  transform: translate3d(0, 12px, 0) scale(.992);
  opacity: .76;
  filter: blur(2px);
}
.booking-wrap.is-submit-success .summary-dock{
  transform: translate3d(0, 14px, 0) scale(.992);
  opacity: 0;
  filter: blur(3px);
}
#bookingForm.is-animating .wpanel.is-exiting,
#bookingForm.is-animating .wpanel.is-entering,
#bookingForm.is-animating .wpanel.is-active{
  display:block;
  position:absolute;
  left:0;
  right:0;
  top:0;
  width:100%;
}
#bookingForm.is-animating .wpanel.is-exiting,
#bookingForm.is-animating .wpanel.is-entering{
  pointer-events:none;
  will-change: transform, opacity, filter;
}
#bookingForm.is-animating .wpanel.is-exiting{
  box-shadow: 0 10px 24px rgba(11,27,43,.12);
}
#bookingForm.is-animating .wpanel.is-entering{
  box-shadow: 0 28px 54px rgba(11,27,43,.16);
}
#bookingForm.is-animating.dir-forward .wpanel.is-exiting{
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}
#bookingForm.is-animating.dir-forward .wpanel.is-entering{
  opacity: 0;
  transform: translate3d(34px, 0, 0) scale(.985) rotateY(-4deg);
  filter: blur(10px);
}
#bookingForm.is-animating.dir-back .wpanel.is-exiting{
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}
#bookingForm.is-animating.dir-back .wpanel.is-entering{
  opacity: 0;
  transform: translate3d(-34px, 0, 0) scale(.985) rotateY(4deg);
  filter: blur(10px);
}
#bookingForm.is-animating.is-transitioning .wpanel.is-exiting{
  transition: transform var(--wizard-exit-dur) var(--wizard-ease), opacity var(--wizard-exit-dur) var(--wizard-ease), filter var(--wizard-exit-dur) var(--wizard-ease);
}
#bookingForm.is-animating.is-transitioning .wpanel.is-entering{
  transition: transform var(--wizard-enter-dur) var(--wizard-ease) var(--wizard-enter-delay), opacity var(--wizard-enter-dur) var(--wizard-ease) var(--wizard-enter-delay), filter var(--wizard-enter-dur) var(--wizard-ease) var(--wizard-enter-delay);
}
#bookingForm.is-animating.is-transitioning.dir-forward .wpanel.is-exiting{
  opacity: 0;
  transform: translate3d(-26px, 0, 0) scale(.988) rotateY(3deg);
  filter: blur(8px);
}
#bookingForm.is-animating.is-transitioning.dir-forward .wpanel.is-entering{
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}
#bookingForm.is-animating.is-transitioning.dir-back .wpanel.is-exiting{
  opacity: 0;
  transform: translate3d(26px, 0, 0) scale(.988) rotateY(-3deg);
  filter: blur(8px);
}
#bookingForm.is-animating.is-transitioning.dir-back .wpanel.is-entering{
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}
.wtitle{
  margin: 0 0 6px;
  font-family:"Cormorant Garamond", serif;
  color: rgba(11,27,43,.94);
  font-size: 20px;
}
.wsub{
  margin:0 0 12px;
  font-size: 13px;
  color: rgba(11,27,43,.62);
}
/* Wizard cards */
.wgrid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-bottom: 12px;
  min-width: 0;
}
.wgrid--nested{
  margin-bottom: 8px;
}
.wcard{
  padding: 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.92);
  border: 1px solid var(--border);
  box-shadow: 0 10px 24px rgba(11,27,43,.08);
  min-width: 0;
}
.wcard--full{
  grid-column: 1 / -1;
}
.wcard .field{
  margin:0;
}
.contact-details{
  display: grid;
  gap: 14px;
  margin-bottom: 14px;
}
.contact-details__group{
  display: grid;
  gap: 8px;
}
.contact-details__heading{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}
.contact-details__heading p{
  margin: 0;
  color: rgba(11,27,43,.58);
  font-size: 12px;
  line-height: 1.4;
  text-align: right;
}
.contact-details__label,
.contact-method__tag{
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(200,162,74,.13);
  border: 1px solid rgba(200,162,74,.26);
  color: rgba(11,27,43,.62);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.contact-methods{
  display: grid;
  gap: 12px;
}
.contact-details__card,
.contact-method{
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(253,250,244,.94));
}
.contact-method{
  display: grid;
  gap: 10px;
  align-content: start;
}
.contact-method__tag{
  min-height: 22px;
  padding: 0 9px;
  background: rgba(132,167,196,.12);
  border-color: rgba(132,167,196,.28);
  letter-spacing: .12em;
}
.contact-method:first-child .contact-method__tag{
  background: rgba(52,168,126,.12);
  border-color: rgba(52,168,126,.25);
  color: rgba(26,92,74,.82);
}
@media (min-width: 860px){
  .wgrid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-methods{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.row{
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-bottom: 12px;
}
.row--two{ grid-template-columns: 1fr; }

.contact-form{
  width: 100%;
}
.contact-form .field textarea{
  width: 100%;
  max-width: 100%;
  resize: none !important;
  font-size: 16px;
}

.contact-section .section-title{
  margin-bottom: 22px;
}
.page-contact .section-title{
  align-items: flex-start;
}
.page-contact .hero__copy h1{
  font-size: 36px;
}
.page-contact .hero__media{
  min-height: 260px;
}
.contact-highlights{
  display:grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin: 12px 0 8px;
}
.contact-highlight{
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.86);
  border: 1px solid var(--border);
  box-shadow: 0 10px 22px rgba(11,27,43,.08);
}
.contact-highlight__title{
  display:block;
  font-size: 12px;
  font-weight: 700;
  color: rgba(11,27,43,.92);
  margin-bottom: 4px;
}
.contact-highlight__text{
  font-size: 11px;
  color: rgba(11,27,43,.62);
}
.contact-layout{
  display:grid;
  grid-template-columns: 1fr;
  gap: 18px;
}
.contact-panel{
  display:flex;
  flex-direction: column;
  gap: 12px;
}
.contact-card{
  width: 100%;
  padding: 18px;
  border-radius: 20px;
  background:
    linear-gradient(140deg, rgba(255,255,255,.96), rgba(248,244,237,.96)),
    linear-gradient(180deg, rgba(200,162,74,.16), rgba(164,188,202,.20));
  border: 1px solid rgba(11,27,43,.12);
  box-shadow: 0 22px 40px rgba(11,27,43,.12);
}
.contact-card__eyebrow{
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .3px;
  color: rgba(11,27,43,.58);
  margin-bottom: 8px;
}
.contact-card h3{
  margin: 0 0 10px;
  font-family:"Cormorant Garamond", serif;
  font-size: 24px;
  color: var(--text);
}
.contact-card p{
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}
.contact-meta{
  display:grid;
  grid-template-columns: 1fr;
  gap: 10px;
  padding: 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(11,27,43,.12);
  margin-bottom: 14px;
}
.contact-meta__label{
  font-size: 11px;
  color: rgba(11,27,43,.6);
  text-transform: uppercase;
  letter-spacing: .3px;
}
.contact-meta__value{
  font-size: 14px;
  color: rgba(11,27,43,.92);
  font-weight: 600;
}
.contact-cta{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
}
.contact-form.card{
  border-radius: 20px;
}
.contact-form.card .card-inner{
  padding: 20px;
}
.contact-form__inner{
  width: 100%;
}
.details{
  margin-top: 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.9);
  border: 1px solid var(--border);
  padding: 8px 12px;
}
.details summary{
  cursor: pointer;
  font-weight: 600;
  font-size: 13px;
  color: var(--text);
}
.details__content{
  margin-top: 12px;
}
.contact-note{
  margin-top: 10px;
  font-size: 12px;
  color: rgba(11,27,43,.6);
}
.contact-alt{
  margin-top: 10px;
  font-size: 12px;
  color: rgba(11,27,43,.6);
}
.contact-privacy{
  margin-top: 14px;
  padding: 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  border: 1px solid var(--border);
  box-shadow: 0 12px 26px rgba(58,58,52,.08);
}
.contact-privacy h3{
  margin: 0 0 6px;
  font-size: 16px;
}
.contact-privacy p{
  margin: 0 0 6px;
  font-size: 13px;
  color: var(--muted);
}
.contact-privacy__note{
  font-weight: 600;
  color: rgba(11,27,43,.8);
}

@media (min-width: 860px){
  .contact-layout{
    grid-template-columns: 1.05fr .95fr;
    align-items: start;
  }
  .contact-panel{
    position: sticky;
    top: 96px;
  }
  .contact-meta{
    grid-template-columns: 1fr 1fr;
  }
  .page-contact .hero__media{
    min-height: 320px;
  }
  .contact-highlights{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.field{ position:relative; min-width:0; max-width:100%; }
.field label{
  display:block;
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 700;
  color: rgba(11,27,43,.80);
  overflow-wrap:anywhere;
}
.field input,
.field select,
.field textarea{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  height: 44px;
  padding: 10px 12px;
  border-radius: 14px;
  background: var(--surface);
  border: 1px solid var(--border2);
  color: var(--text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.60);
  transition: border-color .15s ease;
}
.field select{
  text-align: center;
  text-align-last: center;
}
.field textarea{
  height: auto;
  min-height: 130px;
  resize: vertical;
}
.field input[type="date"],
.field input[type="time"]{
  min-inline-size: 0;
  inline-size: 100%;
}
.field input[readonly]{
  background: rgba(253,251,248,.92);
  color: rgba(11,27,43,.70);
}
.field input::placeholder{ color: rgba(11,27,43,.45); }


.help{
  margin-top: 8px;
  font-size: 12px;
  color: rgba(11,27,43,.58);
}

.inline-error{
  display:none;
  margin-top: 8px;
  font-size: 12px;
  color: rgba(11,27,43,.92);
  background: rgba(220,85,85,.10);
  border:1px solid rgba(220,85,85,.26);
  padding: 8px 10px;
  border-radius: 14px;
}
.field.invalid .inline-error{ display:block; }
.field.invalid input,
.field.invalid select{
  border-color: rgba(220,85,85,.55);
  box-shadow: 0 0 0 3px rgba(220,85,85,.14);
}
.qty-stepper{
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 52px;
  align-items: stretch;
  gap: 10px;
}
.qty-stepper__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 44px;
  padding: 0;
  border-radius: 14px;
  border: 1px solid rgba(132,167,196,.32);
  background:
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(245,248,250,.92)),
    linear-gradient(180deg, rgba(200,162,74,.08), rgba(164,188,202,.12));
  box-shadow: 0 12px 24px rgba(11,27,43,.08);
  color: rgba(11,27,43,.92);
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: transform 140ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease;
}
.qty-stepper__btn:hover{
  border-color: rgba(200,162,74,.42);
  box-shadow: 0 16px 28px rgba(11,27,43,.10);
}
.qty-stepper__btn:active{
  transform: translateY(1px);
}
.qty-stepper__btn:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px rgba(200,162,74,.18), 0 14px 26px rgba(11,27,43,.12);
  border-color: rgba(200,162,74,.52);
}
.qty-stepper__btn:disabled,
.qty-stepper__btn[aria-disabled="true"]{
  cursor: not-allowed;
  opacity: .5;
  box-shadow: none;
}
.qty-stepper input[type="number"]{
  text-align: center;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: .01em;
  -moz-appearance: textfield;
}
.qty-stepper select{
  width: 100%;
  min-width: 0;
  height: 44px;
  padding: 0 10px;
  border-radius: 14px;
  border: 1px solid var(--border2);
  background: var(--surface);
  color: var(--text);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.60);
  font-size: 18px;
  font-weight: 800;
  letter-spacing: .01em;
  text-align: center;
  text-align-last: center;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.qty-stepper select:focus{
  outline: none;
  border-color: rgba(200,162,74,.55);
  box-shadow: 0 0 0 3px rgba(200,162,74,.16);
}
.qty-stepper input[type="number"]::-webkit-outer-spin-button,
.qty-stepper input[type="number"]::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}
.qty-stepper--compact{
  grid-template-columns: 34px minmax(0, 1fr) 34px;
  gap: 8px;
  max-width: 142px;
  margin-left: auto;
}
.qty-stepper__btn--compact{
  min-height: 34px;
  border-radius: 10px;
  font-size: 18px;
}
.qty-stepper--compact select{
  height: 34px;
  padding: 0 4px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 700;
}
.field.invalid .qty-stepper input{
  border-color: rgba(220,85,85,.55);
  box-shadow: 0 0 0 3px rgba(220,85,85,.14);
}
.field.invalid .qty-stepper select{
  border-color: rgba(220,85,85,.55);
  box-shadow: 0 0 0 3px rgba(220,85,85,.14);
}
.field.invalid .qty-stepper__btn{
  border-color: rgba(220,85,85,.26);
}

/* Toggle */
.toggle{ display:flex; gap:10px; flex-wrap:wrap; }
.toggle,
.toggle label{
  min-width:0;
  max-width:100%;
}
.toggle label{ margin:0; font-weight:700; font-size:12px; }
.toggle input{ position:absolute; opacity:0; pointer-events:none; }
.toggle span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:44px;
  padding: 0 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(132,167,196,.38);
  color: rgba(11,27,43,.86);
  cursor:pointer;
  min-width:0;
  max-width:100%;
  text-align:center;
  overflow-wrap:anywhere;
}
.toggle input:checked + span{
  background: rgba(200,162,74,.16);
  border-color: rgba(200,162,74,.34);
  color: rgba(11,27,43,.92);
}

/* Search dropdown */
.search{ position:relative; }
.search-results{
  display:none;
  position:absolute;
  left:0; right:0;
  top: calc(100% + 8px); /* FIX: no hardcoded 74px */
  max-height: 360px;
  overflow:auto;
  padding: 8px;
  border-radius: 18px;
  background: rgba(255,255,255,.98);
  border:1px solid var(--border);
  box-shadow: 0 22px 48px rgba(11,27,43,.12);
  z-index: 20;
}
.search-results.is-open{ display:block; }

.field.search.has-selection label[for="hotel_search"],
.field.search.has-selection #hotel_search,
.field.search.has-selection .help,
.field.search.has-selection #hotel_results{
  display:none !important;
}

.field.search.has-selection .selected-pill{
  margin-top: 0;
}
.field.search.has-selection label[for="tour_hotel_search"],
.field.search.has-selection #tour_hotel_search,
.field.search.has-selection #tour_hotel_results,
.field.search.has-selection .help{
  display:none !important;
}
.tour-hotel-search .selected-pill[hidden]{
  display:none !important;
}

.search-item{
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid rgba(11,27,43,.10);
  background: rgba(255,255,255,.98);
  cursor:pointer;
  display:flex;
  flex-direction:column;
  gap:2px;
  transition: background .15s ease, border-color .15s ease, transform .1s ease;
}
.search-item + .search-item{ margin-top: 8px; }
.search-item__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.search-item:hover{
  background: rgba(164,188,202,.18);
  border-color: rgba(132,167,196,.30);
}
.search-item[aria-selected="true"],
.search-item.is-active{
  background: rgba(200,162,74,.14);
  border-color: rgba(200,162,74,.30);
}
.search-item strong{
  display:block;
  font-size:14px;
  color: rgba(11,27,43,.92);
}
.search-item__badge{
  flex: 0 0 auto;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(200,162,74,.16);
  border: 1px solid rgba(200,162,74,.28);
  color: rgba(11,27,43,.86);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.search-item__meta{
  display:block;
  margin-top: 2px;
  font-size:12px;
  color: rgba(11,27,43,.62);
}
.search-mark{
  background: rgba(200,162,74,.28);
  color: inherit;
  padding: 0 .12em;
  border-radius: .35em;
}

.hotel-empty{
  padding: 12px;
  border-radius: 14px;
  background: rgba(164,188,202,.12);
  border: 1px dashed rgba(132,167,196,.40);
  color: rgba(11,27,43,.70);
  font-size: 12px;
}

.search-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top: 10px;
  padding: 10px 10px;
  border-radius: 14px;
  background: rgba(164,188,202,.10);
  border: 1px solid rgba(132,167,196,.28);
  font-size: 12px;
  color: rgba(11,27,43,.62);
  position: static;
}
.search-foot__status{
  font-weight: 700;
  color: rgba(11,27,43,.78);
}
.search-foot__meta{
  text-align: right;
}

.selected-pill{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding: 12px 12px;
  border-radius: 18px;
  background: rgba(255,255,255,.96);
  border:1px solid rgba(200,162,74,.28);
  box-shadow: 0 18px 36px rgba(11,27,43,.10);
  min-width:0;
  max-width:100%;
}
.selected-pill button{
  height: 40px;
  padding: 0 14px;
  border-radius: 14px;
  border: 1px solid var(--border2);
  background: rgba(164,188,202,.14);
  cursor:pointer;
  font-weight:800;
  color: rgba(11,27,43,.90);
}
.selected-pill button:hover{
  background: rgba(164,188,202,.22);
  border-color: rgba(132,167,196,.48);
}

/* Step actions */
.wactions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top: 10px;
  min-width:0;
}
.wactions > span{ display:block; }
.wactions .btn{
  min-width: 108px;
  max-width:100%;
  transition: transform 140ms ease, box-shadow 220ms ease, filter 220ms ease;
}
.wactions .btn:active,
.wactions .btn.is-pressed{
  transform: translateY(1px);
  box-shadow: 0 8px 18px rgba(11,27,43,.14);
  filter: saturate(1.04);
}
.btn.is-success{
  background: linear-gradient(135deg, rgba(25,122,75,.98), rgba(45,190,110,.98));
  border-color: rgba(45,190,110,.48);
  color: rgba(255,255,255,.98);
  box-shadow: 0 18px 34px rgba(45,190,110,.24);
}
#submitBtn.is-success{
  animation: wizardSubmitSuccessPulse 420ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
#submitBtn.is-success::after{
  opacity: .7;
  animation: wizardSubmitSweep 620ms cubic-bezier(0.22, 1, 0.36, 1) 1;
}
#submitBtn.is-success .btnText{
  animation: wizardSubmitLabelIn 260ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
#submitBtn.is-success .btnLoader{
  display: none !important;
}

/* Vehicle picker (Step 3) */
.roundtrip-upsell{
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 12px;
  padding: 16px;
  border-radius: 20px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(248,244,237,.92)),
    radial-gradient(circle at 100% 0%, rgba(200,162,74,.18), transparent 56%);
  border: 1px solid rgba(200,162,74,.34);
  box-shadow: 0 18px 34px rgba(11,27,43,.08);
}
.roundtrip-upsell.is-hidden{
  display:none;
}
.roundtrip-upsell.is-applied{
  border-color: rgba(132,167,196,.34);
  background:
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(240,247,250,.92)),
    radial-gradient(circle at 100% 0%, rgba(132,167,196,.16), transparent 58%);
}
.roundtrip-upsell__eyebrow{
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(11,27,43,.56);
  margin-bottom: 8px;
}
.roundtrip-upsell__title{
  margin: 0 0 8px;
  font-size: 22px;
  line-height: 1.1;
  color: rgba(11,27,43,.95);
}
.roundtrip-upsell__text{
  margin: 0;
  color: rgba(11,27,43,.68);
  line-height: 1.6;
  font-size: 14px;
}
.roundtrip-upsell__meta{
  display:flex;
  flex-direction:column;
  gap: 10px;
  justify-content:center;
}
.roundtrip-upsell__discount{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 48px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(11,27,43,.92);
  color: rgba(255,255,255,.98);
  font-size: 18px;
  letter-spacing: .01em;
  box-shadow: 0 14px 24px rgba(11,27,43,.16);
}
.roundtrip-upsell__meta .btn[hidden]{
  display:none;
}

.veh-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 12px;
  align-items: stretch;
}
.veh{
  display:flex;
  flex-direction:column;
  height:100%;
  width:100%;
  max-width:none;
  border-radius: var(--radius2);
  overflow:hidden;
  cursor:pointer;
  background: var(--card);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  position:relative;
  transition: transform .16s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.veh input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.veh__media{
  aspect-ratio: 16 / 9;
  min-height: 180px;
  background-color: rgba(164,188,202,.10);
  position:relative;
  background-size: cover !important;
  background-position: center;
  background-repeat: no-repeat;
}
.veh__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 22%, rgba(200,162,74,.18), transparent 58%),
    linear-gradient(180deg, rgba(11,27,43,.02), rgba(11,27,43,.18));
  pointer-events:none;
}
.veh__body{
  padding: 14px 14px 14px;
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  gap:6px;
}
.veh__name{
  font-weight:900;
  color: rgba(11,27,43,.94);
  font-size: 16px;
}
.veh__meta{
  margin-top: 6px;
  font-size: 12px;
  color: rgba(11,27,43,.62);
}
.veh__hint{
  margin-top: auto;
  font-size: 13px;
  font-weight:850;
  color: rgba(11,27,43,.90);
  padding: 10px 10px;
  border-radius: 14px;
  background: rgba(164,188,202,.12);
  border: 1px solid rgba(132,167,196,.30);
}
.veh__price-line{
  display:flex;
  align-items:baseline;
  gap:8px;
  flex-wrap:wrap;
}
.vehOriginalPrice{
  color:rgba(11,27,43,.48);
  font-size:12px;
  font-weight:700;
  text-decoration:line-through;
}
.vehPromo{
  display:block;
  width:fit-content;
  margin-top:7px;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(22,163,74,.12);
  border:1px solid rgba(22,163,74,.28);
  color:#166534;
  font-size:11px;
  font-weight:850;
  line-height:1.25;
}
.vehPromo[hidden],
.vehOriginalPrice[hidden]{
  display:none !important;
}
.veh__selected{
  display:inline-flex;
  align-self:flex-start;
  margin-top: 4px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(200,162,74,.14);
  border: 1px solid rgba(200,162,74,.34);
  color: rgba(94,77,42,.96);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  opacity: 0;
  visibility: hidden;
}
.veh__check{
  position:absolute;
  top:10px;
  right:10px;
  width:30px;
  height:30px;
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  border: 1px solid var(--border);
  box-shadow: 0 10px 18px rgba(11,27,43,.12);
  z-index: 2;
  pointer-events:none;
}
.veh:has(input:checked){
  border-color: rgba(200,162,74,.72);
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(252,248,238,.98));
  box-shadow: 0 18px 42px rgba(11,27,43,.12), 0 0 0 3px rgba(200,162,74,.13);
}
.veh input:checked ~ .veh__media .veh__check{
  background: rgba(11,27,43,.94);
  border-color: rgba(200,162,74,.72);
  box-shadow: 0 0 0 4px rgba(200,162,74,.20), 0 12px 22px rgba(11,27,43,.16);
}
.veh input:checked ~ .veh__media .veh__check::after{
  content:"✓";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color: rgba(241,224,181,.98);
  font-weight:900;
}
.veh input:checked ~ .veh__body{
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(252,248,238,.96));
}
.veh input:checked ~ .veh__media{
  outline: 3px solid rgba(200,162,74,.50);
  outline-offset: -3px;
}
.veh input:checked ~ .veh__body .veh__hint{
  background: rgba(200,162,74,.12);
  border-color: rgba(200,162,74,.36);
}
.veh input:checked ~ .veh__body .veh__selected{
  opacity: 1;
  visibility: visible;
}
.veh.is-disabled{
  cursor: not-allowed;
  opacity: .58;
  box-shadow: 0 10px 22px rgba(11,27,43,.05);
}
.veh.is-disabled .veh__body{
  background: rgba(244,246,248,.86);
}
.veh.is-disabled .veh__hint{
  background: rgba(244,246,248,.92);
  border-color: rgba(11,27,43,.10);
  color: rgba(11,27,43,.60);
}

/* Submit CTA */
.cta{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top: 8px;
}
.confidence{
  font-size: 12px;
  color: rgba(11,27,43,.58);
}

@media (min-width: 860px){
  .roundtrip-upsell{
    grid-template-columns: minmax(0, 1.2fr) auto;
    align-items:center;
  }
  .roundtrip-upsell__meta{
    min-width: 220px;
  }
}

@media (max-width: 520px){
  .contact-details__heading{
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }
  .contact-details__heading p{
    text-align: left;
  }
  .contact-method{
    gap: 8px;
  }
}

/* Price aside */
.price{
  align-self:start;
}
.price__sticky{
  position:relative;
}
.price .card{
  box-shadow: 0 18px 36px rgba(11,27,43,.10);
}
.price__sticky,
.summary-dock{
  transition: transform 240ms cubic-bezier(0.22, 1, 0.36, 1), opacity 220ms ease, filter 220ms ease, box-shadow 220ms ease;
}
.price__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom: 12px;
}
.price__head h3{
  margin:0;
  font-family:"Cormorant Garamond", serif;
  font-size: 20px;
  color: rgba(11,27,43,.94);
}
.price__head p{
  margin:6px 0 0;
  font-size: 12px;
  color: rgba(11,27,43,.58);
}
.estimate{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding: 12px 12px;
  border-radius: 18px;
  background: rgba(164,188,202,.10);
  border: 1px solid rgba(132,167,196,.30);
}
.estimate__line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  font-size: 12px;
  color: rgba(11,27,43,.66);
}
.estimate__line strong{
  color: rgba(11,27,43,.92);
  font-weight:900;
}
.estimate__line--promotion{
  position:relative;
  margin:2px -4px 0;
  padding:10px 11px;
  border:1px solid rgba(22,163,74,.30);
  border-radius:12px;
  background:linear-gradient(135deg, rgba(240,253,244,.98), rgba(220,252,231,.84));
  box-shadow:0 8px 18px rgba(22,101,52,.10);
  color:#166534;
  overflow:hidden;
}
.estimate__line--promotion::before{
  content:"✦";
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  margin-right:-3px;
  border-radius:999px;
  background:#166534;
  color:#fff;
  font-size:11px;
  line-height:1;
}
.estimate__line--promotion span{
  color:#166534;
  font-weight:850;
}
.estimate__line--promotion strong{
  max-width:52%;
  color:#14532d;
  text-align:right;
  line-height:1.25;
}
.estimate__line--promotion.is-active{
  animation:promotionSummaryReveal .42s cubic-bezier(.22,1,.36,1) both;
}
@keyframes promotionSummaryReveal{
  from{ opacity:0; transform:translateY(5px) scale(.985); }
  to{ opacity:1; transform:translateY(0) scale(1); }
}
.estimate__total{
  font-weight:900;
  color: rgba(11,27,43,.96);
  font-size: 14px;
}
.estimate__line--discount{
  color: rgba(94,77,42,.92);
}
.estimate__line--discount strong{
  color: rgba(94,77,42,.98);
}
.estimate__line--discount.is-savings,
.estimate__line--discount.is-savings strong{
  color:#166534;
  font-weight:900;
}
@media (prefers-reduced-motion: reduce){
  .estimate__line--promotion.is-active{ animation:none; }
}
.price__note{
  margin-top: 10px;
  font-size: 12px;
  color: rgba(11,27,43,.60);
}
.summary-dock{
  position: fixed;
  left: 10px;
  right: 10px;
  bottom: max(10px, env(safe-area-inset-bottom));
  z-index: 32;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(11,27,43,.90);
  border: 1px solid rgba(200,162,74,.28);
  box-shadow: 0 16px 34px rgba(11,27,43,.22);
  color: rgba(245,240,228,.96);
  backdrop-filter: blur(8px);
}
.summary-dock__step{
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .12em;
  opacity: .9;
}
.summary-dock__total{
  font-size: 13px;
  font-weight: 900;
}

/* Thank-you page */
.page-thank{
  background:
    radial-gradient(980px 460px at 86% 0%, rgba(164,188,202,.20), transparent 70%),
    radial-gradient(920px 420px at 14% 0%, rgba(200,162,74,.16), transparent 68%),
    linear-gradient(180deg, rgba(246,243,238,.98), rgba(234,241,246,.92) 62%, #f2f6f8 100%);
}
.page-thank .section{
  padding-top: 36px;
}
.page-thank .thank-lead{
  font-size: 16px;
  color: var(--muted);
}
.thank-meta{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.85);
  border: 1px solid var(--border);
  font-size: 12px;
  color: var(--muted2);
  margin: 6px 0 12px;
}
.thank-meta__value{
  color: var(--text);
  font-weight: 700;
  letter-spacing: .08em;
}
.thank-you .card h1{
  margin:0 0 8px;
  font-family:"Cormorant Garamond", serif;
  color: rgba(11,27,43,.94);
  font-size: 32px;
}
.thank-hero{
  display:grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin-bottom: 16px;
}
.thank-hero__left{
  padding: 20px 18px;
  border-radius: 20px;
  background:
    radial-gradient(600px 320px at 10% 0%, rgba(200,162,74,.18), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,245,238,.98));
  border: 1px solid var(--border);
  box-shadow: 0 16px 34px rgba(11,27,43,.10);
}
.thank-hero__status{
  display:inline-flex;
  align-items:center;
  height: 30px;
  margin-left: 8px;
  padding: 0 11px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: rgba(11,27,43,.76);
  background: rgba(164,188,202,.16);
  border: 1px solid rgba(132,167,196,.30);
}
.thank-hero__status.is-paid{
  color: rgba(11,27,43,.88);
  background: rgba(45,190,110,.17);
  border-color: rgba(45,190,110,.30);
}
.thank-hero__status.is-pending{
  background: rgba(200,162,74,.18);
  border-color: rgba(200,162,74,.30);
}
.thank-hero__status.is-cash{
  color: rgba(11,27,43,.88);
  background: rgba(214,186,96,.20);
  border-color: rgba(200,162,74,.36);
}
.thank-hero__status.is-cancelled{
  color: rgba(137,27,27,.88);
  background: rgba(191,71,71,.14);
  border-color: rgba(191,71,71,.26);
}
.thank-kpis{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin: 12px 0 14px;
}
.thank-kpi{
  padding: 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.9);
  border: 1px solid var(--border);
  box-shadow: 0 10px 24px rgba(11,27,43,.06);
}
.thank-kpi span{
  display:block;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--muted2);
  margin-bottom: 6px;
}
.thank-kpi strong{
  font-size: 14px;
  color: var(--text);
}
.thank-itinerary{
  margin: 10px 0 14px;
  padding: 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(214,197,165,.48);
  box-shadow: 0 14px 30px rgba(11,27,43,.08);
}
.thank-itinerary__head{
  display:grid;
  gap: 8px;
  margin-bottom: 12px;
}
.thank-itinerary__eyebrow{
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(11,27,43,.56);
}
.thank-itinerary__title{
  margin: 0;
  font-family:"Cormorant Garamond", serif;
  font-size: 24px;
  color: rgba(11,27,43,.94);
}
.thank-itinerary__lead{
  margin: 0;
  color: rgba(11,27,43,.64);
  line-height: 1.65;
}
.thank-itinerary__grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.thank-leg{
  display:grid;
  gap: 6px;
  padding: 14px;
  border-radius: 16px;
  background:
    radial-gradient(220px 90px at 0% 0%, rgba(200,162,74,.18), transparent 65%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,245,237,.98));
  border: 1px solid rgba(214,197,165,.52);
}
.thank-leg__label{
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(11,27,43,.56);
}
.thank-leg__route{
  font-size: 16px;
  color: rgba(11,27,43,.94);
  line-height: 1.35;
}
.thank-leg__meta{
  font-size: 13px;
  color: rgba(11,27,43,.66);
}
.thank-paypal{
  margin-top: 14px;
  position: relative;
  z-index: 1;
}
.thank-paypal #paypal-button-container{
  max-width: 360px;
  width: 100%;
}
.thank-paypal iframe,
.thank-paypal iframe *{
  max-width: 100%;
}
.thank-paypal{
  overflow: hidden;
}
.payment-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content:center;
  margin-top: 14px;
}
.payment-actions--standalone{
  margin-top: 12px;
}
.payment-actions__cash{
  border-color: rgba(200,162,74,.36);
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,245,237,.98));
  color: rgba(11,27,43,.92);
  box-shadow: 0 10px 22px rgba(200,162,74,.10);
}
.payment-actions__cash:hover{
  border-color: rgba(200,162,74,.48);
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,240,228,.98));
}
.btn--subtle{
  background: transparent;
  border: 1px solid rgba(11,27,43,.10);
  color: rgba(11,27,43,.62);
  box-shadow: none;
}
.btn--subtle:hover{
  background: rgba(11,27,43,.03);
  border-color: rgba(11,27,43,.16);
  color: rgba(11,27,43,.78);
}
.payment-actions__status{
  margin-top: 10px;
}
.thank-hero__left h1{
  margin: 10px 0 10px;
  font-size: 34px;
}
.thank-hero__left p{
  margin: 0 0 16px;
  color: rgba(11,27,43,.70);
}
.confirm-pill{
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(164,188,202,.12);
  border: 1px solid rgba(132,167,196,.30);
  font-size: 12px;
  color: rgba(11,27,43,.72);
}
.confirm-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.thank-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 16px;
  align-items: start;
}
.meeting-box{
  margin: 16px 0 16px;
  padding: clamp(14px, 2vw, 20px);
  border-radius: 18px;
  background:
    radial-gradient(420px 180px at 8% 0%, rgba(200,162,74,.16), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.97), rgba(247,250,252,.96));
  border: 1px solid rgba(214,197,165,.52);
  box-shadow: 0 16px 34px rgba(11,27,43,.09);
}
.meeting-box__head{
  display:grid;
  gap: 8px;
  margin-bottom: 14px;
}
.meeting-box__eyebrow{
  display:block;
  margin-bottom: 5px;
  color: rgba(11,27,43,.58);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.meeting-box h3{
  margin:0;
  font-family:"Cormorant Garamond", serif;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.05;
  color: rgba(11,27,43,.92);
  text-transform: none;
  letter-spacing: 0;
}
.meeting-box__lead{
  margin: 0;
  color: rgba(11,27,43,.66);
  font-size: 13px;
  line-height: 1.6;
}
.meeting-box ol{
  margin:0;
  padding-left: 18px;
  color: rgba(11,27,43,.66);
  font-size: 12px;
  line-height:1.55;
}
.meeting-point-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 14px;
  align-items: stretch;
}
.meeting-point-card{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,245,237,.98));
  border: 1px solid rgba(214,197,165,.52);
  box-shadow: 0 14px 28px rgba(11,27,43,.08);
}
.meeting-point-card__image{
  position:relative;
  flex: 0 0 auto;
  aspect-ratio: 16 / 9;
  min-height: clamp(180px, 42vw, 260px);
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    linear-gradient(135deg, rgba(164,188,202,.24), rgba(200,162,74,.18)),
    repeating-linear-gradient(45deg, rgba(255,255,255,.38) 0 10px, rgba(255,255,255,.16) 10px 20px);
  border-bottom: 1px solid rgba(214,197,165,.52);
  color: rgba(11,27,43,.52);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  touch-action: manipulation;
}
.meeting-point-card__image img{
  position:absolute;
  inset:0;
  width: 100%;
  height: 100%;
  display:block;
  object-fit: cover;
  pointer-events:none;
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}
.meeting-point-card__image span{
  position:relative;
  z-index:1;
}
.meeting-point-card__body{
  position:relative;
  z-index:2;
  flex: 1 1 auto;
  padding: clamp(14px, 2vw, 18px);
  background: rgba(255,255,255,.98);
  border-top: 1px solid rgba(214,197,165,.52);
}
.meeting-point-card__eyebrow{
  display:block;
  margin-bottom: 5px;
  color: rgba(11,27,43,.66);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.meeting-point-card strong{
  display:block;
  margin-bottom: 6px;
  color: rgba(11,27,43,.94);
  font-size: 17px;
}
.meeting-point-card p,
.meeting-identification{
  margin:0;
  color: rgba(11,27,43,.78);
  font-size: 13px;
  line-height:1.65;
}
.meeting-identification{
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(236,244,248,.94), rgba(255,255,255,.94));
  border: 1px solid rgba(132,167,196,.34);
}
.meeting-identification strong{
  color: rgba(11,27,43,.92);
}
.thank-support{
  display:grid;
  gap: 12px;
  margin-top: 14px;
  padding: 14px;
  border-radius: 18px;
  background:
    radial-gradient(260px 120px at 0% 0%, rgba(164,188,202,.16), transparent 68%),
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,245,238,.98));
  border: 1px solid rgba(214,197,165,.48);
}
.thank-support__eyebrow{
  display:block;
  margin-bottom: 6px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(11,27,43,.56);
}
.thank-support__copy strong{
  display:block;
  margin-bottom: 6px;
  font-size: 18px;
  color: rgba(11,27,43,.94);
}
.thank-support__copy p{
  margin: 0;
  color: rgba(11,27,43,.66);
  font-size: 13px;
  line-height: 1.6;
}
.thank-support__actions{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
}
.thank-hero__badge{
  display:inline-flex;
  align-items:center;
  height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 11px;
  letter-spacing:.16em;
  text-transform: uppercase;
  color: rgba(11,27,43,.70);
  background: rgba(200,162,74,.12);
  border: 1px solid rgba(200,162,74,.28);
}
.thank-hero__right .receipt-card{
  max-width: none;
}
.receipt-card{
  max-width: 900px;
  margin: 0 auto;
}
.receipt-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-bottom: 10px;
  border-bottom: 1px dashed rgba(11,27,43,.18);
  flex-wrap:wrap;
}
.receipt-mark{
  width:44px;
  height:44px;
  border-radius: 16px;
  display:grid;
  place-items:center;
  font-weight:900;
  font-size: 12px;
  color: rgba(11,27,43,.9);
  background: rgba(45,190,110,.16);
  border: 1px solid rgba(45,190,110,.28);
}
.receipt-title{
  flex:1 1 280px;
  min-width: 220px;
}
.receipt-actions{
  margin-top: 14px;
}
.receipt-section{
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px dashed rgba(11,27,43,.12);
}
.thank-extras{
  margin-top: 8px;
}
.receipt-cards{
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 16px;
}
.receipt-mini{
  display:flex;
  gap:12px;
  padding: 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.92);
  border: 1px solid var(--border);
  box-shadow: 0 10px 24px rgba(11,27,43,.08);
}
.receipt-ico{
  width:42px;
  height:42px;
  border-radius: 16px;
  display:grid;
  place-items:center;
  font-weight:900;
  color: rgba(11,27,43,.92);
  background: rgba(200,162,74,.16);
  border: 1px solid rgba(200,162,74,.30);
  flex: 0 0 42px;
}
.receipt-ico svg{
  width:22px;
  height:22px;
  display:block;
}
.thank-ref{
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(164,188,202,.12);
  border: 1px solid rgba(132,167,196,.30);
  min-width: 180px;
}
.thank-ref__label{
  font-size:11px;
  text-transform: uppercase;
  letter-spacing:.16em;
  color: rgba(11,27,43,.55);
}
.thank-ref__value{
  margin-top:6px;
  font-weight:900;
  color: rgba(11,27,43,.92);
  letter-spacing:.8px;
}
.thank-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin-top: 14px;
}
.thank-card{
  border-radius: 18px;
  border: 1px solid rgba(214,197,165,.42);
  box-shadow: 0 16px 34px rgba(10,22,38,.08);
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(252,249,242,.98));
}
.thank-card > .card-inner{
  padding: clamp(16px, 2vw, 22px);
}
.thank-card__actions{
  margin-top: 14px;
}
.thank-card__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.thank-card__tag{
  display:inline-flex;
  align-items:center;
  height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: rgba(11,27,43,.66);
  background: rgba(164,188,202,.16);
  border: 1px solid rgba(132,167,196,.30);
  white-space: nowrap;
}
.thank-title{
  margin:0 0 10px;
  font-family:"Cormorant Garamond", serif;
  color: rgba(11,27,43,.94);
  font-size: clamp(21px, 2.2vw, 28px);
}
.thank-state{
  display:grid;
  gap: 4px;
  margin-bottom: 12px;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid rgba(214,197,165,.52);
  background: rgba(255,255,255,.92);
}
.thank-state strong{
  color: rgba(11,27,43,.94);
  font-size: 15px;
}
.thank-state span{
  color: rgba(11,27,43,.66);
  font-size: 13px;
  line-height: 1.6;
}
.thank-state.is-paid{
  background: linear-gradient(180deg, rgba(232,250,238,.96), rgba(255,255,255,.96));
  border-color: rgba(45,190,110,.26);
}
.thank-state.is-pending{
  background: linear-gradient(180deg, rgba(255,248,231,.96), rgba(255,255,255,.96));
  border-color: rgba(200,162,74,.32);
}
.thank-state.is-cash{
  background: linear-gradient(180deg, rgba(255,247,224,.98), rgba(255,255,255,.96));
  border-color: rgba(200,162,74,.38);
}
.thank-state.is-cancelled{
  background: linear-gradient(180deg, rgba(255,239,239,.96), rgba(255,255,255,.96));
  border-color: rgba(191,71,71,.24);
}
.thank-cash-note{
  margin-bottom: 12px;
  padding: 13px;
  border-radius: 16px;
  background:
    radial-gradient(260px 140px at 0% 0%, rgba(200,162,74,.18), transparent 70%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,245,237,.98));
  border: 1px solid rgba(200,162,74,.34);
  box-shadow: 0 12px 28px rgba(200,162,74,.10);
}
.thank-cash-note__eyebrow{
  display:block;
  margin-bottom: 7px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(11,27,43,.58);
}
.thank-cash-note strong{
  display:block;
  margin-bottom: 6px;
  color: rgba(11,27,43,.94);
  font-size: 15px;
  line-height: 1.4;
}
.thank-cash-note p{
  margin: 0;
  color: rgba(11,27,43,.70);
  font-size: 13px;
  line-height: 1.65;
}
.summary-list{
  display:flex;
  flex-direction:column;
  gap:9px;
  padding: 11px;
  border-radius: 16px;
  background: rgba(164,188,202,.10);
  border: 1px solid rgba(132,167,196,.28);
}
.summary-list--compact{
  padding: 10px;
  gap:8px;
}
.summary-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-size: 12px;
  color: rgba(11,27,43,.66);
}
.summary-item strong{
  color: rgba(11,27,43,.92);
  font-weight:900;
  text-align:right;
  line-height:1.35;
}
.summary-item span{
  text-transform: uppercase;
  letter-spacing:.12em;
  font-size: 11px;
  line-height:1.35;
}
.thank-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:center;
  margin-top: 12px;
}
.page-thank .thank-hero__support,
.page-thank .thank-card__actions,
.page-thank .thank-support__actions,
.page-thank .hero__cta{
  justify-content:center;
}
.page-thank .thank-paypal{
  display:grid;
  justify-items:center;
}
.page-thank .payment-actions__status,
.page-thank #paypalStatus,
.page-thank #resendStatus{
  text-align:center;
}
.thank-next-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-bottom: 14px;
}
.thank-next-step{
  padding: 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(214,197,165,.46);
  box-shadow: 0 10px 22px rgba(11,27,43,.06);
}
.thank-next-step strong{
  display:block;
  margin-bottom: 6px;
  color: rgba(11,27,43,.92);
  font-size: 14px;
}
.thank-next-step p{
  margin: 0;
  color: rgba(11,27,43,.66);
  font-size: 13px;
  line-height: 1.6;
}
.extra-table{
  display:grid;
  gap:8px;
  margin-top: 10px;
}
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip: rect(0, 0, 0, 0);
  border:0;
}
.extra-row{
  display:grid;
  grid-template-columns: minmax(0, 1fr) 90px 70px;
  gap:10px;
  align-items:start;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.92);
  border: 1px solid var(--border);
  font-size: 12px;
  color: rgba(11,27,43,.70);
}
.extra-row div:nth-child(2),
.extra-row div:nth-child(3){
  text-align:right;
  font-weight:800;
  color: rgba(11,27,43,.92);
}
.extra-qty{
  display: block;
  width: 100%;
}
.extra-qty .qty-stepper{
  width: 100%;
}
.extra-head{
  background: rgba(164,188,202,.12);
  border-color: rgba(132,167,196,.32);
  text-transform: uppercase;
  letter-spacing:.12em;
  font-size: 11px;
  color: rgba(11,27,43,.55);
}
.extra-head div:nth-child(2),
.extra-head div:nth-child(3){
  font-weight:700;
  color: rgba(11,27,43,.60);
}
@media (max-width: 520px){
  .extra-row{
    grid-template-columns: 1fr;
  }
  .extra-row div:nth-child(2),
  .extra-row div:nth-child(3){
    text-align:left;
  }
}
@media (min-width: 860px){
  .thank-hero{
    grid-template-columns: minmax(0, 1.16fr) minmax(320px, .84fr);
    align-items: start;
  }
  .thank-itinerary__head{
    grid-template-columns: minmax(0, 1fr) minmax(260px, .9fr);
    align-items: end;
  }
  .thank-itinerary__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .thank-hero__right{
    justify-self: end;
    width: 100%;
    max-width: 430px;
    position: sticky;
    top: 24px;
  }
  .thank-grid{
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
    align-items: start;
    gap: 12px 18px;
  }
  .thank-grid > .thank-card--payment{
    grid-column: 1;
  }
  .thank-grid > .thank-card--receipt{
    grid-column: 1;
  }
  .thank-grid > .thank-card--next{
    grid-column: 2;
    grid-row: 1;
  }
  .thank-next-grid{
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  }
  .meeting-box{
    padding: 18px;
  }
  .meeting-box__head{
    grid-template-columns: 1fr;
    align-items: end;
    margin-bottom: 16px;
  }
  .meeting-point-card__image{
    min-height: clamp(210px, 28vw, 300px);
  }
  .thank-support{
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
  }
  .receipt-cards{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1100px){
  .thank-grid{
    grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
    gap: 12px 20px;
  }
  .meeting-point-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
  .meeting-box__head{
    grid-template-columns: minmax(0, 1fr) minmax(250px, .75fr);
  }
  .meeting-point-card__image{
    min-height: clamp(220px, 20vw, 290px);
  }
  .thank-grid > .thank-card--receipt{
    max-width: none;
    justify-self: stretch;
  }
  .thank-grid > .thank-card--receipt > .card-inner{
    padding: 14px 16px;
  }
  .thank-grid > .thank-card--receipt .thank-title{
    font-size: 21px;
  }
  .thank-grid > .thank-card--receipt .thank-card__lead{
    font-size: 12px;
    line-height: 1.5;
    margin-bottom: 10px;
  }
  .thank-grid > .thank-card--receipt .summary-list{
    padding: 9px;
    gap: 7px;
  }
  .thank-grid > .thank-card--receipt .thank-card__actions{
    margin-top: 10px;
  }
}

.thank-layout{
  display:grid;
  gap:16px;
  align-items:start;
}
.thank-layout__main,
.thank-layout__sidebar{
  display:contents;
}
.thank-layout__sidebar{
  align-content:start;
}
.page-thank .thank-layout .thank-hero__left,
.page-thank .thank-layout .thank-hero__right,
.page-thank .thank-layout .thank-card{
  grid-column:auto;
  grid-row:auto;
  min-width:0;
}
.page-thank .thank-layout .thank-hero__right{
  width:100%;
  max-width:none;
  position:static;
  justify-self:stretch;
}
.page-thank .thank-layout .thank-hero__right .receipt-card,
.page-thank .thank-layout__sidebar > .thank-card{
  width:100%;
  max-width:none;
}
.page-thank .thank-layout .thank-hero__left{
  order:1;
}
.page-thank .thank-layout .thank-hero__right{
  order:2;
}
.page-thank .thank-layout .thank-card--payment{
  order:3;
}
.page-thank .thank-layout .thank-card--next{
  order:4;
}
.page-thank .thank-layout .thank-card--receipt{
  order:5;
}
.page-thank .thank-layout .thank-card--payment > .card-inner,
.page-thank .thank-layout .thank-card--receipt > .card-inner{
  padding:14px 15px;
}
.page-thank .thank-layout .thank-card--payment .thank-title,
.page-thank .thank-layout .thank-card--receipt .thank-title{
  font-size:22px;
}
.page-thank .thank-layout .thank-card--payment .thank-card__head,
.page-thank .thank-layout .thank-card--receipt .thank-card__head{
  display:grid;
  justify-items:start;
  gap:6px;
}
.page-thank .thank-layout .thank-card--payment .thank-card__tag,
.page-thank .thank-layout .thank-card--receipt .thank-card__tag{
  height:auto;
  min-height:24px;
  white-space:normal;
  line-height:1.25;
  text-align:left;
}
.page-thank .thank-layout__sidebar .summary-item{
  display:grid;
  grid-template-columns:minmax(92px, .72fr) minmax(0, 1.18fr);
  align-items:start;
}
.page-thank .thank-layout__sidebar .summary-item strong{
  max-width:none;
  text-align:right;
  overflow-wrap:anywhere;
}
@media (max-width: 520px){
  .page-thank .thank-layout__sidebar .summary-item{
    grid-template-columns:1fr;
    gap:3px;
  }
  .page-thank .thank-layout__sidebar .summary-item strong{
    text-align:left;
  }
}

@media (min-width: 960px){
  .thank-layout{
    grid-template-columns:minmax(0, 1.45fr) minmax(380px, 1fr);
    gap:18px 22px;
  }
  .thank-layout__main{
    display:grid;
    gap:18px;
    align-content:start;
  }
  .thank-layout__sidebar{
    display:grid;
    gap:12px;
    align-content:start;
  }
  .page-thank .thank-layout .thank-hero__left,
  .page-thank .thank-layout .thank-hero__right,
  .page-thank .thank-layout .thank-card--payment,
  .page-thank .thank-layout .thank-card--next,
  .page-thank .thank-layout .thank-card--receipt{
    order:0;
  }
  .page-thank .thank-layout .meeting-point-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:18px;
  }
  .page-thank .thank-layout .meeting-point-card__image{
    min-height:clamp(230px, 23vw, 320px);
  }
}

@media (min-width: 980px){
  .booking-wrap{
    grid-template-columns: minmax(0, 1.12fr) minmax(260px, .88fr);
    align-items: start;
  }
  .price__sticky{
    position: sticky;
    top: calc(var(--site-chrome-height) + 28px);
  }
  .summary-dock{
    display:none;
  }
}

/* Vehicles section cards */
.veh-cards{
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 14px;
}
.veh-card{
  border-radius: var(--radius2);
  background: var(--card);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  overflow:hidden;
}
.veh-card__media{
  aspect-ratio: 16 / 9;
  min-height: 180px;
  background-color: rgba(164,188,202,.10);
  position:relative;
}
.veh-card__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 22% 20%, rgba(200,162,74,.18), transparent 58%),
    linear-gradient(180deg, rgba(11,27,43,.02), rgba(11,27,43,.18));
  pointer-events:none;
}
.veh-card__content{ padding: 14px 14px 16px; }
.veh-card__content h3{
  margin:0 0 6px;
  color: rgba(11,27,43,.94);
  font-size: 18px;
}
.veh-card__content p{
  margin:0;
  font-size: 13px;
  color: rgba(11,27,43,.62);
  line-height:1.45;
}

/* How grid */
.how-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin-top: 14px;
}
.how-grid .card{ background: var(--card); }
.how-grid strong{ display:block; color: rgba(11,27,43,.92); }
.how-grid .help{ color: rgba(11,27,43,.58); }

/* Footer */
footer{
  padding: 42px 0 52px;
  border-top: 1px solid var(--border);
  background:
    radial-gradient(900px 520px at 20% 0%, rgba(164,188,202,.22), transparent 60%),
    linear-gradient(180deg, rgba(246,243,238,.90), rgba(234,241,246,.95));
}
.footer-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 18px;
}
.foot{
  padding: 14px 14px;
  border-radius: var(--radius2);
  background: rgba(255,255,255,.90);
  border: 1px solid var(--border);
  box-shadow: 0 16px 34px rgba(11,27,43,.08);
}
.foot-title{
  margin:0 0 8px;
  font-family:"Cormorant Garamond", serif;
  color: rgba(11,27,43,.94);
  font-size: 18px;
}
.foot p{
  margin:0;
  color: rgba(11,27,43,.66);
  font-size: 13px;
  line-height:1.55;
}
.foot p + p{ margin-top: 8px; }
.subfoot{
  margin-top: 12px;
  font-size: 12px;
  color: rgba(11,27,43,.56);
}
.foot__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top: 12px;
}

/* Fix mobile: "Change" button overflows selected hotel pill */
.selected-pill{
  flex-wrap: wrap;
  align-items: center;
}
.selected-pill > *{ min-width: 0; }
.selected-pill button{
  flex: 0 0 auto;
  max-width: 100%;
  white-space: nowrap;
}
@media (max-width: 520px){
  .selected-pill{ gap: 8px; }
  .selected-pill button{ width: 100%; }
}

/* Trust + TripAdvisor section */
.trust-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.trust-card{
  border-radius: var(--radius2);
  background: var(--surface2);
  border: 1px solid var(--border2);
  box-shadow: var(--shadow);
  padding: 18px;
}

.trust-title{
  margin:0 0 8px;
  font-family:"Cormorant Garamond", serif;
  font-weight:700;
  color: var(--text);
  letter-spacing:.2px;
}

.trust-sub{
  margin:0 0 14px;
  color: var(--muted);
  font-size: 13px;
  line-height:1.55;
  max-width: 62ch;
}

.trust-pills{
  display:flex;
  flex-wrap:wrap;
  gap: 8px;
  margin: 10px 0 16px;
}

.pill{
  display:inline-flex;
  align-items:center;
  height: 32px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  color: var(--text);
  background: #fff;
  border: 1px solid var(--border);
}

.trust-actions{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
}

.ta-note{
  margin: 12px 0 0;
  font-size: 12px;
  color: var(--muted2);
}

.mini-grid{
  margin-top: 16px;
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.mini-card{
  border-radius: 18px;
  background: #fff;
  border: 1px solid var(--border);
  box-shadow: 0 12px 26px rgba(58,58,52,.08);
  padding: 14px;
}

.mini-ico{
  width: 36px;
  height: 36px;
  border-radius: 14px;
  display:grid;
  place-items:center;
  background: rgba(200,162,74,.14);
  border: 1px solid rgba(200,162,74,.28);
  color: rgba(11,27,43,.92);
  font-size: 18px;
  margin-bottom: 10px;
  font-family:
    "Apple Color Emoji",
    "Segoe UI Emoji",
    "Segoe UI Symbol",
    "Noto Color Emoji",
    sans-serif;
}

.mini-card h3{
  margin:0 0 6px;
  color: var(--text);
  font-size: 14px;
}

.mini-card p{
  margin:0;
  color: var(--muted);
  font-size: 12px;
  line-height:1.5;
}

@media (min-width: 860px){
  .trust-grid{
    grid-template-columns: 1fr 1fr;
    align-items: start;
  }
  .mini-grid{
    grid-template-columns: repeat(4, 1fr);
  }
}

/* TripAdvisor widget container */
.ta-card{
  border-radius: var(--radius2);
  background: var(--surface2);
  border: 1px solid var(--border2);
  box-shadow: var(--shadow);
  overflow: hidden;
  padding: 16px;
  min-width:0;
}

.ta-card h3{
  margin: 0 0 10px;
  font-family:"Cormorant Garamond", serif;
  color: var(--text);
  font-size: 20px;
}

.ta-widget{
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: var(--white);
}

/* TripAdvisor a veces inyecta iframes/divs con widths raros */
.ta-widget iframe,
.ta-widget > div,
.ta-widget [id^="TA_selfserveprop"]{
  width: 100% !important;
  max-width: 100% !important;
}
.ta-widget *{
  max-width: 100% !important;
}

.ta-fallback{
  border-radius: 18px;
  border: 1px solid var(--border);
  background: var(--white);
  padding: 14px;
  margin-bottom: 12px;
}

.ta-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}

.ta-note{
  margin: 10px 0 0;
  font-size: 12px;
  color: var(--muted);
}

/* FAQ + Policies */
.section--faq .section-title{
  margin-bottom: 18px;
}
.faq-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
.faq-card{
  padding: 16px;
  border-radius: 18px;
  background: var(--surface2);
  border: 1px solid var(--border2);
  box-shadow: var(--shadow);
}
.faq-card h3{
  margin: 0 0 8px;
  font-size: 15px;
  color: var(--text);
}
.faq-card p{
  margin: 0;
  font-size: 13px;
  color: var(--muted);
  line-height:1.55;
}
.policies{
  margin-top: 18px;
  border-radius: 20px;
  padding: 16px;
  background: #fff;
  border: 1px solid var(--border);
  box-shadow: 0 18px 34px rgba(11,27,43,.08);
}
.policies h3{
  margin: 0 0 10px;
  font-size: 16px;
  color: var(--text);
}
.policies__grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.policy-card{
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(164,188,202,.12);
  border: 1px solid rgba(132,167,196,.28);
  color: rgba(11,27,43,.86);
  font-size: 12px;
}

/* CTA band */
.cta-band{
  padding: 22px 0 58px;
}
.cta-band__inner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap: 14px;
  padding: 18px;
  border-radius: 22px;
  background:
    linear-gradient(120deg, rgba(255,255,255,.96), rgba(248,244,237,.96)),
    linear-gradient(180deg, rgba(200,162,74,.18), rgba(164,188,202,.20));
  border: 1px solid rgba(11,27,43,.12);
  box-shadow: 0 22px 40px rgba(11,27,43,.12);
}
.cta-band__copy h2{
  margin: 0 0 6px;
  font-family:"Cormorant Garamond", serif;
  font-weight:700;
  color: var(--text);
}
.cta-band__copy p{
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  max-width: 60ch;
}
.cta-band__actions{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
}

/* Desktop */
@media (min-width: 860px){
  .nav{ display:flex; }
  .header__summary{ display:none; }
  .hamburger{ display:none; }
  .mobile-nav{ display:none !important; }

  .hero__card{ grid-template-columns: 1.05fr .95fr; }
  .hero__copy{ padding: 22px 22px 22px; }
  .hero__copy h1{ font-size: 44px; }
  .hero-estimator{
    padding: 20px;
  }
  .hero-estimator__title{
    font-size: 34px;
  }
  .hero__media{
    min-height: 520px;
    border-top: 0;
    border-left: 1px solid var(--border);
    aspect-ratio: auto;
  }

  .row--two{ grid-template-columns: 1fr 1fr; }

  .booking-wrap{
    grid-template-columns: minmax(0, 1fr) minmax(0, 300px);
    align-items:start;
  }
  .price__sticky{
    position:sticky;
    top: calc(var(--site-chrome-height) + 28px);
  }

  .veh-grid{ grid-template-columns: repeat(3, 1fr); }
  .veh-cards{ grid-template-columns: repeat(3, 1fr); }
  .how-grid{ grid-template-columns: repeat(4, 1fr); }
  .footer-grid{ grid-template-columns: 1.1fr .9fr; }
  .experience__grid{
    grid-template-columns: 1.1fr .9fr;
  }
  .awards__inner{
    grid-template-columns: 1.1fr .9fr;
  }
  .awards__logos{
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .faq-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .policies__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .steps-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .included-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .proof-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce){
  #bookingForm,
  #bookingForm::before,
  #bookingForm::after,
  .wpanel,
  .steps-head,
  .steps-progress,
  .wizard-steps,
  .wscene,
  .price__sticky,
  .summary-dock,
  .steps-progress__fill,
  .wactions .btn,
  .is-motion-reveal,
  .is-motion-pop,
  .is-motion-emphasis,
  .wstep.is-active,
  .wstep.is-done .wstep__num::after{
    animation: none !important;
    transition: none !important;
  }
  #bookingForm::after{
    display:none !important;
  }
  #bookingForm::before{
    display:none !important;
  }
  #bookingForm .wpanel{
    transform: none !important;
    filter: none !important;
  }
}

@media (max-width: 980px){
  :root{
    --site-chrome-height: auto;
  }
  .header{
    height:auto;
  }
  .header > .container{
    height:auto;
  }
  .header__bar{
    height:auto;
    flex-wrap:nowrap;
    align-items:center;
    min-height:78px;
    padding:10px 0;
  }
  .header__summary{
    display:none;
  }
  .brand{
    flex:1 1 auto;
  }
  .brand__tag{
    display:none;
  }
  .header__actions{
    margin-left:auto;
    height:auto;
    gap:8px;
  }
  .header__actions .hamburger{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
  }
  .header__actions .btn--outline{
    display:none;
  }
  .header__actions .btn--primary{
    display:none;
  }
  .nav{
    display:none;
  }
  .mobile-nav{
    top: calc(100% + 8px);
  }
  .header__summary{
    gap:2px;
  }
  .header__pill{
    min-height:28px;
    padding:6px 10px;
    font-size:10px;
  }
  .header__meta{
    font-size:11px;
  }
  .booking-wrap{
    grid-template-columns: 1fr;
  }
  .price__sticky{
    position: static;
  }
}

@media (min-width: 860px){
  .page-home .hero__copy h1{ font-size: 50px; }
  .page-home .hero__copy p{ font-size: 17px; }
  .page-home .hero__media{ min-height: 540px; }
  .page-home .signal__card{ padding: 22px; }
  .page-home .route-card{ padding: 22px; }
  .veh__media{
    background-size: cover !important;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    min-height: 190px;
  }
  .veh-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }
  .veh[data-veh="suburban"] .veh__media{
    background-position: 45% 50%;
  }
  .veh[data-veh="van"] .veh__media{
    background-position: 45% 50%;
  }
  .veh[data-veh="max-van"] .veh__media{
    background-position: 38% 50%;
  }
  .veh__media::after{
    opacity: 0;
  }
}

/* Small phones */
@media (max-width: 520px){
  :root{
    --site-chrome-height: auto;
  }
  .container{ width: calc(100% - 28px); }

  /* Header: avoid overflow */
  .header{
    height:auto;
  }
  .header > .container{
    height:auto;
  }
  .header__bar{
    gap:10px;
    height:auto;
    min-height:72px;
    padding:10px 0;
  }
  .header__summary{
    display:none;
  }
  .header__meta{
    display:none;
  }
  .brand__mark{ width:32px; height:32px; border-radius:11px; }
  .brand-badge{ width:auto; height:42px; border-radius:0; }
  .brand-badge img{ width:auto; height:100%; max-width:none; }
  .brand{
    flex:1 1 auto;
  }
  .brand__text{ max-width: 190px; }
  .brand__name{
    font-size: 15px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.05;
  }
  .brand__tag{
    display:none;
  }
  .nav{ display:none; }
  .header__actions::before{ display:none; }

  .header__actions .btn--outline{ display:none; }
  .header__actions{
    gap:6px;
  }
  .header__actions .btn{
    padding:10px 11px;
    font-size:12px;
  }
  .header__actions .btn--primary{
    display:none;
  }
  .header__actions .hamburger{
    width:40px;
    height:40px;
    border-radius:12px;
  }
  .mobile-nav{
    top: calc(100% + 8px);
  }
  .header .mobile-nav{
    padding:10px;
    border-radius:14px;
  }
  .mobile-nav a{
    padding:11px 12px;
    font-size:13px;
  }

  .btn{ padding: 11px 12px; font-size: 13px; }
  .hero__card{
    border-radius: 18px;
    max-width: 100%;
  }
  .hero__copy{ padding: 16px; }
  .hero__copy h1{ font-size: 26px; line-height:1.18; }
  .hero__copy p{
    font-size: 13px;
    line-height:1.5;
    max-width: 100%;
  }
  .hero-estimator{
    padding: 16px;
    border-radius: 20px;
  }
  .hero-estimator--floating{
    left:12px;
    right:12px;
    bottom:12px;
  }
  .hero-estimator__head{
    flex-direction: column;
    align-items:flex-start;
  }
  .hero-estimator__jump{
    min-height: 34px;
    padding: 0 12px;
    font-size: 10px;
  }
  .hero-estimator__title{
    font-size: 26px;
  }
  .hero-estimator__lede{
    font-size: 12px;
  }
  .hero-estimator__grid{
    gap: 8px;
  }
  .hero-estimator__item{
    padding: 11px 12px;
    border-radius: 14px;
  }
  .hero-estimator__item span{
    font-size: 9px;
  }
  .hero-estimator__item strong{
    font-size: 13px;
  }
  .hero-estimator__price strong{
    font-size: 38px;
  }
  .hero-estimator__note{
    font-size: 11px;
  }
  .trust-row{ gap:6px; }
  .trust-chip{
    font-size: 11px;
    padding: 6px 8px;
  }
  .trust-row .trust-chip:nth-child(n+3){
    display:none;
  }
  .hero__stat{ padding: 10px 12px; }
  .hero__statValue{ font-size: 18px; }
  .hero__statLabel{ font-size: 11px; }
  .hero__stats{ grid-template-columns: 1fr 1fr; gap:10px; }
  .hero__stat:nth-child(n+3){
    display:none;
  }
  .hero__media{ min-height: 500px; }
  .page-home .hero__media{ min-height: 500px; }
  .page-contact .hero__media{ min-height: 220px; }
  .page-contact .hero__copy h1{ font-size: 24px; }
  .contact-highlights{
    grid-template-columns: 1fr;
  }
  .hero__mediaLabel{
    display:flex;
    left:10px;
    right:10px;
    top:10px;
    bottom:auto;
    transform: none;
    padding: 8px 10px;
    border-radius: 14px;
    background: rgba(255,255,255,.86);
    border:1px solid rgba(200,162,74,.18);
    box-shadow: 0 10px 22px rgba(11,27,43,.12);
    max-width: none;
    color: rgba(11,27,43,.92);
  }
  .hero__mediaLabel strong{ font-size: 11px; color: rgba(11,27,43,.92); }
  .hero__mediaLabel span{ font-size: 10px; color: rgba(11,27,43,.62); }
  .hero__cta{
    flex-direction:column;
    align-items:stretch;
  }
  .hero__cta .btn{ width:100%; }
  .hero__fineprint{ display:none; }
  .signal__grid{ grid-template-columns: 1fr; }
  .experience__images{ grid-template-columns: 1fr; }
  .cta-band__inner{ text-align:left; }
  .cta-band__actions{ width: 100%; }
  .cta-band__actions .btn{ width: 100%; }

  .booking-wrap{
    max-width: 100%;
  }
  #booking > .section-title{
    margin-bottom: 12px;
  }
  #booking > .section-title h2{
    font-size: 26px;
    line-height: 1.08;
  }
  #booking > .section-title p{
    font-size: 13px;
    line-height: 1.45;
  }
  .booking-wrap > .card > .card-inner{
    padding: 14px;
  }
  .steps-head{
    align-items: flex-start;
    padding: 12px 14px;
  }
  .steps-head .btn{
    padding: 9px 10px;
    font-size: 12px;
    white-space: nowrap;
  }
  .steps-badge{
    width: 32px;
    height: 32px;
    border-radius: 11px;
  }
  .steps-head__meta strong{
    font-size: 12px;
  }
  .steps-head__meta span{
    font-size: 11px;
  }
  .steps-progress{
    padding: 10px 14px 11px;
  }
  .steps-progress__text{
    font-size: 11px;
  }
  .wizard-features{
    margin-bottom: 12px;
    padding: 10px 12px;
  }
  .wizard-features__head{
    flex-direction: column;
    align-items: flex-start;
    gap:4px;
  }
  .wizard-features__intro{
    font-size: 11px;
  }
  .wizard-features__list{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:6px;
  }
  .wizard-features__item{
    gap:6px;
    padding: 8px 9px;
    font-size: 12px;
    border-radius: 12px;
  }
  .wizard-features__emoji{
    width:14px;
    min-width:14px;
    font-size: 11px;
  }
  .wscene{
    margin-bottom: 10px;
    padding: 10px;
    align-items: flex-start;
  }
  .wscene__icon{
    width: 34px;
    height: 34px;
    border-radius: 11px;
    flex: 0 0 auto;
  }
  .wscene__title{
    font-size: 16px;
  }
  .wscene__sub{
    font-size: 11px;
    line-height: 1.45;
  }
  .wizard-steps{
    gap:6px;
    padding: 10px 10px 12px;
    overflow: visible;
    flex-wrap: wrap;
    max-width: 100%;
  }
  .wstep{
    flex: 1 1 calc(50% - 6px);
    justify-content:flex-start;
    padding: 8px 10px;
    font-size: 11px;
    min-width: 0;
    white-space: normal;
  }
  .wstep span{
    white-space: normal;
  }
  .wstep__num{
    width:22px;
    height:22px;
    font-size:11px;
    flex: 0 0 auto;
  }
  .wpanel{
    padding-top: 10px;
  }
  .wtitle{
    margin-bottom: 4px;
    font-size: 18px;
  }
  .wsub{
    margin-bottom: 10px;
    font-size: 12px;
    line-height: 1.45;
  }
  .wgrid{
    gap: 10px;
    margin-bottom: 10px;
  }
  .wcard{
    padding: 10px;
    border-radius: 14px;
  }
  .wgrid--schedule{
    gap: 8px;
  }
  .wgrid--schedule .wcard{
    padding: 12px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,244,237,.92));
  }
  .wgrid--schedule .wgrid--nested{
    gap: 8px;
    margin-bottom: 6px;
  }
  .wgrid--schedule .help{
    font-size: 11px;
    line-height: 1.4;
  }
  .field label{
    margin-bottom: 5px;
    font-size: 11px;
  }
  .wactions{
    flex-direction:column;
    align-items:stretch;
    gap: 8px;
    margin-top: 8px;
  }
  .wactions .btn{
    width:100%;
  }
  #bookingForm .field input,
  #bookingForm .field select,
  #bookingForm .field textarea{
    font-size: 16px;
  }
  #bookingForm .field select{
    text-align: left;
    text-align-last: auto;
    padding-right: 40px;
  }
  #field_pickup_date,
  #field_pickup_time,
  #field_return_date,
  #field_return_time{
    overflow: hidden;
  }
  #bookingForm input[type="date"],
  #bookingForm input[type="time"]{
    appearance: none;
    -webkit-appearance: none;
    background-clip: padding-box;
    min-height: 46px;
    line-height: 1.2;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 15px;
    letter-spacing: 0;
  }
  #bookingForm input[type="date"]::-webkit-datetime-edit,
  #bookingForm input[type="time"]::-webkit-datetime-edit{
    padding: 0;
  }
  #bookingForm input[type="date"]::-webkit-date-and-time-value,
  #bookingForm input[type="time"]::-webkit-date-and-time-value{
    text-align: left;
  }
  #bookingForm input[type="date"]::-webkit-datetime-edit-fields-wrapper,
  #bookingForm input[type="time"]::-webkit-datetime-edit-fields-wrapper{
    padding: 0;
  }
  #bookingForm input[type="date"]::-webkit-calendar-picker-indicator,
  #bookingForm input[type="time"]::-webkit-calendar-picker-indicator{
    margin: 0 0 0 6px;
    opacity: .9;
  }
  .toggle{
    gap: 8px;
  }
  .toggle label{
    flex: 1 1 0;
  }
  .toggle span{
    width: 100%;
    height: 42px;
    padding: 0 10px;
    font-size: 12px;
  }
  .search-results{
    max-height: calc(100vh - 260px);
    padding-bottom: 8px;
  }
  .search-results{
    left: 0;
    right: 0;
    border-radius: 14px;
  }
  .search-item{
    padding: 10px 10px;
  }
  .search-item__top{
    flex-direction: column;
    gap: 6px;
  }
  .search-item__badge{
    align-self: flex-start;
  }
  .search-item strong{
    font-size: 13px;
  }
  .search-item__meta{
    font-size: 11px;
  }
  .veh-grid{
    gap: 8px;
    margin-top: 10px;
  }
  .veh{
    border-radius: 16px;
  }
  .veh__media{
    aspect-ratio: 16 / 9;
    min-height: clamp(150px, 46vw, 220px);
    background-size: cover !important;
    background-position: center;
    background-color: rgba(164,188,202,.10);
  }
  .veh__media::after{
    background:
      linear-gradient(180deg, rgba(11,27,43,.00), rgba(11,27,43,.08)),
      radial-gradient(circle at 50% 8%, rgba(200,162,74,.12), transparent 54%);
  }
  .veh__body{
    padding: 12px;
    gap: 5px;
  }
  .veh__name{
    font-size: 15px;
  }
  .veh__meta,
  .veh__hint{
    font-size: 11px;
  }
  .veh__hint{
    padding: 9px 10px;
  }
  .vehPromo{
    display:block;
    width:100%;
    margin-top:7px;
    padding:6px 8px;
    border-radius:10px;
    font-size:11px;
    text-align:center;
  }
  .price .card{
    border-radius: 16px;
  }
  .price .card .card-inner{
    padding: 14px;
  }
  .price__head{
    margin-bottom: 10px;
  }
  .price__head h3{
    font-size: 18px;
  }
  .estimate{
    gap: 8px;
    padding: 10px;
    border-radius: 15px;
  }
  .estimate__line{
    align-items: flex-start;
    gap: 8px;
    font-size: 11px;
  }
  .estimate__line strong{
    text-align: right;
  }
  .summary-dock{
    left: 8px;
    right: 8px;
    bottom: max(8px, env(safe-area-inset-bottom));
    padding: 9px 10px;
    border-radius: 12px;
    gap: 8px;
  }
  .summary-dock__step{
    font-size: 10px;
    letter-spacing: .1em;
  }
  .summary-dock__total{
    font-size: 13px;
  }
  .thank-hero__left{
    padding: 16px 14px;
  }
  .thank-hero__status{
    margin: 8px 0 0;
  }
  .thank-card__head{
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .payment-actions{
    flex-direction: column;
    align-items: stretch;
  }
  .payment-actions .btn{
    width: 100%;
  }
}

@media (max-width: 380px){
  .hero__copy h1{ font-size: 30px; }
  .btn{ padding: 11px 12px; }
}

/* Review page */
.page-review{
  background:
    radial-gradient(980px 460px at 86% 0%, rgba(164,188,202,.20), transparent 70%),
    radial-gradient(920px 420px at 14% 0%, rgba(200,162,74,.16), transparent 68%),
    linear-gradient(180deg, rgba(246,243,238,.98), rgba(234,241,246,.92) 62%, #f2f6f8 100%);
}
.page-review .card{
  box-shadow: 0 18px 45px rgba(10,22,38,.10);
  border: 1px solid rgba(214,197,165,.45);
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(252,249,242,.97));
}
.page-review .review-shell{
  max-width: 1180px;
  margin: 0 auto;
}
.page-review .review-grid{
  display: grid;
  gap: 26px;
}
.page-review .section{
  padding-bottom: 0 !important;
}
.page-review .container{
  padding-bottom: 0 !important;
}
.page-review .review-grid{
  margin-bottom: 0;
  padding-bottom: 0;
}
.page-review .card{
  margin-bottom: 0;
}
.page-review{
  min-height: 0;
  height: auto;
}
.page-review .review-col{
  display: grid;
  gap: 16px;
}
.page-review .review-card .card-inner{
  padding: 20px;
}
.page-review .review-card h2{
  font-size: 22px;
  margin-bottom: 8px;
  letter-spacing: .02em;
}
.page-review .review-card .help{
  margin-bottom: 10px;
}
.page-review .review-detail-group{
  display: grid;
  gap: 12px;
  padding: 16px 0 18px;
  border-top: 1px solid rgba(214,197,165,.42);
}
.page-review .review-detail-group:first-of-type{
  margin-top: 4px;
}
.page-review .review-detail-group:last-of-type{
  padding-bottom: 4px;
}
.page-review .review-detail-group__title{
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(200,162,74,.13);
  border: 1px solid rgba(200,162,74,.26);
  color: rgba(11,27,43,.62);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.page-review .review-roundtrip-btn{
  width: 100%;
  margin-top: 10px;
  justify-content: center;
  border-color: rgba(199,159,95,.42);
  background: rgba(250,246,236,.72);
  color: rgba(67,54,30,.96);
}
.page-review .review-roundtrip-btn:hover{
  border-color: rgba(199,159,95,.62);
  background: rgba(250,246,236,.96);
}
.page-review .review-summary{
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(250,246,236,.98));
  border: 1px solid rgba(199,159,95,.35);
  border-radius: var(--radius2);
  padding: 20px;
  gap: 0;
  box-shadow: 0 14px 32px rgba(10,22,38,.10);
  display: grid;
  grid-template-columns: 1fr;
}
.page-review .summary-divider{
  grid-column: 1 / -1;
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--muted2);
  padding: 18px 0 8px;
  position: relative;
}
.page-review .summary-divider::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(199,159,95,.0), rgba(199,159,95,.55), rgba(199,159,95,.0));
}
.page-review .summary-item{
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(214,197,165,.34);
  border-radius: 0;
  padding: 10px 0;
  display: grid;
  grid-template-columns: minmax(92px, .4fr) minmax(0, 1fr);
  gap: 12px;
  min-height: 0;
  box-shadow: none;
}
.page-review .summary-item span{
  font-size: 10px;
  color: var(--muted2);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.page-review .summary-item strong{
  font-size: 15px;
  font-weight: 700;
  min-width: 0;
  overflow-wrap: anywhere;
  text-align: right;
}
.page-review .summary-item--total{
  background:
    radial-gradient(240px 120px at 0% 0%, rgba(249,225,171,.44), transparent 62%),
    linear-gradient(135deg, rgba(199,159,95,.28), rgba(249,225,171,.36));
  border: 1px solid rgba(199,159,95,.72);
  border-radius: 14px;
  margin-top: 12px;
  padding: 14px;
  box-shadow: 0 18px 28px rgba(199,159,95,.18);
}
.page-review .summary-item--total strong{
  font-size: 24px;
  line-height: 1;
}
.page-review .review-card{
  margin-top: 0;
  border-radius: var(--radius2);
}
.page-review .review-card__tag{
  display:inline-flex;
  align-items:center;
  margin-bottom: 10px;
  height: 28px;
  padding: 0 12px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(11,27,43,.68);
  background: rgba(200,162,74,.16);
  border: 1px solid rgba(200,162,74,.32);
}
.page-review .review-card--confirm{
  border-color: rgba(200,162,74,.55);
  box-shadow: 0 22px 44px rgba(200,162,74,.16), 0 14px 30px rgba(10,22,38,.10);
  background:
    radial-gradient(460px 180px at 0% 0%, rgba(200,162,74,.16), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(251,247,238,.98));
}
.page-review .review-card--confirm .thank-title{
  font-size: 28px;
}
.page-review .review-card--confirm .review-cta .btn{
  min-height: 52px;
  font-size: 15px;
}
.page-review .review-card--confirm .review-cta .btn.btn--primary{
  box-shadow: 0 16px 30px rgba(200,162,74,.26);
}
.page-review .field{
  min-width: 0;
  max-width: 100%;
}
.page-review .field input[type="date"],
.page-review .field input[type="time"]{
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-inline-size: 0;
  inline-size: 100%;
}
.page-review .review-cta{
  margin-top: 6px;
  gap: 12px;
  flex-wrap: wrap;
}
.page-review .review-cta .btn{
  min-width: 184px;
  padding: 13px 20px;
  font-size: 14px;
  letter-spacing: .03em;
}
.page-review .review-cta .btn.btn--primary{
  box-shadow: 0 10px 22px rgba(199,159,95,.25);
}
.page-review .extra-row > div{
  padding: 11px 13px;
}
.page-review .extra-table{
  border-radius: 14px;
  border: 1px solid rgba(214,197,165,.55);
  background: rgba(255,255,255,.95);
  margin-top: 10px;
  box-shadow: 0 12px 26px rgba(9,20,33,.08);
}
.page-review .extra-row{
  display:grid;
  grid-template-columns: minmax(0, 1fr) 108px 164px;
  align-items:center;
  border-bottom: 1px solid rgba(214,197,165,.45);
}
.page-review .extra-item{
  display:grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  align-items:center;
}
.page-review .extra-item__thumb{
  width:44px;
  height:44px;
  border-radius:12px;
  overflow:hidden;
  border:1px dashed rgba(214,197,165,.8);
  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,244,234,.92)),
    radial-gradient(circle at top left, rgba(200,162,74,.16), transparent 52%);
  display:flex;
  align-items:center;
  justify-content:center;
  color: rgba(11,27,43,.34);
  font-size:10px;
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.page-review .extra-item__thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.page-review .extra-item__label{
  min-width:0;
}
.page-review .extra-row:last-child{
  border-bottom: 0;
}
.page-review .extra-head{
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .12em;
  background: rgba(249,244,234,.95);
}
.page-review .extra-row > div{
  padding: 11px 13px;
}
.page-review .extra-row > div[data-label="Price"]{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.page-review .extra-row > div[data-label="Qty"]{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.page-review .extra-row.extra-head > div{
  color: var(--muted2);
}
.page-review .extra-row.extra-head > div:last-child{
  justify-content:flex-end;
}
.page-review .extra-qty{
  display:flex;
  justify-content:flex-end;
}
.page-review .extra-qty .qty-stepper--compact{
  grid-template-columns: 38px minmax(56px, 1fr) 38px;
  gap: 6px;
  width: 100%;
  max-width: 158px;
  margin-left: auto;
}
.page-review .extra-qty .qty-stepper__btn--compact{
  min-height: 38px;
  border-radius: 12px;
  font-size: 19px;
  box-shadow: 0 10px 18px rgba(11,27,43,.08);
}
.page-review .extra-qty .qty-stepper--compact select{
  height: 38px;
  padding: 0 6px;
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,243,236,.94));
  border-color: rgba(214,197,165,.72);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.78), 0 8px 18px rgba(11,27,43,.04);
  font-size: 13px;
  font-weight: 800;
}
.page-review .extra-qty .qty-stepper--compact select:focus{
  box-shadow: 0 0 0 3px rgba(200,162,74,.16), 0 8px 18px rgba(11,27,43,.04);
}
.page-review .review-cta .btn{
  min-width: 184px;
}
@media (min-width: 980px){
  .page-review .review-grid{
    grid-template-columns: minmax(0, 1.14fr) minmax(320px, .86fr);
    align-items: start;
  }
  .page-review .review-col--edit{
    max-width: 760px;
  }
  .page-review .review-col--summary{
    justify-self: end;
    width: 100%;
    max-width: 400px;
    position: sticky;
    top: 96px;
  }
  .page-review .review-summary{
    grid-template-columns: 1fr;
  }
  .page-review .review-card--confirm{
    order: -1;
  }
}
@media (max-width: 720px){
  .page-review .review-grid{
    gap: 16px;
  }
  .page-review .review-col--summary{
    order: -1;
  }
  .page-review .review-card .card-inner{
    padding: 16px;
  }
  .page-review .review-card h2{
    font-size: 20px;
  }
  .page-review .review-summary{
    padding: 14px;
    gap: 10px;
  }
  .page-review .summary-item{
    grid-template-columns: 1fr;
    gap: 4px;
    min-height: 0;
  }
  .page-review .summary-item strong{
    text-align: left;
  }
  .page-review .review-cta{
    flex-direction: column;
    align-items: stretch;
  }
  .page-review .review-cta .btn{
    width: 100%;
    min-width: 0;
  }
}

/* Tour booking wizard */
.page-tours #tourBookingForm{
  scroll-margin-top:110px;
}
.page-tours #tourBookingForm .card-inner{
  gap:22px;
  padding:20px;
}
.page-tours .tour-wizard-progress{
  position:relative;
  padding:2px 4px 10px;
}
.page-tours .tour-wizard-progress ol{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.page-tours .tour-wizard-progress li{
  display:grid;
  justify-items:center;
  gap:7px;
  min-width:0;
  color:rgba(11,27,43,.42);
}
.page-tours .tour-wizard-progress li span{
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  border:1px solid rgba(11,27,43,.16);
  border-radius:50%;
  background:#fff;
  font-size:11px;
  font-weight:800;
  transition:background .18s ease, border-color .18s ease, color .18s ease;
}
.page-tours .tour-wizard-progress li strong{
  max-width:100%;
  font-size:11px;
  font-weight:700;
  overflow-wrap:anywhere;
}
.page-tours .tour-wizard-progress li.is-active,
.page-tours .tour-wizard-progress li.is-complete{
  color:rgba(11,27,43,.88);
}
.page-tours .tour-wizard-progress li.is-active span{
  border-color:rgba(179,139,51,.70);
  background:#e3c46d;
  color:#13263a;
  box-shadow:0 0 0 4px rgba(200,162,74,.13);
}
.page-tours .tour-wizard-progress li.is-complete span{
  border-color:#2f6852;
  background:#2f6852;
  color:#fff;
}
.page-tours .tour-wizard-progress__track{
  position:absolute;
  top:17px;
  left:12.5%;
  right:12.5%;
  height:2px;
  overflow:hidden;
  background:rgba(11,27,43,.10);
}
.page-tours .tour-wizard-progress__track span{
  display:block;
  width:12.5%;
  height:100%;
  background:#2f6852;
  transition:width .28s cubic-bezier(.22,1,.36,1);
}
.page-tours .tour-wizard-step[hidden],
.page-tours .tour-booking-fields[hidden]{
  display:none !important;
}
.page-tours .tour-wizard-step.is-active{
  display:grid;
  gap:18px;
  animation:tourWizardStepIn .24s cubic-bezier(.22,1,.36,1) both;
}
@keyframes tourWizardStepIn{
  from{ opacity:.5; transform:translate3d(0, 5px, 0); }
  to{ opacity:1; transform:translate3d(0, 0, 0); }
}
.page-tours .tour-wizard-step__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(11,27,43,.10);
}
.page-tours .tour-wizard-step__head h3{
  margin:0;
  max-width:22ch;
  font-size:28px;
  line-height:1.05;
}
.page-tours .tour-wizard-step h3[tabindex="-1"]:focus{
  outline:none;
}
.page-tours .tour-wizard-step__head > span,
.page-tours .tour-choice-block__head > span{
  display:none;
}
.page-tours .tour-wizard-step__head > span{
  flex:0 0 auto;
  color:rgba(11,27,43,.50);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}
.page-tours .tour-wizard-change,
.page-tours .tour-review__head button{
  padding:0;
  border:0;
  background:transparent;
  color:#315f7d;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.page-tours .tour-wizard-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  padding-top:4px;
}
.page-tours .tour-wizard-actions--end{
  justify-content:flex-end;
}
.page-tours .tour-wizard-actions .btn{
  min-height:46px;
}
.page-tours .tour-passenger-stepper{
  display:grid;
  grid-template-columns:42px minmax(0, 1fr) 42px;
  min-height:46px;
  overflow:hidden;
  border:1px solid var(--border2);
  border-radius:12px;
  background:#fff;
}
.page-tours .tour-passenger-stepper input{
  width:100%;
  min-width:0;
  border:0;
  border-right:1px solid rgba(11,27,43,.10);
  border-left:1px solid rgba(11,27,43,.10);
  border-radius:0;
  text-align:center;
  box-shadow:none;
  appearance:textfield;
}
.page-tours .tour-passenger-stepper input::-webkit-inner-spin-button,
.page-tours .tour-passenger-stepper input::-webkit-outer-spin-button{
  margin:0;
  appearance:none;
}
.page-tours .tour-passenger-stepper button{
  display:grid;
  width:42px;
  min-height:44px;
  place-items:center;
  border:0;
  background:#f7f8f7;
  color:rgba(11,27,43,.86);
  font-size:20px;
  cursor:pointer;
}
.page-tours .tour-passenger-stepper button:disabled{
  color:rgba(11,27,43,.26);
  cursor:not-allowed;
}
.page-tours .tour-hotel-search .search-results{
  position:static;
  max-height:240px;
  margin-top:8px;
  box-shadow:0 10px 24px rgba(11,27,43,.08);
}
.page-tours .tour-selected-detail{
  padding:14px 16px;
  border:0;
  border-left:3px solid #d3ad4f;
  border-radius:4px;
  background:#f7f8f7;
}
.page-tours .tour-selected-detail__best,
.page-tours .tour-selected-detail__list,
.page-tours .tour-selected-detail__note{
  display:none !important;
}
.page-tours .tour-selected-detail__body{
  gap:6px;
}
.page-tours .tour-selected-detail__price{
  margin-top:6px;
}
.page-tours .tour-review{
  display:grid;
  gap:14px;
  padding:18px 0;
  border-top:1px solid rgba(11,27,43,.12);
  border-bottom:1px solid rgba(11,27,43,.12);
}
.page-tours .tour-review__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.page-tours .tour-review__head .section-kicker{
  margin:0;
}
.page-tours .tour-review h4{
  margin:0;
  color:rgba(11,27,43,.94);
  font-family:var(--font-display);
  font-size:26px;
  line-height:1.05;
}
.page-tours .tour-review__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}
.page-tours .tour-review__grid > div{
  min-width:0;
  padding:10px 12px;
  border-left:2px solid rgba(200,162,74,.48);
  background:#f7f8f7;
}
.page-tours .tour-review__grid span,
.page-tours .tour-review__total span{
  display:block;
  color:rgba(11,27,43,.50);
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
}
.page-tours .tour-review__grid strong,
.page-tours .tour-review__total strong{
  display:block;
  margin-top:4px;
  color:rgba(11,27,43,.90);
  font-size:13px;
  line-height:1.3;
  overflow-wrap:anywhere;
}
.page-tours .tour-review__total{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  padding:14px;
  background:#f7f1df;
  border:1px solid rgba(200,162,74,.28);
  border-radius:6px;
}
.page-tours .tour-review__total strong{
  margin:0;
  font-size:18px;
  text-align:right;
}
.page-tours .tour-review > p{
  margin:0;
  color:rgba(11,27,43,.58);
  font-size:12px;
}
.page-tours #tourBookingSubmit.is-loading{
  color:rgba(19,38,58,.82);
  cursor:progress;
}
.page-tours #tourBookingSubmit.is-loading::before{
  content:"";
  width:14px;
  height:14px;
  border:2px solid rgba(19,38,58,.22);
  border-top-color:rgba(19,38,58,.88);
  border-radius:50%;
  animation:wizardSubmitSpin .8s linear infinite;
}
.page-tours #tourBookingError.is-error{
  display:block;
}
.page-tours .tour-booking-success-link:not([hidden]){
  display:inline-flex;
  width:max-content;
  max-width:100%;
  min-height:42px;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border:1px solid rgba(49,95,125,.30);
  border-radius:8px;
  background:#fff;
  color:#315f7d;
}
.page-tours .tour-booking-panel{
  position:sticky;
  top:110px;
}
@media (max-width:920px){
  .page-tours .tour-booking-panel{
    position:static;
  }
}
@media (max-width:680px){
  .page-tours #tourBookingForm .card-inner{
    padding:14px;
  }
  .page-tours .tour-wizard-progress li strong{
    font-size:10px;
  }
  .page-tours .tour-wizard-step__head{
    align-items:flex-start;
    flex-direction:column;
  }
  .page-tours .tour-wizard-step__head h3{
    font-size:25px;
  }
  .page-tours .tour-wizard-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .page-tours .tour-wizard-actions--end{
    grid-template-columns:1fr;
  }
  .page-tours .tour-wizard-actions .btn{
    width:100%;
  }
  .page-tours .tour-booking-whatsapp{
    grid-column:1 / -1;
  }
  .page-tours .tour-review__grid{
    grid-template-columns:1fr;
  }
}
@media (prefers-reduced-motion:reduce){
  .page-tours .tour-wizard-step.is-active,
  .page-tours .tour-wizard-progress__track span,
  .page-tours #tourBookingSubmit.is-loading::before{
    animation:none !important;
    transition:none !important;
  }
}
@media (max-width: 520px){
  .page-review .row.row--two{
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .page-review #edit_pickup_date,
  .page-review #edit_pickup_time,
  .page-review #edit_return_date,
  .page-review #edit_return_time{
    appearance: none;
    -webkit-appearance: none;
    background-clip: padding-box;
    min-height: 46px;
    line-height: 1.2;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 15px;
    letter-spacing: 0;
  }
  .page-review #edit_pickup_date::-webkit-datetime-edit,
  .page-review #edit_pickup_time::-webkit-datetime-edit,
  .page-review #edit_return_date::-webkit-datetime-edit,
  .page-review #edit_return_time::-webkit-datetime-edit,
  .page-review #edit_pickup_date::-webkit-datetime-edit-fields-wrapper,
  .page-review #edit_pickup_time::-webkit-datetime-edit-fields-wrapper,
  .page-review #edit_return_date::-webkit-datetime-edit-fields-wrapper,
  .page-review #edit_return_time::-webkit-datetime-edit-fields-wrapper{
    padding: 0;
  }
  .page-review #edit_pickup_date::-webkit-date-and-time-value,
  .page-review #edit_pickup_time::-webkit-date-and-time-value,
  .page-review #edit_return_date::-webkit-date-and-time-value,
  .page-review #edit_return_time::-webkit-date-and-time-value{
    text-align: left;
  }
  .page-review #edit_pickup_date::-webkit-calendar-picker-indicator,
  .page-review #edit_pickup_time::-webkit-calendar-picker-indicator,
  .page-review #edit_return_date::-webkit-calendar-picker-indicator,
  .page-review #edit_return_time::-webkit-calendar-picker-indicator{
    margin: 0 0 0 6px;
    opacity: .9;
  }
  .page-review .summary-item strong{
    font-size: 13px;
  }
  .page-review .summary-item--total strong{
    font-size: 15px;
  }
  .page-review .extra-row{
    grid-template-columns: 1fr;
    align-items: start;
  }
  .page-review .extra-head{
    display: none;
  }
  .page-review .extra-row div:nth-child(2),
  .page-review .extra-row div:nth-child(3){
    text-align: left;
    font-weight: 700;
  }
  .page-review .extra-row > div{
    padding: 10px 12px;
  }
  .page-review .extra-item{
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 10px;
  }
  .page-review .extra-item__thumb{
    width:40px;
    height:40px;
  }
  .page-review .extra-row > div[data-label]{
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
  }
  .page-review .extra-row > div[data-label]::before{
    content: attr(data-label);
    font-size: 10px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted2);
  }
  .page-review .extra-row > div[data-label] .extra-qty{
    width: 100%;
    justify-content: flex-start;
  }
  .page-review .extra-row > div[data-label] .extra-qty .qty-stepper{
    width: 100%;
    min-width: 0;
    max-width: none;
    margin-left: 0;
  }
}

.page-review .review-intro{
  display:grid;
  gap: 16px;
  margin-bottom: 22px;
  padding: 22px;
  border-radius: 22px;
  background:
    radial-gradient(700px 300px at 0% 0%, rgba(200,162,74,.16), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,245,237,.94));
  border: 1px solid rgba(214,197,165,.52);
  box-shadow: 0 18px 36px rgba(10,22,38,.08);
}
.page-review .review-intro__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(11,27,43,.56);
  margin-bottom: 8px;
}
.page-review .review-intro h1{
  margin: 0 0 10px;
  font-size: 34px;
  line-height: 1.04;
  color: rgba(11,27,43,.94);
}
.page-review .review-intro__lead{
  margin: 0;
  max-width: 64ch;
  color: rgba(11,27,43,.68);
  line-height: 1.7;
}
.page-review .review-intro__alert{
  display:inline-flex;
  align-items:center;
  margin-top: 14px;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(11,27,43,.92);
  color: rgba(255,255,255,.98);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
  box-shadow: 0 14px 24px rgba(11,27,43,.16);
}
.page-review .review-intro__meta{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
}
.page-review .review-intro__side{
  display:grid;
  gap: 12px;
  align-content:start;
}
.page-review .review-intro__pill{
  display:flex;
  flex-direction:column;
  gap: 4px;
  min-width: 170px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(214,197,165,.52);
  box-shadow: 0 10px 24px rgba(10,22,38,.06);
}
.page-review .review-intro__pill span{
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--muted2);
}
.page-review .review-intro__pill strong{
  font-size: 14px;
  color: rgba(11,27,43,.92);
}
.reservation-timer{
  --timer-progress: 1;
  display:grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items:center;
  gap: 14px;
  padding: 14px;
  border-radius: 20px;
  background:
    radial-gradient(420px 160px at 0% 0%, rgba(231,121,75,.16), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,249,241,.98));
  border: 1px solid rgba(231,121,75,.24);
  box-shadow: 0 18px 34px rgba(15,46,43,.08), inset 0 1px 0 rgba(255,255,255,.72);
}
.reservation-timer__dial{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width: 72px;
  height: 72px;
  border-radius: 999px;
  background:
    conic-gradient(rgba(231,121,75,.92) calc(var(--timer-progress) * 1turn), rgba(15,46,43,.10) 0);
  color: rgba(15,46,43,.94);
  box-shadow: 0 12px 24px rgba(231,121,75,.14);
}
.reservation-timer__dial::before{
  content:"";
  position:absolute;
  inset: 6px;
  border-radius: inherit;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,249,241,.98));
  box-shadow: inset 0 0 0 1px rgba(15,46,43,.06);
}
.reservation-timer__dial span,
.reservation-timer__dial small{
  position:relative;
  z-index:1;
}
.reservation-timer__dial span{
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
}
.reservation-timer__dial small{
  margin-top: 2px;
  color: rgba(15,46,43,.54);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.reservation-timer__copy{
  display:grid;
  gap: 4px;
  min-width:0;
}
.reservation-timer__eyebrow{
  color: rgba(231,121,75,.88);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}
.reservation-timer__copy strong{
  color: rgba(15,46,43,.96);
  font-size: clamp(26px, 3vw, 34px);
  line-height: .96;
  font-variant-numeric: tabular-nums;
}
.reservation-timer__copy p{
  margin:0;
  color: rgba(15,46,43,.64);
  font-size: 12px;
  line-height: 1.45;
}
.reservation-timer.is-urgent{
  border-color: rgba(231,121,75,.42);
  box-shadow: 0 20px 38px rgba(231,121,75,.12), inset 0 1px 0 rgba(255,255,255,.72);
}
.reservation-timer.is-urgent .reservation-timer__copy strong,
.reservation-timer.is-urgent .reservation-timer__eyebrow{
  color: rgba(199,78,47,.96);
}
.reservation-timer.is-expired{
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(246,242,236,.96));
  border-color: rgba(15,46,43,.14);
}
.reservation-timer.is-expired .reservation-timer__dial{
  background: conic-gradient(rgba(15,46,43,.28) 1turn, rgba(15,46,43,.10) 0);
  box-shadow: none;
}
.reservation-timer.is-expired .reservation-timer__copy strong,
.reservation-timer.is-expired .reservation-timer__eyebrow{
  color: rgba(15,46,43,.58);
}
.reservation-timer--payment{
  margin: 0 0 12px;
}
@media (min-width: 900px){
  .page-review .review-intro{
    grid-template-columns: minmax(0, 1fr) minmax(280px, .72fr);
    align-items:start;
  }
  .page-review .review-intro__meta{
    justify-content:flex-start;
  }
}
.page-review .review-summary__head{
  grid-column: 1 / -1;
  display:grid;
  gap: 6px;
  padding: 4px 2px 8px;
}
.page-review .review-summary__eyebrow{
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--muted2);
}
.page-review .review-summary__title{
  margin: 0;
  font-size: 24px;
  color: rgba(11,27,43,.94);
  font-family: "Cormorant Garamond", serif;
}
.page-review .review-summary__lead{
  margin: 0;
  color: rgba(11,27,43,.62);
  line-height: 1.6;
  max-width: 36ch;
}

.page-thank .thank-hero__header{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap: 8px;
}
.page-thank .thank-hero__left{
  position: relative;
  overflow: hidden;
  box-shadow: 0 24px 48px rgba(11,27,43,.12);
}
.page-thank .thank-hero__left::before{
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 5px;
  background: linear-gradient(90deg, rgba(200,162,74,.92), rgba(132,167,196,.68));
}
.page-thank .thank-hero__left h1{
  font-size: 40px;
  line-height: 1;
}
.page-thank .thank-hero__support{
  align-items:flex-start;
}
.page-thank .thank-hero__support .help{
  margin: 4px 0 0;
}
.page-thank .thank-card__lead{
  margin-bottom: 12px;
  color: rgba(11,27,43,.66);
  line-height: 1.65;
}
.page-thank .thank-card{
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}
.page-thank .thank-card.is-attention{
  border-color: rgba(200,162,74,.62);
  box-shadow: 0 24px 44px rgba(200,162,74,.16), 0 16px 30px rgba(10,22,38,.08);
  background:
    radial-gradient(360px 160px at 0% 0%, rgba(200,162,74,.18), transparent 65%),
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(252,248,239,.98));
}
.page-thank .thank-card.is-attention-soft{
  border-color: rgba(132,167,196,.45);
  box-shadow: 0 20px 36px rgba(132,167,196,.12), 0 12px 24px rgba(10,22,38,.06);
}
.page-thank .thank-card.is-attention .thank-title{
  font-size: 24px;
}
.page-thank .summary-list--receipt{
  gap: 12px;
  background: linear-gradient(180deg, rgba(164,188,202,.08), rgba(164,188,202,.04));
}
.page-thank .summary-divider{
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--muted2);
  padding: 4px 2px 2px;
  margin-top: 2px;
  border-bottom: 1px dashed rgba(11,27,43,.14);
}
.page-thank .summary-list--receipt .summary-item{
  min-height: 0;
  padding-bottom: 2px;
  align-items: flex-start;
}
.page-thank .summary-list--receipt .summary-item span{
  color: rgba(11,27,43,.54);
}
.page-thank .summary-list--receipt .summary-item strong{
  max-width: 68%;
  text-align: right;
  line-height: 1.45;
}
.page-thank .summary-list--receipt .summary-item--note{
  display: grid;
  grid-template-columns: 1fr;
  gap: 5px;
}
.page-thank .summary-list--receipt .summary-item--note strong{
  max-width: none;
  text-align: left;
  font-weight: 700;
  font-size: 12px;
  color: rgba(11,27,43,.78);
}
.page-thank .thank-upsell{
  margin-top: 22px;
  padding: 22px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(244,248,250,.92));
  border: 1px solid rgba(132,167,196,.28);
  box-shadow: 0 18px 44px rgba(11,27,43,.10);
}
.page-thank .thank-card--dinner{
  margin-top: 22px;
}
.page-thank .thank-tour-promo{
  position: relative;
  overflow: hidden;
  margin-top: 26px;
  padding: clamp(22px, 3vw, 34px);
  border-radius: 26px;
  background: var(--surface2);
  background:
    radial-gradient(circle at 96% 0%, color-mix(in srgb, var(--bg2) 86%, transparent), transparent 36%),
    linear-gradient(145deg, color-mix(in srgb, var(--surface) 96%, var(--gold) 4%), color-mix(in srgb, var(--surface2) 92%, var(--bg2) 8%));
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
}
.page-thank .thank-tour-promo::before{
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: linear-gradient(180deg, var(--gold2), var(--gold));
}
.page-thank .thank-tour-promo__head{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, .48fr);
  align-items: end;
  gap: 24px;
  margin-bottom: 22px;
}
.page-thank .thank-tour-promo .thank-upsell__head{
  max-width: 720px;
  margin: 0;
}
.page-thank .thank-tour-promo .thank-upsell__eyebrow{
  color: var(--gold);
}
.page-thank .thank-tour-promo .thank-upsell__head h2{
  color: var(--text);
  font-size: clamp(31px, 4vw, 42px);
  max-width: 650px;
}
.page-thank .thank-tour-promo .thank-upsell__head p{
  max-width: 680px;
  color: var(--muted);
  font-size: 15px;
}
.page-thank .thank-tour-promo__promise{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 15px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--surface);
  background: color-mix(in srgb, var(--surface) 88%, var(--bg2) 12%);
}
.page-thank .thank-tour-promo__promise-mark{
  display: grid;
  place-items: center;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: var(--surface);
  background: var(--gold);
  font-size: 14px;
  font-weight: 900;
}
.page-thank .thank-tour-promo__promise strong,
.page-thank .thank-tour-promo__promise small{
  display: block;
}
.page-thank .thank-tour-promo__promise strong{
  color: var(--text);
  font-size: 13px;
  line-height: 1.3;
}
.page-thank .thank-tour-promo__promise small{
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}
.page-thank .thank-upsell__head{
  display: grid;
  gap: 7px;
  max-width: 760px;
  margin-bottom: 16px;
}
.page-thank .thank-upsell__eyebrow,
.page-thank .thank-upsell__groupHead span{
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(11,27,43,.54);
}
.page-thank .thank-upsell__head h2{
  margin: 0;
  font-family: "Cormorant Garamond", serif;
  font-size: 30px;
  line-height: 1.05;
  color: rgba(11,27,43,.94);
}
.page-thank .thank-upsell__head p{
  margin: 0;
  color: rgba(11,27,43,.66);
  line-height: 1.65;
}
.page-thank .thank-tour-promo__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 18px;
}
.page-thank .thank-tour-card{
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
  border-radius: 20px;
  background: var(--surface);
  border: 1px solid var(--border);
  box-shadow: 0 12px 30px color-mix(in srgb, var(--text) 8%, transparent);
  min-width: 0;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.page-thank .thank-tour-card:hover,
.page-thank .thank-tour-card:focus-within{
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--gold) 48%, var(--border));
  box-shadow: 0 20px 38px color-mix(in srgb, var(--text) 12%, transparent);
}
.page-thank .thank-tour-card__image{
  position: relative;
  display: block;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: var(--bg2);
}
.page-thank .thank-tour-card__image::after{
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 45%;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--text) 48%, transparent));
}
.page-thank .thank-tour-card__image img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.page-thank .thank-tour-card:hover .thank-tour-card__image img,
.page-thank .thank-tour-card:focus-within .thank-tour-card__image img{
  transform: scale(1.035);
}
.page-thank .thank-tour-card__image:focus-visible,
.page-thank .thank-tour-card__cta:focus-visible,
.page-thank .thank-tour-promo__concierge:focus-visible{
  outline: 3px solid color-mix(in srgb, var(--gold) 34%, transparent);
  outline-offset: 3px;
}
.page-thank .thank-tour-card__duration{
  position: absolute;
  z-index: 1;
  left: 12px;
  bottom: 12px;
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.52);
  border-radius: 999px;
  color: #fff;
  background: color-mix(in srgb, var(--text) 72%, transparent);
  backdrop-filter: blur(8px);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.page-thank .thank-tour-card__added-badge{
  position: absolute;
  z-index: 2;
  top: 12px;
  right: 12px;
  padding: 7px 10px;
  border-radius: 999px;
  color: var(--surface);
  background: var(--gold);
  box-shadow: 0 6px 18px color-mix(in srgb, var(--text) 18%, transparent);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.page-thank .thank-tour-card__body{
  display: grid;
  grid-template-rows: auto auto 1fr auto auto;
  gap: 9px;
  padding: 18px;
  align-content: start;
}
.page-thank .thank-tour-card__eyebrow{
  color: var(--gold);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .16em;
}
.page-thank .thank-tour-card h3{
  margin: 0;
  font-family: "Cormorant Garamond", serif;
  font-size: 23px;
  line-height: 1.06;
  color: var(--text);
}
.page-thank .thank-tour-card p{
  margin: 0;
  color: var(--muted);
  line-height: 1.58;
  font-size: 13px;
}
.page-thank .thank-tour-card__price{
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 3px 6px;
  min-height: 31px;
  color: var(--muted);
  font-size: 10px;
}
.page-thank .thank-tour-card__price strong{
  color: var(--text);
  font-size: 15px;
}
.page-thank .thank-tour-card__price small{
  flex-basis: 100%;
  color: var(--muted);
  font-size: 10px;
}
.page-thank .thank-tour-card__saved{
  display: grid;
  gap: 9px;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--gold) 30%, var(--border));
  border-radius: 14px;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--surface2) 82%, var(--gold) 18%), color-mix(in srgb, var(--surface) 88%, var(--bg2) 12%));
}
.page-thank .thank-tour-card__saved[hidden]{
  display: none !important;
}
.page-thank .thank-tour-card__saved-head{
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--text);
}
.page-thank .thank-tour-card__saved-head > span{
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  color: var(--surface);
  background: var(--gold);
  font-size: 10px;
  font-weight: 900;
}
.page-thank .thank-tour-card__saved-head strong{
  font-size: 12px;
}
.page-thank .thank-tour-card__saved-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.page-thank .thank-tour-card__saved-grid > div{
  min-width: 0;
  padding: 8px;
  border: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
  border-radius: 9px;
  background: color-mix(in srgb, var(--surface) 82%, transparent);
}
.page-thank .thank-tour-card__saved-grid span{
  display: block;
  margin-bottom: 2px;
  color: var(--muted);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.page-thank .thank-tour-card__saved-grid strong{
  display: block;
  overflow-wrap: anywhere;
  color: var(--text);
  font-size: 11px;
}
.page-thank .thank-tour-card__saved-payment{
  color: var(--text);
  font-size: 10px;
  font-weight: 900;
}
.page-thank .thank-tour-card__cta{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 7px;
  padding: 11px 13px;
  border: 1px solid color-mix(in srgb, var(--gold) 36%, var(--border));
  border-radius: 12px;
  color: var(--text);
  background: color-mix(in srgb, var(--surface2) 76%, var(--gold) 24%);
  font-size: 12px;
  font-weight: 900;
  font-family: inherit;
  line-height: 1.25;
  text-decoration: none;
  cursor: pointer;
  transition: color .2s ease, background .2s ease, border-color .2s ease;
}
.page-thank .thank-tour-card__cta span:last-child{
  color: var(--gold);
  font-size: 18px;
  line-height: 1;
}
.page-thank .thank-tour-card__cta:hover{
  color: var(--surface);
  background: var(--gold);
  border-color: var(--gold);
}
.page-thank .thank-tour-card__cta:disabled,
.page-thank .thank-tour-card__cta:disabled:hover{
  cursor: default;
  color: var(--text);
  background: color-mix(in srgb, var(--bg2) 82%, var(--surface) 18%);
  border-color: var(--border);
  opacity: .76;
}
.page-thank .thank-tour-card__cta:hover span:last-child{
  color: inherit;
}
.page-thank .thank-tour-inline{
  position: relative;
  margin-top: 22px;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid color-mix(in srgb, var(--gold) 34%, var(--border));
  border-radius: 22px;
  background: var(--surface);
  box-shadow: 0 18px 40px color-mix(in srgb, var(--text) 10%, transparent);
}
.page-thank .thank-tour-inline[hidden]{
  display: none !important;
}
.page-thank .thank-tour-inline__intro[hidden]{
  display: none !important;
}
.page-thank .thank-tour-inline__close{
  position: absolute;
  z-index: 2;
  top: 14px;
  right: 14px;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 50%;
  color: var(--text);
  background: var(--surface2);
  font: 700 24px/1 inherit;
  cursor: pointer;
}
.page-thank .thank-tour-inline__intro{
  display: grid;
  gap: 6px;
  padding-right: 46px;
  margin-bottom: 20px;
}
.page-thank .thank-tour-inline__intro h3,
.page-thank .thank-tour-inline__payment-head h3,
.page-thank .thank-tour-inline__complete h3{
  margin: 0;
  color: var(--text);
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(26px, 3vw, 34px);
  line-height: 1.05;
}
.page-thank .thank-tour-inline__intro p,
.page-thank .thank-tour-inline__payment-head p,
.page-thank .thank-tour-inline__complete p{
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}
.page-thank .thank-tour-inline__known{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.page-thank .thank-tour-inline__known > div,
.page-thank .thank-tour-inline__payment-summary > div{
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: color-mix(in srgb, var(--surface2) 84%, var(--bg2) 16%);
}
.page-thank .thank-tour-inline__known span,
.page-thank .thank-tour-inline__payment-summary span{
  display: block;
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.page-thank .thank-tour-inline__known strong,
.page-thank .thank-tour-inline__payment-summary strong{
  display: block;
  overflow-wrap: anywhere;
  color: var(--text);
  font-size: 13px;
}
.page-thank .thank-tour-inline__fields{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.page-thank .thank-tour-inline__field{
  display: grid;
  gap: 7px;
  min-width: 0;
}
.page-thank .thank-tour-inline__field > span{
  color: var(--text);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.page-thank .thank-tour-inline__field input{
  width: 100%;
  min-width: 0;
  height: 48px;
  padding: 0 12px;
  border: 1px solid var(--border2);
  border-radius: 12px;
  color: var(--text);
  background: var(--surface);
  font: 800 14px/1 inherit;
}
.page-thank .thank-tour-inline__field input:focus,
.page-thank .thank-tour-inline__stepper:focus-within{
  outline: 3px solid color-mix(in srgb, var(--gold) 22%, transparent);
  border-color: var(--gold);
}
.page-thank .thank-tour-inline__stepper{
  display: grid;
  grid-template-columns: 44px minmax(54px, 1fr) 44px;
  align-items: stretch;
  height: 48px;
  overflow: hidden;
  border: 1px solid var(--border2);
  border-radius: 12px;
  background: var(--surface);
}
.page-thank .thank-tour-inline__stepper button{
  border: 0;
  color: var(--text);
  background: color-mix(in srgb, var(--surface2) 78%, var(--bg2) 22%);
  font: 900 18px/1 inherit;
  cursor: pointer;
}
.page-thank .thank-tour-inline__stepper input{
  height: 46px;
  padding: 0 4px;
  border: 0;
  border-inline: 1px solid var(--border);
  border-radius: 0;
  text-align: center;
  appearance: textfield;
}
.page-thank .thank-tour-inline__stepper input::-webkit-inner-spin-button,
.page-thank .thank-tour-inline__stepper input::-webkit-outer-spin-button{
  appearance: none;
  margin: 0;
}
.page-thank .thank-tour-inline__quote{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 3px 16px;
  align-items: center;
  margin-top: 16px;
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--gold) 32%, var(--border));
  border-radius: 15px;
  background: color-mix(in srgb, var(--surface2) 74%, var(--gold) 26%);
}
.page-thank .thank-tour-inline__quote > span{
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.page-thank .thank-tour-inline__quote strong{
  color: var(--text);
  font-family: "Cormorant Garamond", serif;
  font-size: 25px;
}
.page-thank .thank-tour-inline__quote small{
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 10px;
}
.page-thank .thank-tour-inline__actions,
.page-thank .thank-tour-inline__payment-actions{
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}
.page-thank .thank-tour-inline .btn--primary{
  color: var(--surface);
  background: var(--gold);
  border-color: var(--gold);
  box-shadow: 0 10px 22px color-mix(in srgb, var(--gold) 24%, transparent);
}
.page-thank .thank-tour-inline .btn--primary:hover{
  color: var(--surface);
  background: color-mix(in srgb, var(--gold) 86%, var(--text) 14%);
  border-color: color-mix(in srgb, var(--gold) 86%, var(--text) 14%);
}
.page-thank .thank-tour-inline .btn--outline{
  color: var(--text);
  background: var(--surface);
  border-color: var(--border2);
}
.page-thank .thank-tour-inline .btn--outline:hover{
  color: var(--text);
  background: var(--surface2);
  border-color: var(--gold);
}
.page-thank .thank-tour-inline__error{
  min-height: 20px;
  margin-top: 8px;
  color: #b42318;
  font-size: 12px;
  font-weight: 800;
}
.page-thank .thank-tour-inline__error.is-success{
  color: var(--text);
}
.page-thank .thank-tour-inline__payment-head{
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding-right: 42px;
}
.page-thank .thank-tour-inline__payment-head > div > span{
  display: block;
  margin-bottom: 5px;
  color: var(--gold);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
}
.page-thank .thank-tour-inline__payment-summary{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 18px;
}
.page-thank .thank-tour-inline__payment-actions{
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(220px, auto);
  align-items: start;
}
.page-thank .thank-tour-inline__paypal{
  min-height: 44px;
}
.page-thank .thank-tour-inline__payment-actions .btn{
  min-height: 44px;
}
.page-thank .thank-tour-inline__payment-actions .thank-tour-inline__cancel{
  grid-column: 1 / -1;
  justify-self: center;
}
.page-thank .thank-tour-inline .thank-tour-inline__cancel{
  min-height: 40px;
  color: #8f3f39;
  background: transparent;
  border-color: color-mix(in srgb, #8f3f39 38%, var(--border) 62%);
  box-shadow: none;
}
.page-thank .thank-tour-inline .thank-tour-inline__cancel:hover{
  color: #74312d;
  background: color-mix(in srgb, #8f3f39 8%, var(--surface) 92%);
  border-color: color-mix(in srgb, #8f3f39 62%, var(--border) 38%);
}
.page-thank .thank-tour-inline .thank-tour-inline__cancel:disabled{
  opacity: .58;
  cursor: wait;
}
.page-thank .thank-tour-inline .thank-tour-inline__cancel[hidden]{
  display: none !important;
}
.page-thank .thank-tour-inline__complete{
  display: grid;
  justify-items: center;
  gap: 8px;
  padding: 18px 8px 6px;
  text-align: center;
}
.page-thank .thank-tour-inline__complete[hidden]{
  display: none !important;
}
.page-thank .thank-tour-inline__complete-mark{
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin-bottom: 3px;
  border-radius: 50%;
  color: var(--surface);
  background: var(--gold);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--gold) 28%, transparent);
  font-size: 25px;
  font-weight: 900;
}
.page-thank .thank-tour-inline__complete > strong{
  color: var(--text);
  font-size: 12px;
}
.page-thank .thank-tour-inline__complete-reference{
  padding: 7px 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface2) 82%, var(--gold) 18%);
}
.page-thank .thank-tour-inline__complete-summary{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  width: 100%;
  margin-top: 10px;
  text-align: left;
}
.page-thank .thank-tour-inline__complete-summary > div{
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: color-mix(in srgb, var(--surface2) 84%, var(--bg2) 16%);
}
.page-thank .thank-tour-inline__complete-summary span{
  display: block;
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.page-thank .thank-tour-inline__complete-summary strong{
  display: block;
  overflow-wrap: anywhere;
  color: var(--text);
  font-size: 13px;
}
.page-thank .thank-tour-inline__complete-pickup{
  grid-column: span 2;
}
.page-thank .thank-tour-inline__complete-actions{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}
.page-thank .thank-tour-inline__cancel-status{
  min-height: 18px;
  margin: 2px 0 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}
.page-thank .thank-tour-inline__cancel-status.is-error{
  color: #b42318;
}
.page-thank .thank-tour-promo__footer{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--border);
  color: var(--muted);
  font-size: 13px;
}
.page-thank .thank-tour-promo__concierge{
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--text);
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  border-bottom: 1px solid color-mix(in srgb, var(--gold) 55%, transparent);
}
.page-thank .thank-tour-promo__concierge:hover{
  color: var(--gold);
  border-bottom-color: var(--gold);
}
.page-thank .thank-dinner-form{
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, .72fr) minmax(0, .72fr) minmax(190px, auto);
  gap: 12px;
  align-items: end;
  margin-top: 14px;
  min-width: 0;
}
.page-thank .thank-dinner-form[hidden]{
  display: none;
}
.page-thank .thank-dinner-field{
  display: grid;
  gap: 6px;
  min-width: 0;
}
.page-thank .thank-dinner-field label{
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(11,27,43,.54);
}
.page-thank .thank-dinner-field select,
.page-thank .thank-dinner-field input{
  min-height: 46px;
  max-width: 100%;
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(132,167,196,.34);
  border-radius: 10px;
  background: rgba(255,255,255,.92);
  color: rgba(11,27,43,.92);
  font: inherit;
  font-size: 14px;
  padding: 10px 12px;
  box-shadow: 0 8px 18px rgba(11,27,43,.05);
}
.page-thank .thank-dinner-field select:focus,
.page-thank .thank-dinner-field input:focus{
  outline: 3px solid rgba(200,162,74,.20);
  border-color: rgba(200,162,74,.62);
}
.page-thank .thank-dinner-form .btn{
  min-height: 46px;
  width: 100%;
  white-space: nowrap;
}
.page-thank .thank-dinner-rate{
  margin: 0 0 14px;
}
.page-thank .thank-dinner-saved,
.page-thank .thank-dinner-cart{
  margin: 0 0 12px;
}
.page-thank .thank-dinner-saved[hidden],
.page-thank .thank-dinner-cart[hidden]{
  display: none;
}
.page-thank .thank-dinner-saved .summary-item span,
.page-thank .thank-dinner-cart .summary-item span{
  display: grid;
  gap: 3px;
}
.page-thank .thank-dinner-saved small,
.page-thank .thank-dinner-cart small{
  color: rgba(11,27,43,.52);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.35;
}
.page-thank .thank-dinner-saved-item strong,
.page-thank .thank-dinner-cart-item strong{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  align-items: center;
}
.page-thank .thank-dinner-saved-item.is-cancelled{
  opacity: .62;
}
.page-thank .thank-dinner-cancel,
.page-thank .thank-dinner-remove{
  min-height: 30px;
  padding: 6px 10px;
  font-size: 11px;
  line-height: 1;
}
.page-thank .thank-dinner-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  margin: 0 0 12px;
}
.page-thank .thank-dinner-add[hidden]{
  display: none;
}
.page-thank .thank-dinner-pay-all[hidden]{
  display: none;
}
.page-thank .thank-card--dinner .summary-item{
  align-items: flex-start;
}
.page-thank .thank-card--dinner .summary-item strong{
  line-height: 1.45;
}
.page-thank [data-dinner-price][hidden]{
  display: none;
}
.page-thank .thank-dinner-note{
  margin: 10px 0 0;
  line-height: 1.55;
}
.page-thank .thank-dinner-payment{
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px dashed rgba(11,27,43,.14);
}
.page-thank .thank-dinner-payment[hidden]{
  display: none;
}
.page-thank .thank-dinner-payment__grid{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  gap: 16px;
  align-items: start;
}
.page-thank .thank-dinner-request-summary,
.page-thank .thank-dinner-payment-methods{
  height: 100%;
}
.page-thank .thank-dinner-summary-main{
  color: rgba(11,27,43,.94);
  font-size: 18px;
  font-weight: 900;
  line-height: 1.2;
}
.page-thank .thank-dinner-summary-meta{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: rgba(11,27,43,.58);
  font-size: 12px;
  font-weight: 800;
}
.page-thank .thank-dinner-summary-meta span + span::before{
  content: "•";
  margin-right: 8px;
  color: rgba(11,27,43,.32);
}
.page-thank .thank-dinner-paypal{
  width: 100%;
  max-width: 360px;
  margin-top: 2px;
}
.page-thank .thank-dinner-cash{
  justify-self: start;
}
.page-thank .thank-dinner-status{
  margin-top: 8px;
}
.page-thank .thank-upsell__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.page-thank .thank-upsell__group{
  display: grid;
  gap: 12px;
}
.page-thank .thank-upsell__groupHead{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 8px;
  border-bottom: 1px dashed rgba(11,27,43,.14);
}
.page-thank .thank-upsell__groupHead strong{
  font-size: 18px;
  color: rgba(11,27,43,.90);
}
.page-thank .thank-upsell__items{
  display: grid;
  gap: 10px;
}
.page-thank .thank-upsell-card{
  display: grid;
  gap: 12px;
  padding: 14px;
  border-radius: 14px;
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(214,197,165,.44);
}
.page-thank .thank-upsell-card__image{
  aspect-ratio: 16 / 9;
  width: 100%;
  overflow: hidden;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(164,188,202,.28), rgba(214,197,165,.24));
  border: 1px solid rgba(132,167,196,.24);
  display: grid;
  place-items: center;
}
.page-thank .thank-upsell-card__image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.page-thank .thank-upsell-card__image span{
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(11,27,43,.52);
}
.page-thank .thank-upsell-card h3{
  margin: 0 0 5px;
  font-size: 16px;
  line-height: 1.25;
  color: rgba(11,27,43,.94);
}
.page-thank .thank-upsell-card p{
  margin: 0;
  color: rgba(11,27,43,.64);
  font-size: 13px;
  line-height: 1.55;
}
.page-thank .thank-upsell-card__foot{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}
.page-thank .thank-upsell-card__foot span{
  font-size: 12px;
  font-weight: 800;
  color: rgba(11,27,43,.72);
}
.page-thank .thank-upsell-card__foot .btn{
  min-height: 38px;
  padding: 9px 12px;
  font-size: 12px;
}
.page-thank .receipt-title .help{
  margin: 6px 0 0;
}

@media (max-width: 959px){
  .page-thank .thank-layout{
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .page-thank .thank-layout__main,
  .page-thank .thank-layout__sidebar{
    display: contents;
  }
  .page-thank .thank-layout .thank-hero__left,
  .page-thank .thank-layout .thank-hero__right,
  .page-thank .thank-layout .thank-card,
  .page-thank .thank-layout .receipt-card{
    width: 100%;
    max-width: none;
    justify-self: stretch;
  }
  .page-thank .receipt-head{
    display: grid;
    grid-template-columns: 1fr;
    align-items: start;
    gap: 10px;
  }
  .page-thank .thank-ref{
    width: 100%;
    min-width: 0;
  }
  .page-thank .thank-layout__sidebar .summary-item,
  .page-thank .summary-list--receipt .summary-item{
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .page-thank .thank-layout__sidebar .summary-item strong,
  .page-thank .summary-list--receipt .summary-item strong{
    width: 100%;
    max-width: none;
    text-align: left;
    overflow-wrap: anywhere;
  }
  .page-thank .payment-actions .btn,
  .page-thank .thank-card__actions .btn{
    width: 100%;
    justify-content: center;
  }
  .page-thank .thank-upsell{
    padding: 18px;
  }
  .page-thank .thank-upsell__grid{
    grid-template-columns: 1fr;
  }
  .page-thank .thank-tour-promo{
    padding: 18px;
  }
  .page-thank .thank-tour-promo__head{
    grid-template-columns: 1fr;
    align-items: start;
    gap: 16px;
  }
  .page-thank .thank-tour-promo__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .page-thank .thank-dinner-form{
    grid-template-columns: 1fr;
  }
  .page-thank .thank-dinner-form .btn{
    width: 100%;
  }
  .page-thank .thank-dinner-actions{
    justify-content: stretch;
  }
  .page-thank .thank-dinner-add,
  .page-thank .thank-dinner-pay-all{
    width: 100%;
  }
  .page-thank .thank-dinner-saved-item strong,
  .page-thank .thank-dinner-cart-item strong{
    justify-content: flex-start;
  }
  .page-thank .thank-dinner-payment__grid{
    grid-template-columns: 1fr;
  }
  .page-thank .thank-dinner-cash{
    width: 100%;
  }
  .page-thank .thank-dinner-paypal{
    max-width: 100%;
  }
}

@media (max-width: 640px){
  .page-thank .thank-tour-promo{
    margin-inline: -4px;
    padding: 20px 16px 18px 20px;
    border-radius: 20px;
  }
  .page-thank .thank-tour-promo .thank-upsell__head h2{
    font-size: 32px;
  }
  .page-thank .thank-tour-promo .thank-upsell__head p{
    font-size: 14px;
  }
  .page-thank .thank-tour-promo__grid{
    grid-template-columns: 1fr;
  }
  .page-thank .thank-tour-card__image{
    aspect-ratio: 16 / 10;
  }
  .page-thank .thank-tour-inline{
    margin-inline: 0;
    padding: 20px 15px;
    border-radius: 18px;
  }
  .page-thank .thank-tour-inline__known,
  .page-thank .thank-tour-inline__fields,
  .page-thank .thank-tour-inline__payment-summary,
  .page-thank .thank-tour-inline__payment-actions,
  .page-thank .thank-tour-inline__complete-summary{
    grid-template-columns: 1fr;
  }
  .page-thank .thank-tour-inline__complete-pickup{
    grid-column: auto;
  }
  .page-thank .thank-tour-inline__actions{
    display: grid;
    grid-template-columns: 1fr;
  }
  .page-thank .thank-tour-inline__actions .btn,
  .page-thank .thank-tour-inline__payment-actions .btn,
  .page-thank .thank-tour-inline__complete-actions .btn{
    width: 100%;
    justify-content: center;
  }
  .page-thank .thank-tour-inline__complete-actions{
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }
  .page-thank .thank-tour-inline__quote{
    grid-template-columns: 1fr;
  }
  .page-thank .thank-tour-inline__quote small{
    grid-column: auto;
  }
  .page-thank .thank-tour-promo__footer{
    justify-content: flex-start;
  }
}

@media (min-width: 860px){
  .page-review .review-intro{
    grid-template-columns: minmax(0, 1fr) auto;
    align-items:end;
  }
  .page-thank .thank-hero__left h1{
    font-size: 46px;
  }
}

@media (max-width: 720px){
  #bookingForm::before{
    top: 14px;
    left: 12px;
    right: 12px;
    padding: 16px 16px;
    font-size: 22px;
  }
  .page-review .review-intro{
    margin-bottom: 18px;
    padding: 18px;
  }
  .page-review .review-intro h1{
    font-size: 30px;
  }
  .page-thank .thank-hero__left h1{
    font-size: 34px;
  }
}

/* Cinematic reveal for review + thank-you */
.cinematic-stage{
  position: relative;
  isolation: isolate;
}
.cinematic-stage::after{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 5;
  opacity: 0;
  background: radial-gradient(82% 70% at 50% 16%, rgba(247,232,191,.26), rgba(247,232,191,0) 72%);
  transform: scale(.986);
  transition: opacity 220ms ease-out, transform 220ms ease-out;
}
.cinematic-stage.is-spotlit::after{
  opacity: 1;
  transform: scale(1.012);
}
body.is-cinematic-ready .cinematic-block{
  opacity: 0;
  transform: translate3d(28px, 0, 0) scale(.986);
  filter: blur(8px);
  will-change: transform, opacity, filter;
  transition: transform 520ms cubic-bezier(0.22, 1, 0.36, 1), opacity 520ms cubic-bezier(0.22, 1, 0.36, 1), filter 500ms cubic-bezier(0.22, 1, 0.36, 1);
}
body.is-cinematic-ready .cinematic-block[data-cin-dir="back"]{
  transform: translate3d(-28px, 0, 0) scale(.986);
}
body.is-cinematic-ready .cinematic-block.is-reveal{
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
  will-change: auto;
}
.page-review .btn,
.page-thank .btn{
  transition: transform 140ms ease, box-shadow 220ms ease, filter 220ms ease;
}
.page-review .btn:active,
.page-thank .btn:active,
.page-review .btn.is-pressed,
.page-thank .btn.is-pressed{
  transform: translateY(1px);
  box-shadow: 0 8px 18px rgba(11,27,43,.14);
  filter: saturate(1.04);
}
.cinematic-pop{
  animation: cinematicPulse 420ms cubic-bezier(0.22, 1, 0.36, 1);
}
@keyframes cinematicPulse{
  0%{ transform: translate3d(0, 0, 0) scale(.986); filter: blur(2px); opacity:.72; }
  100%{ transform: translate3d(0, 0, 0) scale(1); filter: blur(0); opacity:1; }
}
@media (prefers-reduced-motion: reduce){
  .cinematic-stage::after,
  .cinematic-block,
  .cinematic-pop,
  .page-review .btn,
  .page-thank .btn{
    animation: none !important;
    transition: none !important;
  }
  .cinematic-block{
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
  }
}
@media (max-width: 860px){
  body.is-cinematic-ready .cinematic-block{
    transform: translate3d(0, 34px, 0) scale(.965);
    filter: blur(6px);
    transition: transform 620ms cubic-bezier(0.22, 1, 0.36, 1), opacity 620ms cubic-bezier(0.22, 1, 0.36, 1), filter 560ms cubic-bezier(0.22, 1, 0.36, 1);
  }
  body.is-cinematic-ready .cinematic-block[data-cin-dir="back"]{
    transform: translate3d(0, -24px, 0) scale(.972);
  }
}

/* Home conversion layer */
.booking-intro{
  padding: 12px 0 6px;
}
.booking-intro__grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 14px;
  padding: 18px;
  border-radius: 22px;
  background:
    linear-gradient(140deg, rgba(255,255,255,.94), rgba(248,244,237,.88)),
    radial-gradient(circle at 0% 0%, rgba(200,162,74,.14), transparent 60%);
  border: 1px solid rgba(11,27,43,.12);
  box-shadow: 0 18px 40px rgba(11,27,43,.08);
}
.booking-intro__eyebrow,
.hero__eyebrow,
.book-direct__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(11,27,43,.58);
}
.booking-intro__copy h2{
  margin: 10px 0 10px;
  font-size: 32px;
  line-height: 1.05;
}
.booking-intro__copy p{
  margin: 0;
  max-width: 58ch;
  color: rgba(11,27,43,.7);
  line-height: 1.65;
}
.booking-intro__points{
  display:grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.booking-intro__point{
  padding: 14px 14px 14px 42px;
  border-radius: 16px;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(132,167,196,.24);
  color: rgba(11,27,43,.88);
  font-weight: 600;
  position: relative;
  box-shadow: 0 10px 24px rgba(11,27,43,.06);
}
.booking-intro__point::before{
  content: "";
  position: absolute;
  left: 14px;
  top: 50%;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  transform: translateY(-50%);
  background: linear-gradient(135deg, rgba(228,201,122,.95), rgba(200,162,74,.95));
  box-shadow: 0 0 0 5px rgba(200,162,74,.12);
}
.hero__eyebrow{
  margin-bottom: 12px;
}
.hero-highlights{
  display:grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin: 14px 0 6px;
}
.hero-highlight{
  padding: 14px;
  border-radius: 16px;
  background: linear-gradient(160deg, rgba(255,255,255,.9), rgba(244,249,252,.82));
  border: 1px solid rgba(132,167,196,.24);
  box-shadow: 0 12px 26px rgba(11,27,43,.06);
}
.hero-highlight strong{
  display:block;
  margin-bottom: 5px;
  font-size: 14px;
  color: rgba(11,27,43,.95);
}
.hero-highlight span{
  display:block;
  font-size: 13px;
  line-height: 1.55;
  color: rgba(11,27,43,.68);
}
.section-book-direct .section-title{
  margin-bottom: 18px;
}
.book-direct__grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.book-direct__card{
  padding: 22px;
  border-radius: 22px;
  border: 1px solid rgba(11,27,43,.12);
  box-shadow: 0 18px 40px rgba(11,27,43,.08);
}
.book-direct__card--contrast{
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(244,248,250,.82));
}
.book-direct__card--highlight{
  background:
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(248,244,237,.9)),
    radial-gradient(circle at 100% 0%, rgba(200,162,74,.18), transparent 56%);
  border-color: rgba(200,162,74,.34);
}
.book-direct__card h3{
  margin: 10px 0 10px;
  font-size: 28px;
  line-height: 1.08;
}
.book-direct__list{
  margin: 0;
  padding-left: 18px;
  color: rgba(11,27,43,.75);
  line-height: 1.72;
}
.book-direct__list li + li{
  margin-top: 6px;
}
.book-direct__actions{
  display:flex;
  flex-wrap:wrap;
  gap: 10px;
  margin-top: 18px;
}
.price-trust{
  margin-top: 16px;
  padding: 14px;
  border-radius: 16px;
  background: linear-gradient(160deg, rgba(248,244,237,.82), rgba(255,255,255,.9));
  border: 1px solid rgba(200,162,74,.24);
}
.price-trust__title{
  font-size: 13px;
  font-weight: 800;
  color: rgba(11,27,43,.92);
  margin-bottom: 8px;
}
.price-trust__list{
  margin: 0;
  padding-left: 18px;
  color: rgba(11,27,43,.7);
  font-size: 13px;
  line-height: 1.65;
}
.price-trust__actions{
  margin-top: 12px;
}
.price-trust__actions .btn{
  width: 100%;
}

@media (min-width: 860px){
  .booking-intro__grid{
    grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
    align-items: center;
  }
  .hero-highlights{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .book-direct__grid{
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  }
}

@media (max-width: 699px){
  .booking-intro__copy h2{
    font-size: 28px;
  }
  .book-direct__card h3{
    font-size: 24px;
  }
  .book-direct__actions .btn{
    width: 100%;
  }
}

/* Home layout refinement */
.page-home{
  --home-shell: 1160px;
  --home-gutter: clamp(18px, 3.4vw, 32px);
  --home-section-space: clamp(52px, 6vw, 76px);
  --home-card-gap: clamp(14px, 2vw, 22px);
}
.page-home .container{
  width: min(var(--home-shell), calc(100% - (var(--home-gutter) * 2)));
}
.page-home .section{
  padding: var(--home-section-space) 0;
}
.page-home .hero{
  padding: 18px 0 30px;
}
.page-home .home-booking-priority{
  padding: 6px 0 18px;
}
.page-home .home-booking-priority .section{
  padding: 16px 0;
}
.page-home .section-title,
.page-home .destinations-rates__header{
  margin-bottom: clamp(22px, 3vw, 34px);
}
.page-home .section-proof .section-title,
.page-home .section-steps .section-title,
.page-home .section-services .section-title,
.page-home .section-home-tours .section-title,
.page-home .section-book-direct .section-title,
.page-home .section-faq .section-title{
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.page-home .section-proof .section-title > div,
.page-home .section-steps .section-title > div,
.page-home .section-services .section-title > div,
.page-home .section-home-tours .section-title > div,
.page-home .section-book-direct .section-title > div,
.page-home .section-faq .section-title > div{
  max-width: 760px;
}
.page-home .section-services .section-title .link-secondary,
.page-home .section-home-tours .section-title .link-secondary{
  align-self: center;
}
.page-home .section-kicker{
  display: inline-block;
  margin-bottom: 8px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(11,27,43,.54);
}
.page-home .destinations-rates__header{
  justify-items: center;
  text-align: center;
  max-width: 760px;
  margin-inline: auto;
}
.page-home .destinations-rates__eyebrow{
  justify-self: center;
}
.page-home .destinations-rates__header h2{
  max-width: 12ch;
  font-size: clamp(34px, 4.6vw, 54px);
}
.page-home .destinations-rates__header p{
  max-width: 62ch;
}
.page-home .hero__card{
  max-width: 100%;
  gap: 0;
  align-items: stretch;
}
.page-home .hero__copy{
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(26px, 3.2vw, 42px);
}
.page-home .hero__copy h1{
  max-width: 14ch;
  margin-bottom: 12px;
  line-height: 1.02;
  text-wrap: balance;
}
.page-home .hero__copy p{
  max-width: 58ch;
}
.page-home .hero__cta{
  margin-top: 14px;
}
.page-home .trust-row{
  gap: 6px;
  margin: 14px 0 0;
  max-width: 680px;
}
.page-home .trust-chip{
  padding: 8px 11px;
  font-size: 11px;
  font-weight: 700;
  background: rgba(255,255,255,.72);
  border-color: rgba(132,167,196,.26);
  box-shadow: none;
}
.page-home .hero-highlights{
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 14px 0 0;
  max-width: 720px;
}
.page-home .hero-highlight{
  padding: 12px 14px;
  background: rgba(255,255,255,.72);
  box-shadow: none;
}
.page-home .hero-highlight span{
  display: block;
}
.page-home .hero-highlight:last-child:nth-child(odd){
  grid-column: 1 / -1;
}
.page-home .hero__after{
  margin-top: 14px;
  max-width: 46ch;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: rgba(11,27,43,.62);
}
.page-home .section-proof{
  background:
    radial-gradient(760px 300px at 50% 0%, rgba(200,162,74,.12), transparent 72%),
    linear-gradient(180deg, rgba(248,244,237,.58), rgba(255,255,255,.78));
  border-top: 1px solid rgba(11,27,43,.06);
  border-bottom: 1px solid rgba(11,27,43,.06);
}
.page-home .section-proof .section-title h2,
.page-home .section-steps .section-title h2,
.page-home .section-services .section-title h2,
.page-home .section-book-direct .section-title h2,
.page-home .section-faq .section-title h2{
  text-wrap: balance;
}
.page-home .hero__media{
  min-height: clamp(420px, 48vw, 560px);
  background-image: var(--hero-image);
  background-size: cover;
  background-position: center;
}
.page-home .hero__mediaLabel{
  left: 18px;
  right: 18px;
  top: 18px;
}

/* Dedicated, indexable private tour pages */
.page-tour-detail .tour-detail-breadcrumb{
  display:flex; gap:9px; align-items:center; padding-top:22px; color:rgba(11,27,43,.62); font-size:13px;
}
.page-tour-detail .tour-detail-breadcrumb a{ color:rgba(11,27,43,.84); text-decoration:underline; text-decoration-color:rgba(200,162,74,.48); text-underline-offset:3px; }
.page-tour-detail .tour-detail-hero{ padding-top:12px; }
.page-tour-detail .tour-detail-hero__card{ max-width:100%; gap:0; }
.page-tour-detail .tour-detail-hero .hero__copy{ display:flex; flex-direction:column; justify-content:center; padding:clamp(26px,3.2vw,42px); }
.page-tour-detail .tour-detail-hero .hero__copy h1{ max-width:14ch; font-size:clamp(36px,4.3vw,46px); line-height:1.02; text-wrap:balance; }
.page-tour-detail .tour-detail-hero .hero__copy>p{ font-size:16px; }
.page-tour-detail .tour-detail-hero__media{ position:relative; min-height:clamp(420px,48vw,560px); background:rgba(164,188,202,.12); }
.page-tour-detail .tour-detail-hero__media>img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.page-tour-detail .tour-detail-overview{ background:transparent; }
.page-tour-detail .tour-detail-overview__grid{ grid-template-columns:.9fr 1.1fr; gap:clamp(22px,4vw,52px); }
.page-tour-detail .tour-detail-overview .booking-intro__copy h2{ margin:10px 0; font-size:clamp(32px,4vw,44px); line-height:1.02; }
.page-tour-detail .tour-detail-highlights{ margin:0; padding:0; list-style:none; }
@media (max-width: 820px){
  .page-tour-detail .tour-detail-overview__grid{ grid-template-columns:1fr; }
}
@media (max-width: 520px){
  .page-tour-detail .tour-detail-breadcrumb{ overflow-x:auto; white-space:nowrap; scrollbar-width:none; }
  .page-tour-detail .tour-detail-hero .hero__copy{ padding:20px 16px; }
  .page-tour-detail .tour-detail-hero .hero__copy h1{ font-size:32px; line-height:1.08; }
  .page-tour-detail .tour-detail-hero .hero__copy>p{ font-size:14px; }
  .page-tour-detail .tour-detail-hero__media{ min-height:320px; }
  .page-tour-detail .hero__mediaLabel{ align-items:flex-start; flex-direction:column; }
}

@media (max-width: 767px){
  .page-home .hero__media{
    background-image: var(--hero-image-mobile, var(--hero-image));
  }
}
.page-home .booking-intro__grid,
.page-home .destinations-rates__grid,
.page-home .route-grid,
.page-home .home-tour-grid,
.page-home .steps-grid,
.page-home .included-grid,
.page-home .proof-grid,
.page-home .faq-grid,
.page-home .book-direct__grid,
.page-home .footer-grid{
  gap: var(--home-card-gap);
  align-items: stretch;
}
.page-home .booking-intro__grid{
  padding: clamp(20px, 2.6vw, 28px);
}
.page-home .booking-intro__copy{
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.page-home .booking-intro__points{
  gap: 12px;
}
.page-home .booking-intro__point{
  min-height: 72px;
  display: flex;
  align-items: center;
}
.page-home .destination-rate-card,
.page-home .home-tour-card,
.page-home .route-card,
.page-home .step-card,
.page-home .proof-card,
.page-home .faq-card,
.page-home .book-direct__card,
.page-home .foot{
  height: 100%;
}
.page-home .route-card,
.page-home .home-tour-card,
.page-home .step-card,
.page-home .proof-card,
.page-home .faq-card,
.page-home .book-direct__card,
.page-home .foot{
  display: flex;
  flex-direction: column;
}
.page-home .step-card,
.page-home .proof-card,
.page-home .faq-card{
  padding: 20px;
}
.page-home .route-card p,
.page-home .home-tour-card p,
.page-home .step-card p,
.page-home .proof-card p,
.page-home .faq-card p{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.page-home .route-card p{
  -webkit-line-clamp: 3;
}
.page-home .home-tour-card p{
  -webkit-line-clamp: 4;
}
.page-home .step-card p,
.page-home .proof-card p,
.page-home .faq-card p{
  -webkit-line-clamp: 4;
}
.page-home .route-card .link-secondary,
.page-home .home-tour-card .btn,
.page-home .book-direct__actions,
.page-home .foot__actions{
  margin-top: auto;
}
.page-home .home-tour-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.2vw, 26px);
}
.page-home .section-home-tours{
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.page-home .section-home-tours::before{
  content: "";
  position: absolute;
  z-index: -1;
  width: min(720px, 70vw);
  aspect-ratio: 1;
  left: 50%;
  top: 54%;
  border-radius: 999px;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(200,162,74,.11), rgba(200,162,74,0) 68%);
  pointer-events: none;
}
.page-home .home-tours__all{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 10px 15px;
  border: 1px solid rgba(11,27,43,.13);
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  color: rgba(11,27,43,.88);
  box-shadow: 0 10px 24px rgba(11,27,43,.06);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.page-home .home-tours__all span{
  font-size: 17px;
  line-height: 1;
  transition: transform .2s ease;
}
.page-home .home-tours__all:hover,
.page-home .home-tours__all:focus-visible{
  transform: translateY(-2px);
  border-color: rgba(200,162,74,.5);
  box-shadow: 0 14px 28px rgba(11,27,43,.09);
}
.page-home .home-tours__all:hover span,
.page-home .home-tours__all:focus-visible span{
  transform: translateX(3px);
}
.page-home .home-tour-card{
  position: relative;
  overflow: hidden;
  border-radius: 26px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(11,27,43,.1);
  box-shadow:
    0 24px 52px rgba(11,27,43,.1),
    inset 0 1px 0 rgba(255,255,255,.9);
  transition: transform .28s cubic-bezier(.22,1,.36,1), box-shadow .28s ease, border-color .28s ease;
}
.page-home .home-tour-card:hover,
.page-home .home-tour-card:focus-within{
  transform: translateY(-7px);
  box-shadow:
    0 34px 64px rgba(11,27,43,.15),
    inset 0 1px 0 rgba(255,255,255,.92);
  border-color: rgba(200,162,74,.46);
}
.page-home .home-tour-card__image{
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(216,229,235,.95), rgba(235,227,207,.92));
  isolation: isolate;
}
.page-home .home-tour-card__image::after{
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(7,19,31,.26) 0%, rgba(7,19,31,0) 42%, rgba(7,19,31,.7) 100%),
    linear-gradient(120deg, rgba(7,19,31,.08), transparent 55%);
  pointer-events: none;
}
.page-home .home-tour-card__image img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .65s cubic-bezier(.22,1,.36,1), filter .35s ease;
}
.page-home .home-tour-card:hover .home-tour-card__image img,
.page-home .home-tour-card:focus-within .home-tour-card__image img{
  transform: scale(1.06);
  filter: saturate(1.06) contrast(1.02);
}
.page-home .home-tour-card--todos-santos .home-tour-card__image img{
  object-position: 50% 60%;
}
.page-home .home-tour-card--la-paz-balandra .home-tour-card__image img{
  object-position: 50% 42%;
}
.page-home .home-tour-card--los-cabos-highlights .home-tour-card__image img{
  object-position: 50% 50%;
}
.page-home .home-tour-card__badges{
  position: absolute;
  z-index: 2;
  inset: 16px 16px auto;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  pointer-events: none;
}
.page-home .home-tour-card__type,
.page-home .home-tour-card__duration{
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 999px;
  background: rgba(8,23,37,.62);
  backdrop-filter: blur(12px) saturate(130%);
  color: rgba(255,255,255,.94);
  box-shadow: 0 8px 22px rgba(5,15,24,.14);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  line-height: 1.2;
  text-transform: uppercase;
}
.page-home .home-tour-card__duration{
  background: rgba(255,255,255,.84);
  border-color: rgba(255,255,255,.55);
  color: rgba(11,27,43,.82);
}
.page-home .home-tour-card__image-cue{
  position: absolute;
  z-index: 2;
  left: 18px;
  right: 18px;
  bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: rgba(255,255,255,.96);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
  pointer-events: none;
}
.page-home .home-tour-card__image-cue > span{
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 999px;
  background: rgba(255,255,255,.16);
  backdrop-filter: blur(10px);
  font-size: 15px;
  transition: transform .25s ease, background .25s ease;
}
.page-home .home-tour-card:hover .home-tour-card__image-cue > span,
.page-home .home-tour-card:focus-within .home-tour-card__image-cue > span{
  transform: translate(2px, -2px);
  background: rgba(255,255,255,.25);
}
.page-home .home-tour-card__image:focus-visible,
.page-home .home-tour-card h3 a:focus-visible,
.page-home .home-tour-card__cta:focus-visible{
  outline: 3px solid rgba(200,162,74,.28);
  outline-offset: 3px;
}
.page-home .home-tour-card__body{
  display: flex;
  flex-direction: column;
  gap: 11px;
  padding: 22px 22px 20px;
  flex: 1 1 auto;
}
.page-home .home-tour-card__eyebrow{
  color: rgba(126,96,34,.86);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .17em;
  line-height: 1.2;
}
.page-home .home-tour-card h3{
  margin: 0;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(26px, 2.2vw, 31px);
  line-height: 1.02;
  color: rgba(11,27,43,.94);
  text-wrap: balance;
}
.page-home .home-tour-card h3 a{
  color: inherit;
  text-decoration: none;
  transition: color .2s ease;
}
.page-home .home-tour-card h3 a:hover{
  color: rgba(126,96,34,.98);
}
.page-home .home-tour-card p{
  margin: 0;
  color: rgba(11,27,43,.66);
  font-size: 14px;
  line-height: 1.62;
}
.page-home .home-tour-card__footer{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid rgba(11,27,43,.09);
}
.page-home .home-tour-card__price{
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.page-home .home-tour-card__price > span,
.page-home .home-tour-card__price > small{
  color: rgba(11,27,43,.48);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.2;
  text-transform: uppercase;
}
.page-home .home-tour-card__price strong{
  color: rgba(11,27,43,.94);
  font-family: "Cormorant Garamond", serif;
  font-size: 25px;
  line-height: 1;
  white-space: nowrap;
}
.page-home .home-tour-card__price strong small{
  font-family: inherit;
  font-size: 12px;
  letter-spacing: .04em;
}
.page-home .home-tour-card__cta{
  display: inline-flex;
  align-items: center;
  gap: 9px;
  flex: 0 0 auto;
  color: rgba(11,27,43,.9);
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}
.page-home .home-tour-card__cta-icon{
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: #0b1b2b;
  color: #fff;
  box-shadow: 0 10px 20px rgba(11,27,43,.18);
  font-size: 16px;
  transition: transform .2s ease, background .2s ease;
}
.page-home .home-tour-card__cta:hover .home-tour-card__cta-icon,
.page-home .home-tour-card__cta:focus-visible .home-tour-card__cta-icon{
  transform: translateX(3px);
  background: #8b6c2b;
}
.page-home .included-card{
  min-height: 100%;
  display: flex;
  align-items: center;
}
.page-home .book-direct__card{
  padding: clamp(20px, 2.6vw, 28px);
}
.page-home .book-direct__list{
  flex: 1 1 auto;
}
.page-home .mention-card{
  max-width: 920px;
  margin: 0 auto;
}
.page-home .ta-card{
  padding: clamp(18px, 2.2vw, 26px);
}
.page-home .ta-badges{
  margin: 0 0 clamp(20px, 3vw, 30px);
  gap: var(--home-card-gap);
  justify-content: center;
  flex-wrap: wrap;
  overflow: visible;
  padding-bottom: 0;
}
.page-home .ta-badge{
  min-width: 180px;
}
.page-home footer{
  padding: calc(var(--home-section-space) - 6px) 0 var(--home-section-space);
}
.page-home .foot{
  padding: clamp(20px, 2.3vw, 28px);
}
.page-home footer table{
  margin: 18px 0 0;
  width: auto;
}
.page-home footer table td{
  padding: 0;
}

@media (max-width: 859px){
  .page-home .hero-highlights{
    grid-template-columns: 1fr;
  }
  .page-home .hero-highlight:last-child:nth-child(odd){
    grid-column: auto;
  }
  .page-home .home-tour-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .page-home .home-tour-card:last-child:nth-child(odd){
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  }
  .page-home .home-tour-card:last-child:nth-child(odd) .home-tour-card__image{
    min-height: 360px;
    aspect-ratio: auto;
  }
}

@media (max-width: 760px){
  .page-home .ta-badges{
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 10px;
  }
}

@media (max-width: 699px){
  .page-home .home-tour-grid{
    grid-template-columns: 1fr;
  }
  .page-home .home-tour-card:last-child:nth-child(odd){
    grid-column: auto;
    display: flex;
  }
  .page-home .home-tour-card:last-child:nth-child(odd) .home-tour-card__image{
    min-height: 0;
    aspect-ratio: 4 / 3;
  }
}

@media (max-width: 520px){
  .page-home{
    --home-gutter: 14px;
  }
  .page-home .hero{
    padding: 10px 0 22px;
  }
  .page-home .hero__copy{
    padding: 18px 16px 16px;
  }
  .page-home .hero__copy h1{
    max-width: none;
    font-size: clamp(32px, 10vw, 42px);
    line-height: 1.04;
  }
  .page-home .trust-row{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 8px;
  }
  .page-home .trust-row .trust-chip:nth-child(n+3){
    display: inline-flex;
  }
  .page-home .trust-chip{
    width: 100%;
    min-width: 0;
    justify-content: flex-start;
    border-radius: 14px;
    line-height: 1.25;
  }
  .page-home .home-tours__all{
    width: 100%;
    justify-content: center;
  }
  .page-home .home-tour-card{
    border-radius: 22px;
  }
  .page-home .home-tour-card__image{
    aspect-ratio: 5 / 4;
  }
  .page-home .home-tour-card__badges{
    inset: 12px 12px auto;
  }
  .page-home .home-tour-card__type,
  .page-home .home-tour-card__duration{
    min-height: 28px;
    padding: 6px 8px;
    font-size: 9px;
  }
  .page-home .home-tour-card__image-cue{
    left: 14px;
    right: 14px;
    bottom: 12px;
  }
  .page-home .home-tour-card__body{
    padding: 19px 17px 18px;
  }
  .page-home .home-tour-card h3{
    font-size: 29px;
  }
  .page-home .home-tour-card__footer{
    align-items: center;
  }
  .page-home .home-tour-card__cta{
    gap: 7px;
    font-size: 11px;
  }
  .page-home .hero__after{
    max-width: none;
  }
}

/* Booking wizard refined premium emphasis */
#booking .booking-wrap{
  max-width: 1000px;
}
#booking .booking-wrap > .card{
  border-color: rgba(46,51,58,.10);
  background:
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(252,250,246,.98)),
    radial-gradient(720px 260px at 10% 0%, rgba(194,169,116,.10), transparent 70%);
  box-shadow: 0 24px 60px rgba(31,38,45,.10), 0 6px 18px rgba(31,38,45,.045);
}
#booking .steps-head{
  padding: 18px 18px 14px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,248,243,.96));
  border-bottom-color: rgba(46,51,58,.08);
}
#booking .steps-badge{
  width: 42px;
  height: 42px;
  border-radius: 16px;
  background: rgba(255,255,255,.78);
  border-color: rgba(194,169,116,.34);
  color: rgba(127,102,47,.95);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.82), 0 10px 22px rgba(31,38,45,.08);
}
#booking .steps-head__meta strong{
  font-size: 15px;
  color: rgba(24,32,42,.94);
}
#booking .steps-head__meta span{
  color: rgba(24,32,42,.58);
  font-weight: 700;
}
#booking .wizard-priority{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 10px 14px 12px;
  background: rgba(252,250,246,.80);
  border-bottom: 1px solid rgba(46,51,58,.08);
}
#booking .wizard-priority__item{
  display:flex;
  align-items:center;
  gap: 10px;
  min-width: 0;
  padding: 11px 12px;
  border-radius: 15px;
  background: rgba(255,255,255,.76);
  border: 1px solid rgba(46,51,58,.085);
  box-shadow: 0 8px 18px rgba(31,38,45,.045);
}
#booking .wizard-priority__icon{
  width: 32px;
  min-width: 32px;
  height: 32px;
  display:grid;
  place-items:center;
  border-radius: 12px;
  background: rgba(194,169,116,.11);
  border: 1px solid rgba(194,169,116,.28);
  color: rgba(94,77,42,.92);
  font-weight: 900;
}
#booking .wizard-priority__item strong{
  display:block;
  color: rgba(24,32,42,.88);
  font-size: 13px;
  line-height: 1.15;
}
#booking .wizard-priority__item small{
  display:block;
  margin-top: 3px;
  color: rgba(24,32,42,.50);
  font-size: 11px;
  line-height: 1.25;
}
#booking .steps-progress__track{
  background: rgba(46,51,58,.08);
}
#booking .steps-progress__fill{
  background: linear-gradient(90deg, rgba(58,64,72,.72), rgba(194,169,116,.70));
}
#booking .wstep.is-active{
  background: rgba(250,247,240,.94);
  border-color: rgba(194,169,116,.42);
  box-shadow: 0 12px 26px rgba(31,38,45,.07), inset 0 0 0 1px rgba(255,255,255,.72);
}
#booking .wstep.is-active .wstep__num{
  background: rgba(58,64,72,.94);
  border-color: rgba(58,64,72,.94);
  color: rgba(241,224,181,.96);
}
#booking .wscene{
  border-color: rgba(194,169,116,.22);
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(252,250,246,.96));
  box-shadow: 0 12px 28px rgba(31,38,45,.055);
}
#booking .wscene__icon{
  background: rgba(250,247,240,.94);
  border-color: rgba(194,169,116,.30);
  color: rgba(94,77,42,.95);
}
#booking .wcard{
  border-color: rgba(46,51,58,.085);
  box-shadow: 0 12px 28px rgba(31,38,45,.055);
}
#booking .toggle input:checked + span{
  background: rgba(250,247,240,.95);
  border-color: rgba(194,169,116,.42);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 8px 18px rgba(31,38,45,.045);
}
#bookingForm .field input:focus,
#bookingForm .field select:focus,
#bookingForm .field textarea:focus{
  outline: none;
  border-color: rgba(194,169,116,.52);
  box-shadow: 0 0 0 3px rgba(194,169,116,.13);
}
#booking .veh{
  border-color: rgba(46,51,58,.09);
  box-shadow: 0 14px 32px rgba(31,38,45,.07);
}
#booking .veh:hover{
  transform: translateY(-1px);
  border-color: rgba(194,169,116,.34);
  box-shadow: 0 20px 42px rgba(31,38,45,.10);
}
#booking .veh input:checked ~ .veh__media{
  outline-color: rgba(194,169,116,.58);
}
#booking .veh input:checked ~ .veh__media .veh__check{
  background: rgba(58,64,72,.94);
  border-color: rgba(194,169,116,.68);
}
#booking .veh input:checked ~ .veh__media .veh__check::after{
  color: rgba(241,224,181,.96);
}
#booking .veh input:checked ~ .veh__body{
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(252,248,238,.96));
}
#booking .veh:has(input:checked){
  border-color: rgba(194,169,116,.72);
  background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(252,248,238,.98));
  box-shadow: 0 22px 48px rgba(31,38,45,.12), 0 0 0 3px rgba(194,169,116,.13);
}
#booking .price .card{
  border-color: rgba(194,169,116,.20);
  box-shadow: 0 20px 48px rgba(31,38,45,.10);
}
#booking .estimate{
  background: rgba(250,247,240,.70);
  border-color: rgba(46,51,58,.08);
}
#booking .estimate__line--total{
  margin-top: 2px;
  padding: 12px;
  border-radius: 16px;
  background: rgba(255,255,255,.92);
  color: rgba(24,32,42,.74);
  border: 1px solid rgba(194,169,116,.24);
  box-shadow: 0 12px 24px rgba(31,38,45,.07);
}
#booking .estimate__line--total span:first-child{
  color: rgba(24,32,42,.56);
  font-weight: 800;
}
#booking .estimate__line--total .estimate__total{
  color: rgba(24,32,42,.94);
  font-size: 18px;
}
#booking .price-trust{
  margin-top: 12px;
  padding: 13px;
  border-radius: 18px;
  border: 1px solid rgba(194,169,116,.18);
  background: rgba(255,255,255,.72);
}
#booking .price-trust__title{
  color: rgba(24,32,42,.84);
}
#booking .btn--primary{
  background: linear-gradient(180deg, rgba(210,188,133,.96), rgba(185,154,86,.96));
  color: rgba(24,32,42,.94);
  border-color: rgba(154,122,54,.34);
  box-shadow: 0 15px 30px rgba(154,122,54,.18), inset 0 1px 0 rgba(255,255,255,.35);
}
#booking .btn--primary:hover{
  box-shadow: 0 18px 36px rgba(154,122,54,.22), 0 0 0 3px rgba(194,169,116,.12);
}
#booking .cta #submitBtn{
  width: 100%;
  min-height: 56px;
  font-size: 14px;
}
#booking .cta #submitBtn.is-submitting{
  color: rgba(255,255,255,.96);
  background: #263b4c;
  border-color: rgba(20,39,55,.54);
  box-shadow: 0 14px 28px rgba(20,39,55,.18), inset 0 1px 0 rgba(255,255,255,.10);
  filter: none;
  transform: none;
}
#booking .cta #submitBtn.is-submitting::after{
  top: auto;
  right: auto;
  bottom: 0;
  left: 0;
  width: 34%;
  height: 2px;
  opacity: .9;
  background: linear-gradient(90deg, rgba(210,188,133,0), rgba(235,216,166,.96), rgba(210,188,133,0));
  transform: translate3d(-120%, 0, 0);
  animation: bookingSubmitProgress 1.35s ease-in-out infinite;
}
#booking .cta #submitBtn.is-submitting .btnLoader{
  font-weight: 700;
}
#booking .cta #submitBtn.is-submitting .btnLoader::before{
  width: 14px;
  height: 14px;
  border-width: 1.5px;
  border-color: rgba(255,255,255,.28);
  border-top-color: rgba(255,255,255,.96);
  box-shadow: none;
  animation-duration: 900ms;
}
#booking .cta #submitBtn.is-success{
  color: rgba(255,255,255,.98);
  background: #245844;
  border-color: rgba(20,79,57,.58);
  box-shadow: 0 14px 28px rgba(22,74,55,.18), inset 0 1px 0 rgba(255,255,255,.12);
  filter: none;
  transform: none;
  animation: none;
}
#booking .cta #submitBtn.is-success::after{
  display: none;
}
#booking .cta #submitBtn.is-success .btnText{
  animation: bookingSubmitConfirmed 240ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
#booking .cta #submitBtn.is-success .btnText::before{
  content: "\2713";
  display: inline-grid;
  width: 19px;
  height: 19px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 50%;
  font-size: 12px;
  line-height: 1;
}
@keyframes bookingSubmitProgress{
  0%{ transform: translate3d(-120%, 0, 0); }
  100%{ transform: translate3d(410%, 0, 0); }
}
@keyframes bookingSubmitConfirmed{
  0%{ opacity: .55; transform: translate3d(0, 3px, 0); }
  100%{ opacity: 1; transform: translate3d(0, 0, 0); }
}
@media (prefers-reduced-motion: reduce){
  #booking .cta #submitBtn.is-submitting::after,
  #booking .cta #submitBtn.is-submitting .btnLoader::before,
  #booking .cta #submitBtn.is-success .btnText{
    animation: none !important;
  }
}

/* Tours landing */
.page-tours main::before{
  display:block;
}
.page-tours .hero--tours{
  padding:18px 0 32px;
  background:transparent;
}
.page-tours .hero--tours .container{
  width:min(100%, 1240px);
  max-width:1240px;
  padding:0 20px;
}
.page-tours .hero--tours .hero__card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0, .92fr) minmax(0, 1.08fr);
  min-height:0;
  max-width:1180px;
  margin:0 auto;
  gap:0;
  border:1px solid rgba(11,27,43,.12);
  border-radius:8px;
  background:#fff;
  box-shadow:0 20px 48px rgba(11,27,43,.12);
}
.page-tours .hero--tours .hero__copy,
.page-tours .hero--tours .hero__media{
  grid-area:auto;
}
.page-tours .hero--tours .hero__media{
  width:100%;
  height:auto;
  min-height:420px;
  aspect-ratio:auto;
  border:0;
  border-left:1px solid rgba(11,27,43,.10);
  background-position:center 48% !important;
}
.page-tours .hero--tours .hero__media::after{
  background:rgba(5,20,31,.10);
}
.page-tours .hero--tours .hero__copy{
  position:relative;
  z-index:1;
  align-self:center;
  width:auto;
  padding:40px;
  color:rgba(11,27,43,.96);
}
.page-tours .tour-hero__eyebrow{
  display:block;
  margin-bottom:12px;
  color:#85651e;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.page-tours .hero--tours .hero__copy h1{
  max-width:620px;
  margin-bottom:16px;
  color:rgba(11,27,43,.98);
  font-size:46px;
  line-height:1.04;
  letter-spacing:0;
  text-shadow:none;
}
.page-tours .hero--tours .hero__copy p{
  max-width:620px;
  color:rgba(11,27,43,.70);
  font-size:16px;
  line-height:1.6;
  text-shadow:none;
}
.page-tours .hero--tours .trust-chip{
  color:rgba(11,27,43,.82);
  background:rgba(164,188,202,.16);
  border-color:rgba(132,167,196,.30);
  backdrop-filter:none;
}
.page-tours .hero--tours .hero__cta .btn--outline{
  color:rgba(11,27,43,.92);
  background:#fff;
  border-color:rgba(132,167,196,.55);
}
.page-tours .private-tours-showcase{
  background:#f3f5f2;
}
.page-tours .private-tour-card{
  border-radius:8px;
  background:#fff;
  box-shadow:0 14px 34px rgba(11,27,43,.08);
}
.page-tours .private-tour-card--duo .private-tour-card__media{
  display:block;
  padding:0;
  height:250px;
  aspect-ratio:auto;
}
.page-tours .private-tour-card--duo .private-tour-card__portrait{
  display:none;
}
.page-tours .private-tour-card__media{
  height:250px;
  aspect-ratio:auto;
}
.page-tours .private-tour-card__media > img{
  min-height:0;
}
.page-tours .private-tour-card__body{
  padding:18px;
}
.page-tours .private-tour-card__footer{
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:end;
}
.page-tours .private-tour-card__footer .btn{
  grid-column:1 / -1;
  width:100%;
}
.page-tours .tour-booking-section{
  background:#fff;
}
.page-tours .tour-choice-block{
  padding:0 0 18px;
  border:0;
  border-bottom:1px solid rgba(11,27,43,.12);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.page-tours .tour-booking-fields[hidden]{
  display:none;
}
.page-tours .tour-choice-card{
  grid-template-columns:80px minmax(0, 1fr) auto;
  padding:9px 84px 9px 9px;
  border-radius:8px;
}
.page-tours .tour-choice-card::after{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
}
.page-tours .tour-choice-card img{
  width:80px;
  height:64px;
  border-radius:6px;
}
.page-tours .tour-choice-card__body{
  min-width:0;
}
.page-tours .tour-choice-card strong{
  overflow-wrap:anywhere;
}
@media (max-width:920px){
  .page-tours .tour-booking-form{
    order:1;
  }
  .page-tours .tour-booking-panel{
    order:2;
  }
}
@media (max-width:720px){
  .page-tours .hero--tours .hero__card{
    grid-template-columns:1fr;
    min-height:0;
  }
  .page-tours .hero--tours .hero__copy{
    width:100%;
    padding:24px 20px;
  }
  .page-tours .hero--tours .hero__copy h1{
    font-size:36px;
    line-height:1.06;
  }
  .page-tours .hero--tours .hero__copy p{
    font-size:15px;
    line-height:1.55;
  }
  .page-tours .hero--tours .trust-row{
    gap:6px;
  }
  .page-tours .hero--tours .trust-chip{
    padding:7px 8px;
    font-size:11px;
  }
  .page-tours .hero--tours .hero__media{
    height:250px;
    min-height:250px;
    border-left:0;
    border-top:1px solid rgba(11,27,43,.10);
  }
  .page-tours .private-tours-showcase .section-title{
    flex-direction:column;
    gap:16px;
  }
  .page-tours .private-tours-showcase .section-title .btn{
    width:100%;
  }
  .page-tours .private-tour-card__footer{
    grid-template-columns:minmax(0, 1fr) auto;
  }
  .page-tours .private-tour-card__media,
  .page-tours .private-tour-card--duo .private-tour-card__media{
    height:190px;
    aspect-ratio:auto;
  }
  .page-tours .tour-choice-card{
    grid-template-columns:64px minmax(0, 1fr);
    gap:8px;
    padding:8px;
  }
  .page-tours .tour-choice-card img{
    width:64px;
    height:64px;
  }
  .page-tours .tour-choice-card::after{
    position:static;
    grid-column:1 / -1;
    width:100%;
    min-width:0;
    padding:6px 7px;
    font-size:9px;
    transform:none;
  }
  .page-tours .tour-choice-card strong{
    font-size:13px;
  }
}
:is(#booking,.page-thank) .datetime-field .datetime-control{
  position: relative;
  min-height: 68px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 6px;
  padding: 11px 44px 11px 13px;
  border-radius: 14px;
  background: var(--surface);
  border: 1px solid var(--border2);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.60);
  cursor: pointer;
  overflow: hidden;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
:is(#booking,.page-thank) .datetime-field .datetime-control::after{
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 9px;
  height: 9px;
  border-right: 2px solid rgba(94,77,42,.70);
  border-bottom: 2px solid rgba(94,77,42,.70);
  transform: translateY(-64%) rotate(45deg);
  pointer-events: none;
}
:is(#booking,.page-thank) .datetime-field label{
  margin: 0;
  color: rgba(11,27,43,.62);
  font-size: 11px;
  letter-spacing: .02em;
  pointer-events: none;
  text-transform: none;
}
:is(#booking,.page-thank) .datetime-display{
  color: rgba(11,27,43,.44);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.1;
  pointer-events: none;
}
:is(#booking,.page-thank) .datetime-field.has-value .datetime-display{
  color: rgba(11,27,43,.90);
}
:is(#booking,.page-thank) .datetime-field input[type="date"],
:is(#booking,.page-thank) .datetime-field input[type="time"]{
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  min-height: 100%;
  padding: 0;
  border: 0;
  border-radius: inherit;
  background: transparent;
  box-shadow: none;
  color: transparent;
  cursor: pointer;
  opacity: .01;
  appearance: none;
  -webkit-appearance: none;
}
:is(#booking,.page-thank) .datetime-field input[type="date"]:focus,
:is(#booking,.page-thank) .datetime-field input[type="time"]:focus{
  outline: none;
  border: 0;
  box-shadow: none;
}
:is(#booking,.page-thank) .datetime-field .datetime-control:focus-within{
  border-color: rgba(194,169,116,.52);
  box-shadow: 0 0 0 3px rgba(194,169,116,.13), inset 0 1px 0 rgba(255,255,255,.60);
}
:is(#booking,.page-thank) .datetime-field.invalid .datetime-control{
  border-color: rgba(220,85,85,.55);
  box-shadow: 0 0 0 3px rgba(220,85,85,.14);
}
#booking .confidence{
  color: rgba(24,32,42,.56);
  font-weight: 750;
  text-align:center;
}

/* Booking summary ownership: mobile uses the bottom dock; desktop uses the right sidebar. */
#booking .booking-wrap{
  grid-template-columns: 1fr;
}
#booking .price{
  display: none;
}
#booking .summary-dock{
  display: flex;
  opacity: 0;
  pointer-events: none;
  transform: translate3d(0, 18px, 0);
}
#booking .summary-dock.is-visible{
  opacity: 1;
  pointer-events: auto;
  transform: translate3d(0, 0, 0);
}
@media (min-width: 980px){
  #booking .booking-wrap{
    max-width: 1120px;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 340px);
    align-items: start;
  }
  #booking .price{
    display: block;
    align-self: start;
    position: sticky;
    top: calc(var(--site-chrome-height) + 28px);
  }
  #booking .price__sticky{
    position: relative;
    top: auto;
  }
  #booking .summary-dock{
    display: none;
  }
}
@media (max-width: 760px){
  #booking .wizard-priority{
    grid-template-columns: 1fr;
    padding: 10px 12px;
    gap: 8px;
  }
  #booking .wizard-priority__item{
    padding: 10px 11px;
  }
}

#booking .summary-dock{
  display: none !important;
}

/* Private tours booking */
.section-kicker{
  display:block;
  margin:0 0 8px;
  color:rgba(11,27,43,.58);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.tour-booking-section .section-title{
  align-items:flex-end;
}
.tour-booking-layout{
  display:grid;
  grid-template-columns:minmax(280px, .86fr) minmax(0, 1.14fr);
  gap:18px;
  align-items:start;
}
.tour-booking-panel{
  min-width:0;
  padding:22px;
  border-radius:var(--radius);
  border:1px solid rgba(11,27,43,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(251,249,245,.92)), var(--card);
  box-shadow:var(--shadow);
}
.tour-booking-panel__eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(200,162,74,.14);
  color:rgba(11,27,43,.78);
  border:1px solid rgba(200,162,74,.25);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.tour-booking-panel h3{
  margin:14px 0 8px;
  font-size:clamp(28px, 3vw, 42px);
  line-height:.98;
}
.tour-booking-panel p{
  margin:0;
  color:var(--muted);
  line-height:1.6;
}
.tour-booking-options{
  display:grid;
  gap:10px;
  margin-top:18px;
}
.tour-booking-next{
  display:grid;
  gap:10px;
  margin-top:18px;
}
.tour-booking-next > div{
  display:grid;
  grid-template-columns:38px minmax(0, 1fr);
  column-gap:11px;
  align-items:start;
  min-width:0;
  padding:12px;
  border-radius:14px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(11,27,43,.10);
}
.tour-booking-next span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:999px;
  color:#13263a;
  background:linear-gradient(135deg, rgba(228,201,122,.92), rgba(200,162,74,.92));
  font-size:11px;
  font-weight:900;
}
.tour-booking-next strong{
  display:block;
  color:rgba(11,27,43,.90);
  font-size:14px;
  line-height:1.2;
}
.tour-booking-next p{
  grid-column:2;
  margin:3px 0 0;
  color:var(--muted2);
  font-size:12px;
  line-height:1.35;
}
.tour-booking-option{
  display:grid;
  grid-template-columns:72px minmax(0, 1fr);
  gap:12px;
  align-items:center;
  min-width:0;
  padding:10px;
  border-radius:14px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(11,27,43,.10);
}
.tour-booking-option img{
  width:72px;
  height:54px;
  border-radius:10px;
  object-fit:cover;
  background:rgba(11,27,43,.06);
}
.tour-booking-option strong,
.tour-booking-option span{
  display:block;
  min-width:0;
}
.tour-booking-option strong{
  font-size:13px;
  line-height:1.25;
}
.tour-booking-option span{
  margin-top:3px;
  color:var(--muted2);
  font-size:12px;
}
.tour-booking-form.card{
  margin:0;
  min-width:0;
}
.tour-booking-form .card-inner{
  display:grid;
  gap:14px;
}
.tour-choice-block{
  display:grid;
  gap:14px;
  padding:18px;
  border-radius:18px;
  border:1px solid rgba(11,27,43,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.86), rgba(253,251,248,.96));
  box-shadow:0 12px 30px rgba(11,27,43,.06);
}
.tour-choice-block.invalid{
  border-color:rgba(220,85,85,.42);
  box-shadow:0 0 0 3px rgba(220,85,85,.10);
}
.tour-choice-block.invalid .inline-error{
  display:block;
}
.tour-choice-block__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}
.tour-choice-block__head h3{
  margin:0;
  font-size:24px;
  line-height:1;
}
.tour-choice-block__head > span{
  color:rgba(11,27,43,.58);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
}
.tour-choice-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
}
.tour-choice-card{
  position:relative;
  display:grid;
  grid-template-columns:96px minmax(0, 1fr) auto;
  gap:12px;
  align-items:center;
  min-width:0;
  overflow:hidden;
  padding:10px 54px 10px 10px;
  border-radius:15px;
  border:1px solid rgba(11,27,43,.13);
  background:rgba(255,255,255,.88);
  color:inherit;
  text-align:left;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(11,27,43,.045);
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.tour-choice-card::after{
  content:"Select";
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  min-width:58px;
  padding:7px 9px;
  border-radius:999px;
  border:1px solid rgba(11,27,43,.12);
  background:rgba(255,255,255,.82);
  color:rgba(11,27,43,.58);
  font-size:11px;
  font-weight:900;
  text-align:center;
  text-transform:uppercase;
}
.tour-choice-card:hover,
.tour-choice-card:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(200,162,74,.42);
  box-shadow:0 14px 28px rgba(11,27,43,.09);
  outline:none;
}
.tour-choice-card.is-selected{
  border-color:rgba(200,162,74,.70);
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,248,226,.88));
  box-shadow:inset 4px 0 0 rgba(200,162,74,.88), 0 0 0 3px rgba(200,162,74,.14), 0 14px 30px rgba(11,27,43,.09);
}
.tour-choice-card.is-selected::after{
  content:"Selected";
  border-color:rgba(200,162,74,.35);
  background:rgba(200,162,74,.16);
  color:rgba(11,27,43,.82);
}
.tour-choice-card img{
  display:block;
  width:96px;
  height:72px;
  border-radius:11px;
  object-fit:cover;
  background:rgba(11,27,43,.06);
}
.tour-choice-card__body{
  display:grid;
  gap:4px;
  padding:0;
}
.tour-choice-card__meta{
  color:rgba(11,27,43,.52);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.tour-choice-card strong{
  color:rgba(11,27,43,.94);
  font-size:15px;
  line-height:1.15;
}
.tour-choice-card__body > span:last-child{
  color:var(--muted2);
  font-size:12.5px;
  line-height:1.25;
}
.tour-choice-card__price{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin-top:3px;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(200,162,74,.14);
  border:1px solid rgba(200,162,74,.22);
  color:rgba(11,27,43,.78) !important;
  font-size:11px !important;
  font-weight:900;
  line-height:1.1 !important;
  text-transform:uppercase;
}
.tour-selected-detail{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  align-items:start;
  padding:14px;
  border-radius:16px;
  border:1px solid rgba(2,132,199,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.80), rgba(238,248,252,.70));
  box-shadow:none;
}
.tour-selected-detail[hidden]{
  display:none;
}
.tour-selected-detail__media{
  display:none;
}
.tour-selected-detail__media img{
  display:block;
  width:100%;
  height:100%;
  min-height:142px;
  object-fit:cover;
}
.tour-selected-detail__body{
  display:grid;
  gap:8px;
  min-width:0;
  align-content:start;
}
.tour-selected-detail__meta{
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:rgba(11,27,43,.56);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.tour-selected-detail h3{
  margin:0;
  color:rgba(11,27,43,.96);
  font-size:20px;
  line-height:1;
}
.tour-selected-detail p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
}
.tour-selected-detail__best{
  color:rgba(11,27,43,.80);
  font-size:13px;
  font-weight:800;
  line-height:1.35;
}
.tour-selected-detail__price{
  display:grid;
  gap:3px;
  padding:10px 12px;
  border-radius:12px;
  background:linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,248,226,.72));
  border:1px solid rgba(200,162,74,.24);
}
.tour-selected-detail__price[hidden]{
  display:none;
}
.tour-selected-detail__price span{
  color:rgba(11,27,43,.56);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.tour-selected-detail__price strong{
  color:rgba(11,27,43,.96);
  font-size:20px;
  line-height:1;
}
.tour-selected-detail__price small{
  color:var(--muted2);
  font-size:12px;
  line-height:1.35;
}
.tour-selected-detail__list{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:7px;
  margin:0;
  padding:0;
  list-style:none;
}
.tour-selected-detail__list li{
  position:relative;
  padding:8px 9px 8px 22px;
  border-radius:11px;
  background:rgba(255,255,255,.58);
  color:rgba(11,27,43,.76);
  font-size:12px;
  line-height:1.35;
}
.tour-selected-detail__list li::before{
  content:"";
  position:absolute;
  left:9px;
  top:14px;
  width:6px;
  height:6px;
  border-radius:999px;
  background:var(--gold);
  box-shadow:0 0 0 3px rgba(200,162,74,.14);
}
.tour-selected-detail__note{
  padding:8px 10px;
  border-radius:12px;
  background:rgba(255,255,255,.58);
  border:1px solid rgba(2,132,199,.12);
  color:rgba(11,27,43,.70);
  font-size:12px;
  line-height:1.4;
}
.tour-booking-fields{
  display:grid;
  gap:14px;
}
.tour-booking-row{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}
.tour-booking-row--contact{
  grid-template-columns:repeat(2, minmax(0, 1fr));
}
.tour-booking-actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:2px;
}
.tour-booking-status{
  display:none;
  padding:11px 12px;
  border-radius:14px;
  font-size:13px;
  line-height:1.45;
}
.tour-booking-status.is-loading,
.tour-booking-status.is-success,
.tour-booking-status.is-error{
  display:block;
}
.tour-booking-status.is-loading{
  background:rgba(2,132,199,.10);
  border:1px solid rgba(2,132,199,.18);
  color:rgba(11,27,43,.82);
}
.tour-booking-status.is-success{
  background:rgba(16,185,129,.10);
  border:1px solid rgba(16,185,129,.22);
  color:rgba(6,95,70,.96);
}
.tour-booking-status.is-error{
  background:rgba(220,85,85,.10);
  border:1px solid rgba(220,85,85,.24);
  color:rgba(127,29,29,.96);
}
.tour-booking-success-link{
  color:rgba(11,27,43,.86);
  font-size:13px;
  font-weight:800;
}
.tour-payment-panel{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(280px, .82fr);
  gap:14px;
  align-items:start;
  padding:14px;
  border-radius:16px;
  border:1px solid rgba(200,162,74,.24);
  background:linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,248,226,.50));
}
.tour-payment-panel[hidden]{
  display:none;
}
.tour-payment-summary,
.tour-payment-methods{
  display:grid;
  gap:12px;
  min-width:0;
  padding:14px;
  border-radius:14px;
  background:rgba(255,255,255,.74);
  border:1px solid rgba(11,27,43,.10);
}
.tour-payment-summary h3{
  margin:0;
  color:rgba(11,27,43,.94);
  font-size:20px;
  line-height:1.05;
}
.tour-payment-summary__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
}
.tour-payment-summary__grid div,
.tour-payment-total{
  display:grid;
  gap:3px;
  min-width:0;
  padding:9px 10px;
  border-radius:11px;
  background:rgba(248,250,252,.78);
  border:1px solid rgba(11,27,43,.08);
}
.tour-payment-summary__grid span,
.tour-payment-total span{
  color:rgba(11,27,43,.52);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.tour-payment-summary__grid strong,
.tour-payment-total strong{
  min-width:0;
  color:rgba(11,27,43,.90);
  font-size:13px;
  line-height:1.25;
  overflow-wrap:anywhere;
}
.tour-payment-total{
  background:rgba(200,162,74,.12);
  border-color:rgba(200,162,74,.24);
}
.tour-payment-total strong{
  font-size:20px;
  line-height:1;
}
.tour-payment-total.is-quote{
  background:rgba(2,132,199,.08);
  border-color:rgba(2,132,199,.16);
}
.tour-payment-methods p,
.tour-payment-help{
  margin:0;
  color:var(--muted2);
  font-size:13px;
  line-height:1.45;
}
.tour-payment-help.is-error{
  color:rgba(127,29,29,.96);
}
.tour-paypal-buttons{
  max-width:360px;
  min-height:42px;
}
.tour-cash-button{
  width:100%;
}
.tour-reservation-link{
  display:grid;
  gap:4px;
  padding:9px 10px;
  border-radius:11px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(11,27,43,.08);
}
.tour-reservation-link[hidden]{
  display:none;
}
.tour-reservation-link span{
  color:rgba(11,27,43,.52);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.tour-reservation-link a{
  color:rgba(11,27,43,.88);
  font-size:13px;
  font-weight:900;
}
.tour-booking-form .btn:disabled{
  cursor:not-allowed;
  opacity:.68;
  filter:saturate(.75);
}
@media (max-width: 920px){
  .tour-booking-layout{
    grid-template-columns:1fr;
  }
  .tour-booking-options{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
  .tour-booking-option{
    grid-template-columns:1fr;
  }
  .tour-booking-option img{
    width:100%;
    height:auto;
    aspect-ratio:3 / 2;
  }
}
@media (max-width: 680px){
  .tour-choice-block__head{
    align-items:flex-start;
    flex-direction:column;
  }
  .tour-choice-grid{
    grid-template-columns:1fr;
  }
  .tour-choice-card{
    display:grid;
    grid-template-columns:88px minmax(0, 1fr);
    align-items:stretch;
    padding:9px 48px 9px 9px;
  }
  .tour-choice-card img{
    width:88px;
    height:78px;
    min-height:0;
  }
  .tour-selected-detail{
    grid-template-columns:1fr;
  }
  .tour-selected-detail__media img{
    min-height:0;
    aspect-ratio:3 / 2;
  }
  .tour-selected-detail__meta{
    flex-direction:column;
    gap:4px;
  }
  .tour-selected-detail__list{
    grid-template-columns:1fr;
  }
  .tour-booking-row,
  .tour-booking-row--contact,
  .tour-booking-options{
    grid-template-columns:1fr;
  }
  .tour-booking-actions .btn{
    width:100%;
  }
  .tour-booking-section .section-title{
    align-items:flex-start;
  }
  .tour-payment-panel,
  .tour-payment-summary__grid{
    grid-template-columns:1fr;
  }
}

/* Private tours landing enhancements */
.private-tours-showcase .section-title,
.private-tours-process .section-title{
  align-items:flex-end;
}
.private-tours-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
}
.private-tour-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border-radius:var(--radius);
  border:1px solid rgba(11,27,43,.12);
  background:linear-gradient(180deg, rgba(255,255,255,.76), rgba(251,249,245,.94)), var(--card);
  box-shadow:0 16px 38px rgba(11,27,43,.09), 0 2px 8px rgba(11,27,43,.05);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.private-tour-card:hover,
.private-tour-card:focus-within{
  transform:translateY(-2px);
  border-color:rgba(200,162,74,.32);
  box-shadow:0 22px 48px rgba(11,27,43,.12), 0 3px 10px rgba(11,27,43,.06);
}
.private-tour-card__media{
  position:relative;
  display:block;
  aspect-ratio:3 / 2;
  overflow:hidden;
  background:rgba(11,27,43,.06);
}
.private-tour-card--duo .private-tour-card__media{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(86px, 31%);
  gap:8px;
  padding:8px;
  aspect-ratio:3 / 2;
  background:rgba(255,255,255,.72);
}
.private-tour-card__media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .28s ease;
}
.private-tour-card--duo .private-tour-card__media > img{
  min-width:0;
  overflow:hidden;
  border-radius:12px;
}
.private-tour-card:hover .private-tour-card__media img,
.private-tour-card:focus-within .private-tour-card__media img{
  transform:scale(1.035);
}
.private-tour-card__portrait{
  display:none;
}
.private-tour-card--duo .private-tour-card__portrait{
  display:block;
  position:relative;
  width:100%;
  height:100%;
  min-width:0;
  max-width:none;
  overflow:hidden;
  border-radius:12px;
  border:1px solid rgba(11,27,43,.08);
  box-shadow:none;
  background:rgba(11,27,43,.06);
}
.private-tour-card__portrait img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.private-tour-card__body{
  display:flex;
  flex:1;
  flex-direction:column;
  gap:12px;
  padding:18px;
}
.private-tour-card__meta{
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:rgba(11,27,43,.58);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.private-tour-card h3{
  margin:0;
  color:rgba(11,27,43,.96);
  font-size:26px;
  line-height:1;
}
.private-tour-card p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}
.private-tour-card__list{
  display:grid;
  gap:7px;
  margin:0;
  padding:0;
  list-style:none;
}
.private-tour-card__list li{
  position:relative;
  padding-left:18px;
  color:rgba(11,27,43,.78);
  font-size:13px;
  line-height:1.42;
}
.private-tour-card__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:7px;
  height:7px;
  border-radius:999px;
  background:var(--gold);
  box-shadow:0 0 0 3px rgba(200,162,74,.16);
}
.private-tour-card__footer{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto auto;
  gap:12px;
  align-items:end;
  margin-top:auto;
  padding-top:6px;
}
.private-tour-card__label{
  display:block;
  margin-bottom:3px;
  color:rgba(11,27,43,.50);
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.private-tour-card__footer strong{
  display:block;
  min-width:0;
  color:rgba(11,27,43,.88);
  font-size:13px;
  line-height:1.25;
}
.private-tour-card__price{
  display:grid;
  gap:3px;
  min-width:max-content;
  padding:8px 10px;
  border-radius:12px;
  background:rgba(200,162,74,.12);
  border:1px solid rgba(200,162,74,.22);
}
.private-tour-card__price span{
  color:rgba(11,27,43,.54);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.private-tour-card__price strong{
  margin:0;
  color:rgba(11,27,43,.94);
  font-size:14px;
  line-height:1;
}
.private-tours-details__layout{
  display:grid;
  grid-template-columns:minmax(260px, .82fr) minmax(0, 1.18fr);
  gap:18px;
  align-items:start;
}
.private-tours-details__copy{
  padding:22px;
  border-radius:var(--radius);
  border:1px solid rgba(11,27,43,.12);
  background:rgba(255,255,255,.68);
  box-shadow:var(--shadow);
}
.private-tours-details__copy h2{
  margin:0 0 10px;
  font-size:clamp(30px, 3.2vw, 46px);
  line-height:.98;
}
.private-tours-details__copy p{
  margin:0;
  color:var(--muted);
  line-height:1.6;
}
.private-tours-detail-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}
.private-tours-detail,
.private-tours-process-step{
  min-width:0;
  padding:18px;
  border-radius:16px;
  border:1px solid rgba(11,27,43,.11);
  background:rgba(255,255,255,.72);
  box-shadow:0 10px 26px rgba(11,27,43,.07);
}
.private-tours-detail h3,
.private-tours-process-step h3{
  margin:0 0 7px;
  font-size:22px;
  line-height:1.05;
}
.private-tours-detail p,
.private-tours-process-step p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}
.private-tours-process-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}
.private-tours-process-step__num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  margin-bottom:12px;
  border-radius:999px;
  color:#13263a;
  background:linear-gradient(135deg, rgba(228,201,122,.92), rgba(200,162,74,.92));
  font-size:12px;
  font-weight:900;
}
.private-tour-card__media:focus-visible,
.private-tour-card .btn:focus-visible{
  outline:3px solid rgba(200,162,74,.34);
  outline-offset:3px;
}
@media (max-width: 980px){
  .private-tours-grid,
  .private-tours-process-grid{
    grid-template-columns:1fr;
  }
  .private-tour-card{
    display:grid;
    grid-template-columns:minmax(220px, .78fr) minmax(0, 1fr);
  }
  .private-tour-card__media{
    min-height:100%;
    aspect-ratio:auto;
  }
  .private-tours-details__layout{
    grid-template-columns:1fr;
  }
}
@media (max-width: 720px){
  .private-tour-card{
    display:flex;
  }
  .private-tour-card__media{
    min-height:0;
    aspect-ratio:3 / 2;
  }
  .private-tour-card--duo .private-tour-card__media{
    grid-template-columns:minmax(0, 1fr) minmax(72px, 28%);
    gap:7px;
    padding:7px;
  }
  .private-tour-card__portrait{
    width:100%;
    right:auto;
    bottom:auto;
  }
  .private-tour-card__footer{
    grid-template-columns:1fr;
  }
  .private-tour-card__footer .btn{
    width:100%;
  }
  .private-tours-detail-grid{
    grid-template-columns:1fr;
  }
  .private-tours-showcase .section-title,
  .private-tours-process .section-title{
    align-items:flex-start;
  }
}

/* Final overrides: three-stage guaranteed tour booking. */
.page-tours .tour-wizard-progress ol{grid-template-columns:repeat(3,minmax(0,1fr))}
.page-tours .tour-wizard-progress__track{left:16.666%;right:16.666%}
.page-tours .tour-wizard-progress__track span{width:0}
.page-tours #tourBookingForm{border-radius:8px}
.page-tours .tour-wizard-step__head[hidden]{display:none!important}
.page-tours .tour-payment-panel{
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.page-tours .tour-payment-summary,
.page-tours .tour-payment-methods{
  padding:18px 0;
  border:0;
  border-radius:0;
  background:transparent;
}
.page-tours .tour-payment-methods{
  padding-left:22px;
  border-left:1px solid rgba(11,27,43,.11);
}
.page-tours .tour-payment-summary__grid div{
  padding:9px 0;
  border:0;
  border-bottom:1px solid rgba(11,27,43,.09);
  border-radius:0;
  background:transparent;
}
.page-tours .tour-payment-total{
  border-radius:6px;
}
@media(max-width:680px){
  .page-tours .tour-payment-methods{
    padding-left:0;
    border-top:1px solid rgba(11,27,43,.11);
    border-left:0;
  }
}

/* Reviews page: curated Tripadvisor highlights and live review feed. */
.page-reviews .guest-reviews{
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 8%, rgba(200,162,74,.13), transparent 28%),
    linear-gradient(180deg, #f8f5ee 0%, #fff 48%, #f7f8f9 100%);
}
.guest-reviews__intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(250px,340px);
  gap:34px;
  align-items:end;
  margin-bottom:28px;
}
.guest-reviews__heading{
  max-width:720px;
}
.guest-reviews__eyebrow{
  display:block;
  margin-bottom:8px;
  color:#8a681a;
  font-size:12px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.guest-reviews__heading h2,
.guest-reviews__live-heading h3{
  margin:0;
  color:#0b1b2b;
}
.guest-reviews__heading h2{
  max-width:660px;
  font-size:clamp(32px,4vw,50px);
  line-height:1.04;
  letter-spacing:-.035em;
}
.guest-reviews__heading p{
  max-width:680px;
  margin:16px 0 0;
  color:var(--muted);
  font-size:17px;
  line-height:1.7;
}
.guest-reviews__score{
  display:grid;
  grid-template-columns:1fr auto;
  gap:3px 16px;
  padding:22px;
  color:#fff;
  border:1px solid rgba(255,255,255,.13);
  border-radius:18px;
  background:linear-gradient(145deg,#0b1b2b,#17344e);
  box-shadow:0 20px 46px rgba(11,27,43,.18);
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease;
}
.guest-reviews__score:hover{
  transform:translateY(-3px);
  box-shadow:0 24px 54px rgba(11,27,43,.24);
}
.guest-reviews__platform{
  align-self:center;
  font-weight:800;
}
.guest-reviews__rating{
  grid-row:1 / span 2;
  grid-column:2;
  align-self:center;
  color:#fff;
  font-size:42px;
  font-weight:900;
  letter-spacing:-.05em;
}
.guest-reviews__rating small{
  color:rgba(255,255,255,.62);
  font-size:16px;
  letter-spacing:0;
}
.guest-reviews__stars,
.guest-review__stars{
  color:#e0ae37;
  letter-spacing:.12em;
}
.guest-reviews__count{
  color:rgba(255,255,255,.7);
  font-size:13px;
}
.guest-reviews__score-link{
  grid-column:1 / -1;
  margin-top:13px;
  padding-top:13px;
  border-top:1px solid rgba(255,255,255,.12);
  color:#fff;
  font-size:13px;
  font-weight:800;
}
.guest-reviews__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.guest-review{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:280px;
  padding:26px;
  border:1px solid rgba(11,27,43,.1);
  border-radius:18px;
  background:rgba(255,255,255,.94);
  box-shadow:0 14px 35px rgba(11,27,43,.07);
}
.guest-review::before{
  content:"“";
  position:absolute;
  top:38px;
  right:22px;
  color:rgba(200,162,74,.15);
  font-family:Georgia,serif;
  font-size:92px;
  line-height:.5;
}
.guest-review__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.guest-review__type{
  padding:6px 9px;
  color:#536577;
  border:1px solid rgba(11,27,43,.1);
  border-radius:999px;
  background:#f7f8f9;
  font-size:11px;
  font-weight:800;
}
.guest-review h3{
  position:relative;
  margin:22px 0 10px;
  color:#0b1b2b;
  font-size:22px;
  line-height:1.2;
}
.guest-review__text{
  position:relative;
  flex:1;
  margin:0;
  color:#526274;
  font-size:15px;
  line-height:1.7;
}
.guest-review__footer{
  display:flex;
  align-items:center;
  gap:11px;
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid rgba(11,27,43,.09);
}
.guest-review__avatar{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:39px;
  height:39px;
  flex:0 0 39px;
  color:#172b3f;
  border-radius:50%;
  background:linear-gradient(135deg,#f0dc9c,#c89f41);
  font-size:14px;
  font-weight:900;
}
.guest-review__footer strong,
.guest-review__footer small{
  display:block;
}
.guest-review__footer strong{
  color:#0b1b2b;
  font-size:14px;
}
.guest-review__footer small{
  margin-top:2px;
  color:#758291;
  font-size:12px;
}
.guest-reviews__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.guest-reviews__disclosure{
  max-width:840px;
  margin:13px 0 0;
  color:#7a8591;
  font-size:12px;
  line-height:1.55;
}
.guest-reviews__themes{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:30px 0 0;
  padding:18px 0 0;
  border-top:1px solid rgba(11,27,43,.1);
}
.guest-reviews__themes span{
  padding:8px 11px;
  color:#394d60;
  border:1px solid rgba(11,27,43,.1);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  font-size:12px;
  font-weight:800;
}
.guest-reviews__live{
  margin-top:38px;
  padding:26px;
  border:1px solid rgba(11,27,43,.1);
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 35px rgba(11,27,43,.06);
}
.guest-reviews__live-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:18px;
}
.guest-reviews__live-heading h3{
  font-size:27px;
}
.guest-reviews__live-heading p{
  margin:0;
  color:var(--muted);
  font-size:13px;
}
@media(max-width:820px){
  .guest-reviews__intro{
    grid-template-columns:1fr;
    align-items:start;
  }
  .guest-reviews__score{
    max-width:380px;
  }
}
@media(max-width:680px){
  .guest-reviews__grid{
    grid-template-columns:1fr;
  }
  .guest-review{
    min-height:0;
    padding:22px;
  }
  .guest-reviews__actions .btn{
    width:100%;
  }
  .guest-reviews__live{
    padding:20px 16px;
  }
  .guest-reviews__live-heading{
    display:block;
  }
  .guest-reviews__live-heading p{
    margin-top:8px;
  }
}

/* Premium editorial revision for the public reviews page. */
.page-reviews .hero--reviews{
  padding:34px 0 44px;
  background:transparent;
}
.page-reviews .hero--reviews .container{
  width:min(100%,1240px);
  max-width:1240px;
  padding:0 20px;
}
.page-reviews .hero--reviews .hero__card{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  min-height:440px;
  max-width:1180px;
  margin:0 auto;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface);
  box-shadow:0 24px 58px rgba(15,46,43,.13);
}
.page-reviews .hero--reviews .hero__copy,
.page-reviews .hero--reviews .hero__media{
  grid-area:auto;
}
.page-reviews .hero--reviews .hero__copy{
  position:relative;
  z-index:1;
  align-self:center;
  width:auto;
  padding:44px;
  color:var(--text);
}
.page-reviews .review-hero__eyebrow{
  display:block;
  margin-bottom:12px;
  color:var(--gold);
  font-size:12px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.page-reviews .hero--reviews .hero__copy h1{
  max-width:560px;
  margin-bottom:16px;
  color:var(--text);
  font-size:clamp(42px,5vw,62px);
  line-height:.98;
  letter-spacing:-.025em;
  text-shadow:none;
}
.page-reviews .hero--reviews .hero__copy p{
  max-width:560px;
  color:var(--muted);
  font-size:16px;
  line-height:1.65;
  text-shadow:none;
}
.page-reviews .hero--reviews .hero__media{
  width:100%;
  min-height:440px;
  border:0;
  border-left:1px solid var(--border);
  background-position:center 46%!important;
}
.page-reviews .hero--reviews .hero__media::after{
  background:linear-gradient(135deg,rgba(15,46,43,.02),rgba(15,46,43,.14));
}
.page-reviews .hero--reviews .trust-chip{
  color:var(--text);
  border-color:var(--border);
  background:var(--surface2);
  backdrop-filter:none;
}
.page-reviews .hero--reviews .hero__cta .btn--outline{
  color:var(--text);
  border-color:var(--border2);
  background:var(--surface);
}
.page-reviews .guest-reviews{
  position:relative;
  padding-top:72px;
  background:
    radial-gradient(circle at 92% 8%, color-mix(in srgb,var(--gold) 13%,transparent),transparent 28%),
    linear-gradient(180deg,var(--surface2),var(--bg) 55%,var(--surface));
}
.page-reviews .guest-reviews::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:min(1180px,calc(100% - 40px));
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,var(--border2),transparent);
}
.page-reviews .guest-reviews__intro{
  grid-template-columns:minmax(0,900px);
  align-items:center;
  margin-bottom:36px;
}
.page-reviews .guest-reviews__eyebrow{
  color:var(--gold);
}
.page-reviews .guest-reviews__heading h2,
.page-reviews .guest-reviews__live-heading h3{
  color:var(--text);
}
.page-reviews .guest-reviews__heading h2{
  font-family:var(--font-display);
  font-size:clamp(40px,5vw,62px);
  line-height:.98;
  letter-spacing:-.025em;
}
.page-reviews .guest-reviews__score{
  position:relative;
  overflow:hidden;
  color:var(--text);
  border:1px solid var(--border);
  border-radius:8px;
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--gold2) 19%,var(--surface)),var(--surface) 62%);
  box-shadow:0 18px 42px rgba(15,46,43,.10);
}
.page-reviews .guest-reviews__score::after{
  content:"";
  position:absolute;
  right:-38px;
  bottom:-48px;
  width:130px;
  height:130px;
  border:1px solid color-mix(in srgb,var(--gold) 34%,transparent);
  border-radius:50%;
}
.page-reviews .guest-reviews__rating,
.page-reviews .guest-reviews__score-link{
  color:var(--text);
}
.page-reviews .guest-reviews__rating small,
.page-reviews .guest-reviews__count{
  color:var(--muted);
}
.page-reviews .guest-reviews__score-link{
  border-top-color:var(--border);
}
.guest-reviews__promise{
  padding:22px;
  border:1px solid var(--border);
  border-left:3px solid var(--gold);
  border-radius:8px;
  background:var(--surface);
  box-shadow:0 14px 32px rgba(15,46,43,.07);
}
.guest-reviews__promise strong,
.guest-reviews__promise span{
  display:block;
}
.guest-reviews__promise strong{
  color:var(--text);
  font-family:var(--font-display);
  font-size:23px;
  line-height:1.05;
}
.guest-reviews__promise span{
  margin-top:8px;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}
.page-reviews .guest-reviews__stars,
.page-reviews .guest-review__stars{
  color:var(--gold);
}
.page-reviews .guest-reviews__grid{
  grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);
  grid-auto-flow:dense;
  gap:16px;
}
.page-reviews .guest-review{
  min-height:0;
  padding:24px;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:8px;
  background:color-mix(in srgb,var(--surface) 94%,var(--gold2));
  box-shadow:0 14px 34px rgba(15,46,43,.07);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.page-reviews .guest-review:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--gold) 48%,var(--border));
  box-shadow:0 20px 42px rgba(15,46,43,.11);
}
.page-reviews .guest-review--featured{
  grid-row:span 2;
  min-height:100%;
  padding:34px;
  background:
    linear-gradient(145deg,color-mix(in srgb,var(--gold2) 16%,var(--surface)),var(--surface) 56%);
}
.page-reviews .guest-review--featured h3{
  max-width:520px;
  margin-top:34px;
  font-size:clamp(34px,4vw,48px);
  line-height:1;
}
.page-reviews .guest-review--featured .guest-review__text{
  max-width:580px;
  font-size:17px;
  line-height:1.75;
}
.page-reviews .guest-review::before{
  color:color-mix(in srgb,var(--gold) 18%,transparent);
  font-size:110px;
}
.page-reviews .guest-review h3{
  color:var(--text);
  font-family:var(--font-display);
  font-size:28px;
  line-height:1.02;
}
.page-reviews .guest-review__text{
  color:var(--muted);
}
.page-reviews .guest-review__type{
  color:var(--muted);
  border-color:var(--border);
  background:var(--surface2);
}
.page-reviews .guest-review__footer{
  border-top-color:var(--border);
}
.page-reviews .guest-review__avatar{
  color:var(--text);
  background:linear-gradient(135deg,var(--gold2),var(--gold));
}
.page-reviews .guest-review__footer strong{
  color:var(--text);
}
.page-reviews .guest-reviews__themes{
  border-top-color:var(--border);
}
.page-reviews .guest-reviews__themes span{
  color:var(--text);
  border-color:var(--border);
  background:var(--surface);
}
.page-reviews .guest-reviews__live{
  padding:28px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface);
  box-shadow:0 16px 38px rgba(15,46,43,.07);
}
@media(max-width:820px){
  .page-reviews .hero--reviews .hero__card{
    grid-template-columns:1fr;
  }
  .page-reviews .hero--reviews .hero__copy{
    padding:30px 24px;
  }
  .page-reviews .hero--reviews .hero__media{
    min-height:280px;
    border-left:0;
    border-top:1px solid var(--border);
  }
  .page-reviews .guest-reviews__grid{
    grid-template-columns:1fr;
  }
  .page-reviews .guest-review--featured{
    grid-row:auto;
  }
}
@media(max-width:520px){
  .page-reviews .hero--reviews{
    padding-top:20px;
  }
  .page-reviews .hero--reviews .hero__copy h1{
    font-size:40px;
  }
  .page-reviews .hero--reviews .hero__media{
    min-height:230px;
  }
  .page-reviews .guest-reviews{
    padding-top:52px;
  }
  .page-reviews .guest-review--featured{
    padding:24px;
  }
  .page-reviews .guest-review--featured h3{
    font-size:34px;
  }
}

/* High-intent SJD airport route pages, using the same visual system as home. */
.page-airport-route .route-detail-breadcrumb{
  display:flex; gap:9px; align-items:center; padding-top:22px; color:rgba(11,27,43,.62); font-size:13px;
}
.page-airport-route .route-detail-breadcrumb a{ color:rgba(11,27,43,.84); text-decoration:underline; text-decoration-color:rgba(200,162,74,.48); text-underline-offset:3px; }
.page-airport-route .route-detail-hero{ padding-top:12px; }
.page-airport-route .route-detail-hero__card{ max-width:100%; gap:0; }
.page-airport-route .route-detail-hero .hero__copy{ display:flex; flex-direction:column; justify-content:center; padding:clamp(26px,3.2vw,42px); }
.page-airport-route .route-detail-hero .hero__copy h1{ max-width:15ch; font-size:clamp(36px,4.3vw,46px); line-height:1.02; text-wrap:balance; }
.page-airport-route .route-detail-hero .hero__copy>p{ font-size:16px; }
.page-airport-route .route-detail-hero .hero-highlights{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.page-airport-route .route-detail-hero .hero-highlight:last-child:nth-child(odd){ grid-column:1/-1; }
.page-airport-route .route-detail-hero__media{ min-height:clamp(420px,48vw,560px); background-image:var(--hero-image); background-size:cover; background-position:center; }
.page-airport-route .route-detail-hero__media>img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.page-airport-route .route-detail-proof{ background:transparent; }
.page-airport-route .route-detail-highlight-grid{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.page-airport-route .route-detail-highlight-grid .included-card{ min-height:84px; display:flex; align-items:center; }
.page-airport-route .route-detail-arrival__grid{ grid-template-columns:.9fr 1.1fr; gap:clamp(22px,4vw,52px); }
.page-airport-route .route-detail-arrival .booking-intro__copy h2{ margin:10px 0; font-size:clamp(32px,4vw,44px); line-height:1.02; }
.page-airport-route .route-detail-faq .card{ box-shadow:0 18px 40px rgba(11,27,43,.08); }
.destination-rate-card__details{ display:inline-flex; align-self:flex-start; margin-top:8px; color:#fff; font-size:12px; font-weight:800; text-underline-offset:3px; }
.footer-route-links{ display:grid; gap:9px; }
.footer-route-links a{ position:relative; display:grid; gap:2px; padding:9px 24px 9px 0; border-bottom:1px solid var(--border); color:inherit; text-decoration:none; }
.footer-route-links a::after{ content:"→"; position:absolute; right:2px; top:12px; color:var(--gold); font-weight:800; }
.footer-route-links a:last-child{ border-bottom:0; }
.footer-route-links strong{ color:rgba(11,27,43,.86); font-size:13px; }
.footer-route-links span{ color:var(--muted2); font-size:11px; line-height:1.4; }
@media (min-width: 860px){
  .footer-grid{ grid-template-columns:1.02fr .98fr .82fr; }
}
@media (max-width: 820px){
  .page-airport-route .route-detail-arrival__grid{ grid-template-columns:1fr; }
  .page-airport-route .route-detail-highlight-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 520px){
  .page-airport-route .route-detail-breadcrumb{ overflow-x:auto; white-space:nowrap; scrollbar-width:none; }
  .page-airport-route .route-detail-hero .hero__copy{ padding:20px 16px; }
  .page-airport-route .route-detail-hero .hero__copy h1{ font-size:32px; line-height:1.08; }
  .page-airport-route .route-detail-hero .hero__copy>p{ font-size:14px; }
  .page-airport-route .route-detail-hero .hero-highlights{ grid-template-columns:1fr; }
  .page-airport-route .route-detail-hero .hero-highlight:last-child:nth-child(odd){ grid-column:auto; }
  .page-airport-route .route-detail-hero__media{ min-height:320px; background-image:var(--hero-image-mobile,var(--hero-image)); }
  .page-airport-route .route-detail-highlight-grid{ grid-template-columns:1fr; }
  .page-airport-route .route-detail-highlight-grid>div{ min-height:68px; }
}

/* Self-hosted reviews widget: no external subscription or runtime. */
.act-reviews-widget{
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface);
  box-shadow:0 22px 52px rgba(15,46,43,.10);
}
.act-reviews-widget__bar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:24px;
  align-items:center;
  padding:24px 26px;
  border-bottom:1px solid var(--border);
  background:
    linear-gradient(115deg,color-mix(in srgb,var(--gold2) 15%,var(--surface)),var(--surface) 48%);
}
.act-reviews-widget__identity,
.act-reviews-widget__summary{
  display:flex;
  align-items:center;
}
.act-reviews-widget__identity{
  gap:13px;
  min-width:0;
  color:inherit;
  text-decoration:none;
}
.act-reviews-widget__mark{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  flex:0 0 48px;
  overflow:hidden;
  color:var(--text);
  border:1px solid color-mix(in srgb,var(--gold) 38%,var(--border));
  border-radius:50%;
  background:linear-gradient(145deg,var(--gold2),var(--gold));
  font-size:8px;
  letter-spacing:-1px;
}
.act-reviews-widget__identity strong,
.act-reviews-widget__identity small{
  display:block;
}
.act-reviews-widget__identity strong{
  color:var(--text);
  font-family:var(--font-display);
  font-size:22px;
  line-height:1.05;
}
.act-reviews-widget__identity small{
  margin-top:5px;
  color:var(--muted);
  font-size:12px;
}
.act-reviews-widget__summary{
  gap:11px;
  padding:0 24px;
  border-right:1px solid var(--border);
  border-left:1px solid var(--border);
}
.act-reviews-widget__summary > strong{
  color:var(--text);
  font-size:38px;
  line-height:1;
  letter-spacing:-.05em;
}
.act-reviews-widget__summary span,
.act-reviews-widget__summary small{
  display:block;
}
.act-reviews-widget__summary .act-reviews-widget__checked{
  margin-top:5px;
  color:var(--muted2);
  font-size:10px;
}
.act-reviews-widget__stars,
.act-review-card__stars{
  color:var(--gold);
  letter-spacing:.1em;
}
.act-reviews-widget__summary small{
  margin-top:3px;
  color:var(--muted);
  font-size:11px;
  white-space:nowrap;
}
.act-reviews-widget__write{
  min-width:max-content;
}
.act-reviews-widget__viewport{
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
.act-reviews-widget__viewport::-webkit-scrollbar{
  display:none;
}
.act-reviews-widget__track{
  display:flex;
  gap:16px;
  padding:26px;
}
.act-review-card{
  display:flex;
  flex:0 0 calc((100% - 32px) / 3);
  flex-direction:column;
  min-width:0;
  min-height:330px;
  padding:22px;
  scroll-snap-align:start;
  border:1px solid var(--border);
  border-radius:8px;
  background:
    linear-gradient(150deg,var(--surface),color-mix(in srgb,var(--surface2) 80%,var(--gold2)));
  box-shadow:0 10px 26px rgba(15,46,43,.06);
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.act-review-card:hover,
.act-review-card:focus-visible{
  transform:translateY(-3px);
  border-color:color-mix(in srgb,var(--gold) 55%,var(--border));
  box-shadow:0 18px 38px rgba(15,46,43,.11);
}
.act-review-card__head{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
}
.act-review-card__avatar{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  color:var(--text);
  border-radius:50%;
  background:linear-gradient(135deg,var(--gold2),var(--gold));
  font-size:14px;
  font-weight:900;
}
.act-review-card__avatar img{
  width:100%;
  height:100%;
  border-radius:inherit;
  object-fit:cover;
}
.act-review-card__avatar--fallback{
  position:relative;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--gold) 30%,var(--border));
}
.act-review-card__avatar--fallback::after{
  content:"";
  position:absolute;
  right:-10px;
  bottom:-12px;
  width:30px;
  height:30px;
  border:1px solid rgba(255,255,255,.48);
  border-radius:50%;
}
.act-review-card__author strong,
.act-review-card__author small{
  display:block;
}
.act-review-card__author strong{
  color:var(--text);
  font-size:14px;
}
.act-review-card__profile-link{
  color:inherit;
  text-decoration:none;
}
.act-review-card__profile-link:hover,
.act-review-card__profile-link:focus-visible{
  color:var(--gold);
  text-decoration:underline;
  text-underline-offset:3px;
}
.act-review-card__author small{
  margin-top:3px;
  color:var(--muted);
  font-size:11px;
}
.act-review-card__source{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  color:var(--text);
  border:1px solid var(--border);
  border-radius:50%;
  background:var(--surface2);
  font-size:9px;
  font-weight:900;
}
.act-review-card__stars{
  margin-top:22px;
  font-size:14px;
}
.act-review-card h3{
  margin:14px 0 10px;
  color:var(--text);
  font-family:var(--font-display);
  font-size:27px;
  line-height:1.03;
}
.act-review-card > p{
  flex:1;
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.68;
}
.act-review-card__date{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:22px;
  padding-top:15px;
  border-top:1px solid var(--border);
  color:var(--muted2);
  font-size:11px;
}
.act-review-card__open{
  color:var(--text);
  font-weight:800;
}
.act-review-card__tripadvisor-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:12px;
  padding:11px 13px;
  color:var(--text);
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--surface2);
  font-size:11px;
  font-weight:850;
  text-decoration:none;
}
.act-review-card__tripadvisor-link:hover,
.act-review-card__tripadvisor-link:focus-visible{
  color:var(--text);
  border-color:color-mix(in srgb,var(--gold) 55%,var(--border));
  background:color-mix(in srgb,var(--surface2) 82%,var(--gold2));
}
.act-reviews-widget__nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:0 26px 24px;
}
.act-reviews-widget__dots{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.act-reviews-widget__dots button{
  width:7px;
  height:7px;
  padding:0;
  border:0;
  border-radius:999px;
  background:color-mix(in srgb,var(--text) 20%,transparent);
  cursor:pointer;
  transition:width .18s ease,background .18s ease;
}
.act-reviews-widget__dots button.is-active{
  width:24px;
  background:var(--gold);
}
.act-reviews-widget__arrows{
  display:flex;
  gap:8px;
}
.act-reviews-widget__arrows button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  padding:0;
  color:var(--text);
  border:1px solid var(--border2);
  border-radius:50%;
  background:var(--surface);
  font-size:18px;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,opacity .18s ease;
}
.act-reviews-widget__arrows button:hover:not(:disabled){
  transform:translateY(-2px);
  border-color:var(--gold);
}
.act-reviews-widget__arrows button:disabled{
  opacity:.35;
  cursor:not-allowed;
}
@media(max-width:960px){
  .act-reviews-widget__bar{
    grid-template-columns:minmax(0,1fr) auto;
  }
  .act-reviews-widget__summary{
    padding-right:0;
    border-right:0;
  }
  .act-reviews-widget__write{
    grid-column:1 / -1;
    width:100%;
  }
  .act-review-card{
    flex-basis:calc((100% - 16px) / 2);
  }
}
@media(max-width:680px){
  .act-reviews-widget__bar{
    display:flex;
    align-items:stretch;
    flex-direction:column;
    gap:18px;
    padding:22px 18px;
  }
  .act-reviews-widget__summary{
    justify-content:flex-start;
    padding:16px 0 0;
    border-top:1px solid var(--border);
    border-left:0;
  }
  .act-reviews-widget__track{
    gap:12px;
    padding:18px;
  }
  .act-review-card{
    flex-basis:calc(100% - 18px);
    min-height:340px;
  }
  .act-review-card__date{
    align-items:flex-start;
    flex-direction:column;
  }
  .act-reviews-widget__nav{
    padding:0 18px 20px;
  }
  .act-reviews-widget__dots button:nth-child(n+5){
    display:none;
  }
}
@media(prefers-reduced-motion:reduce){
  .act-reviews-widget__viewport{
    scroll-behavior:auto;
  }
}

/* Reviews widget V2: premium, self-hosted Tripadvisor presentation. */
.act-reviews-widget{
  border-radius:18px;
  box-shadow:0 28px 70px rgba(15,46,43,.13);
}
.act-reviews-widget__bar{
  grid-template-columns:minmax(210px,1fr) auto auto;
  gap:18px;
  padding:22px 26px;
}
.act-reviews-widget__mark{
  position:relative;
  width:52px;
  height:52px;
  flex-basis:52px;
  color:#101010;
  border:0;
  background:#34e0a1;
  font-size:0;
}
.act-reviews-widget__mark::before{
  content:"";
  width:25px;
  height:12px;
  border:3px solid currentColor;
  border-top:0;
  border-radius:0 0 20px 20px;
}
.act-reviews-widget__mark::after{
  content:"••";
  position:absolute;
  top:12px;
  left:14px;
  font-size:16px;
  font-weight:950;
  letter-spacing:4px;
}
.act-reviews-widget__identity strong{
  font-family:inherit;
  font-size:19px;
  font-weight:900;
  letter-spacing:-.02em;
}
.act-reviews-widget__identity small{
  font-weight:650;
}
.act-reviews-widget__logo{
  display:block;
  width:148px;
  height:auto;
  flex:0 0 auto;
}
.act-reviews-widget__summary{
  padding:0 20px;
}
.act-reviews-widget__write{
  min-width:max-content;
}
.act-reviews-widget__viewport{
  cursor:grab;
  touch-action:auto;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
}
.act-reviews-widget__viewport.is-dragging{
  cursor:grabbing;
  scroll-snap-type:none;
  user-select:none;
}
.act-reviews-widget__track{
  gap:18px;
  padding:28px 26px 24px;
}
.act-review-card{
  position:relative;
  flex-basis:calc((100% - 36px) / 3);
  min-height:375px;
  padding:24px;
  overflow:hidden;
  border-radius:16px;
  background:
    radial-gradient(circle at 100% 0,color-mix(in srgb,#34e0a1 12%,transparent),transparent 36%),
    linear-gradient(150deg,var(--surface),color-mix(in srgb,var(--surface2) 88%,var(--gold2)));
  scroll-snap-stop:normal;
  cursor:default;
}
.act-review-card[hidden]{
  display:none;
}
.act-review-card__head{
  grid-template-columns:52px minmax(0,1fr) auto;
  gap:13px;
}
.act-review-card__avatar{
  width:52px;
  height:52px;
  border:2px solid var(--surface);
  box-shadow:0 0 0 1px var(--border),0 8px 18px rgba(15,46,43,.12);
}
.act-review-card__author strong{
  font-size:15px;
}
.act-review-card__author small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.act-review-card__verified{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:6px 8px;
  color:#0a5d43;
  border:1px solid color-mix(in srgb,#34e0a1 55%,var(--border));
  border-radius:999px;
  background:color-mix(in srgb,#34e0a1 16%,var(--surface));
  font-size:9px;
  font-weight:900;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.act-review-card__verified span{
  font-size:11px;
}
.act-review-card__stars{
  margin-top:24px;
  color:#00aa6c;
  letter-spacing:.12em;
}
.act-review-card h3{
  margin-top:13px;
  font-size:25px;
}
.act-review-card > .act-review-card__quote{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:5;
  line-clamp:5;
}
.act-review-card__date{
  position:relative;
  z-index:2;
  pointer-events:none;
}
.act-review-card__more{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:3px 0;
  color:var(--text);
  border:0;
  background:transparent;
  font:inherit;
  font-weight:900;
  cursor:pointer;
  pointer-events:auto;
}
.act-review-card__more:hover,
.act-review-card__more:focus-visible{
  color:#008f5b;
  text-decoration:underline;
  text-underline-offset:3px;
}
.act-review-card--all{
  align-items:flex-start;
  justify-content:center;
  color:var(--text);
  text-decoration:none;
  background:
    radial-gradient(circle at 88% 12%,rgba(52,224,161,.38),transparent 31%),
    linear-gradient(145deg,#e8fff7,var(--surface) 62%);
}
.act-review-card--all__eyebrow{
  margin-bottom:18px;
  color:#007a4e;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.act-review-card--all strong{
  max-width:12ch;
  font-family:var(--font-display);
  font-size:38px;
  line-height:1;
}
.act-review-card--all > span:not(.act-review-card--all__eyebrow){
  max-width:28ch;
  margin-top:18px;
  color:var(--muted);
  font-size:14px;
  line-height:1.6;
}
.act-review-card--all b{
  margin-top:28px;
  padding-bottom:4px;
  border-bottom:2px solid #00aa6c;
  font-size:13px;
}
.act-reviews-widget__progress{
  width:min(420px,62%);
  height:4px;
  overflow:hidden;
  border-radius:999px;
  background:color-mix(in srgb,var(--text) 12%,transparent);
}
.act-reviews-widget__progress span{
  display:block;
  width:100%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#00aa6c,#34e0a1);
  transform:scaleX(.08);
  transform-origin:left;
  transition:transform .22s ease;
}
.act-reviews-widget__nav{
  display:grid;
  grid-template-columns:minmax(160px,1fr) auto;
}
.act-reviews-widget__progress{
  width:100%;
}
.act-reviews-widget__arrows button{
  width:auto;
  min-width:112px;
  padding:0 17px;
  gap:9px;
  border-radius:999px;
  font-size:13px;
  font-weight:850;
}
.act-reviews-widget__arrows button b{
  font:inherit;
}
.act-reviews-widget__arrows button span{
  font-size:18px;
  line-height:1;
}
.act-reviews-widget__noscript{
  margin:0;
  padding:0 26px 22px;
  font-size:13px;
}
.act-reviews-widget__noscript a{
  color:var(--text);
  font-weight:800;
}
.act-reviews-widget.is-loading-reviews .act-reviews-widget__progress span{
  animation:actReviewsLoading 1.15s ease-in-out infinite alternate;
}
@keyframes actReviewsLoading{
  from{ opacity:.55; }
  to{ opacity:1; }
}
@media(max-width:1100px){
  .act-reviews-widget__bar{
    grid-template-columns:minmax(210px,1fr) auto;
  }
  .act-reviews-widget__write{
    display:none;
  }
}
@media(max-width:960px){
  .act-reviews-widget__bar{
    grid-template-columns:minmax(0,1fr) auto;
  }
  .act-review-card{
    flex-basis:calc((100% - 18px) / 2);
  }
}
@media(max-width:680px){
  .guest-reviews__intro{
    gap:18px;
  }
  .act-reviews-widget__bar{
    gap:16px;
    padding:18px;
  }
  .act-reviews-widget__identity{
    order:1;
  }
  .act-reviews-widget__logo{
    width:142px;
  }
  .act-reviews-widget__summary{
    order:2;
    width:100%;
    padding-top:14px;
  }
  .act-reviews-widget__summary small{
    white-space:normal;
  }
  .act-reviews-widget__viewport{
    cursor:auto;
    scroll-padding-inline:18px;
    scroll-snap-type:x mandatory;
  }
  .act-reviews-widget__track{
    gap:10px;
    padding:18px;
    padding-right:18px;
  }
  .act-review-card{
    flex-basis:calc(100% - 12px);
    min-height:370px;
    padding:20px;
    border-radius:14px;
    cursor:default;
    scroll-snap-stop:always;
  }
  .act-review-card__head{
    grid-template-columns:52px minmax(0,1fr);
  }
  .act-review-card__verified{
    display:none;
  }
  .act-review-card > .act-review-card__quote{
    -webkit-line-clamp:5;
    line-clamp:5;
  }
  .act-review-card__date{
    align-items:center;
    flex-direction:row;
  }
  .act-reviews-widget__nav{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px 16px;
    padding:0 18px 18px;
  }
  .act-reviews-widget__progress{
    grid-column:1;
    grid-row:1;
    width:100%;
  }
  .act-reviews-widget__arrows{
    grid-column:2;
    grid-row:1;
  }
  .act-reviews-widget__arrows button{
    width:46px;
    min-width:46px;
    height:46px;
    padding:0;
    border-radius:50%;
  }
  .act-reviews-widget__arrows button b{
    display:none;
  }
}
@media(max-width:390px){
  .act-reviews-widget__logo{
    width:132px;
  }
  .act-reviews-widget__summary > strong{
    font-size:34px;
  }
  .act-review-card{
    flex-basis:100%;
  }
  .act-review-card h3{
    font-size:23px;
  }
}

/* Premium reservation receipt */
.page-thank .thank-card--receipt{
  position:relative;
  overflow:hidden;
  border-color:var(--border2);
  background:var(--surface2);
  background:
    radial-gradient(circle at 100% 0, color-mix(in srgb, var(--gold) 16%, transparent), transparent 40%),
    linear-gradient(180deg, color-mix(in srgb, var(--surface) 96%, var(--gold) 4%), color-mix(in srgb, var(--surface2) 94%, var(--bg2) 6%));
  box-shadow:var(--shadow);
}
.page-thank .thank-card--receipt::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg, var(--gold2), var(--gold));
}
.page-thank .thank-layout .thank-card--receipt > .card-inner,
.page-thank .thank-grid > .thank-card--receipt > .card-inner{
  padding:clamp(18px, 2.2vw, 24px);
}
.page-thank .thank-receipt__head{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
}
.page-thank .thank-receipt__mark{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid var(--border2);
  border-radius:14px;
  background:var(--surface2);
  background:color-mix(in srgb, var(--gold) 13%, var(--surface));
  color:var(--text);
  font-size:17px;
  font-weight:900;
  letter-spacing:.02em;
}
.page-thank .thank-card--receipt.is-paid .thank-receipt__mark{
  border-color:color-mix(in srgb, var(--gold) 42%, var(--border));
  background:color-mix(in srgb, var(--gold) 13%, var(--surface));
  color:var(--text);
}
.page-thank .thank-receipt__heading{
  min-width:0;
}
.page-thank .thank-receipt__eyebrow{
  display:block;
  color:rgba(11,27,43,.56);
  font-size:9px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.page-thank .thank-layout .thank-card--receipt .thank-title,
.page-thank .thank-grid > .thank-card--receipt .thank-title{
  margin:2px 0 0;
  font-size:clamp(22px, 2.2vw, 27px);
  line-height:1.05;
}
.page-thank .thank-receipt__status{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  max-width:150px;
  padding:6px 9px;
  border:1px solid var(--border2);
  border-radius:999px;
  background:var(--surface2);
  background:color-mix(in srgb, var(--gold) 10%, var(--surface));
  color:var(--text);
  font-size:9px;
  font-weight:900;
  line-height:1.25;
  letter-spacing:.09em;
  text-align:center;
  text-transform:uppercase;
}
.page-thank .thank-card--receipt.is-paid .thank-receipt__status{
  border-color:color-mix(in srgb, var(--gold) 38%, var(--border));
  background:color-mix(in srgb, var(--gold) 10%, var(--surface));
  color:var(--text);
}
.page-thank .thank-card--receipt.is-pending .thank-receipt__status{
  border-color:var(--border);
  background:var(--surface2);
  color:var(--muted);
}
.page-thank .thank-receipt__amount{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-top:18px;
  padding:16px 17px;
  border:1px solid var(--border);
  border-radius:15px;
  background:var(--surface2);
  background:linear-gradient(135deg, color-mix(in srgb, var(--gold) 14%, var(--surface)), color-mix(in srgb, var(--bg2) 46%, var(--surface)));
  box-shadow:0 10px 24px rgba(11,27,43,.08);
  color:var(--text);
}
.page-thank .thank-receipt__amount > span{
  color:var(--muted2);
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.page-thank .thank-receipt__amount > strong{
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(25px, 3vw, 34px);
  line-height:.9;
  white-space:nowrap;
}
.page-thank .thank-receipt__amount small{
  font-family:inherit;
  font-size:11px;
  letter-spacing:.10em;
}
.page-thank .thank-receipt__meta{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  margin-top:12px;
  border:1px solid var(--border);
  border-radius:14px;
  background:color-mix(in srgb, var(--surface) 88%, transparent);
}
.page-thank .thank-receipt__meta > div{
  min-width:0;
  padding:12px 13px;
}
.page-thank .thank-receipt__meta > div + div{
  border-left:1px solid var(--border);
}
.page-thank .thank-receipt__meta span{
  display:block;
  color:rgba(11,27,43,.52);
  font-size:9px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.page-thank .thank-receipt__meta strong{
  display:block;
  margin-top:5px;
  color:rgba(11,27,43,.92);
  font-size:12px;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.page-thank .thank-receipt__includes{
  position:relative;
  margin:13px 0 0;
  padding-left:19px;
  color:rgba(11,27,43,.67);
  font-size:12px;
  line-height:1.55;
}
.page-thank .thank-receipt__includes::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--gold);
  font-weight:900;
}
.page-thank .thank-receipt__actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin-top:15px;
}
.page-thank .thank-receipt__actions .btn{
  width:100%;
  min-width:0;
  min-height:42px;
  justify-content:center;
  padding:10px 11px;
  font-size:12px;
}
.page-thank .thank-receipt__actions .btn--primary{
  grid-column:1 / -1;
}
.page-thank .thank-receipt__actions .btn--subtle{
  border-color:var(--border2);
  background:var(--surface2);
  color:var(--text);
}
.page-thank .thank-receipt__actions .btn:disabled{
  opacity:.58;
  cursor:wait;
}
.page-thank .thank-receipt__feedback{
  min-height:18px;
  margin:10px 0 -3px;
  color:rgba(11,27,43,.68);
  font-size:12px;
  line-height:1.45;
  text-align:center;
}
.page-thank .thank-receipt__pending{
  margin-top:13px;
  padding:12px 13px;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--surface2);
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}
@media(max-width:1180px){
  .page-thank .thank-receipt__head{
    grid-template-columns:44px minmax(0,1fr);
  }
  .page-thank .thank-receipt__status{
    grid-column:1 / -1;
    justify-self:start;
    max-width:none;
    margin-top:1px;
  }
}
@media(max-width:520px){
  .page-thank .thank-receipt__amount{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
  .page-thank .thank-receipt__meta{
    grid-template-columns:1fr;
  }
  .page-thank .thank-receipt__meta > div + div{
    border-top:1px solid var(--border);
    border-left:0;
  }
  .page-thank .thank-receipt__actions{
    grid-template-columns:1fr;
  }
  .page-thank .thank-receipt__actions .btn--primary{
    grid-column:auto;
  }
}
/* Native live concierge chat */
.act-live-chat{
  --chat-ink:#123a34;
  --chat-coral:#ee7a4a;
  --chat-mint:#dff3ec;
  position:relative;
  z-index:1200;
}
.act-live-chat [hidden]{ display:none !important; }
.act-live-chat .sr-only{
  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;
}
.act-live-chat__launcher{
  position:fixed;
  right:22px;
  bottom:20px;
  z-index:1202;
  display:flex;
  align-items:center;
  gap:10px;
  min-height:60px;
  padding:8px 14px 8px 9px;
  border:1px solid color-mix(in srgb,var(--chat-ink) 18%,transparent);
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,#173f39,#0f302c);
  box-shadow:0 18px 44px rgba(10,39,35,.26),0 3px 10px rgba(10,39,35,.14);
  cursor:pointer;
  font:inherit;
  text-align:left;
  transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;
}
.act-live-chat__launcher:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 50px rgba(10,39,35,.3),0 4px 12px rgba(10,39,35,.16);
}
.act-live-chat__launcher:focus-visible,
.act-live-chat__close:focus-visible,
.act-live-chat button:focus-visible,
.act-live-chat input:focus-visible,
.act-live-chat textarea:focus-visible{
  outline:3px solid color-mix(in srgb,var(--chat-coral) 58%,#fff 42%);
  outline-offset:2px;
}
.act-live-chat__launcher-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  flex:0 0 42px;
  border-radius:50%;
  color:var(--chat-ink);
  background:linear-gradient(145deg,#fff3e8,#f4bf9d);
}
.act-live-chat__launcher-icon svg{ width:23px;height:23px; }
.act-live-chat__launcher-copy{ display:grid;gap:1px; }
.act-live-chat__launcher-copy strong{ color:#fff;font-size:13px;line-height:1.2; }
.act-live-chat__launcher-copy small{ color:rgba(255,255,255,.72);font-size:10px;line-height:1.2; }
.act-live-chat__unread{
  position:absolute;
  top:-4px;
  right:-2px;
  display:grid;
  place-items:center;
  min-width:22px;
  height:22px;
  padding:0 5px;
  border:2px solid #fff;
  border-radius:999px;
  color:#fff;
  background:#d94e3e;
  font-size:10px;
  font-weight:900;
}
.act-live-chat__panel{
  position:fixed;
  right:22px;
  bottom:92px;
  z-index:1203;
  display:flex;
  flex-direction:column;
  width:min(390px,calc(100vw - 28px));
  max-height:min(680px,calc(100dvh - 116px));
  overflow:hidden;
  border:1px solid rgba(18,58,52,.16);
  border-radius:24px;
  color:var(--chat-ink);
  background:#fffdfa;
  box-shadow:0 28px 80px rgba(10,39,35,.28),0 8px 24px rgba(10,39,35,.12);
  animation:actChatIn .22s ease-out both;
}
.act-live-chat__header{
  display:flex;
  align-items:center;
  gap:11px;
  min-height:76px;
  padding:13px 14px;
  color:#fff;
  background:
    radial-gradient(circle at 86% 0%,rgba(238,122,74,.26),transparent 36%),
    linear-gradient(135deg,#173f39,#0e302b);
}
.act-live-chat__brand{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  flex:0 0 44px;
  border:1px solid rgba(255,255,255,.32);
  border-radius:14px;
  color:#173f39;
  background:linear-gradient(145deg,#fff3e8,#f4bf9d);
  font-family:Georgia,"Times New Roman",serif;
  font-size:13px;
  font-weight:900;
  letter-spacing:.04em;
}
.act-live-chat__heading{ display:grid;gap:4px;min-width:0; }
.act-live-chat__heading strong{ color:#fff;font-size:14px;line-height:1.15; }
.act-live-chat__heading span{ display:flex;align-items:center;gap:6px;color:rgba(255,255,255,.72); }
.act-live-chat__heading b{ overflow:hidden;font-size:10px;font-weight:650;line-height:1.2;text-overflow:ellipsis;white-space:nowrap; }
.act-live-chat__heading i{
  width:7px;
  height:7px;
  flex:0 0 7px;
  border-radius:50%;
  background:#d7b972;
  box-shadow:0 0 0 3px rgba(215,185,114,.14);
}
.act-live-chat__heading i.is-online{
  background:#53d39b;
  box-shadow:0 0 0 3px rgba(83,211,155,.15);
}
.act-live-chat__close{
  width:38px;
  height:38px;
  margin-left:auto;
  flex:0 0 38px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:12px;
  color:#fff;
  background:rgba(255,255,255,.09);
  cursor:pointer;
  font-size:20px;
  line-height:1;
}
.act-live-chat__welcome{
  overflow:auto;
  padding:24px 22px 20px;
  background:
    radial-gradient(circle at 100% 0%,rgba(223,243,236,.76),transparent 36%),
    #fffdfa;
}
.act-live-chat__eyebrow{
  display:block;
  margin-bottom:8px;
  color:var(--chat-coral);
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
}
.act-live-chat__welcome h2{
  margin:0 0 8px;
  color:var(--chat-ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:29px;
  line-height:1;
}
.act-live-chat__welcome > p{
  margin:0 0 18px;
  color:#60756f;
  font-size:13px;
  line-height:1.55;
}
.act-live-chat__start-form{ display:grid;gap:12px; }
.act-live-chat__start-form label{ display:grid;gap:6px; }
.act-live-chat__start-form label > span{
  color:var(--chat-ink);
  font-size:11px;
  font-weight:850;
}
.act-live-chat__start-form label em{
  color:#85958f;
  font-style:normal;
  font-weight:600;
}
.act-live-chat__start-form input,
.act-live-chat__start-form textarea,
.act-live-chat__compose textarea{
  width:100%;
  border:1px solid rgba(18,58,52,.17);
  border-radius:13px;
  color:var(--chat-ink);
  background:#fff;
  box-shadow:inset 0 1px 0 rgba(18,58,52,.02);
  font:inherit;
  font-size:14px;
}
.act-live-chat__start-form input{ min-height:46px;padding:10px 12px; }
.act-live-chat__start-form textarea{ min-height:76px;padding:11px 12px;resize:vertical; }
.act-live-chat__start-form input::placeholder,
.act-live-chat__start-form textarea::placeholder,
.act-live-chat__compose textarea::placeholder{ color:#9aa7a2; }
.act-live-chat__website{ position:absolute !important;left:-9999px !important; }
.act-live-chat__send-start{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  border:1px solid color-mix(in srgb,var(--chat-coral) 72%,var(--chat-ink) 28%);
  border-radius:14px;
  color:#173f39;
  background:linear-gradient(135deg,#f8c3a5,var(--chat-coral));
  box-shadow:0 10px 24px rgba(238,122,74,.2);
  cursor:pointer;
  font:inherit;
  font-size:13px;
  font-weight:900;
}
.act-live-chat__send-start:disabled{ opacity:.62;cursor:wait; }
.act-live-chat__feedback{
  min-height:16px;
  margin:0;
  color:#b42318;
  font-size:11px;
  font-weight:700;
  line-height:1.35;
}
.act-live-chat__conversation{
  min-height:0;
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  background:#f5f8f6;
}
.act-live-chat__messages{
  min-height:220px;
  flex:1 1 auto;
  overflow:auto;
  overscroll-behavior:contain;
  padding:18px 16px 10px;
  scrollbar-width:thin;
  scrollbar-color:rgba(18,58,52,.24) transparent;
}
.act-live-chat__message{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  margin-bottom:12px;
}
.act-live-chat__message--visitor{ align-items:flex-end; }
.act-live-chat__bubble{
  max-width:84%;
  padding:10px 12px;
  border:1px solid rgba(18,58,52,.1);
  border-radius:15px 15px 15px 4px;
  color:var(--chat-ink);
  background:#fff;
  box-shadow:0 5px 14px rgba(18,58,52,.06);
  font-size:13px;
  line-height:1.48;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.act-live-chat__message--visitor .act-live-chat__bubble{
  border-color:rgba(238,122,74,.32);
  border-radius:15px 15px 4px 15px;
  background:#fff0e7;
}
.act-live-chat__message time{ padding:0 4px;color:#899892;font-size:9px; }
.act-live-chat__conversation-note{
  padding:6px 16px 8px;
  color:#7b8c86;
  font-size:10px;
  line-height:1.35;
  text-align:center;
}
.act-live-chat__compose{
  display:grid;
  grid-template-columns:minmax(0,1fr) 46px;
  gap:9px;
  align-items:end;
  padding:10px 12px 8px;
  border-top:1px solid rgba(18,58,52,.1);
  background:#fffdfa;
}
.act-live-chat__compose textarea{
  min-height:46px;
  max-height:96px;
  padding:12px;
  resize:none;
  line-height:1.4;
}
.act-live-chat__compose button{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border:0;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(135deg,#1d574e,#123a34);
  box-shadow:0 8px 18px rgba(18,58,52,.18);
  cursor:pointer;
}
.act-live-chat__compose button:disabled{ opacity:.55;cursor:wait; }
.act-live-chat__compose button svg{ width:21px;height:21px; }
.act-live-chat__conversation > .act-live-chat__feedback{ padding:0 14px 8px;background:#fffdfa; }
.act-live-chat-open .act-live-chat__launcher{ opacity:0;pointer-events:none;transform:translateY(10px); }
@keyframes actChatIn{
  from{ opacity:0;transform:translateY(12px) scale(.985); }
  to{ opacity:1;transform:translateY(0) scale(1); }
}
@media (max-width:767px){
  body.has-mobile-booking-cta:not(.act-live-chat-open) .act-live-chat__launcher{
    bottom:88px;
  }
  body.act-live-chat-open .mobile-booking-cta{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translate3d(0,18px,0) !important;
  }
  .act-live-chat__launcher{
    right:14px;
    bottom:max(12px,env(safe-area-inset-bottom));
    min-height:56px;
    padding:7px 12px 7px 8px;
  }
  .act-live-chat__launcher-icon{ width:40px;height:40px;flex-basis:40px; }
  .act-live-chat__panel{
    right:10px;
    bottom:max(10px,env(safe-area-inset-bottom));
    width:calc(100vw - 20px);
    max-height:calc(100dvh - 20px - env(safe-area-inset-bottom));
    border-radius:22px;
  }
  .act-live-chat__header{ min-height:70px;padding:11px 12px; }
  .act-live-chat__welcome{ padding:21px 18px 18px; }
  .act-live-chat__start-form input,
  .act-live-chat__start-form textarea,
  .act-live-chat__compose textarea{ font-size:16px; }
  .act-live-chat__messages{ min-height:180px; }
}
@media (max-width:370px){
  .act-live-chat__launcher-copy small{ display:none; }
  .act-live-chat__launcher{ padding-right:11px; }
  .act-live-chat__welcome h2{ font-size:26px; }
}
@media (prefers-reduced-motion:reduce){
  .act-live-chat__panel{ animation:none; }
  .act-live-chat__launcher{ transition:none; }
}

/* Mobile conversion refinement: compact support, shorter booking entry, swipeable tours */
.wizard-features__icon{
  display:inline-grid;
  place-items:center;
  width:18px;
  height:18px;
  min-width:18px;
  color:rgba(94,77,42,.9);
}
.wizard-features__icon svg{
  display:block;
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

@media (max-width:767px){
  #booking .booking-wrap{
    grid-template-columns:minmax(0,1fr);
    min-width:0;
  }
  #booking .booking-wrap > .card{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  #booking > .section-title{
    align-items:center;
    gap:10px;
    margin-bottom:12px;
  }
  #booking > .section-title h2{
    max-width:250px;
    font-size:29px;
    line-height:1.02;
  }
  #booking > .section-title p{
    max-width:280px;
    font-size:13px;
    line-height:1.4;
  }
  #booking > .section-title .badge{
    min-width:max-content;
    padding:8px 10px;
    white-space:nowrap;
  }
  #booking .wizard-features{
    gap:7px;
    margin-bottom:10px;
    padding:10px 0 8px;
    overflow:hidden;
  }
  #booking .wizard-features__head{
    flex-direction:row;
    align-items:center;
    gap:10px;
    padding:0 12px;
  }
  #booking .wizard-features__intro{
    margin-left:auto;
    font-size:10px;
    text-align:right;
  }
  #booking .wizard-features__list{
    display:flex;
    grid-template-columns:none;
    flex-wrap:nowrap;
    gap:7px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    padding:0 12px 4px;
    scroll-padding-inline:12px;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }
  #booking .wizard-features__list::-webkit-scrollbar{ display:none; }
  #booking .wizard-features__item{
    min-height:42px;
    flex:0 0 auto;
    max-width:245px;
    padding:8px 11px;
    border-radius:13px;
    scroll-snap-align:start;
    white-space:nowrap;
  }
  #booking .wizard-priority{
    display:flex;
    grid-template-columns:none;
    flex-wrap:nowrap;
    gap:7px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    padding:9px 12px 10px;
    scroll-padding-inline:12px;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    width:100%;
    max-width:100%;
    min-width:0;
  }
  #booking .wizard-priority::-webkit-scrollbar{ display:none; }
  #booking .wizard-priority__item{
    min-height:60px;
    flex:0 0 min(72vw,245px);
    padding:9px 10px;
    scroll-snap-align:start;
  }
  #booking .wscene{ display:none; }
  #booking .wizard-steps{
    width:100%;
    max-width:100%;
    min-width:0;
  }
  #booking .booking-wrap > .card > .card-inner{ padding-top:12px; }

  .page-home .section-home-tours{ overflow:hidden; }
  .page-home .home-tour-grid{
    display:grid;
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:min(84vw,340px);
    align-items:stretch;
    gap:14px;
    margin-right:calc(var(--home-gutter,14px) * -1);
    padding:0 var(--home-gutter,14px) 16px 0;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-padding-inline:0;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .page-home .home-tour-grid::-webkit-scrollbar{ display:none; }
  .page-home .home-tour-card,
  .page-home .home-tour-card:last-child:nth-child(odd){
    display:flex;
    min-width:0;
    height:100%;
    grid-column:auto;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  .page-home .home-tour-card:last-child:nth-child(odd) .home-tour-card__image{
    min-height:0;
    aspect-ratio:5 / 4;
  }

  .act-live-chat__launcher{
    transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease,width .24s ease,padding .24s ease,gap .24s ease;
  }
  .act-live-chat__launcher-copy{
    max-width:180px;
    overflow:hidden;
    opacity:1;
    transition:max-width .2s ease,opacity .16s ease;
  }
  .act-live-chat.is-compact .act-live-chat__launcher{
    width:54px;
    min-width:54px;
    min-height:54px;
    gap:0;
    padding:7px;
    border-radius:18px;
  }
  .act-live-chat.is-compact .act-live-chat__launcher-icon{
    width:40px;
    height:40px;
    flex-basis:40px;
  }
  .act-live-chat.is-compact .act-live-chat__launcher-copy{
    max-width:0;
    opacity:0;
    pointer-events:none;
  }
}
@media (max-width:767px) and (prefers-reduced-motion:reduce){
  .act-live-chat__launcher,
  .act-live-chat__launcher-copy{ transition:none; }
}

/* Transactional surfaces: align tour confirmation and checkout with the active premium theme. */
.page-tour-reservation .tour-reservation-page{
  min-height:70vh;
  padding:46px 0 72px;
  background:
    radial-gradient(900px 420px at 6% 0%, color-mix(in srgb,var(--gold2) 20%,transparent), transparent 70%),
    radial-gradient(820px 440px at 94% 4%, color-mix(in srgb,var(--bg2) 62%,transparent), transparent 72%),
    linear-gradient(180deg,color-mix(in srgb,var(--bg) 88%,var(--surface)),color-mix(in srgb,var(--bg2) 62%,var(--surface)));
}
.page-tour-reservation .tour-confirmation{
  gap:26px;
  max-width:1180px;
}
.page-tour-reservation .tour-reservation-page > .container > .tour-reservation-card{
  max-width:720px;
  margin:0 auto;
  border-color:color-mix(in srgb,var(--gold) 20%,var(--border));
  border-radius:26px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 97%,var(--gold2)),color-mix(in srgb,var(--surface2) 88%,var(--bg2)));
}
.page-tour-reservation .tour-reservation-page > .container > .tour-reservation-card .card-inner{
  display:grid;
  gap:15px;
  padding:30px;
}
.page-tour-reservation .tour-reservation-page > .container > .tour-reservation-card h1{
  margin:0;
  color:var(--text);
  font-size:clamp(34px,5vw,48px);
  line-height:1;
}
.page-tour-reservation .tour-reservation-page > .container > .tour-reservation-card .help{
  margin:0;
  color:var(--muted);
}
.page-tour-reservation .tour-reservation-page > .container > .tour-reservation-card .btn{
  width:max-content;
  max-width:100%;
}
.page-tour-reservation .tour-confirmation__header{
  position:relative;
  align-items:center;
  padding:30px 32px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--gold) 24%,var(--border));
  border-radius:28px;
  background:
    radial-gradient(520px 220px at 0% 0%,color-mix(in srgb,var(--gold2) 22%,transparent),transparent 72%),
    radial-gradient(440px 240px at 100% 0%,color-mix(in srgb,var(--bg2) 70%,transparent),transparent 78%),
    linear-gradient(145deg,color-mix(in srgb,var(--surface) 96%,var(--gold2)),color-mix(in srgb,var(--surface2) 88%,var(--bg2)));
  box-shadow:var(--shadow);
}
.page-tour-reservation .tour-confirmation__header::after{
  content:"";
  position:absolute;
  right:32px;
  bottom:0;
  left:32px;
  height:2px;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--gold) 66%,transparent),color-mix(in srgb,var(--bg2) 78%,transparent),transparent);
}
.page-tour-reservation .tour-confirmation__header > div:first-child{
  min-width:0;
}
.page-tour-reservation .tour-confirmation__header .section-kicker,
.page-tour-reservation .tour-confirmation__route .section-kicker,
.page-tour-reservation .tour-confirmation__traveler .section-kicker,
.page-tour-reservation .tour-confirmation__payment > .section-kicker{
  color:color-mix(in srgb,var(--gold) 76%,var(--text));
  letter-spacing:.14em;
}
.page-tour-reservation .tour-confirmation__header h1{
  margin:9px 0 10px;
  color:var(--text);
  font-size:clamp(36px,4.4vw,58px);
  line-height:.98;
}
.page-tour-reservation .tour-confirmation__header p{
  color:var(--muted);
  font-size:15px;
  line-height:1.65;
}
.page-tour-reservation .tour-confirmation__reference{
  min-width:210px;
  gap:5px;
  padding:14px 16px;
  border:1px solid color-mix(in srgb,var(--gold) 28%,var(--border));
  border-radius:18px;
  background:color-mix(in srgb,var(--surface) 82%,transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 12px 26px rgba(11,27,43,.06);
}
.page-tour-reservation .tour-confirmation__reference span{
  color:var(--muted2);
  letter-spacing:.1em;
}
.page-tour-reservation .tour-confirmation__reference strong{
  color:var(--text);
  font-size:18px;
  overflow-wrap:anywhere;
}
.page-tour-reservation .tour-confirmation__reference small{
  justify-self:end;
  width:max-content;
  padding:5px 9px;
  border-radius:999px;
  background:color-mix(in srgb,var(--gold2) 24%,var(--surface));
  color:color-mix(in srgb,var(--text) 78%,var(--gold));
}
.page-tour-reservation .tour-confirmation__layout{
  grid-template-columns:minmax(0,1fr) minmax(320px,352px);
  gap:24px;
}
.page-tour-reservation .tour-confirmation__ticket,
.page-tour-reservation .tour-confirmation__payment{
  border:1px solid color-mix(in srgb,var(--gold) 18%,var(--border));
  border-radius:26px;
  background:
    linear-gradient(155deg,color-mix(in srgb,var(--surface) 97%,var(--gold2)),color-mix(in srgb,var(--surface2) 90%,var(--bg2)));
  box-shadow:0 26px 58px rgba(11,27,43,.11),0 5px 16px rgba(11,27,43,.055);
}
.page-tour-reservation .tour-confirmation__ticket{
  display:grid;
  gap:0;
  padding-bottom:16px;
}
.page-tour-reservation .tour-confirmation__tour{
  grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);
  min-height:232px;
  margin:14px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--gold) 22%,var(--border));
  border-radius:21px;
  background:
    radial-gradient(480px 220px at 100% 0%,color-mix(in srgb,var(--bg2) 76%,transparent),transparent 76%),
    linear-gradient(145deg,color-mix(in srgb,var(--surface2) 78%,var(--gold2)),color-mix(in srgb,var(--surface) 86%,var(--bg2)));
  color:var(--text);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 14px 30px rgba(11,27,43,.07);
}
.page-tour-reservation .tour-confirmation__tour:not(:has(img)){
  grid-template-columns:1fr;
}
.page-tour-reservation .tour-confirmation__tour img{
  min-height:232px;
  border-radius:20px 0 0 20px;
}
.page-tour-reservation .tour-confirmation__tour > div{
  padding:30px 32px;
}
.page-tour-reservation .tour-confirmation__tour span,
.page-tour-reservation .tour-confirmation__tour p{
  color:var(--muted2);
  letter-spacing:.09em;
}
.page-tour-reservation .tour-confirmation__tour h2{
  margin:8px 0 12px;
  color:var(--text);
  font-size:clamp(30px,3.3vw,42px);
  line-height:1.02;
}
.page-tour-reservation .tour-confirmation__essentials{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:4px 24px 0;
  padding:0 0 22px;
  border-bottom:0;
}
.page-tour-reservation .tour-confirmation__essentials div,
.page-tour-reservation .tour-confirmation__essentials div:first-child{
  min-width:0;
  padding:14px;
  border:1px solid var(--border);
  border-radius:16px;
  background:color-mix(in srgb,var(--surface) 84%,transparent);
}
.page-tour-reservation .tour-confirmation__essentials .is-wide{
  margin-top:0;
  padding:14px;
  border:1px solid color-mix(in srgb,var(--gold) 18%,var(--border));
  background:linear-gradient(130deg,color-mix(in srgb,var(--surface2) 86%,var(--gold2)),color-mix(in srgb,var(--surface) 92%,var(--bg2)));
}
.page-tour-reservation .tour-confirmation__essentials span,
.page-tour-reservation .tour-confirmation__note span{
  color:var(--muted2);
  letter-spacing:.08em;
}
.page-tour-reservation .tour-confirmation__essentials strong{
  color:var(--text);
  font-size:15px;
  line-height:1.35;
}
.page-tour-reservation .tour-confirmation__route,
.page-tour-reservation .tour-confirmation__traveler,
.page-tour-reservation .tour-confirmation__note{
  margin:0 24px 14px;
  padding:20px;
  border:1px solid var(--border);
  border-radius:19px;
  background:color-mix(in srgb,var(--surface) 80%,transparent);
}
.page-tour-reservation .tour-confirmation__route > p{
  color:var(--muted);
}
.page-tour-reservation .tour-confirmation__route ul{
  gap:9px;
}
.page-tour-reservation .tour-confirmation__route li{
  padding:10px 12px 10px 27px;
  border:1px solid color-mix(in srgb,var(--gold) 14%,var(--border));
  border-radius:13px;
  background:color-mix(in srgb,var(--surface2) 78%,transparent);
  color:color-mix(in srgb,var(--text) 82%,transparent);
}
.page-tour-reservation .tour-confirmation__route li::before{
  top:16px;
  left:12px;
  background:var(--gold);
}
.page-tour-reservation .tour-confirmation__traveler{
  align-items:start;
  background:linear-gradient(135deg,color-mix(in srgb,var(--surface) 92%,var(--gold2)),color-mix(in srgb,var(--surface) 88%,var(--bg2)));
}
.page-tour-reservation .tour-confirmation__traveler h3,
.page-tour-reservation .tour-confirmation__traveler dd{
  color:var(--text);
}
.page-tour-reservation .tour-confirmation__traveler dt{
  color:var(--muted2);
}
.page-tour-reservation .tour-confirmation__note p{
  color:var(--muted);
  line-height:1.55;
}
.page-tour-reservation .tour-confirmation__timeline{
  gap:10px;
  margin:0 24px;
  padding:6px 0 8px;
}
.page-tour-reservation .tour-confirmation__timeline > div{
  padding:14px;
  border:1px solid var(--border);
  border-radius:16px;
  background:color-mix(in srgb,var(--surface) 82%,transparent);
}
.page-tour-reservation .tour-confirmation__timeline > div > span{
  background:linear-gradient(145deg,var(--gold2),var(--gold));
  color:var(--text);
  box-shadow:0 8px 18px color-mix(in srgb,var(--gold) 22%,transparent);
}
.page-tour-reservation .tour-confirmation__timeline p{
  color:var(--muted2);
}
.page-tour-reservation .tour-confirmation__timeline strong{
  color:var(--text);
}
.page-tour-reservation .tour-confirmation__payment{
  top:104px;
  gap:16px;
  padding:26px;
  overflow:hidden;
}
.page-tour-reservation .tour-confirmation__payment::before{
  content:"";
  height:4px;
  margin:-26px -26px 4px;
  background:linear-gradient(90deg,var(--gold),var(--gold2),color-mix(in srgb,var(--bg2) 82%,var(--gold2)));
}
.page-tour-reservation .tour-confirmation__amount{
  align-items:center;
  padding:16px;
  border:1px solid color-mix(in srgb,var(--gold) 22%,var(--border));
  border-radius:18px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--surface2) 76%,var(--gold2)),color-mix(in srgb,var(--surface) 92%,var(--bg2)));
}
.page-tour-reservation .tour-confirmation__amount span{
  color:var(--muted2);
  font-weight:700;
}
.page-tour-reservation .tour-confirmation__amount strong{
  color:var(--text);
  font-size:26px;
}
.page-tour-reservation .tour-confirmation__payment-status{
  width:max-content;
  max-width:100%;
  padding:7px 10px;
  border:1px solid color-mix(in srgb,var(--gold) 28%,var(--border));
  border-radius:999px;
  background:color-mix(in srgb,var(--gold2) 16%,var(--surface));
  color:color-mix(in srgb,var(--text) 72%,var(--gold));
  letter-spacing:.05em;
}
.page-tour-reservation .tour-confirmation__payment-status.is-paid,
.page-tour-reservation .tour-confirmation__payment-status.is-cash{
  border-color:rgba(47,104,82,.20);
  background:rgba(47,104,82,.08);
  color:#2f6852;
}
.page-tour-reservation .tour-confirmation__payment h2{
  color:var(--text);
  font-size:26px;
  line-height:1.06;
}
.page-tour-reservation .tour-confirmation__payment > p{
  color:var(--muted);
  font-size:14px;
  line-height:1.65;
}
.page-tour-reservation .tour-confirmation__payment .btn{
  min-height:50px;
  border-radius:16px;
}
.page-tour-reservation .tour-confirmation__back{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:42px;
  color:color-mix(in srgb,var(--text) 74%,var(--gold));
  text-decoration:underline;
  text-decoration-color:color-mix(in srgb,var(--gold) 42%,transparent);
  text-underline-offset:4px;
}
.page-tour-reservation .tour-confirmation__back::before{content:"←"}
.page-tour-reservation .tour-confirmation__payment > small{
  color:var(--muted2);
  letter-spacing:.05em;
}

/* The tour checkout had a flat final override; restore the same premium component language. */
.page-tours #tourBookingForm{
  border-radius:var(--radius2);
  border-color:color-mix(in srgb,var(--gold) 18%,var(--border));
  background:linear-gradient(155deg,color-mix(in srgb,var(--surface) 98%,var(--gold2)),color-mix(in srgb,var(--surface2) 90%,var(--bg2)));
  box-shadow:0 24px 58px rgba(11,27,43,.10),0 5px 16px rgba(11,27,43,.05);
}
.page-tours .tour-payment-panel{
  grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);
  gap:14px;
  padding:14px;
  border:1px solid color-mix(in srgb,var(--gold) 22%,var(--border));
  border-radius:22px;
  background:
    radial-gradient(460px 180px at 0% 0%,color-mix(in srgb,var(--gold2) 18%,transparent),transparent 74%),
    linear-gradient(145deg,color-mix(in srgb,var(--surface) 96%,var(--gold2)),color-mix(in srgb,var(--surface2) 88%,var(--bg2)));
}
.page-tours .tour-payment-summary,
.page-tours .tour-payment-methods{
  gap:12px;
  padding:18px;
  border:1px solid var(--border);
  border-radius:18px;
  background:color-mix(in srgb,var(--surface) 86%,transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.74),0 10px 24px rgba(11,27,43,.045);
}
.page-tours .tour-payment-methods{
  padding-left:18px;
  border-left:1px solid var(--border);
}
.page-tours .tour-payment-summary__grid{
  gap:9px;
}
.page-tours .tour-payment-summary__grid div{
  padding:11px 12px;
  border:1px solid var(--border);
  border-radius:13px;
  background:color-mix(in srgb,var(--surface2) 72%,transparent);
}
.page-tours .tour-payment-total{
  padding:13px 14px;
  border:1px solid color-mix(in srgb,var(--gold) 28%,var(--border));
  border-radius:15px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--surface2) 74%,var(--gold2)),color-mix(in srgb,var(--surface) 90%,var(--bg2)));
}
.page-tours #tourConfirmedReference{
  border-radius:999px;
}

@media(max-width:900px){
  .page-tour-reservation .tour-confirmation__layout{grid-template-columns:1fr}
  .page-tour-reservation .tour-confirmation__payment{position:static}
}
@media(max-width:720px){
  .page-tours .tour-payment-panel{grid-template-columns:1fr}
  .page-tours .tour-payment-methods{
    padding-left:18px;
    border-top:1px solid var(--border);
    border-left:1px solid var(--border);
  }
}
@media(max-width:640px){
  .page-tour-reservation .tour-reservation-page{padding:26px 0 54px}
  .page-tour-reservation .tour-reservation-page > .container{width:min(100% - 24px,var(--container))}
  .page-tour-reservation .tour-confirmation{gap:16px}
  .page-tour-reservation .tour-confirmation__header{
    gap:18px;
    padding:23px 20px;
    border-radius:22px;
  }
  .page-tour-reservation .tour-confirmation__header::after{right:20px;left:20px}
  .page-tour-reservation .tour-confirmation__header h1{font-size:clamp(34px,10vw,44px)}
  .page-tour-reservation .tour-confirmation__reference{
    width:100%;
    min-width:0;
    text-align:left;
  }
  .page-tour-reservation .tour-confirmation__reference small{justify-self:start}
  .page-tour-reservation .tour-confirmation__ticket,
  .page-tour-reservation .tour-confirmation__payment{border-radius:22px}
  .page-tour-reservation .tour-confirmation__tour{
    grid-template-columns:1fr;
    margin:10px;
    border-radius:18px;
  }
  .page-tour-reservation .tour-confirmation__tour img{
    height:210px;
    min-height:0;
    border-radius:17px 17px 0 0;
  }
  .page-tour-reservation .tour-confirmation__tour > div{padding:23px 20px}
  .page-tour-reservation .tour-confirmation__tour h2{font-size:30px}
  .page-tour-reservation .tour-confirmation__essentials{
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin:4px 14px 0;
    padding-bottom:14px;
  }
  .page-tour-reservation .tour-confirmation__essentials div,
  .page-tour-reservation .tour-confirmation__essentials div:first-child{padding:12px}
  .page-tour-reservation .tour-confirmation__essentials .is-wide{grid-column:1/-1}
  .page-tour-reservation .tour-confirmation__route,
  .page-tour-reservation .tour-confirmation__traveler,
  .page-tour-reservation .tour-confirmation__note{
    margin:0 14px 12px;
    padding:17px;
  }
  .page-tour-reservation .tour-confirmation__route ul,
  .page-tour-reservation .tour-confirmation__traveler,
  .page-tour-reservation .tour-confirmation__timeline{grid-template-columns:1fr}
  .page-tour-reservation .tour-confirmation__traveler dl div{display:grid;gap:2px}
  .page-tour-reservation .tour-confirmation__traveler dd{text-align:left}
  .page-tour-reservation .tour-confirmation__timeline{
    gap:8px;
    margin:0 14px;
    padding:2px 0 0;
  }
  .page-tour-reservation .tour-confirmation__payment{padding:22px}
  .page-tour-reservation .tour-confirmation__payment::before{margin:-22px -22px 2px}
  .page-tour-reservation .tour-confirmation__amount{padding:14px}
  .page-tour-reservation .tour-confirmation__amount strong{font-size:23px}
  .page-tour-reservation .act-live-chat__launcher{
    width:54px;
    min-width:54px;
    min-height:54px;
    gap:0;
    padding:7px;
    border-radius:18px;
  }
  .page-tour-reservation .act-live-chat__launcher-icon{
    width:40px;
    height:40px;
    flex-basis:40px;
  }
  .page-tour-reservation .act-live-chat__launcher-copy{
    max-width:0;
    opacity:0;
    pointer-events:none;
  }
  .page-tours .tour-payment-panel{padding:10px;border-radius:18px}
  .page-tours .tour-payment-summary,
  .page-tours .tour-payment-methods{padding:15px;border-radius:15px}
}
@media(hover:hover){
  .page-tour-reservation .tour-confirmation__back:hover{color:var(--text)}
  .page-tour-reservation .tour-confirmation__ticket,
  .page-tour-reservation .tour-confirmation__payment{transition:transform .2s ease,box-shadow .2s ease}
  .page-tour-reservation .tour-confirmation__ticket:hover,
  .page-tour-reservation .tour-confirmation__payment:hover{
    transform:translateY(-2px);
    box-shadow:0 30px 66px rgba(11,27,43,.13),0 6px 18px rgba(11,27,43,.06);
  }
}
@media(prefers-reduced-motion:reduce){
  .page-tour-reservation .tour-confirmation__ticket,
  .page-tour-reservation .tour-confirmation__payment{transition:none}
}

/* Keep premium benefits readable and fully visible on small screens. */
@media (max-width:767px){
  #booking .wizard-features{
    gap:10px;
    padding:12px;
    overflow:visible;
  }
  #booking .wizard-features__head{
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
    padding:0;
  }
  #booking .wizard-features__eyebrow{
    font-size:10px;
    line-height:1.35;
  }
  #booking .wizard-features__intro{
    margin-left:0;
    font-size:11px;
    line-height:1.4;
    text-align:left;
  }
  #booking .wizard-features__list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    overflow:visible;
    padding:0;
    scroll-snap-type:none;
  }
  #booking .wizard-features__item{
    width:100%;
    min-width:0;
    min-height:48px;
    max-width:none;
    padding:9px;
    align-items:flex-start;
    border-radius:12px;
    font-size:11px;
    line-height:1.3;
    white-space:normal;
    overflow-wrap:anywhere;
  }
  #booking .wizard-features__icon{
    flex:0 0 18px;
    margin-top:1px;
  }
}

/* Premium hotel combobox */
.hotel-picker__mobile-head{
  display:none;
}
.search-group-label{
  margin:4px 4px 8px;
  color:rgba(11,27,43,.54);
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
  line-height:1.3;
  text-transform:uppercase;
}
.search-group-label:not(:first-child){
  margin-top:14px;
}
.search-results[aria-busy="true"]{
  cursor:progress;
}
.search-foot{
  flex-wrap:wrap;
}
.search-foot__help{
  flex:1 0 100%;
  margin-top:2px;
  padding-top:9px;
  border-top:1px solid rgba(132,167,196,.24);
  color:rgba(70,57,30,.92);
  font-size:11px;
  font-weight:800;
  text-align:center;
  text-decoration:none;
}
.search-foot__help:hover{
  color:rgba(11,27,43,.96);
  text-decoration:underline;
  text-underline-offset:3px;
}

@media (max-width:767px){
  body.hotel-picker-open{
    overflow:hidden;
    overscroll-behavior:none;
  }
  #booking .field.search.is-mobile-picker{
    position:fixed;
    inset:0;
    z-index:12000;
    display:flex;
    flex-direction:column;
    width:100%;
    height:100dvh;
    max-width:none;
    max-height:100dvh;
    margin:0;
    padding:max(14px,env(safe-area-inset-top)) 14px max(12px,env(safe-area-inset-bottom));
    overflow:hidden;
    box-sizing:border-box;
    background:
      radial-gradient(circle at 92% 0,rgba(200,162,74,.14),transparent 30%),
      linear-gradient(180deg,#fbfaf7 0%,#f4f6f7 100%);
  }
  #booking .is-mobile-picker .hotel-picker__mobile-head{
    display:flex;
    flex:0 0 auto;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:14px;
  }
  #booking .hotel-picker__mobile-head > div{
    display:grid;
    gap:2px;
  }
  #booking .hotel-picker__mobile-head span{
    color:rgba(11,27,43,.52);
    font-size:10px;
    font-weight:800;
    letter-spacing:.14em;
    text-transform:uppercase;
  }
  #booking .hotel-picker__mobile-head strong{
    color:rgba(11,27,43,.96);
    font-family:var(--font-display,inherit);
    font-size:24px;
    line-height:1.1;
  }
  #booking .hotel-picker__close{
    display:inline-grid;
    place-items:center;
    width:44px;
    height:44px;
    flex:0 0 44px;
    padding:0 0 3px;
    border:1px solid rgba(132,167,196,.38);
    border-radius:14px;
    background:rgba(255,255,255,.9);
    color:rgba(11,27,43,.86);
    box-shadow:0 8px 22px rgba(11,27,43,.08);
    font:400 30px/1 Arial,sans-serif;
    cursor:pointer;
  }
  #booking .is-mobile-picker > label{
    flex:0 0 auto;
    margin-bottom:7px;
    color:rgba(11,27,43,.74);
    font-size:12px;
  }
  #booking .is-mobile-picker #hotel_search{
    display:block;
    width:100%;
    min-height:52px;
    flex:0 0 auto;
    padding:0 15px;
    border-color:rgba(132,167,196,.52);
    border-radius:16px;
    background:#fff;
    box-shadow:0 10px 28px rgba(11,27,43,.08);
    font-size:16px;
  }
  #booking .is-mobile-picker .search-results.is-open{
    position:static;
    display:block;
    width:100%;
    min-height:0;
    max-height:none !important;
    flex:1 1 auto;
    margin-top:10px;
    padding:8px;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    border-color:rgba(132,167,196,.30);
    border-radius:18px;
    background:rgba(255,255,255,.82);
    box-shadow:none;
    -webkit-overflow-scrolling:touch;
  }
  #booking .is-mobile-picker .search-group-label{
    position:sticky;
    top:-8px;
    z-index:2;
    margin:0 -2px 8px;
    padding:10px 6px 7px;
    background:rgba(250,250,248,.96);
    backdrop-filter:blur(8px);
  }
  #booking .is-mobile-picker .search-group-label:not(:first-child){
    margin-top:10px;
  }
  #booking .is-mobile-picker .search-item{
    min-height:58px;
    padding:11px 12px;
    border-radius:14px;
    background:rgba(255,255,255,.96);
  }
  #booking .is-mobile-picker .search-item__top{
    flex-direction:row;
    align-items:flex-start;
    gap:8px;
  }
  #booking .is-mobile-picker .search-item strong{
    font-size:14px;
    line-height:1.3;
  }
  #booking .is-mobile-picker .search-item__meta{
    font-size:12px;
  }
  #booking .is-mobile-picker .search-foot{
    position:sticky;
    bottom:-8px;
    z-index:3;
    margin:10px -1px -1px;
    padding:10px;
    border-color:rgba(132,167,196,.30);
    background:rgba(247,249,249,.96);
    box-shadow:0 -8px 20px rgba(11,27,43,.05);
    backdrop-filter:blur(10px);
  }
  #booking .is-mobile-picker > .help,
  #booking .is-mobile-picker > .inline-error,
  #booking .is-mobile-picker > .selected-pill{
    display:none !important;
  }
}

/* Thank-you forms: consistent controls and balanced responsive layouts. */
.page-thank .thank-card__head .thank-title{
  margin-bottom:0;
}
.page-thank .thank-dinner-field label,
.page-thank .thank-tour-inline__field > span{
  line-height:1.35;
}
.page-thank .thank-dinner-field select,
.page-thank .thank-dinner-field input,
.page-thank .thank-tour-inline__field input{
  height:48px;
  min-height:48px;
  border-radius:12px;
  font-family:inherit;
  font-weight:800;
  line-height:1.2;
}

@media (min-width:641px) and (max-width:959px){
  .page-thank .thank-dinner-form{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .page-thank .thank-dinner-form .thank-dinner-field:first-child,
  .page-thank .thank-dinner-form > .btn{
    grid-column:1 / -1;
  }
}

@media (max-width:640px){
  .page-thank .thank-card--dinner > .card-inner{
    padding:18px 14px 16px;
  }
  .page-thank .thank-card--dinner .thank-card__head{
    display:grid;
    justify-items:start;
    gap:8px;
  }
  .page-thank .thank-card--dinner .thank-card__tag{
    max-width:100%;
    height:auto;
    min-height:26px;
    padding:6px 10px;
    line-height:1.2;
    white-space:normal;
  }
  .page-thank .thank-dinner-form{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-top:12px;
  }
  .page-thank .thank-dinner-form .thank-dinner-field:first-child,
  .page-thank .thank-dinner-form > .btn{
    grid-column:1 / -1;
  }
  .page-thank .thank-dinner-field label,
  .page-thank .thank-tour-inline__field > span{
    font-size:10px;
    letter-spacing:.1em;
  }
  .page-thank .thank-dinner-field select,
  .page-thank .thank-dinner-field input,
  .page-thank .thank-tour-inline__field input{
    min-width:0;
    padding-inline:11px;
    font-size:16px;
  }
  .page-thank .thank-tour-inline{
    margin-top:16px;
    padding:18px 14px 16px;
  }
  .page-thank .thank-tour-inline__intro{
    padding-right:42px;
    margin-bottom:16px;
  }
  .page-thank .thank-tour-inline__known{
    gap:8px;
    margin-bottom:12px;
  }
  .page-thank .thank-tour-inline__known > div{
    padding:10px 12px;
  }
  .page-thank .thank-tour-inline__fields{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .page-thank .thank-tour-inline__field:last-child{
    grid-column:1 / -1;
  }
  .page-thank .thank-tour-inline__stepper{
    height:48px;
    border-radius:12px;
  }
  .page-thank .thank-tour-inline__quote{
    grid-template-columns:minmax(0,1fr) auto;
    gap:4px 12px;
    margin-top:12px;
    padding:14px;
  }
  .page-thank .thank-tour-inline__quote strong{
    text-align:right;
  }
  .page-thank .thank-tour-inline__quote small{
    grid-column:1 / -1;
  }
  .page-thank .thank-tour-inline__actions{
    grid-template-columns:minmax(96px,.72fr) minmax(0,1.28fr);
    gap:8px;
    margin-top:12px;
  }
}

@media (max-width:340px){
  .page-thank .thank-dinner-form,
  .page-thank .thank-tour-inline__fields,
  .page-thank .thank-tour-inline__actions{
    grid-template-columns:1fr;
  }
  .page-thank .thank-dinner-form .thank-dinner-field:first-child,
  .page-thank .thank-dinner-form > .btn,
  .page-thank .thank-tour-inline__field:last-child{
    grid-column:auto;
  }
}
