.booking__inner{scroll-margin-top:clamp(1.5rem,4vh,2.5rem)}.booking__header{display:grid;gap:1rem;justify-items:center;text-align:center}.booking__header .lead{max-width:30rem}.booking__mount{margin-top:clamp(2rem,5vw,3rem)}.booking__nojs{margin-top:1.5rem;text-align:center}.booking__panel{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.booking__form{display:grid;gap:clamp(1rem,2.5vw,1.5rem)}.booking__body{display:grid;min-width:0;--calendar-share: 66%;--step-marker-space: 1.9rem}.booking__picker{display:grid;min-height:0}.booking__photo{position:relative;overflow:hidden;aspect-ratio:16 / 9;background:var(--bg-deep);border:1px solid var(--line-strong);border-radius:var(--radius-lg)}.booking__photo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.04) brightness(.98)}.booking__photo-label{position:absolute;inset-inline:0;inset-block-end:0;display:grid;gap:.35rem;padding:3.5rem clamp(1rem,3vw,1.5rem) clamp(1rem,2.5vw,1.35rem);background:linear-gradient(to top,var(--scrim-bottom),transparent)}.booking__photo-city{font-family:var(--font-display);font-size:clamp(1.25rem,2.2vw,1.625rem);font-weight:var(--disp-weight);text-transform:uppercase;letter-spacing:var(--tracking-label);line-height:1;color:var(--ink)}.booking__photo-address{display:flex;align-items:center;gap:.4rem;font-size:var(--fs-small);color:var(--ink-dim)}.booking__photo-pin{flex:none;width:1.4rem;height:1.4rem;color:var(--muted)}@media(min-width:1000px){.booking__form{grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);align-items:stretch}.booking__photo{aspect-ratio:auto}}.booking__calendar{padding:clamp(1.1rem,3vw,1.5rem)}.booking__hours{display:flex;flex-direction:column;min-height:0;padding:clamp(1.1rem,3vw,1.5rem);border-top:1px solid var(--line)}.booking__details{display:grid;gap:1rem;padding:clamp(1.1rem,3vw,1.5rem);border-top:1px solid var(--line)}.booking__steps{position:absolute;inset-block-start:0;inset-inline-end:0;z-index:1;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:flex-end;gap:.5rem 1rem;padding:clamp(1.1rem,3vw,1.5rem)}.booking__step{grid-row:1;grid-column:1;transition:opacity var(--dur) var(--ease-out),transform var(--dur) var(--ease-out)}.booking__step:not([data-active]){visibility:hidden;opacity:0;transform:translateY(8px)}@media(prefers-reduced-motion:reduce){.booking__step,.booking__step:not([data-active]){transition:none;transform:none}}.booking__step-name{font-family:var(--font-display);font-size:var(--fs-small);font-weight:600;letter-spacing:.02em;color:var(--ink)}.booking__step-name:focus{outline:none}.booking__step-count{font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:var(--tracking-label);font-variant-numeric:tabular-nums;color:var(--muted)}.booking__summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:clamp(1.1rem,3vw,1.5rem)}.booking__summary-list{display:flex;flex-wrap:wrap;gap:.9rem 2rem;margin:0}.booking__summary-item{display:grid;gap:.2rem}.booking__summary-item dt{font-size:var(--fs-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--muted)}.booking__summary-item dd{margin:0;font-size:var(--fs-body);font-variant-numeric:tabular-nums;color:var(--ink)}.booking__summary-edit{padding:.5rem 1rem}.booking__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}@media(min-width:720px){.booking__picker{grid-template-columns:var(--calendar-share) minmax(0,1fr)}.booking__hours{overflow:hidden;contain:size;border-top:0;border-left:1px solid var(--line);padding-block-start:calc(clamp(1.1rem,3vw,1.5rem) + var(--step-marker-space))}.booking__hours-list{flex:1 1 auto;max-height:none}.booking__summary{padding-block-start:calc(clamp(1.1rem,3vw,1.5rem) + var(--step-marker-space))}.booking__details{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}.booking__actions{grid-column:1 / -1}.booking__details--decide{grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:clamp(1rem,2vw,1.5rem)}.booking__details--decide .booking__actions{grid-column:2;align-self:end}.booking__details--pay .booking__actions{justify-content:flex-end}}.booking__month{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;margin-bottom:.9rem}.booking__month-label{font-family:var(--font-display);font-size:var(--fs-small);font-weight:600;text-align:center;text-transform:capitalize;letter-spacing:.02em;color:var(--ink)}.booking__month-step{display:grid;place-items:center;width:2rem;height:2rem;font:inherit;font-size:1.35rem;line-height:1;color:var(--muted);background:transparent;border:0;border-radius:var(--radius-pill);transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.booking__month-step:hover:not(:disabled){background:var(--veil);color:var(--ink)}.booking__month-step:disabled{color:var(--faint)}.booking__weekdays,.booking__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.booking__weekdays{margin-bottom:.35rem}.booking__weekdays span{padding-block:.25rem;font-size:var(--fs-micro);text-align:center;text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--faint)}.booking__day{display:grid;place-items:center;aspect-ratio:1 / .72;font:inherit;font-size:var(--fs-small);font-variant-numeric:tabular-nums;color:var(--ink);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.booking__day:hover:not(.is-on):not(:disabled){background:var(--veil);border-color:var(--line-strong)}.booking__day.is-outside,.booking__day:disabled{color:var(--faint)}.booking__day:disabled{cursor:not-allowed}.booking__day.is-on{background:var(--ink);border-color:var(--ink);color:var(--bg);font-weight:600}.booking__day.is-on:hover:not(:disabled){background:#fff;border-color:#fff}.booking__hours-title{margin-bottom:.85rem;font-family:var(--font-display);font-size:var(--fs-small);font-weight:600;letter-spacing:.02em;color:var(--ink)}.booking__hours-list{display:grid;gap:.4rem;min-height:0;overflow-y:auto;overscroll-behavior:contain;align-content:start;padding-inline:.25rem;scroll-padding-block-end:.4rem;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.booking__hours-list::-webkit-scrollbar{width:8px}.booking__hours-list::-webkit-scrollbar-track{background:transparent}.booking__hours-list::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:var(--radius-pill)}.booking__hours-list::-webkit-scrollbar-thumb:hover{background:var(--ink-dim)}.booking__slots{display:grid;gap:.4rem;align-content:start;padding-block-end:.4rem}.booking__slot{position:relative;display:block}.booking__slot-input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.booking__slot-face{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.55rem .7rem;font-size:var(--fs-small);color:var(--ink);background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--radius);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.booking__slot-time{font-weight:600;font-variant-numeric:tabular-nums}.booking__slot-free{font-size:var(--fs-micro);letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--muted)}.booking__slot-input:checked+.booking__slot-face .booking__slot-free{color:var(--bg);opacity:.72}.booking__slot-input:disabled+.booking__slot-face .booking__slot-free{color:var(--faint)}.booking__slot-input:hover:not(:checked)+.booking__slot-face{background:var(--surface-2);border-color:var(--ink-dim)}.booking__slot-input:focus-visible+.booking__slot-face{outline:2px solid var(--ink);outline-offset:2px}.booking__slot-input:checked+.booking__slot-face{background:var(--ink);border-color:var(--ink);color:var(--bg)}.booking__slot-input:checked:hover+.booking__slot-face{background:#fff;border-color:#fff}.booking__slot-input:disabled{cursor:not-allowed}.booking__slot-input:disabled+.booking__slot-face{color:var(--faint);border-color:var(--line)}.booking__skeleton{pointer-events:none}.booking__skeleton-bar{display:inline-block;color:transparent;background:var(--veil);border-radius:var(--radius-sm)}.booking__skeleton-bar--time{inline-size:3.2rem}.booking__skeleton-bar--free{inline-size:1.5rem}@media(prefers-reduced-motion:no-preference){.booking__skeleton-bar{animation:booking-skeleton-pulse 1.4s ease-in-out infinite}}@keyframes booking-skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}.booking__field{display:grid;gap:.45rem}.booking__label{display:block;padding:0;font-family:var(--font-display);font-size:var(--fs-label);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--muted)}.booking__input{width:100%;color-scheme:dark;font:inherit;font-size:var(--fs-body);color:var(--ink);background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--radius);padding:.8rem .9rem;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.booking__input:hover{border-color:var(--ink-dim)}.booking__input::placeholder{color:var(--faint);opacity:1}.booking__input[aria-invalid=true]{border-color:var(--ink)}.booking__people{justify-self:start;display:flex;align-items:center;gap:.65rem}.booking__stepper{display:flex;align-items:stretch;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--bg);transition:border-color var(--dur-fast) var(--ease-out)}.booking__stepper:hover{border-color:var(--ink-dim)}.booking__stepper-icon{display:grid;place-items:center;color:var(--ink-dim)}.booking__stepper-icon svg{width:2rem;height:2rem}.booking__stepper-step{width:2.75rem;font:inherit;font-size:1.05rem;line-height:1;color:var(--ink);background:transparent;border:0;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.booking__stepper-step:hover:not(:disabled){background:var(--veil)}.booking__stepper-step:disabled{color:var(--faint)}.booking__stepper-value{display:grid;place-items:center;min-width:2.5rem;padding-block:.8rem;font-variant-numeric:tabular-nums;font-weight:600;color:var(--ink);border-inline:1px solid var(--line)}.booking__submit{justify-self:start}.booking__submit:disabled{opacity:.4}.booking__hint{font-size:var(--fs-small);color:var(--muted)}.booking__retry{margin-top:.75rem;padding:.5rem 1rem}.booking__error{font-size:var(--fs-small);color:var(--ink)}.booking__error--form{grid-row:2;padding:clamp(1.1rem,3vw,1.5rem);border-top:1px solid var(--line)}@media(max-width:719px){.section.booking{padding-block:clamp(1.75rem,5vh,3rem)}.booking__mount{margin-top:1.25rem}.booking__step-count{display:none}.booking__hours-list{height:min(26vh,9.75rem)}.booking__day{aspect-ratio:1 / .85}.booking__people{justify-self:stretch;justify-content:space-between}.booking__details--decide .booking__submit,.booking__details--pay .booking__submit{width:100%}}
