/* Isolated styles for the review-only booking page. Existing pages are unchanged. */
.booking-hero{padding:58px 0 64px;background:linear-gradient(115deg,#f8fbff,#e9f3ff);border-bottom:1px solid var(--line)}
.booking-hero h1{font-size:clamp(36px,5vw,62px);max-width:850px;margin-bottom:16px}
.booking-hero .lead{max-width:760px;margin-bottom:0}
.booking-section{padding:54px 0 80px;background:var(--wash)}
.booking-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.85fr);gap:28px;align-items:start}
.booking-panel,.booking-aside{border-radius:14px;background:white;border:1px solid var(--line);box-shadow:0 10px 34px rgba(6,29,77,.055)}
.booking-panel{padding:38px 42px}.booking-panel h2{font-size:clamp(28px,3.4vw,40px);margin:0 0 12px}
.booking-subtitle{font-size:16px;color:var(--muted);line-height:1.65;margin-bottom:20px}
.booking-status{padding:14px 17px;border-radius:9px;background:#eaf3ff;color:#12366b;font-weight:650;font-size:15px;line-height:1.6;border-left:4px solid var(--royal);margin-bottom:24px}
.booking-status[data-state="error"],.booking-status[data-state="inactive"]{background:#f2f5fa;color:#40546d;border-left-color:#8093ac}
.booking-status[data-state="success"]{background:#eef7f1;color:#255f3a;border-left-color:#43875b}
.booking-retry{margin:-10px 0 24px;color:var(--royal);background:white;border:1px solid #8eaed4;border-radius:8px;padding:10px 14px;cursor:pointer;font-weight:700}
.booking-field{margin:23px 0}
.booking-field label,.booking-fieldset legend{display:block;font-weight:750;color:var(--navy);font-size:16px;margin:0 0 9px}
.booking-field input:not([type=checkbox]),.booking-field textarea{display:block;width:100%;padding:13px 14px;min-height:52px;border:1.5px solid #abc1df;border-radius:9px;color:var(--navy);background:white;font:inherit;font-size:16px;line-height:1.4}
.booking-field input:disabled,.booking-field textarea:disabled{background:#f2f5fa;color:#66758a}
.booking-field input:focus-visible,.booking-field textarea:focus-visible{outline:3px solid #ffbf47;outline-offset:2px}
.booking-field textarea{resize:vertical;min-height:92px}
.booking-fieldset{padding:0;border:0;min-width:0}.booking-fieldset legend{margin-bottom:12px}
.booking-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-height:50px}
.booking-times p{grid-column:1/-1;margin:0}
.booking-slot{background:#eef5ff;border:1.5px solid #abc6e7;border-radius:9px;color:#18477e;font-weight:750;padding:14px 9px;min-height:54px;cursor:pointer;text-align:center}
.booking-slot[aria-pressed="true"]{background:var(--navy2);color:white;border-color:var(--navy2)}
.booking-slot:focus-visible{outline:3px solid #ffbf47;outline-offset:2px}
.booking-help{font-size:13px!important;color:#52687e!important;line-height:1.6;margin:7px 0 0}
.booking-consent{display:flex!important;align-items:flex-start;gap:13px;cursor:pointer;font-size:15px!important;line-height:1.5}
.booking-consent input{flex:0 0 22px;width:22px;height:22px;margin:2px 0 0;accent-color:var(--navy2)}
.booking-legal{font-size:12px;color:#56667d;line-height:1.6;padding-left:35px;margin:8px 0 0}
.booking-challenge{min-height:82px}
.booking-submit{width:100%;white-space:normal;min-height:57px;font-size:17px}
.booking-submit:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.booking-confirm-note{text-align:center;margin-top:10px}
.booking-confirmation{background:#edf7ee;padding:20px;border:1px solid #8bb79b;border-radius:10px;color:#1e5134;font-weight:600;line-height:1.7}
.booking-policy-notice{border-top:1px solid var(--line);padding-top:17px;color:#617086;font-size:13px;line-height:1.6;margin-top:23px}
.booking-aside{padding:33px 30px}.booking-aside p{font-size:15px;color:#52677f;line-height:1.7}.booking-aside .btn{white-space:normal;text-align:center;width:100%}
.booking-aside hr{height:1px;border:0;background:var(--line);margin:27px 0}
@media(max-width:900px){.booking-grid{grid-template-columns:1fr}.booking-aside{padding:28px}}
@media(max-width:600px){.booking-hero{padding:48px 0}.booking-section{padding:20px 0 55px}.booking-panel{padding:27px 20px}.booking-times{gap:9px}.booking-slot{padding:12px 6px}.booking-legal{padding-left:0}.booking-aside{padding:24px 20px}}
