.booking-hero{background:#0a0a0a;color:#fff;padding:100px 0 90px}.booking-hero h1{font-size:clamp(54px,8vw,120px);margin:18px 0 34px;max-width:1200px}.booking-hero h1 span{color:#ff1493}.booking-hero p{max-width:760px;font-size:20px;line-height:1.65;color:#bbb}.booking-section{padding:90px 0;background:#f3f3f3}.booking-layout{display:grid;grid-template-columns:minmax(250px,.55fr) minmax(0,1.45fr);gap:40px;align-items:start}.booking-assurance{position:sticky;top:25px;background:#0a0a0a;color:#fff;padding:30px;border-top:8px solid #ff1493}.booking-assurance p{line-height:1.65;color:#cfcfcf}.booking-form{background:#fff;padding:32px;min-width:0}.booking-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:36px}.booking-progress button{border:0;background:#eee;padding:12px 7px;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.booking-progress button span{display:block;color:#ff1493;font-size:17px}.booking-progress button[aria-current]{background:#0a0a0a;color:#fff}.booking-progress button:disabled{color:#aaa}.booking-step{border:0;margin:0;padding:0}.booking-step[hidden]{display:none}.booking-step legend{font-size:clamp(31px,4vw,50px);font-weight:900;letter-spacing:-.04em;margin-bottom:28px}.booking-type-cards{display:grid;gap:13px}.booking-type-cards label{display:block;cursor:pointer}.booking-type-cards input{position:absolute;opacity:0;width:1px;height:1px}.booking-type-cards span{display:block;border:2px solid #d6d6d6;padding:24px}.booking-type-cards strong{display:block;font-size:20px;letter-spacing:-.02em}.booking-type-cards small{display:block;font-size:14px;font-weight:400;letter-spacing:0;text-transform:none;color:#666;line-height:1.55;margin-top:8px}.booking-type-cards input:checked+span{border-color:#ff1493;box-shadow:inset 7px 0 #ff1493}.booking-type-cards input:focus-visible+span{outline:3px solid #ff1493;outline-offset:3px}.step-actions{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:30px}.text-button{border:0;background:none;text-decoration:underline;font:inherit;font-weight:800;cursor:pointer}.booking-alert{padding:15px;margin:0 0 25px;background:#7b0018;color:#fff;font-weight:800}.availability{margin-top:18px;padding:14px;background:#eee}.availability.available{border-left:5px solid #08783d}.availability.unavailable{border-left:5px solid #a5002b}.booking-summary{border:1px solid #ddd;padding:22px}.booking-summary h3,.payment-choice h3{font-size:22px;margin:25px 0 12px}.booking-summary dl,.booking-facts{margin:0}.booking-summary dl div,.booking-facts div{display:grid;grid-template-columns:1fr 1.2fr;gap:20px;padding:11px 0;border-bottom:1px solid #e4e4e4}.booking-summary dt,.booking-facts dt{font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#666}.booking-summary dd,.booking-facts dd{margin:0;overflow-wrap:anywhere}.booking-summary .total{font-size:19px;font-weight:900;border-bottom:0}.preview-note,.final-notice{padding:14px;background:#fff0f8;line-height:1.55}.payment-choice{padding:22px 0}.payment-choice label{display:inline-flex;gap:9px;align-items:center;border:1px solid #ccc;padding:14px 20px;margin:0 10px 10px 0}.payment-choice input,.consent-checks input{width:auto}.payment-mode{font-size:13px;color:#7b0018}.consent-checks{display:grid;gap:13px;margin:20px 0}.consent-checks label{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.55;letter-spacing:0;text-transform:none}.consent-checks a{text-decoration:underline}.final-notice{background:#eee;font-weight:800}.booking-result{min-height:100vh;background:#f3f3f3;display:grid;place-items:center;padding:25px}.booking-result-card{width:min(820px,100%);background:#fff;border-top:9px solid #ff1493;padding:clamp(28px,6vw,60px)}.booking-result-card h1{font-size:clamp(42px,7vw,74px);margin:24px 0;line-height:.95}.result-lead{font-size:18px;line-height:1.65}.booking-facts{margin:30px 0}.booking-result-card .brand{display:inline-block;margin-bottom:25px}.booking-form textarea{min-height:100px}
@media(max-width:900px){.booking-hero{padding:75px 0}.booking-section{padding:45px 0}.booking-layout{grid-template-columns:1fr}.booking-assurance{position:static}.booking-form{padding:22px}.booking-progress button{font-size:8px}.booking-summary dl div,.booking-facts div{grid-template-columns:1fr;gap:4px}.step-actions{align-items:stretch;flex-direction:column-reverse}.step-actions .btn{width:100%}}
@media(max-width:520px){.booking-form{padding:16px}.booking-progress{gap:3px}.booking-progress button{padding:9px 2px}.booking-type-cards span{padding:18px}.booking-step legend{font-size:34px}}
.booking-progress{grid-template-columns:repeat(5,1fr)}
.booking-extras [data-extra-options]{display:grid;gap:10px;margin-top:10px}.booking-extras label{display:flex;gap:9px;align-items:center;border:1px solid #d6d6d6;padding:12px}.booking-extras input{width:auto}.field-label{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:520px){.booking-progress button{font-size:7px;letter-spacing:0}.booking-progress button span{font-size:14px}}
