/* ==========================================================================
   crown-hero.v7.2.0.css
   Crown Concierge — SHARED HERO STYLESHEET

   CHANGELOG
     7.2.0 (2026-07-11) — LOGO SHIFT + 4-ITEM SINGLE-LINE VALUE LIST
       - Logo shifted 15px left via margin-right on .ch-itin-logo-wrap.
       - .ch-why-list rebuilt for 4 single-line items (was 3 two-line
         items): removed .ch-why-text/.ch-why-top/.ch-why-bottom in
         favor of one .ch-why-label span per row — crisp white,
         weight 500, no subtext, white-space:nowrap.
       - Container sized with width:max-content instead of a guessed
         min-width, so it always fits whatever the longest label is
         (e.g. "Executive Chauffeurs") without wrapping or truncating,
         and adapts automatically if the copy changes later.
   ========================================================================== */

.crown-hero-section,
.crown-hero-section *,
.crown-hero-section *::before,
.crown-hero-section *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.crown-hero-section {
  --gold:        #c9a84c;
  --gold-lt:     #e2c97e;
  --gold-dim:    rgba(201,168,76,0.11);
  --gold-bdr:    rgba(201,168,76,0.22);
  --gold-strong: rgba(201,168,76,0.55);
  --surface-exp: rgba(8,8,8,0.96);
  --bdr:         rgba(255,255,255,0.08);
  --bdr-mid:     rgba(255,255,255,0.14);
  --bdr-hi:      rgba(255,255,255,0.22);
  --text:        #f5f0e8;
  --text-warm:   #fff8ec;
  --t85:         rgba(255,248,236,0.85);
  --t76:         rgba(245,240,232,0.76);
  --t72:         rgba(245,240,232,0.72);
  --t68:         rgba(245,240,232,0.68);
  --t60:         rgba(245,240,232,0.60);
  --t38:         rgba(245,240,232,0.38);
  --t22:         rgba(245,240,232,0.22);
  --inp-bg:      rgba(255,255,255,0.06);
  --inp-hov:     rgba(255,255,255,0.10);
  --inp-foc:     rgba(201,168,76,0.07);
  --inp-bdr:     rgba(255,255,255,0.11);
  --inp-fbdr:    rgba(201,168,76,0.50);
  --success:     #4ade80;
  --success-bg:  rgba(74,222,128,0.06);
  --success-bdr: rgba(74,222,128,0.55);
  --err:         #f08080;

  font-family: 'DM Sans', sans-serif;
  color: var(--text);
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 88px 48px 0px;
  overflow: hidden;
}

.ch-bg { position: absolute; inset: 0; background-size: cover; background-position: center 28%; background-repeat: no-repeat; z-index: 0; }
.ch-bg::before { content: ''; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(4,4,4,0.68) 0%, rgba(4,4,4,0.32) 52%, rgba(4,4,4,0.08) 100%); }
.ch-bg::after { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 40% 28% at 18% 0%, rgba(201,168,76,0.05) 0%, transparent 70%), linear-gradient(0deg, rgba(4,4,4,0.48) 0%, transparent 32%); }

.ch-inner { position: relative; z-index: 1; width: 100%; max-width: 1200px; }
.ch-inner > * { opacity: 0; animation: chUp .52s ease forwards; }
.ch-eyebrow { animation-delay: .06s; }
.ch-h1      { animation-delay: .15s; }
.ch-sub     { animation-delay: .24s; }
.ch-book    { animation-delay: .33s; }
.ch-ret     { animation-delay: .50s; }
@keyframes chUp { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }

.ch-crown-mark { display: none; }
.ch-trust-line { display: none; }

.ch-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(201,168,76,0.11); border: 0.5px solid rgba(201,168,76,0.22);
  border-radius: 100px; padding: 5px 15px; margin-bottom: 22px;
  font-size: 11px; font-weight: 500; letter-spacing: .10em; text-transform: uppercase;
  color: #e2c97e; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
  transition: opacity .2s, max-height .2s, margin .2s;
}
.ch-eyebrow .stars { color: var(--gold); letter-spacing: 2px; font-size: 10px; margin-right: 4px; }

.ch-h1 {
  font-family: 'Cormorant Garamond', serif; font-size: clamp(38px, 4.8vw, 62px);
  font-weight: 300; line-height: 1.08; letter-spacing: -.01em; margin-bottom: 14px;
  text-align: left; text-shadow: 0 2px 18px rgba(0,0,0,0.5); max-width: 720px;
  transition: opacity .2s, max-height .2s, margin .2s;
}
.ch-h1 em { font-style:italic; color:var(--gold-lt); }

.ch-sub {
  font-size: 16.5px; font-weight: 300; line-height: 1.65; color: rgba(245,240,232,0.78);
  max-width: 760px; margin: 0 0 32px 0; text-align: left; text-shadow: 0 1px 8px rgba(0,0,0,0.48);
  transition: opacity .2s, max-height .2s, margin .2s;
}

.ch-book { width: 100%; max-width: 960px; margin-left: 0; margin-right: auto; }

