/* Reference palette: deep navy, luminous turquoise, and lime accents. */
:root,:root[data-theme],:root:not([data-theme="light"]){
 --paper:#031c2d;--surface:#072b40;--surface-2:#0b354b;
 --ink:#f4fbff;--muted:#b4cdd9;--line:#24566a;
 --blue:#36e2ef;--blue-ink:#6cecf4;--blue-soft:#0b414f;
 --green:#c1df29;--green-ink:#cbed45;--green-soft:#203d30;
 --lime:#c9e82e;--lime-hi:#d7f35b;--on-lime:#032536;
 --night:#021827;--night-2:#05283d;--night-3:#0b354b;
 --night-line:#24566a;--night-fg:#f4fbff;--night-dim:#b4cdd9;
 --warn:#ffcb8d;--warn-soft:#3b2a1a;--err:#ff9292;
 --shadow:0 8px 30px #0004;--shadow-lift:0 16px 40px #0006;
 color-scheme:dark;
}
body{background:radial-gradient(ellipse at 0 25%,#08465966,transparent 45%),var(--paper)}
.site-header{background:#031c2def;border-bottom-color:#36e2ef26}
.topbar{background:#021522}
.stage::before{background:linear-gradient(90deg,#022638ec 0%,#032c4099 52%,#031c2d24 100%)}
.hero-inner h1 .hl,.eyebrow,.on-dark .eyebrow{color:var(--green-ink)}
.eyebrow::before,.on-dark .eyebrow::before{background:var(--green);box-shadow:0 0 12px #c9e82e70}
.calculator-top{background:radial-gradient(ellipse at 50% 0,#0b4d60,transparent 75%),var(--paper)}
#calculador.board,.form-card{background:linear-gradient(145deg,#08364b,#032238);border-color:#34c5d280;box-shadow:inset 0 1px 15px #36e2ef15,0 15px 40px #0005,0 0 22px #36e2ef10}
html body .btn.btn-primary,html body .btn.btn-blue,html body .site-header .header-booking{background:var(--blue);color:#032536;border-color:var(--blue);box-shadow:0 0 20px #36e2ef30}
html body .btn.btn-primary:hover,html body .btn.btn-primary:focus-visible,html body .btn.btn-blue:hover{background:#7ef2f7;color:#032536;box-shadow:0 0 25px #36e2ef55}
html body .btn.btn-ghost:hover,html body .btn.btn-ghost:focus-visible{background:#12485b;color:var(--ink)}
.field-dark .place-picker-trigger,.form-card :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background:#042337;border-color:#327084;color:var(--ink)}
.field-dark .place-picker-trigger:hover,.form-card input:hover{border-color:#36e2ef}
.place-picker-popup{background:#05283d;color:var(--ink);border-color:#36e2ef88}
.field-dark .place-picker-popup input,.form-card .place-picker-popup input{background:#031c2d;color:var(--ink);border-color:#327084}
.place-picker-search span{color:var(--blue)}
.place-picker-results [role=option]:hover,.place-picker-results .highlighted,.place-picker-results [aria-selected=true]{background:#104b5c;color:#fff}
.place-arrow select option,.board .place-arrow select option,.field-dark select option{background:#05283d;color:#f4fbff;color-scheme:dark}
input::placeholder,textarea::placeholder{color:#9ab8c8;opacity:1}
.counter button{background:#0a3b50;border-color:#327084;color:#bff8fb}
.counter button:hover:not(:disabled){background:#12576a;border-color:var(--blue)}
.score-cell{background:#021724;border-color:#277086}
#calc-total.scoreboard,#total.scoreboard{color:var(--lime)}
.ticker{background:#022638;border-block-color:#2c7889}
.ticker .fare-strip button{color:#cbed45}
.popular-destinations{background:linear-gradient(120deg,#07384a,#052438);border-top-color:var(--blue)}
.popular-destinations h2{color:var(--ink)}
.popular-destinations .fare-grid button{background:#08354a;border-color:#2b6476;border-left-color:var(--green);box-shadow:0 5px 20px #0002}
.popular-destinations .fare-grid strong{color:#7debf1}
.popular-destinations .fare-grid button:hover,.popular-destinations .fare-grid button:focus-visible{background:#0d4659;border-color:var(--blue)}
.tour-grid article{background:#072b40;border-color:#24566a}
.tour-grid button{background:#36e2ef;color:#032536;font-weight:700}
.tour-grid button:hover{background:#7ef2f7}
.map-search,.map-detail{background:linear-gradient(135deg,#08354a,#032238);border-color:#28647a}
.band-night{background:#021827}
.faq{background:#06273a}
.cta-band{background:linear-gradient(120deg,#064154,#072b40);border:1px solid #36e2ef60}
.trip-choice label:has(input:checked),.payment-choice label:has(input:checked){background:#0c4656;border-color:var(--blue)}
:focus-visible{outline-color:#6cecf4}

/* A completed request has its own receipt view, without another submit button. */
form.booking-complete > :not([role="status"]){display:none!important}
form.booking-complete [role="status"]{padding:clamp(22px,4vw,44px);line-height:1.7}
form.booking-complete [role="status"] h2{font-size:clamp(28px,5vw,42px);margin:0 0 20px}
form.booking-complete [role="status"] p{margin:0 0 16px}
form.booking-complete [role="status"] .btn{margin-top:20px}

@media(min-width:768px){form.booking-complete .receipt-contact{white-space:nowrap}}
