.booking-page{width:min(100%,1120px);color:var(--color-text);grid-template-columns:minmax(0,1fr);align-content:start;gap:20px;margin-inline:auto;padding:32px 24px 64px;display:grid}.booking-page :is(h1,h2,h3,p,ul,dl,dd){margin:0}.booking-page h2{font-size:1.35rem;font-weight:600;line-height:1.3}.booking-page h3{font-size:1.05rem;font-weight:600;line-height:1.3}.booking-page ul{padding:0;list-style:none}.booking-page :is(p,h2,h3,strong,label,dd,span){overflow-wrap:anywhere}.booking-page button{border:1px solid var(--color-accent);border-radius:var(--radius);background:var(--color-accent);min-height:44px;color:var(--color-accent-contrast);padding:8px 18px;font-weight:600}.booking-page button:hover:not(:disabled){border-color:var(--color-accent-hover);background:var(--color-accent-hover)}.booking-page button:disabled{opacity:.45;cursor:not-allowed}.booking-page .booking-secondary{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-text)}.booking-page .booking-secondary:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-subtle)}.booking-page .booking-link{min-height:0;color:var(--color-muted);text-underline-offset:.2em;background:0 0;border:0;padding:2px 0;font-weight:400;text-decoration:underline}.booking-page .booking-link:hover:not(:disabled){color:var(--color-text);background:0 0;border:0}.booking-page .booking-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.booking-page :is(.booking-notice,.booking-demo-email){border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-subtle);padding:12px 16px}.booking-page .booking-notice{font-size:.9rem}.booking-page .booking-error{border:1px solid var(--color-danger);border-radius:var(--radius);background:var(--color-danger-surface);color:var(--color-danger);padding:12px 16px}.booking-page .booking-progress{color:var(--color-muted);flex-wrap:wrap;gap:8px 20px;margin-bottom:12px;padding:0;font-size:.88rem;list-style:none;display:flex}.booking-page .booking-progress li{align-items:center;gap:6px;display:flex}.booking-page .booking-progress .booking-step-number{border:1px solid var(--color-border-strong);border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.booking-page .booking-progress li[aria-current]{color:var(--color-text);font-weight:600}.booking-page .booking-progress li[aria-current] .booking-step-number{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast)}.booking-page .booking-step-count{display:none}.booking-page .booking-fieldset{border:0;min-width:0;margin:0;padding:0}.booking-page .booking-layout{grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:start;gap:40px;display:grid}.booking-page .booking-layout.is-single{grid-template-columns:minmax(0,720px)}.booking-page .booking-content{gap:16px;min-width:0;display:grid}.booking-page :is(.booking-step,form){gap:22px;display:grid}.booking-page .booking-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.booking-page .booking-field label{font-size:.93rem;font-weight:600;display:block}.booking-page input{border-color:var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface)}:is(.booking-page input:user-invalid,.booking-page input[aria-invalid=true]){border-color:var(--color-danger);background:var(--color-danger-surface)}.booking-page .booking-field-error{color:var(--color-danger);margin-top:4px;font-size:.88rem}.booking-page .booking-help{color:var(--color-muted);font-size:.9rem}.booking-page .booking-note{border-left:3px solid var(--color-border-strong);padding-left:10px;font-size:.92rem}.booking-page .booking-options{gap:12px;display:grid}.booking-page .booking-option{border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:14px;padding:18px;display:flex}.booking-page .booking-option.is-selected{border-color:var(--color-accent);background:var(--color-selected)}.booking-page .booking-option input{width:20px;height:20px;min-height:0;accent-color:var(--color-accent);flex:0 0 20px;margin:3px 0 0}.booking-page .booking-option>span{gap:6px;min-width:0;display:grid}.booking-page .booking-option span span{color:var(--color-muted);font-size:.92rem}.booking-page .booking-section-heading{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.booking-page .booking-games{gap:12px;display:grid}.booking-page .booking-game{border:1px solid var(--color-border);border-radius:var(--radius);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px;padding:18px;display:grid}.booking-page .booking-game-info{gap:6px;display:grid}.booking-page .booking-game.is-unavailable{background:var(--color-subtle);color:var(--color-muted)}.booking-page .booking-stepper{justify-items:end;gap:6px;display:grid}.booking-page .booking-stepper-label{color:var(--color-muted);font-size:.85rem}.booking-page .booking-stepper [role=group]{align-items:center;gap:8px;display:flex}.booking-page .booking-stepper button{width:44px;padding:0;font-size:1.2rem}.booking-page .booking-stepper output{font-variant-numeric:tabular-nums;text-align:center;min-width:2ch;font-weight:600}.booking-page .booking-cart{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-subtle);gap:18px;padding:20px;display:grid;position:sticky;top:24px}.booking-page :is(.booking-cart-facts,.booking-cart-group,.booking-summary){gap:10px;display:grid}.booking-page .booking-cart-facts dt{color:var(--color-muted);font-size:.85rem}.booking-page :is(.booking-cart-group,.booking-summary) ul{gap:8px;display:grid}.booking-page :is(.booking-cart-group,.booking-summary) li,.booking-page .booking-prices>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.booking-page .booking-summary{border:1px solid var(--color-border);border-radius:var(--radius);padding:20px}.booking-page .booking-summary li>:last-child{white-space:nowrap}.booking-page .booking-prices{border-top:1px solid var(--color-border);gap:6px;padding-top:14px;display:grid}.booking-page .booking-prices dd{font-variant-numeric:tabular-nums}.booking-page .booking-total{font-size:1.05rem;font-weight:600}.booking-page .booking-demo-email{gap:8px;display:grid}.booking-page .booking-demo-email pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}@media (max-width:800px){.booking-page .booking-layout{grid-template-columns:minmax(0,1fr);gap:28px}.booking-page .booking-cart{position:static}}@media (max-width:600px){.booking-page{padding:24px 16px 40px}.booking-page .booking-grid,.booking-page .booking-game{grid-template-columns:minmax(0,1fr)}.booking-page .booking-game{gap:12px;padding:16px}.booking-page .booking-stepper{justify-items:start}.booking-page .booking-progress li:not([aria-current]),.booking-page .booking-progress .booking-step-number{display:none}.booking-page .booking-step-count{display:inline}.booking-page .booking-progress li{gap:.3em}.booking-page .booking-actions{flex-direction:column;align-items:stretch}}
