.booking-hero,.booking-shell{width:min(1080px,calc(100% - 32px));margin-inline:auto}.booking-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:32px;align-items:end;padding-block:72px 36px}.booking-hero>div{display:grid;gap:16px}.booking-hero h1{max-width:780px;font-size:clamp(2.6rem,6vw,5.2rem)}.booking-hero p{max-width:720px;margin:0;font-size:1.08rem}.booking-hero aside{border:1px solid rgba(4,82,93,.22);border-radius:12px;background:linear-gradient(135deg,#007f831f,#67e8a51a),var(--surface);padding:22px;box-shadow:0 12px 36px #13213b14}.booking-hero ol,.booking-next-steps ol{display:grid;gap:8px;margin:14px 0 0;padding-left:22px;color:var(--muted)}.booking-shell{padding-bottom:72px}.booking-app,.booking-form{display:grid;gap:24px}.booking-channel-note{display:grid;gap:4px;border:1px solid rgba(4,82,93,.22);border-radius:10px;background:var(--soft);padding:14px 16px}.booking-channel-note strong{color:var(--brand-strong)}.booking-channel-note span{color:var(--muted)}.booking-price-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--line);box-shadow:0 12px 36px #13213b14}.booking-price-strip div{display:grid;gap:5px;background:var(--surface);padding:18px}.booking-price-strip span{color:var(--muted);font-size:.85rem;font-weight:750}.booking-price-strip strong{color:var(--brand-strong);font-size:1.22rem}.booking-form-section,.booking-confirmation,.booking-waitlist-form,.booking-waitlist-confirmation,.booking-unavailable{position:relative;display:grid;gap:22px;border:1px solid var(--line);border-radius:12px;background:#fffffff0;padding:clamp(20px,4vw,34px);box-shadow:0 18px 54px #13213b17}.booking-step-number{display:inline-grid;width:38px;height:38px;place-items:center;border-radius:50%;background:var(--ink);color:#fff;font-weight:950}.booking-section-heading{display:grid;gap:9px;max-width:760px}.booking-section-heading h2,.booking-section-heading p,.booking-waitlist-confirmation h2,.booking-waitlist-confirmation p,.booking-unavailable h2,.booking-unavailable p{margin:0}.booking-section-heading h2{font-size:clamp(1.55rem,3vw,2.35rem)}.booking-form label{display:grid;gap:7px;color:var(--ink);font-weight:850}.booking-form label small{color:var(--muted);font-weight:600}.booking-form input,.booking-form select,.booking-form textarea{width:100%;min-height:50px;border:1px solid #cbd8d4;border-radius:8px;background:#fff;padding:11px 12px;color:var(--ink);font:inherit}.booking-form textarea{min-height:96px;resize:vertical}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--brand);outline:3px solid rgba(0,127,131,.15)}.booking-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.booking-field-wide{grid-column:1 / -1}.booking-date-list{display:grid;gap:14px}.booking-date-list fieldset{margin:0;border:1px solid var(--line);border-radius:10px;padding:16px}.booking-date-list legend{padding-inline:6px;color:var(--ink);font-weight:900}.booking-time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:9px}.booking-time-grid button{min-height:46px;border:1px solid #badbd5;border-radius:8px;background:var(--soft);color:var(--brand-strong);font:inherit;font-weight:900;cursor:pointer}.booking-time-grid button:hover,.booking-time-grid button:focus-visible,.booking-time-grid button.selected{border-color:var(--brand);background:var(--brand);color:#fff;outline:none}.booking-policy-note,.booking-bank-details,.booking-next-steps,.booking-copy-preview,.booking-countdown,.booking-empty-slots{border-radius:10px;background:var(--soft);padding:18px}.booking-policy-note p,.booking-bank-details p,.booking-next-steps p,.booking-empty-slots p{margin:6px 0 0}.booking-submit,.proof-button{min-height:54px;border:0;cursor:pointer}.proof-button{background:var(--brand);color:#fff}.booking-submit:disabled,.proof-button:disabled{cursor:not-allowed;opacity:.55}.booking-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.booking-waitlist-panel{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:18px}.booking-waitlist-panel>summary{cursor:pointer;color:var(--brand-strong);font-weight:900}.booking-waitlist-panel[open]>summary{margin-bottom:18px}.booking-confirmation{max-width:820px;margin-inline:auto}.booking-success-mark{display:grid;width:56px;height:56px;place-items:center;border-radius:50%;background:var(--mint);color:var(--ink);font-size:1.7rem;font-weight:950}.booking-confirmation h2,.booking-confirmation h3,.booking-confirmation p{margin:0}.booking-reservation-id{color:var(--ink);font-size:1.08rem}.booking-summary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;margin:0;border:1px solid var(--line);border-radius:10px;background:var(--line)}.booking-summary-list div{display:grid;gap:4px;background:#fff;padding:14px}.booking-summary-list dt{color:var(--muted);font-size:.82rem;font-weight:750}.booking-summary-list dd{margin:0;color:var(--ink);font-weight:900}.booking-countdown{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff5d6;color:#674f00}.booking-countdown strong{font-size:1.25rem}.booking-countdown.expired{background:#fde7e9;color:#8a2330}.booking-copy-preview{white-space:pre-wrap;color:var(--ink);font-weight:700}.booking-meta-actions{display:flex;flex-wrap:wrap;gap:10px}.booking-meta-actions button{border:1px solid var(--line);font:inherit;cursor:pointer}.booking-status-note{margin:0;border-radius:8px;padding:12px 14px;font-weight:750}.booking-status-note.error{background:#fde7e9;color:#8a2330}.booking-status-note.success{background:#e3f8ec;color:#165d38}.booking-loading{border-radius:10px;background:var(--soft);padding:22px;color:var(--brand-strong);font-weight:850;text-align:center}@media(max-width:760px){.booking-hero,.booking-field-grid{grid-template-columns:1fr}.booking-price-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-field-wide{grid-column:auto}}@media(max-width:520px){.booking-hero{padding-top:48px}.booking-price-strip,.booking-summary-list{grid-template-columns:1fr}.booking-meta-actions{display:grid}.booking-countdown{align-items:flex-start;flex-direction:column}}
