.booking{flex-direction:column;gap:24px;padding-block:32px 60px;display:flex}.booking__layout{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:24px;display:grid}.booking__main{flex-direction:column;gap:24px;min-width:0;display:flex}.booking__hint{font-size:var(--fs-14);color:var(--color-text-body);margin-top:14px}.booking__hint a,.booking__policy a{color:var(--color-brand);font-weight:600;text-decoration:underline}.booking-packages{border:0;gap:12px;min-width:0;margin:0;padding:0;display:grid}.booking-package{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-white);cursor:pointer;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);align-items:center;gap:14px;padding:16px 18px;display:flex;position:relative}.booking-package input{width:18px;height:18px;accent-color:var(--color-brand);flex:none;margin:0}.booking-package:hover{border-color:var(--color-brand-accent)}.booking-package:has(input:checked){border-color:var(--color-brand);background:var(--color-brand-tint-border)}.booking-package:has(input:focus-visible){box-shadow:0 0 0 3px #6f9e3759}.booking-package__body{min-width:0;font-size:var(--fs-14);color:var(--color-text-body);flex-direction:column;flex:1;gap:2px;line-height:20px;display:flex}.booking-package__body strong{font-size:var(--fs-16);color:var(--color-text)}.booking-package__price{font-size:var(--fs-18);color:var(--color-primary);flex:none;font-weight:700}.booking__slot-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.booking__tz{font-size:var(--fs-13);color:var(--color-text-muted)}.booking-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.booking-day{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-white);font-size:var(--fs-12);color:var(--color-text-body);cursor:pointer;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);flex-direction:column;align-items:center;gap:2px;padding:10px 4px;line-height:16px;display:flex}.booking-day strong{font-size:var(--fs-16);color:var(--color-text);line-height:22px}.booking-day__free{color:var(--color-brand)}.booking-day.is-full .booking-day__free{color:var(--color-text-muted)}.booking-day:hover:not([aria-checked=true]){border-color:var(--color-brand-accent)}.booking-day[aria-checked=true]{border-color:var(--color-brand);background:var(--color-brand);color:var(--color-white)}.booking-day[aria-checked=true] strong,.booking-day[aria-checked=true] .booking-day__free{color:var(--color-white)}.booking-slots{flex-direction:column;gap:16px;margin-top:20px;display:flex}.booking-slots__label{font-size:var(--fs-13);color:var(--color-text-muted);margin-bottom:8px;font-weight:600}.booking-slots__list{flex-wrap:wrap;gap:8px;display:flex}.booking-slot{border:1px solid var(--color-border-control);border-radius:var(--radius-pill);background:var(--color-white);min-width:84px;font-size:var(--fs-14);color:var(--color-text);cursor:pointer;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease), color var(--dur) var(--ease);padding:9px 14px;font-weight:600}.booking-slot:hover:not(:disabled):not([aria-pressed=true]){border-color:var(--color-brand);color:var(--color-brand)}.booking-slot[aria-pressed=true]{border-color:var(--color-brand);background:var(--color-brand);color:var(--color-white)}.booking-slot:disabled{background:var(--color-surface-muted);color:var(--color-text-muted);cursor:not-allowed;border-style:dashed;text-decoration:line-through}.booking__empty{border:1px dashed var(--color-border-control);border-radius:var(--radius-md);background:var(--color-surface-muted);font-size:var(--fs-14);text-align:center;color:var(--color-text-body);padding:24px 16px}.booking-summary{top:calc(var(--header-h) + 16px);flex-direction:column;gap:16px;display:flex;position:sticky}.booking__error{font-size:var(--fs-13);color:var(--color-danger)}.booking__error[hidden]{display:none}.booking__policy{font-size:var(--fs-13);text-align:center;color:var(--color-text-muted);line-height:18px}@media (width<=1023.98px){.booking__layout{grid-template-columns:minmax(0,1fr)}.booking-summary{position:static}}@media (width<=575.98px){.booking{padding-block:16px 40px}.booking-days{scroll-snap-type:x mandatory;padding-bottom:4px;display:flex;overflow-x:auto}.booking-day{scroll-snap-align:start;flex:0 0 76px}.booking-package{flex-wrap:wrap;row-gap:6px}.booking-package__body{flex-basis:calc(100% - 32px)}.booking-package__price{margin-left:32px}}.confirm{justify-content:center;padding-block:56px 72px;display:flex}.confirm-card{border:1px solid var(--color-border-soft);border-radius:var(--radius-xl);background:var(--color-white);width:min(620px,100%);box-shadow:var(--shadow-card);text-align:center;flex-direction:column;align-items:center;gap:16px;padding:40px 36px;display:flex}.confirm-card__icon{background:var(--color-brand);width:72px;height:72px;box-shadow:0 0 0 10px var(--color-brand-tint-border);border-radius:50%;place-items:center;display:grid}.confirm-card__title{font-size:var(--fs-24);color:var(--color-brand);margin-top:8px;font-weight:800;line-height:32px}.confirm-card__lead{max-width:480px;font-size:var(--fs-15);color:var(--color-text-body);line-height:22px}.confirm-card__details{text-align:left;width:100%;margin-top:8px}.confirm-card__details>[hidden]{display:none}.confirm-card__actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:8px;display:flex}.confirm-card__note{font-size:var(--fs-13);color:var(--color-text-muted)}.confirm-card__note a{color:var(--color-brand);font-weight:600;text-decoration:underline}@media (width<=575.98px){.confirm{padding-block:24px 48px}.confirm-card{padding:28px 18px}.confirm-card__actions{flex-direction:column;width:100%}}
