.sab-booking{--sab-blue:#d5aa48;--sab-muted:#c3b9bb;box-sizing:border-box;background:radial-gradient(ellipse at top right,#7d122044,transparent 60%),#090708;color:#f7f3f3;font:16px/1.65 Arial,Helvetica,sans-serif;padding:clamp(24px,5vw,80px);isolation:isolate;color-scheme:dark;border:1px solid #3f2a2e;border-radius:18px;margin-block:clamp(30px,6vw,80px)}
.sab-booking *{box-sizing:border-box}.sab-booking [hidden]{display:none!important}.sab-booking :is(h1,h2){font:400 clamp(32px,4vw,54px)/1.12 Arial,Helvetica,sans-serif;letter-spacing:-1.2px;margin:16px 0 24px;color:#f7f3f3}.sab-booking em{font-style:normal;color:#efc56a}.sab-booking p{margin:14px 0}.sab-booking a{color:#efc56a;text-underline-offset:4px}.sab-booking .sab-booking-eyebrow{font-size:11px;letter-spacing:2.5px;color:var(--sab-blue)}.sab-booking .sab-booking-muted{font-size:14px;color:var(--sab-muted)}.sab-booking .sab-booking-notice{border-left:3px solid var(--sab-blue);background:#201014;padding:16px 20px}.sab-booking form{margin-top:32px}.sab-booking .sab-booking-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.sab-booking fieldset{min-width:0;margin:0 0 24px;padding:24px;border:1px solid #5b333b;border-radius:6px;background:#110c0d}.sab-booking legend{font-size:19px;color:#efc56a;padding:0 8px}.sab-booking label{display:block;margin-bottom:18px}.sab-booking input,.sab-booking select,.sab-booking button{font:inherit;max-width:100%;border:1px solid #6a4149;border-radius:4px;min-height:48px;color:#f7f3f3;background:#180f11;padding:10px 12px}.sab-booking input:not([type=checkbox]),.sab-booking select{display:block;width:100%;margin-top:8px}.sab-booking .sab-booking-check{display:flex;align-items:center;gap:10px}.sab-booking input[type=checkbox]{width:22px;height:22px;min-height:22px;accent-color:var(--sab-blue);flex-shrink:0}.sab-booking button{cursor:pointer}.sab-booking button:disabled,.sab-booking input:disabled{cursor:not-allowed;opacity:.65}.sab-booking :focus-visible{outline:3px solid #f7d888;outline-offset:4px}.sab-booking .sab-booking-submit{background:var(--sab-blue);color:#17100a;font-weight:600;padding:14px 22px}.sab-booking .sab-booking-legend{list-style:none;padding:0;display:flex;gap:12px 20px;flex-wrap:wrap;font-size:13px}.sab-booking [data-status]{border-left:5px solid #8a7d80}.sab-booking .sab-booking-legend li{padding-left:8px}.sab-booking [data-status=free]{border-color:#69d49c}.sab-booking [data-status=pending]{border-color:#ffbb72}.sab-booking [data-status=confirmed]{border-color:#ff8792}.sab-booking .sab-booking-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sab-booking .sab-booking-slots button{font-size:14px;text-align:left}.sab-booking .sab-booking-slots button[aria-pressed=true]{outline:3px solid var(--sab-blue);outline-offset:2px;background:#4b1620}.sab-booking .sab-booking-slots span{display:block;font-size:12px}.sab-booking [data-retry]{margin:12px}.sab-booking [data-contact] .sab-booking-layout{gap:24px}
@media(max-width:760px){.sab-booking .sab-booking-layout{grid-template-columns:1fr;gap:0}.sab-booking fieldset{padding:18px}.sab-booking [data-contact] .sab-booking-layout{gap:0}.sab-booking .sab-booking-submit{width:100%}}@media(max-width:360px){.sab-booking .sab-booking-slots{grid-template-columns:1fr}}

.sab-booking .sab-booking-categories{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sab-booking .sab-booking-categories label{display:flex;align-items:center;gap:10px;margin:0;padding:12px;border:1px solid #6a4149;border-radius:4px;cursor:pointer;line-height:1.35;font-size:14px}.sab-booking .sab-booking-categories label:has(input:checked){border-color:#d5aa48;background:#4b1620}.sab-booking [data-individual] p{margin:8px 0}

.sab-booking .sab-booking-layout:has([data-individual]:not([hidden])){grid-template-columns:1fr}

.sab-booking input[type=date]{min-width:0;min-inline-size:0;width:100%;max-width:100%;box-sizing:border-box}.sab-booking input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:1.5em}

/* One full-width time grid; compact hour starts, full duration stays in the summary. */
.sab-booking form>.sab-booking-layout{grid-template-columns:1fr}
.sab-booking .sab-booking-slots{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:8px}
.sab-booking .sab-booking-slots button{min-width:0;min-height:62px;padding:8px 4px;text-align:center;font-size:16px;line-height:1.3;border-left-width:3px}
.sab-booking .sab-booking-slots span{font-size:11px;margin-top:4px;overflow-wrap:anywhere}
.sab-booking [data-summary]{padding:14px 16px;background:#201014;border-radius:6px}
.sab-booking .sab-booking-submit:disabled{opacity:1;background:#3b292d;color:#d8ccce}
@media(max-width:760px){.sab-booking{padding:20px 12px}.sab-booking fieldset{padding:14px 10px}.sab-booking .sab-booking-slots{grid-template-columns:repeat(3,minmax(0,1fr))}.sab-booking .sab-booking-slots button{font-size:14px}}
@media(max-width:330px){.sab-booking .sab-booking-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}

.sab-booking .sab-booking-muted a{text-decoration:underline}
