.reserve-page{max-inline-size:1120px}.reserve-page .eyebrow:empty{display:none}.reserve-page .page-heading{text-align:center;margin-block-end:32px;margin-inline:auto}.reserve-page .page-heading h1{font-size:clamp(28px,4vw,42px)}.reserve-page .page-heading>p:last-child{margin-block-start:8px;font-size:14px}.booking-flow{padding-block-end:112px}.booking-progress{max-inline-size:520px;margin:0 auto 40px;padding:0;list-style:none;display:flex}.booking-progress li{flex:1;position:relative}.booking-progress li:not(:last-child):after{content:"";inset-inline-start:50%;background:var(--line-strong);z-index:-1;width:100%;height:1px;position:absolute;top:10px}.booking-progress button{inline-size:100%;color:var(--text-3);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:12px;font-size:14px;display:flex}.booking-progress button:disabled{cursor:default}.booking-progress-dot{border:2px solid var(--text-3);background:var(--surface-0);border-radius:50%;place-items:center;width:21px;height:21px;display:grid}.booking-progress [data-state=current] button{color:var(--brand-bright);font-weight:800}.booking-progress [data-state=current] .booking-progress-dot{border-color:var(--brand-bright);background:var(--brand-a12)}.booking-progress [data-state=complete] .booking-progress-dot{color:#fff;border-color:var(--brand-bright);background:var(--brand-bright)}.booking-flow-body{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:48px;display:grid}.booking-flow-main{min-inline-size:0}.booking-step-title{margin-block-end:24px}.booking-step-title h2{scroll-margin-top:24px;font-size:22px;font-weight:900;line-height:1.8}.booking-step-title p{margin-block-start:6px;font-size:14px;line-height:1.9}.booking-step-title .text-link{margin-block-end:12px}.booking-date-toolbar{justify-content:space-between;align-items:center;margin-block-end:16px;font-size:14px;display:flex}.booking-date-toolbar>div{gap:8px;display:flex}.booking-date-strip{overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin;gap:10px;padding:4px 2px 12px;display:flex;overflow-x:auto}.booking-date-strip button{background:var(--surface-1);border:1px solid var(--line-strong);color:var(--text-2);cursor:pointer;scroll-snap-align:start;font:inherit;border-radius:16px;flex-direction:column;flex:0 0 94px;align-items:center;gap:5px;padding:14px 6px;display:flex}.booking-date-strip button strong{color:var(--text-1);font-size:25px;font-weight:900}.booking-date-strip button>span{font-size:13px}.booking-date-strip small{color:var(--text-3);font-size:11px}.booking-date-strip button.selected{color:var(--brand-bright);background:var(--brand-a12);border-color:var(--brand-bright)}.booking-date-strip button.selected small{color:var(--brand-bright)}.booking-date-disclosure{color:var(--text-2);margin-block:8px 24px;font-size:13px}.booking-date-disclosure summary,.booking-optionals summary{cursor:pointer;padding-block:12px}.booking-date-disclosure .date-jump{max-inline-size:300px;margin-block-start:8px}.booking-time-title{border-block-start:1px solid var(--line);margin-block-end:18px;padding-block-start:24px}.booking-time-title h3{font-size:20px;font-weight:800}.booking-time-title p{margin-block-start:5px;font-size:13px}.booking-flow .time-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.booking-flow .time-slot{background:var(--surface-1);border:1px solid var(--line-strong);min-block-size:76px;color:var(--text-1);border-radius:14px;padding:14px 12px;position:relative}.booking-flow .time-slot>span{font-size:18px;font-weight:800}.booking-flow .time-slot small{color:var(--text-3);font-size:12px}.booking-flow .time-slot.selected:not(:disabled){border-color:var(--brand-bright);background:var(--brand-a12)}.booking-flow .time-slot.selected:not(:disabled) small{color:var(--brand-bright)}.booking-flow .time-slot>svg{inset-inline-end:12px;color:var(--brand-bright);position:absolute;top:12px}.booking-flow .time-slot:disabled{opacity:.42;cursor:not-allowed}.booking-next-days{margin:24px auto 0;font-size:14px;display:flex}.booking-flow-summary{border-inline-start:1px solid var(--line);padding-inline-start:24px;position:sticky;top:24px}.booking-flow-summary h2{margin-block-end:20px;font-size:18px;font-weight:900}.booking-flow-summary .summary-lines{font-size:14px}.booking-flow-summary .summary-lines>div{align-items:start;gap:12px}.booking-flow-summary .summary-total{flex-direction:column;align-items:start;display:flex}.booking-flow-summary>p{align-items:center;gap:6px;margin-block-start:20px;font-size:12px;line-height:1.9;display:flex}.booking-player-choice{border:0;margin-block:24px;padding:0}.booking-player-choice legend{margin-block-end:16px;font-size:15px;font-weight:800}.booking-player-choice>div{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.booking-player-choice button{border:1px solid var(--line-strong);background:var(--surface-1);color:var(--text-2);cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:18px 8px;display:flex}.booking-player-choice button strong{color:var(--text-1);font-size:24px}.booking-player-choice button.selected{background:var(--brand-a12);border-color:var(--brand-bright);color:var(--brand-bright)}.booking-player-choice>p{margin-block-start:16px;font-size:13px;line-height:2}.booking-optionals{border-block-start:1px solid var(--line);margin-block-start:32px;font-size:14px}.booking-optionals summary span{margin-inline-start:8px;font-size:12px}.booking-optional-fields{gap:24px;margin-block-start:16px;display:grid}.booking-optional-fields label{gap:8px;line-height:1.9;display:grid}.booking-payment-fields{gap:24px;display:grid}.booking-payment-fields>label{gap:8px;line-height:1.9;display:grid}.booking-payment-fields .payment-options{margin:0}.booking-payment-fields .payment-options>label{padding:16px 12px}.booking-continue-bar{z-index:25;border:1px solid var(--line-strong);background:var(--surface-1);box-shadow:var(--shadow-lg);border-radius:20px;align-items:center;gap:24px;margin-block-start:36px;padding:18px 24px;display:flex;position:sticky;bottom:16px}.booking-continue-selection,.booking-continue-price{gap:4px;font-size:14px;display:grid}.booking-continue-selection span,.booking-continue-price>span{color:var(--text-3);font-size:12px}.booking-continue-price{margin-inline-start:auto}.booking-continue-bar .button{min-inline-size:150px}.booking-flow button:focus-visible,.booking-flow summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media (min-width:851px){.reserve-page .page-heading{margin-block-end:18px}.reserve-page .page-heading h1{font-size:32px}.booking-progress{margin-block-end:24px}.booking-step-title{margin-block-end:14px}.booking-date-toolbar{margin-block-end:8px}.booking-date-strip button{flex-basis:82px;gap:3px;padding-block:10px}.booking-time-title{margin-block-end:12px;padding-block-start:16px}}@media (max-width:850px){.reserve-page{padding-block-end:160px}.booking-flow{padding-block-end:48px}.booking-flow-body{display:block}.booking-flow-summary{display:none}.booking-progress{margin-block-end:18px}.reserve-page .page-heading{margin-block-end:22px}.booking-flow[data-step="0"] .booking-step-title p{display:none}.booking-flow[data-step="0"] .booking-step-title{margin-block-end:12px}.booking-flow .time-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-continue-bar{inset-inline:0;bottom:calc(78px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;gap:12px;margin:0;padding:14px 16px;position:fixed}.booking-continue-selection{font-size:13px}.booking-continue-selection span{max-inline-size:110px;font-size:11px}.booking-continue-price{font-size:12px}.booking-continue-price strong{max-inline-size:110px;line-height:1.7}.booking-continue-bar .button{min-inline-size:90px;padding-inline:12px;font-size:13px}.booking-date-strip button{flex-basis:62px;padding-block:8px;line-height:1.3}.booking-date-strip small{display:none}.booking-date-strip button{gap:3px}.booking-date-strip button>span:first-child{white-space:nowrap;text-overflow:ellipsis;max-inline-size:100%;font-size:11px;overflow:hidden}.booking-step-title h2{font-size:20px}.booking-step-title p{font-size:13px}.booking-time-title{margin-block-end:12px;padding-block-start:16px}.booking-time-title h3{line-height:1.5}.booking-flow .time-slot{min-block-size:60px;padding-block:10px}.booking-flow .time-slot small{display:none}.booking-flow .time-slot:disabled small{display:block}.booking-player-choice>div{gap:6px}.booking-player-choice button{padding-inline:5px}.booking-player-choice button span{font-size:12px}}@media (prefers-reduced-motion:reduce){.booking-flow *,.booking-flow :after{scroll-behavior:auto;transition:none}}
