:root{color-scheme:dark;--bg:#05060a;--panel:#11151d;--line:#293443;--cyan:#28d9ff;--text:#f7fbff;--muted:#a8b5c5;--danger:#ffb77d}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:radial-gradient(circle at 85% 0,#0f3443 0,transparent 38%),var(--bg);color:var(--text);font:16px/1.55 Inter,Segoe UI,Arial,sans-serif}
.booking-header{height:76px;display:flex;align-items:center;justify-content:space-between;padding:12px clamp(20px,5vw,70px);border-bottom:1px solid #17202b;background:#05060ae6;position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}
.booking-header img{display:block;width:190px;height:auto}
.booking-header span{color:var(--cyan);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.booking-shell{width:min(1020px,calc(100% - 32px));margin:0 auto;padding:54px 0 80px}
.booking-intro{max-width:760px;margin-bottom:30px}
.kicker{color:var(--cyan);font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.booking-intro h1{font-size:clamp(2.4rem,7vw,5rem);line-height:.95;margin:.18em 0}
.booking-intro>p:not(.kicker){color:var(--muted);font-size:1.1rem}
.booking-card,.policy-card{background:linear-gradient(145deg,#111822,#0b0f15);border:1px solid var(--line);border-radius:22px;padding:clamp(20px,4vw,42px);box-shadow:0 24px 80px #0008}
.form-section{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}
.customer-section{margin-top:42px}
.step{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--cyan);color:#001018;font-weight:900;flex:0 0 auto}
.form-section h2{margin:0;font-size:1.35rem}
.form-section p{margin:4px 0;color:var(--muted)}
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
label{display:grid;gap:7px;font-weight:700}
label.wide{grid-column:1/-1}
.optional{color:var(--muted);font-size:.85em;font-weight:500}
input,select{width:100%;border:1px solid #354457;border-radius:10px;background:#070b10;color:var(--text);padding:13px 14px;font:inherit}
input:disabled,select:disabled{opacity:.58;cursor:not-allowed}
input:focus,select:focus{outline:2px solid #28d9ff66;border-color:var(--cyan)}
label small,[data-error]{min-height:18px;color:#ffb39e;font-weight:500}
.field-help{color:var(--muted);font-weight:500}
.status-panel,.quote-panel{margin-top:20px;padding:18px;border-radius:14px;border:1px solid #2b3b4d;background:#080d13;color:var(--muted)}
.status-panel.is-warning{border-color:#78602b;color:#ffe3a0}
.status-panel.is-ready{border-color:#227c68;color:#b6ffe9}
.status-panel.is-info{border-color:#31546b;color:#c4e8f5}
.quote-panel>div{display:flex;justify-content:space-between;align-items:center;gap:20px}
.quote-panel strong{font-size:2rem;color:var(--cyan)}
.quote-panel p{margin:.6em 0}
.quote-panel small{color:var(--muted)}
.policy-check{display:flex;gap:12px;align-items:flex-start;margin-top:24px;color:#d8e1eb;font-weight:500}
.policy-check input{width:20px;height:20px;flex:0 0 auto;margin-top:2px}
button{width:100%;margin-top:24px;border:0;border-radius:12px;padding:15px 20px;background:var(--cyan);color:#001018;font-weight:900;font-size:1rem;cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.38}
.form-status{min-height:24px;color:var(--danger)}
.policy-card{margin-top:24px}
.policy-card h2{margin-top:0}
.policy-card li{margin:.5em 0;color:var(--muted)}
.honeypot{position:absolute!important;left:-9999px!important}
.booking-summary{display:grid;gap:12px}
.booking-summary p{display:flex;justify-content:space-between;gap:20px;margin:0;padding:12px 0;border-bottom:1px solid #202b38}
.booking-summary span{color:var(--muted)}
.booking-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.booking-actions a{padding:12px 16px;border-radius:10px;background:var(--cyan);color:#001018;text-decoration:none;font-weight:900}
.booking-actions a.secondary{background:#1a2632;color:var(--text)}
.booking-support{text-align:center;color:var(--muted);margin:24px 0 0}.booking-support a{color:var(--cyan);font-weight:800}
@media(max-width:680px){.booking-header{height:66px;padding:10px 16px}.booking-header img{width:145px}.booking-header span{font-size:.75rem}.booking-shell{padding-top:36px}.field-grid{grid-template-columns:1fr}label.wide{grid-column:auto}.quote-panel>div,.booking-summary p{align-items:flex-start;flex-direction:column;gap:4px}.booking-card,.policy-card{border-radius:16px;padding:20px}}