.ch-slim {
  background: rgba(8,8,8,0.62); border: 0.5px solid rgba(255,255,255,0.28); border-radius: 14px;
  display: grid; grid-template-columns: minmax(190px,1.3fr) 56px minmax(190px,1.3fr) minmax(175px,0.95fr) minmax(162px,0.8fr) auto;
  align-items: stretch; backdrop-filter: blur(48px) saturate(180%); -webkit-backdrop-filter: blur(48px) saturate(180%);
  overflow: visible; box-shadow: 0 12px 45px rgba(0,0,0,0.28), inset 0 1px 0 rgba(255,255,255,0.20);
  position: relative; transition: opacity .25s; margin-bottom: 20px;
}
.ch-slim.gone { opacity:0; pointer-events:none; position:absolute; width:100%; }

.ch-bf { display: flex; flex-direction: column; justify-content: center; padding: 22px 18px; border-right: 0.5px solid rgba(255,255,255,0.18); position: relative; min-width: 0; transition: background .25s; }
.ch-bf:last-of-type { border-right: none; }
.ch-bf.valid { background: transparent; }
.ch-bf.valid input { border-color: var(--success-bdr); background: var(--success-bg); }
.ch-bf.valid input:hover, .ch-bf.valid input:focus { border-color: var(--success); background: var(--success-bg); }
.ch-bf-lbl { font-size: 10.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; text-align: left; color: var(--gold); margin-bottom: 9px; white-space: nowrap; }
.ch-bf input, .ch-bf select {
  background: rgba(255,255,255,0.04); border: 0.5px solid rgba(255,255,255,0.20); border-radius: 8px; outline: none;
  font-family: 'DM Sans', sans-serif; font-size: 14px; font-weight: 500; color: #ffffff; -webkit-text-fill-color: #ffffff;
  width: 100%; cursor: text; padding: 11px 13px; transition: border-color .2s, background .2s; caret-color: var(--gold);
}
.ch-bf input:hover, .ch-bf select:hover { border-color: rgba(255,255,255,0.34); background: rgba(255,255,255,0.06); }
.ch-bf input:focus, .ch-bf select:focus { border-color: var(--gold-strong); background: rgba(201,168,76,0.06); }
.ch-bf input::placeholder { color: rgba(245,240,232,0.42); font-weight:300; }
.ch-bf select option { background: #1a1a1a; color: #f5f0e8; }
.ch-bf select { -webkit-appearance: none; appearance: none; }
.ch-bf input[type="date"], .ch-bf input[type="time"] { color: #f5f0e8; -webkit-text-fill-color: #f5f0e8; padding-right: 8px; }
.ch-bf input[type="date"]::-webkit-calendar-picker-indicator, .ch-bf input[type="time"]::-webkit-calendar-picker-indicator { filter: invert(1) opacity(0.55); cursor: pointer; }
.ch-bf-hint { display: block; font-size: 9.5px; color: rgba(245,240,232,0.38); letter-spacing: .03em; margin-top: 6px; transition: opacity .2s; }
.ch-bf.valid .ch-bf-hint { display: none; }
.ch-bf-valid { display: none; align-items: center; gap: 6px; margin-top: 7px; }
.ch-bf.valid .ch-bf-valid { display: flex; }
.ch-bf-valid-icon { color: var(--success); font-size: 13px; font-weight: 700; line-height: 1; }
.ch-bf-valid-text { font-size: 11px; color: var(--success); letter-spacing: .03em; font-weight: 600; }
.ch-field-pills { display: flex; gap: 6px; margin-top: 9px; }
.ch-fp { background: transparent; border: 0.5px solid rgba(201,168,76,0.32); color: var(--gold); border-radius: 100px; padding: 3px 11px; font-family: 'DM Sans', sans-serif; font-size: 10px; font-weight: 500; letter-spacing: .1em; cursor: pointer; transition: background .15s, border-color .15s, color .15s; }
.ch-fp:hover { background: rgba(201,168,76,0.12); border-color: var(--gold); color: var(--gold-lt); }
.ch-spacer, .ch-swap-cell { display: flex; align-items: center; justify-content: center; border-right: 0.5px solid rgba(255,255,255,0.18); flex-shrink: 0; padding: 0 10px; }
.ch-swap-btn { width: 32px; height: 32px; background: var(--gold-dim); border: 0.5px solid var(--gold-bdr); border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; color: var(--gold); font-size: 14px; line-height: 1; transition: background .2s, color .2s, border-color .2s, transform .35s ease; flex-shrink: 0; }
.ch-swap-btn:hover { background: rgba(201,168,76,0.20); border-color: var(--gold); color: var(--gold-lt); transform: rotate(180deg); }
.ch-bar-last { display: flex; align-items: center; justify-content: center; padding: 0 6px 0 4px; position: relative; z-index: 2; }
.ch-bar-btn {
  background: #c9a84c; background-image: linear-gradient(135deg, #d4b557 0%, #c9a84c 50%, #b8973f 100%); color: #0a0a0a;
  border: none; border-radius: 100px; padding: 13px 18px; font-family: 'DM Sans', sans-serif; font-size: 12.5px; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase; cursor: pointer; white-space: nowrap; position: relative; z-index: 2; isolation: isolate;
  box-shadow: 0 4px 14px rgba(201,168,76,0.45), 0 1px 3px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.25);
  text-shadow: 0 1px 0 rgba(255,255,255,0.15); transition: background .2s, transform .12s, box-shadow .2s, opacity .25s;
}
.ch-bar-btn:hover:not(:disabled) { background-image: linear-gradient(135deg, #e2c97e 0%, #d4b557 50%, #c9a84c 100%); box-shadow: 0 6px 20px rgba(201,168,76,0.6), 0 2px 4px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.35); transform: translateY(-1px); }
.ch-bar-btn:active:not(:disabled) { transform: translateY(0) scale(.98); box-shadow: 0 2px 8px rgba(201,168,76,0.4), inset 0 1px 3px rgba(0,0,0,0.2); }
.ch-bar-btn:disabled { cursor: not-allowed; background: #a8893d; background-image: linear-gradient(135deg, #b8973f 0%, #a8893d 50%, #97793a 100%); color: rgba(10,10,10,0.85); box-shadow: 0 3px 10px rgba(201,168,76,0.28), 0 1px 2px rgba(0,0,0,0.25), inset 0 1px 0 rgba(255,255,255,0.15); text-shadow: 0 1px 0 rgba(255,255,255,0.08); animation: chCtaPulse 2.4s ease-in-out infinite; }
@keyframes chCtaPulse { 0%, 100% { box-shadow: 0 3px 10px rgba(201,168,76,0.28), 0 1px 2px rgba(0,0,0,0.25), inset 0 1px 0 rgba(255,255,255,0.15); } 50% { box-shadow: 0 4px 16px rgba(201,168,76,0.5), 0 2px 4px rgba(0,0,0,0.3), inset 0 1px 0 rgba(255,255,255,0.22); } }
.ch-bar-btn:hover:disabled { transform: none; }
.ch-input-wrap { position: relative; width: 100%; }
.ch-sugs { position: absolute; top: calc(100% + 4px); left: 0; right: 0; background: rgba(10,10,10,0.97); border: 0.5px solid var(--bdr-mid); border-radius: 10px; overflow: hidden; z-index: 999; display: none; backdrop-filter: blur(20px); box-shadow: 0 8px 24px rgba(0,0,0,0.6); }
.ch-sug-item { padding: 11px 16px; font-size: 13px; color: var(--t60); cursor: pointer; border-bottom: 0.5px solid var(--bdr); text-align: left; }
.ch-sug-item:last-child { border-bottom: none; }
.ch-sug-item:hover { background: rgba(201,168,76,0.08); color: var(--text); }
.ch-sug-item strong { color: var(--text); font-weight:500; }
.ch-sug-item small  { font-size:11px; color:var(--t38); }
.ch-micropromise { display: flex; align-items: center; justify-content: flex-start; gap: 28px; margin-bottom: 22px; flex-wrap: wrap; transition: opacity .25s; }
.ch-micropromise.gone { opacity:0; pointer-events:none; height:0; margin:0; overflow:hidden; }
.ch-mp-item { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; color: var(--gold-lt); font-weight: 400; letter-spacing: .015em; }
.ch-mp-item .ck { color: var(--gold); font-size: 13px; font-weight: 700; line-height: 1; }
.ch-ret { font-size: 12px; color: var(--t38); text-align: left; }
.ch-ret a { color: var(--t60); text-decoration: none; border-bottom: 0.5px solid rgba(245,240,232,0.18); transition: color .16s; }
.ch-ret a:hover { color: var(--gold-lt); }

.ch-exp {
  display: none;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 12px;
  animation: chPanelIn .3s ease forwards;
}
.ch-exp.on { display: flex; }
@keyframes chPanelIn { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }

.ch-itin-card {
  position: relative;
  background:
    linear-gradient(160deg, rgba(255,248,235,0.11) 0%, rgba(201,168,76,0.08) 45%, rgba(255,248,235,0.05) 100%),
    rgba(24,21,16,0.60);
  border: 1px solid rgba(226,201,126,0.38);
  border-radius: 18px;
  overflow: hidden;
  backdrop-filter: blur(30px) saturate(170%);
  -webkit-backdrop-filter: blur(30px) saturate(170%);
  box-shadow: 0 4px 18px rgba(201,168,76,0.14), 0 20px 60px rgba(0,0,0,0.42), inset 0 1px 0 rgba(255,255,255,0.14);
}
.ch-itin-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, rgba(226,201,126,0.9), transparent);
  background-size: 200% 100%;
  animation: chShimmer 5.5s ease-in-out infinite;
}
@keyframes chShimmer {
  0%   { background-position: 200% 0; opacity: .35; }
  50%  { background-position: 0% 0;   opacity: 1; }
  100% { background-position: -200% 0; opacity: .35; }
}

.ch-itin { padding: 20px 22px 18px; text-align: left; }

.ch-itin-grid { display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: start; }

.ch-itin-left { min-width: 0; }
.ch-itin-title { font-family: 'Cormorant Garamond', serif; font-size: 20px; font-weight: 400; color: var(--text-warm); margin-bottom: 9px; }
.ch-itin-title em { font-style: italic; color: var(--gold-lt); }

.ch-itin-route-line {
  display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 8px;
  font-size: 13.5px; color: var(--t85); line-height: 1.4;
}
.ch-itin-arrow { color: var(--gold); font-size: 12px; }
.ch-itin-sep { color: var(--t38); }
.ch-itin-when { color: var(--t68); font-size: 12.5px; }
.ch-itin-vehicle { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; color: var(--gold-lt); letter-spacing: .04em; margin-top: 7px; }
.ch-itin-vehicle .dot { width:3px; height:3px; border-radius:50%; background:var(--gold); }

.ch-itin-route-condensed { display: none; }
.ch-addr-detail { display: none; }

/* Fare — inline label + amount, left column */
.ch-fare-inline { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; margin-top: 14px; }
.ch-fare-lbl { font-size: 10.5px; letter-spacing: .09em; text-transform: uppercase; color: #e8dcc0; font-weight: 500; }
.ch-vpamt { font-family: 'Cormorant Garamond', serif; font-size: 34px; font-weight: 400; color: var(--gold-lt); line-height: 1; transition: all .28s ease; text-shadow: 0 0 20px rgba(226,201,126,0.25); }
.ch-vpamt.calc { color: var(--t38); font-size: 17px; font-weight: 300; text-shadow: none; }
.ch-fare-note { font-size: 11px; color: #cfc4a8; width: 100%; margin-top: 4px; }
.ch-vpamt .ch-promo-label { display: block; font-family: 'DM Sans', sans-serif; font-size: 9.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--success); margin-bottom: 4px; }
.ch-vpamt .ch-promo-prices { display: inline-flex; align-items: baseline; gap: 8px; }
.ch-vpamt .ch-promo-strike { font-family: 'Cormorant Garamond', serif; font-size: 0.6em; font-weight: 300; color: var(--t38); text-decoration: line-through; text-decoration-thickness: 0.5px; }
.ch-vpamt .ch-promo-gold { font-family: 'Cormorant Garamond', serif; font-size: 1em; font-weight: 400; color: var(--gold-lt); }

/* Right column — logo on top, vertical value-prop list beneath */
.ch-itin-right { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; flex-shrink: 0; }

.ch-itin-logo-wrap {
  flex-shrink: 0;
  width: 56px; height: 56px;
  margin-right: 15px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: radial-gradient(circle, rgba(226,201,126,0.10) 0%, rgba(226,201,126,0.03) 55%, transparent 75%);
}
.ch-itin-logo {
  width: 58px; height: 58px; object-fit: contain;
  filter: sepia(1) saturate(2) hue-rotate(-10deg) brightness(1.05);
  opacity: 0.40;
}

.ch-why-list {
  display: flex; flex-direction: column; gap: 9px;
  background: rgba(255,255,255,0.10);
  box-shadow: inset 0 1px 3px rgba(0,0,0,0.25);
  border-radius: 10px;
  padding: 13px 15px;
  width: max-content;
}
.ch-why-row { display: flex; align-items: center; gap: 8px; }
.ch-why-row svg { width: 13px; height: 13px; color: var(--gold); flex-shrink: 0; }
.ch-why-label { font-size: 11px; font-weight: 500; color: rgba(255,255,255,0.94); white-space: nowrap; }

.ch-action-card {
  background: rgba(28,26,22,0.42);
  border: 1px solid rgba(255,255,255,0.16);
  border-radius: 18px;
  overflow: hidden;
  backdrop-filter: blur(22px) saturate(140%);
  -webkit-backdrop-filter: blur(22px) saturate(140%);
  box-shadow: 0 12px 40px rgba(0,0,0,0.32), inset 0 1px 0 rgba(255,255,255,0.10);
  display: flex; flex-direction: column;
}

.ch-main-view { display: flex; flex-direction: column; flex: 1; }
.ch-main-view.hidden { display: none; }

.ch-bridge { padding: 16px 22px 2px; text-align: left; }
.ch-bridge-title { font-family: 'Cormorant Garamond', serif; font-size: 16.5px; font-weight: 500; color: var(--text-warm); margin-bottom: 3px; }
.ch-bridge-sub { font-size: 11.5px; color: var(--t68); line-height: 1.4; }

.ch-fields { padding: 10px 22px 0; }
.ch-cgrid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.ch-cgrid .ch-ci-full { grid-column: 1 / -1; }
.ch-ci { display:flex; flex-direction:column; gap:3px; }
.ch-ci-lbl { font-size:12px; color:#eee6d4; letter-spacing:.02em; font-weight:500; margin-bottom:3px; }

.ch-ci input {
  background: rgba(255,255,255,0.045) !important;
  border: 1px solid rgba(255,255,255,0.15); border-radius: 8px; padding: 9px 12px;
  font-family: 'DM Sans', sans-serif; font-size: 13px; color: var(--text) !important; -webkit-text-fill-color: var(--text) !important;
  outline: none; width: 100%; box-shadow: inset 0 1px 2px rgba(0,0,0,0.18);
  transition: border-color .18s, background .18s, box-shadow .18s;
}
.ch-ci input::placeholder { color:var(--t38); }
.ch-ci input:hover { background: rgba(255,255,255,0.065) !important; }
.ch-ci input:focus {
  border-color: rgba(226,201,126,0.65);
  background: rgba(255,255,255,0.075) !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.14), 0 0 0 3px rgba(201,168,76,0.18), 0 0 16px rgba(201,168,76,0.28);
}
.ch-ci-hint { font-size: 11px; color: var(--t72); margin-top: 3px; }

.ch-consent { display:flex; align-items:flex-start; gap:7px; margin: 10px 0 3px; }
.ch-consent input[type=checkbox] { margin-top:3px; flex-shrink:0; accent-color:var(--gold); width: 14px; height: 14px; }
.ch-consent label { display: block; text-align:left; cursor:pointer; }
.ch-consent-main { display: block; font-size:12px; color:#eee6d4; font-weight: 500; line-height: 1.3; }
.ch-consent-sub { display: block; font-size:10.5px; color:var(--t38); line-height: 1.3; margin-top: 1px; }

.ch-sms-terms { margin: 5px 0 0; }
.ch-sms-terms summary {
  font-size: 10.5px; color: var(--t38); cursor: pointer; list-style: none; display: inline-block;
  text-decoration: underline; text-decoration-color: rgba(245,240,232,0.2); text-underline-offset: 2px;
}
.ch-sms-terms summary::-webkit-details-marker { display: none; }
.ch-sms-terms summary:hover { color: var(--t60); }
.ch-sms-terms-body { font-size: 10.5px; color: var(--t38); line-height: 1.5; margin-top: 6px; padding-top: 6px; border-top: 0.5px solid var(--bdr); }
.ch-sms-terms-body a { color: var(--t60); }

.ch-banner { display:none; padding:8px 14px; font-size:12px; border-radius:7px; margin: 10px 0 0; text-align:left; }
.ch-banner.err { display:block; background:rgba(200,50,50,.10); border:0.5px solid rgba(200,50,50,.22); color:var(--err); }
.ch-banner.ok  { display:block; background:rgba(50,180,100,.08); border:0.5px solid rgba(50,180,100,.18); color:#6fda9e; }

.ch-cta-row {
  padding: 14px 22px 6px; display: flex; flex-direction: column; gap: 8px;
  margin-top: auto;
}
.ch-reserve-btn {
  width: 100%; background: var(--gold); background-image: linear-gradient(135deg, #d4b557 0%, #c9a84c 50%, #b8973f 100%); color: #0a0a0a;
  border: none; border-radius: 10px; padding: 14px 18px; font-family: 'DM Sans', sans-serif; font-size: 13.5px; font-weight: 700;
  letter-spacing: .02em; cursor: pointer; box-shadow: 0 4px 18px rgba(201,168,76,0.4), inset 0 1px 0 rgba(255,255,255,0.22);
  transition: transform .12s, box-shadow .2s;
}
.ch-reserve-btn:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 6px 22px rgba(201,168,76,0.55), inset 0 1px 0 rgba(255,255,255,0.28); }
.ch-reserve-btn:active:not(:disabled) { transform: translateY(0) scale(.99); }
.ch-reserve-btn:disabled { opacity: .5; cursor: not-allowed; }

.ch-save-btn-secondary {
  width: 100%; background: rgba(255,255,255,0.04); color: rgba(226,201,126,0.75);
  border: 1px solid rgba(226,201,126,0.30); border-radius: 10px; padding: 8px 18px;
  font-family: 'DM Sans', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .01em;
  cursor: pointer; backdrop-filter: blur(8px); transition: background .16s, border-color .16s, color .16s;
}
.ch-save-btn-secondary:hover { background: rgba(201,168,76,0.10); border-color: rgba(226,201,126,0.5); color: var(--gold-lt); }

.ch-reassure {
  padding: 3px 22px 14px; font-size: 10.5px; color: var(--t60); text-align: center; line-height: 1.4;
  padding-bottom: max(14px, env(safe-area-inset-bottom, 14px));
}

.ch-save-panel { display: none; padding: 20px 22px; flex-direction: column; flex: 1; }
.ch-save-panel.on { display: flex; }
.ch-save-panel-title { font-family: 'Cormorant Garamond', serif; font-size: 19px; font-weight: 400; color: var(--text-warm); margin-bottom: 5px; }
.ch-save-panel-sub { font-size: 12px; color: var(--t68); line-height: 1.4; margin-bottom: 14px; }
.ch-save-panel .ch-subbtn {
  width: 100%; background: var(--gold); color:#0a0a0a; border:none; border-radius:10px; padding:14px 18px;
  font-family:'DM Sans',sans-serif; font-size:13px; font-weight:700; letter-spacing:.02em; cursor:pointer;
  transition: background .16s, transform .12s, opacity .16s; margin-top: 12px;
}
.ch-save-panel .ch-subbtn:hover { background:var(--gold-lt); transform:translateY(-1px); }
.ch-save-panel .ch-subbtn:active { transform:scale(.98); }
.ch-save-panel .ch-subbtn:disabled { opacity:.5; cursor:not-allowed; transform:none; }
.ch-submit-note { font-size: 10.5px; color: var(--t38); text-align: center; margin-top: 8px; }
.ch-back-link {
  display: block; text-align: center; margin-top: 14px; font-family: 'DM Sans', sans-serif; font-size: 12px;
  color: var(--t60); background: none; border: none; cursor: pointer; text-decoration: underline;
  text-decoration-color: rgba(245,240,232,0.25); text-underline-offset: 3px; transition: color .16s; width: 100%;
  margin-top: auto;
  padding-bottom: max(4px, env(safe-area-inset-bottom, 4px));
}
.ch-back-link:hover { color: var(--gold-lt); }

.ch-conf {
  background: rgba(24,22,18,0.55); border: 1px solid rgba(226,201,126,0.30); border-radius: 18px; padding: 40px 32px;
  text-align: center; display: none; backdrop-filter: blur(28px) saturate(160%);
  box-shadow: 0 4px 18px rgba(201,168,76,0.12), 0 20px 56px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.12);
  animation: chPanelIn .3s ease forwards;
}
.ch-conf.on { display:block; }
.ch-conf-icon { width:52px; height:52px; background:var(--gold-dim); border:0.5px solid var(--gold-bdr); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 18px; font-size:20px; color:var(--gold-lt); }
.ch-conf-title { font-family:'Cormorant Garamond',serif; font-size:24px; font-weight:300; margin-bottom:10px; color: var(--text-warm); }
.ch-conf-body  { font-size:13.5px; color:var(--t68); line-height:1.6; max-width:400px; margin:0 auto 18px; }
.ch-conf-note  { font-size:11px; color:var(--t38); line-height:1.55; max-width:380px; margin:0 auto 20px; padding-top:14px; border-top:0.5px solid var(--bdr); }
.ch-conf-acts { display:flex; align-items:center; justify-content:center; gap:10px; }
.ch-cbtn-pri { background:var(--gold); color:#0a0a0a; border:none; border-radius:10px; padding:11px 22px; font-family:'DM Sans',sans-serif; font-size:13px; font-weight:500; cursor:pointer; text-decoration:none; display:inline-block; transition:background .16s; }
.ch-cbtn-pri:hover { background:var(--gold-lt); }
.ch-cbtn-sec { background:transparent; color:var(--t60); border:0.5px solid var(--bdr-mid); border-radius:10px; padding:11px 22px; font-family:'DM Sans',sans-serif; font-size:13px; font-weight:400; cursor:pointer; text-decoration:none; display:inline-block; transition: border-color .16s, color .16s; }
.ch-cbtn-sec:hover { border-color:var(--bdr-hi); color:var(--text); }

.ch-scroll { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:6px; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--t22); z-index:1; opacity:0; animation:chUp .5s ease 1.2s forwards; }
.ch-scroll-line { width:1px; height:26px; background:linear-gradient(180deg,rgba(201,168,76,.35) 0%,transparent 100%); animation:chPulse 2s ease-in-out infinite; }
@keyframes chPulse { 0%,100%{opacity:.35} 50%{opacity:.9} }

.ch-phone-row { display:flex; align-items:stretch; gap:0; position:relative; }
.ch-phone-row input[type=tel] { flex:1; border-top-left-radius:0; border-bottom-left-radius:0; border-left:none; }
.ch-cc-btn { display:flex; align-items:center; gap:5px; background:rgba(255,255,255,0.045); border:1px solid rgba(255,255,255,0.15); border-right:none; border-radius:8px 0 0 8px; padding:0 10px; cursor:pointer; font-family:'DM Sans',sans-serif; font-size:13px; color:var(--text); white-space:nowrap; transition:background .16s,border-color .16s; flex-shrink:0; }
.ch-cc-btn:hover { background:rgba(255,255,255,0.07); }
.ch-cc-btn[aria-expanded=true] { border-color: rgba(226,201,126,0.65); }
#chCCFlag { font-size:16px; line-height:1; }
#chCCCode { font-size:12px; color:var(--t60); letter-spacing:.02em; }
.ch-cc-caret { font-size:9px; color:var(--t38); margin-left:2px; }
.ch-cc-dropdown { display:none; position:absolute; top:calc(100% + 4px); left:0; width:320px; max-height:340px; background:rgba(10,10,10,0.97); border:0.5px solid var(--bdr-mid); border-radius:10px; overflow:hidden; z-index:9999; backdrop-filter:blur(20px); box-shadow:0 8px 24px rgba(0,0,0,0.6); flex-direction:column; }
.ch-cc-dropdown.ch-cc-open { display:flex; }
.ch-cc-search { background:rgba(255,255,255,0.04) !important; border:none !important; border-bottom:0.5px solid var(--bdr) !important; border-radius:0 !important; padding:10px 14px !important; font-family:'DM Sans',sans-serif !important; font-size:13px !important; color:var(--text) !important; -webkit-text-fill-color:var(--text) !important; outline:none !important; width:100% !important; }
.ch-cc-search::placeholder { color:var(--t38); }
.ch-cc-list { overflow-y:auto; flex:1; max-height:280px; }
.ch-cc-opt { display:flex; align-items:center; gap:9px; padding:9px 14px; cursor:pointer; transition:background .12s; font-size:13px; color:var(--t60); }
.ch-cc-opt:hover,.ch-cc-opt.ch-cc-highlighted { background:rgba(201,168,76,0.08); color:var(--text); }
.ch-cc-opt.ch-cc-selected { color:var(--gold-lt); }
.ch-cc-opt-flag { font-size:16px; flex-shrink:0; }
.ch-cc-opt-name { flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ch-cc-opt-code { font-size:11px; color:var(--t38); flex-shrink:0; }
.ch-cc-divider { height:0; border-top:0.5px solid var(--bdr); margin:2px 0; }
@media (max-width:720px) { .ch-phone-row { flex-direction:row; } .ch-cc-dropdown { width:calc(100vw - 36px); left:-1px; } .ch-cc-btn { padding:0 8px; } }

.ch-optin-modal { display: none; position: fixed; inset: 0; background: rgba(4,4,4,0.78); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); z-index: 10000; align-items: center; justify-content: center; padding: 24px; }
.ch-optin-modal.on { display: flex; }
.ch-optin-modal-card { background: rgba(20,18,15,0.92); border: 1px solid var(--gold-strong); border-radius: 16px; padding: 32px; max-width: 440px; width: 100%; text-align: center; box-shadow: 0 24px 80px rgba(0,0,0,0.75), 0 0 0 1px rgba(201,168,76,0.08), inset 0 1px 0 rgba(255,255,255,0.08); animation: chOptinIn .25s ease forwards; }
@keyframes chOptinIn { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
.ch-optin-modal-icon { width: 48px; height: 48px; background: rgba(201,168,76,0.14); border: 1px solid var(--gold-strong); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; font-size: 20px; color: var(--gold-lt); box-shadow: 0 0 24px rgba(201,168,76,0.25); }
.ch-optin-modal-title { font-family: 'Cormorant Garamond', serif; font-size: 22px; font-weight: 500; color: var(--text-warm); margin-bottom: 10px; }
.ch-optin-modal-body { font-size: 13.5px; color: var(--t76); line-height: 1.6; margin-bottom: 24px; }
.ch-optin-modal-acts { display: flex; gap: 10px; flex-direction: column; }
.ch-optin-modal-back { background: var(--gold); background-image: linear-gradient(135deg, #d4b557 0%, #c9a84c 50%, #b8973f 100%); color: #0a0a0a; border: none; border-radius: 10px; padding: 13px 20px; font-family: 'DM Sans', sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .02em; cursor: pointer; box-shadow: 0 4px 16px rgba(201,168,76,0.4); transition: transform .12s, box-shadow .2s; }
.ch-optin-modal-back:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(201,168,76,0.55); }
.ch-optin-modal-continue { background: transparent; color: var(--t60); border: 0.5px solid var(--bdr-mid); border-radius: 10px; padding: 12px 20px; font-family: 'DM Sans', sans-serif; font-size: 12.5px; cursor: pointer; transition: border-color .16s, color .16s; }
.ch-optin-modal-continue:hover { border-color: var(--bdr-hi); color: var(--text); }

.cc-hourly-details { margin-top: 4px; }
.cc-hourly-details summary {
  list-style: none; cursor: pointer; font-size: 12px; color: var(--t38); text-align: center;
  padding: 10px 0; text-decoration: underline; text-decoration-color: rgba(245,240,232,0.18); text-underline-offset: 3px;
}
.cc-hourly-details summary::-webkit-details-marker { display: none; }
.cc-hourly-details summary:hover { color: var(--t60); }
.cc-hourly-details[open] summary { margin-bottom: 4px; }

@media (max-width: 720px) {
  @supports (min-height: 100svh) {
    .crown-hero-section { min-height: 100svh; }
  }
  .crown-hero-section { padding: 4px 14px 10px; }
  .ch-inner { display: flex; flex-direction: column; align-items: center; width: 100%; flex: 1; }
  .ch-book { display: flex; flex-direction: column; flex: 1; }

  .ch-crown-mark { display: block; width: 56px; height: 56px; margin: 0 auto 6px; opacity: 0; animation: chUp .52s ease forwards; animation-delay: .02s; filter: drop-shadow(0 2px 12px rgba(201,168,76,0.25)); }
  .ch-eyebrow { display: none; }
  .ch-h1 { text-align: center; font-size: clamp(24px, 6.4vw, 32px); line-height: 1.05; letter-spacing: -.015em; margin-bottom: 6px; max-width: 100%; }
  .ch-sub { text-align: center; font-size: 13.5px; line-height: 1.5; margin-bottom: 12px; max-width: 480px; }
  .ch-trust-line { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 10px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--gold-lt); margin-bottom: 16px; opacity: 0; animation: chUp .52s ease forwards; animation-delay: .28s; }
  .ch-trust-line .stars { color: var(--gold); letter-spacing: 2px; font-size: 9.5px; }
  .ch-sub-extra { display: none; }

  .crown-hero-section.ch-quote-active .ch-crown-mark,
  .crown-hero-section.ch-quote-active .ch-h1,
  .crown-hero-section.ch-quote-active .ch-sub,
  .crown-hero-section.ch-quote-active .ch-trust-line {
    opacity: 0; max-height: 0; margin: 0; overflow: hidden; pointer-events: none;
  }

  .ch-slim { grid-template-columns: 1fr; border-radius: 12px; overflow: hidden; margin-bottom: 16px; }
  .ch-bf { border-right: none; border-bottom: 0.5px solid rgba(255,255,255,0.14); padding: 14px 18px; }
  .ch-bf-lbl { margin-bottom: 6px; }
  .ch-bf-hint { margin-top: 4px; margin-bottom: 2px; }
  .ch-bf-valid { margin-top: 5px; }
  .ch-field-pills { display: none; }
  .ch-spacer, .ch-swap-cell { display: none !important; visibility: hidden; height: 0; padding: 0; border: none; }
  .ch-bar-last { padding: 16px 18px; }
  .ch-bar-btn { width: 100%; text-align: center; padding: 15px 24px; font-size: 13px; }
  .ch-micropromise { flex-direction: column; align-items: flex-start; gap: 9px; margin-bottom: 18px; }
  .ch-mp-item { font-size: 12px; }

  .ch-exp { flex: 1; display: none; gap: 9px; }
  .ch-exp.on { display: flex; }

  .ch-itin { padding: 14px 16px 14px; }
  .ch-itin-grid { gap: 10px; }
  .ch-itin-title { font-size: 19.5px; margin-bottom: 6px; white-space: nowrap; }
  .ch-itin-route-desktop { display: none; }
  .ch-itin-route-line { font-size: 11.5px; }
  .ch-itin-route-condensed { display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px 6px; font-size: 11.5px; color: var(--t85); line-height: 1.35; }
  .ch-addr-detail { display: block; margin-top: 4px; }
  .ch-addr-detail summary { list-style: none; cursor: pointer; font-size: 10px; color: var(--t38); text-decoration: underline; text-decoration-color: rgba(245,240,232,0.2); text-underline-offset: 2px; display: inline-block; }
  .ch-addr-detail summary::-webkit-details-marker { display: none; }
  .ch-addr-detail summary:hover { color: var(--t60); }
  .ch-addr-detail-body { font-size: 11px; color: var(--t60); line-height: 1.5; margin-top: 4px; }
  .ch-itin-when { font-size: 11px; }
  .ch-itin-vehicle { margin-top: 5px; font-size: 10px; }

  .ch-fare-inline { margin-top: 10px; gap: 1px; }
  .ch-fare-lbl { font-size: 10.5px; }
  .ch-vpamt { font-size: 30px; }
  .ch-vpamt.calc { font-size: 14px; }

  .ch-itin-logo-wrap { width: 64px; height: 64px; margin-right: 44px; margin-top: 28px; }
  .ch-itin-logo {
  width: 58px; height: 58px; object-fit: contain;
  filter: sepia(1) saturate(2) hue-rotate(-10deg) brightness(1.05);
  opacity: 0.40;
}
  .ch-why-list { padding: 9px 11px; gap: 8px; margin-top: 24px; }
  .ch-why-row svg { width: 11px; height: 11px; }
  .ch-why-label { font-size: 10.5px; }

  .ch-bridge { padding: 8px 16px 0; }
  .ch-bridge-title { font-size: 14.5px; }
  .ch-fields { padding: 4px 16px 0; }
  .ch-consent { margin: 7px 0 2px; }
  .ch-cgrid { grid-template-columns: 1fr; gap: 6px; }
  .ch-cta-row { padding: 8px 16px 4px; }
  .ch-reassure { padding: 0 16px 8px; padding-bottom: max(8px, env(safe-area-inset-bottom, 8px)); }
  .ch-save-panel { padding: 14px 16px; }

  .ch-conf { padding:28px 18px; }
  .ch-conf-acts { flex-direction:column; }
  .ch-cbtn-pri,.ch-cbtn-sec { width:100%; text-align:center; }
  .ch-ret { text-align:center; }
}

@media (min-width: 721px) {
  .ch-itin-route-mobile { display: none; }
  .ch-itin-logo-wrap { width: 76px; height: 76px; }
  .ch-itin-logo { width: 66px; height: 66px; }
}
