.booking-section{padding-block:clamp(2.5rem,4vw,4.5rem)}.booking-paused{align-content:center;justify-items:start;gap:1.25rem;max-width:48rem;min-height:min(34rem,65vh);display:grid}.booking-paused h1{max-width:14ch;margin:0;font-size:clamp(2.8rem,7vw,5.25rem)}.booking-paused>p:not(.eyebrow){max-width:42rem;color:var(--muted);margin:0 0 .5rem;font-size:clamp(1rem,2vw,1.2rem);line-height:1.65}.booking-layout{grid-template-columns:minmax(0,.82fr) minmax(34rem,1.18fr);align-items:start;gap:clamp(2rem,4vw,4.5rem);display:grid}.booking-intro{align-self:start}.booking-intro .section-heading{margin-bottom:2.5rem}.booking-panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);min-width:0;box-shadow:var(--shadow);gap:1.35rem;padding:clamp(1.25rem,2.25vw,1.75rem);display:grid}.booking-flow{gap:1.35rem;min-width:0;display:grid}.booking-flow[hidden]{display:none}.booking-panel__heading{padding:.25rem .2rem .6rem}.booking-panel__heading h1{margin-bottom:.45rem;font-size:clamp(2rem,3vw,2.5rem)}.booking-panel__heading p:last-child{color:var(--muted);margin:0;font-size:.92rem}.booking-choice{border:0;min-width:0;margin:0;padding:0}.booking-choice legend,.booking-step-heading{color:var(--burgundy);align-items:center;gap:.7rem;font-size:.86rem;font-weight:700;display:flex}.booking-choice legend{margin-bottom:.65rem}.booking-choice--continuation legend{color:var(--muted)}.booking-choice legend>span,.booking-step-heading>span{width:2rem;height:2rem;color:var(--white);background:var(--burgundy);border-radius:50%;flex:none;place-items:center;font-size:.72rem;display:inline-grid}.booking-choice__grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:.65rem;display:grid}.booking-choice-card{cursor:pointer;min-width:0;height:100%;display:block;position:relative}.booking-choice-card input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.booking-choice-card>span{box-sizing:border-box;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--cream);align-content:center;gap:.12rem;height:100%;min-height:4.75rem;padding:.85rem 1rem;transition:border-color .16s,background .16s,box-shadow .16s;display:grid}.booking-choice-card strong{color:var(--burgundy);font-size:.9rem}.booking-choice-card small{color:var(--muted);font-size:.76rem}.booking-choice-card input:checked+span{border-color:var(--burgundy);background:var(--pink-soft);box-shadow:inset 0 0 0 1px var(--burgundy)}.booking-choice-card:has(input:focus-visible){border-radius:var(--radius-sm);outline:3px solid var(--burgundy);outline-offset:3px}.booking-summary{border-left:3px solid var(--burgundy);border-radius:var(--radius-sm);background:var(--yellow);padding:1rem}.booking-summary>p{min-height:2.8em;color:var(--muted);margin-bottom:.8rem;font-size:.84rem}.booking-summary dl{grid-template-columns:.7fr .7fr 1.6fr;gap:.75rem;margin:0;display:grid}.booking-summary dl>div{min-width:0}.booking-summary dl>div:last-child{border-top:1px solid color-mix(in srgb, var(--burgundy) 22%, transparent);grid-column:1/-1;padding-top:.7rem}.booking-summary dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.65rem;font-weight:700}.booking-summary dd{overflow-wrap:anywhere;margin:0;font-size:.78rem;font-weight:650}.booking-summary__location{align-items:center;gap:.35rem;display:flex}.booking-summary__location a{color:var(--burgundy);text-underline-offset:.18em;font-weight:700;text-decoration-thickness:.08em}.booking-location-icon{width:1.15rem;height:1.15rem;color:var(--burgundy);flex:0 0 1.15rem;display:inline-flex}.booking-location-icon[hidden]{display:none}.booking-location-icon svg{width:100%;height:100%;display:block}.booking-availability,.booking-form{border-top:1px solid var(--line);min-width:0;padding-top:1.25rem}.booking-step-heading{align-items:flex-start;margin-bottom:.8rem}.booking-step-heading h2{font-family:var(--font-body);letter-spacing:-.02em;margin:.15rem 0 .1rem;font-size:1.05rem}.booking-step-heading p{color:var(--muted);margin:0;font-size:.76rem;font-weight:400}.booking-status,.booking-submit-status{min-height:1.6rem;color:var(--muted);margin-bottom:.5rem;font-size:.8rem}.booking-status:empty{min-height:0;margin:0}.booking-results{min-width:0}.booking-week{width:100%;min-width:0;max-width:100%}.booking-results[data-state=loading]{min-block-size:var(--booking-results-loading-height,10rem);block-size:var(--booking-results-loading-height,10rem);overflow:hidden}.booking-results[data-state=loading] .booking-status{text-align:center;place-items:center;min-height:6rem;margin:0;display:grid}.booking-status.is-error,.booking-submit-status.is-error,.booking-form__error{color:#9b2432}.booking-week-toolbar{grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;align-items:center;gap:.65rem;margin-bottom:.7rem;display:grid}.booking-week-toolbar>button{width:2.75rem;height:2.75rem;color:var(--burgundy);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;transition:background .16s;display:grid}.booking-week-toolbar>button:hover:not(:disabled){background:var(--pink-soft)}.booking-week-toolbar>button:disabled{cursor:default;opacity:.35}.booking-week-toolbar>div{text-align:center;justify-content:center;align-items:center;gap:.65rem;min-width:0;display:flex}.booking-week-toolbar strong{color:var(--burgundy);font-size:.85rem}.booking-week--desktop{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;display:grid}.booking-week-day{min-width:0;padding:.5rem .15rem .65rem}.booking-week-day h4{min-height:3rem;color:var(--burgundy);font-family:var(--font-body);text-align:center;align-content:start;margin:0 0 .55rem;font-size:.76rem;display:grid}.booking-week-day h4 small{color:var(--muted);font-size:.64rem;font-weight:500}.booking-week-day.is-today h4 small{width:fit-content;color:var(--burgundy);border:1px solid #64303d6b;border-radius:999px;margin-inline:auto;padding:.05rem .4rem}.booking-week-day__slots{gap:.35rem;display:grid}.booking-week-day__empty{min-height:2.35rem;color:var(--muted);opacity:.48;text-align:center;margin:.2rem 0;font-size:.9rem;line-height:1.35}.booking-slot,.booking-action{border:1px solid var(--burgundy);min-height:2.8rem;color:var(--burgundy);background:var(--white);cursor:pointer;border-radius:999px;font-size:.8rem;font-weight:700}.booking-week-day .booking-slot{width:100%;min-height:2.35rem;padding-inline:.2rem;font-size:.7rem}.booking-slot:hover,.booking-slot.is-selected{color:var(--white);background:var(--burgundy)}.booking-action{width:100%;color:var(--white);background:var(--burgundy);padding:.7rem 1rem}.booking-action--secondary{color:var(--burgundy);background:var(--white);margin-top:1rem}.booking-week-detail{border-radius:var(--radius-sm);background:0 0;border:0;margin-top:.65rem;padding:.85rem 0}.booking-week-detail h4{color:var(--burgundy);font-family:var(--font-body);margin:0 0 .65rem;font-size:.8rem}.booking-week-detail__slots{grid-template-columns:minmax(5.5rem,7rem);justify-content:start;gap:.45rem;display:grid}.booking-nearest{justify-content:space-between;align-items:center;gap:1rem;margin-top:.8rem;padding:.8rem 0;display:flex}.booking-nearest[hidden]{display:none}.booking-nearest p{color:var(--muted);margin:0;font-size:.76rem}.booking-nearest .booking-action{width:auto;min-height:2.75rem;color:var(--burgundy);text-underline-offset:.2em;background:0 0;border:0;border-radius:0;flex:none;margin:0;padding:.35rem 0;text-decoration:underline}.booking-nearest .booking-action:hover:not(:disabled){color:var(--burgundy-dark);background:0 0}.booking-results[data-state=empty] .booking-week-day{padding-bottom:0}.booking-results[data-state=empty] .booking-week-day h4{min-height:auto;margin-bottom:0}.booking-results[data-state=empty] .booking-nearest{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;min-height:4.5rem;margin-top:.5rem}.booking-results[data-state=empty] .booking-nearest p{max-width:34rem}.booking-action:hover:not(:disabled){background:var(--burgundy-dark)}.booking-action--secondary:hover:not(:disabled){color:var(--white)}.booking-action:disabled{cursor:wait;opacity:.55}.booking-fallback,.booking-noscript{border-radius:var(--radius-sm);background:var(--pink-soft);margin-top:.8rem;padding:.9rem 1rem;font-size:.78rem}.booking-fallback p,.booking-noscript p{color:var(--muted);margin-bottom:.25rem}.booking-fallback a,.booking-noscript a{color:var(--burgundy);font-weight:700}.booking-form{gap:.9rem;scroll-margin-top:6rem;display:grid}.booking-form[hidden]{display:none}.booking-form__field{gap:.3rem;display:grid}.booking-form__field label{color:var(--burgundy);font-size:.8rem;font-weight:700}.booking-form__field label span{color:var(--muted);font-weight:400}.booking-form__field input{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;min-height:3rem;color:var(--ink);background:var(--cream);padding:.7rem .85rem}.booking-form__field input:focus{border-color:var(--burgundy)}.booking-form__error{min-height:.2rem;margin:0;font-size:.72rem}.booking-invoice{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--cream);gap:.9rem;padding:1rem;display:grid}.booking-invoice[hidden],.booking-invoice__fields[hidden],.booking-payment-note[hidden]{display:none}.booking-invoice__toggle{color:var(--muted);cursor:pointer;grid-template-columns:1.25rem minmax(0,1fr);align-items:start;gap:.6rem;font-size:.76rem;display:grid}.booking-invoice__toggle input{width:1.1rem;height:1.1rem;accent-color:var(--burgundy);margin-top:.2rem}.booking-invoice__toggle strong{color:var(--burgundy);margin-bottom:.1rem;font-size:.82rem;display:block}.booking-invoice__fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.booking-form__field--wide{grid-column:1/-1}.booking-payment-note{border-left:2px solid var(--burgundy);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--burgundy);background:var(--yellow);margin:0;padding:.85rem 1rem;font-size:.78rem}.booking-consents{gap:.65rem;display:grid}.booking-consents label{cursor:pointer;grid-template-columns:1.25rem minmax(0,1fr);align-items:start;gap:.55rem;font-size:.76rem;display:grid}.booking-consents label[hidden]{display:none}.booking-consents input{width:1.1rem;height:1.1rem;accent-color:var(--burgundy);margin-top:.2rem}.booking-consents a{color:var(--burgundy);font-weight:650}.booking-turnstile:empty{display:none}.booking-confirmation{border-radius:var(--radius-md);background:var(--pink-soft);text-align:center;min-height:31rem;padding:clamp(2rem,4vw,3.5rem);scroll-margin-top:6rem}.booking-confirmation:not([hidden]){align-content:center;justify-items:center;display:grid}.booking-confirmation__icon{width:3rem;height:3rem;color:var(--white);background:var(--success);border-radius:50%;place-items:center;margin-bottom:.7rem;font-size:1.35rem;font-weight:700;display:inline-grid}.booking-confirmation .eyebrow{margin-bottom:.6rem}.booking-confirmation h2{max-width:12ch;margin-bottom:.65rem;font-size:clamp(2.35rem,4vw,3.5rem)}.booking-confirmation__lead{color:var(--muted);margin-bottom:1.5rem}.booking-confirmation__details{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--cream);text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;width:min(100%,34rem);margin:0 0 1.5rem;padding:1rem;display:grid}.booking-confirmation__details div{min-width:0}.booking-confirmation__details dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.65rem;font-weight:700}.booking-confirmation__details dd{overflow-wrap:anywhere;margin:0;font-size:.78rem;font-weight:650}.booking-confirmation__email,.booking-confirmation__note{max-width:34rem;color:var(--muted);margin-bottom:.35rem;font-size:.82rem}.booking-confirmation__note{margin-bottom:0}.booking-return-section{place-items:center;min-height:min(44rem,100svh - 8rem);display:grid}.booking-return-card{border-radius:var(--radius-md);background:var(--pink-soft);text-align:center;justify-items:center;padding:clamp(2rem,6vw,4.5rem);display:grid}.booking-return-card h1{max-width:13ch;margin-bottom:.8rem}.booking-return-card p{max-width:40rem;color:var(--muted)}.booking-return-card__lead{font-size:clamp(1.05rem,2vw,1.25rem);font-weight:650;color:var(--burgundy)!important}.booking-return-card .button-link{margin-top:.8rem}.booking-noscript ul{margin:.5rem 0 0;padding-left:1.2rem}.booking-panel__contact{border-radius:var(--radius-sm);background:var(--pink-soft);justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem;display:flex}.booking-panel__contact strong{color:var(--burgundy);display:block}.booking-panel__contact p{color:var(--muted);margin:0;font-size:.82rem}.booking-panel__contact .button-link{flex:none}@media (width<1100px){.booking-week--mobile{margin-inline:0}.booking-week-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;padding:.15rem 0 .45rem;display:grid}.booking-week-strip__day{min-width:0;min-height:4.5rem;color:var(--burgundy);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.5rem;align-content:center;padding:.45rem .1rem;line-height:1.25;display:grid}.booking-week-strip__day.is-active{color:var(--burgundy-dark);background:linear-gradient(transparent calc(100% - 2px), var(--burgundy) 0);box-shadow:none}.booking-week-strip__day:disabled{color:var(--muted);cursor:default;opacity:.46}.booking-week-strip__day span{text-overflow:ellipsis;font-size:.68rem;font-weight:700;overflow:hidden}.booking-week-strip__day strong{font-size:.78rem}.booking-week-strip__day.is-today{border:1px solid #64303d6b}}@media (width<=800px){.booking-layout{grid-template-columns:1fr}.booking-section{padding-block:1rem 2.5rem}.booking-intro{display:none}.booking-panel{border-radius:var(--radius-md);gap:1rem;padding:1rem}.booking-flow{gap:1rem}.booking-panel__heading{padding:.1rem 0 .35rem}.booking-panel__heading h1{font-size:clamp(1.9rem,9vw,2.35rem)}.booking-panel__heading p:last-child{font-size:.9rem;line-height:1.5}}@media (width<=560px){.booking-section .container{width:min(calc(100% - 1.25rem), var(--container))}.booking-panel__contact{flex-direction:column;align-items:stretch}.booking-panel__contact .button-link{width:100%}.booking-confirmation__details{grid-template-columns:1fr}.booking-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-summary dl>div:last-child{grid-column:1/-1}.booking-choice-card>span{min-height:5rem;padding:.75rem}.booking-choice-card small{font-size:.8rem}.booking-summary>p{min-height:0;font-size:.88rem;line-height:1.5}.booking-week-strip{gap:2px}.booking-week-strip__day{min-width:0;min-height:4.25rem;padding:.35rem .05rem}.booking-week-strip__day span{font-size:.66rem}.booking-week-strip__day strong{font-size:.76rem}.booking-slot,.booking-action{min-height:3rem;font-size:.9rem}.booking-form__field label{font-size:.9rem}.booking-invoice__fields{grid-template-columns:1fr}.booking-form__field--wide{grid-column:auto}.booking-invoice__toggle,.booking-payment-note,.booking-consents label{font-size:.85rem}.booking-week-toolbar>div{flex-direction:column;gap:.15rem}.booking-week-toolbar strong{font-size:.76rem}.booking-nearest{flex-direction:column;align-items:flex-start;gap:.25rem}}@media (width<=340px){.booking-choice__grid{grid-template-columns:1fr}}
