.booking-picker{padding:clamp(22px,3vw,38px)!important}
.booking-picker__heading{margin-bottom:25px}
.booking-picker__heading .section-kicker{margin-bottom:11px;font-size:.7rem;letter-spacing:.12em}
.booking-picker__heading h2{margin:0 0 7px;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.16;letter-spacing:-.035em}
.booking-picker__heading p{margin:0;color:#505968;font-size:.94rem;line-height:1.5}
.booking-picker__heading p span{margin:0 3px;color:#9ba3af}
.booking-picker__layout{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.3fr);gap:18px;align-items:stretch}
.booking-picker__calendar,.booking-picker__availability{min-width:0;border:1px solid #dfe3e9;border-radius:15px;background:#fff;padding:22px}
.booking-picker__month{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:8px;margin-bottom:17px}
.booking-picker__month h3{margin:0;text-align:center;text-transform:capitalize;font-size:1.1rem;line-height:1.3;letter-spacing:-.025em}
.booking-picker__arrow{width:36px;height:36px;border:1px solid #dfe3e9;border-radius:9px;background:#fff;color:#242a34;font-size:1.55rem;line-height:1;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease}
.booking-picker__arrow:hover:not(:disabled),.booking-picker__arrow:focus-visible{border-color:#e00000;background:#fff4f3;color:#c90500}
.booking-picker__arrow:disabled{opacity:.32;cursor:not-allowed}
.booking-picker__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;align-items:center;text-align:center}
.booking-picker__weekday{padding:6px 0 9px;color:#667184;font-size:.67rem;font-weight:750;letter-spacing:.04em}
.booking-picker__day{display:grid;place-items:center;min-height:40px;border:1px solid transparent;border-radius:9px;background:transparent;color:#1d2430;font-size:.87rem;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}
.booking-picker__day:hover:not(:disabled){border-color:#f1b7b3;background:#fff6f5;color:#bb0903}
.booking-picker__day[aria-pressed='true'],.booking-picker__day[aria-pressed='true']:hover{border-color:#d90600;background:#d90600;color:#fff;font-weight:780}
.booking-picker__day:disabled{color:#aeb5c0;cursor:not-allowed}
.booking-picker__availability h3{display:flex;align-items:center;gap:11px;margin:0 0 22px;padding-bottom:17px;border-bottom:1px solid #e5e8ed;font-size:1.05rem;line-height:1.3;letter-spacing:-.02em;text-transform:capitalize}
.booking-picker__date-icon{display:grid;flex:0 0 36px;width:36px;height:36px;place-items:center;border:1px solid #e5e8ed;border-radius:9px;color:#d90600}
.booking-picker__period+.booking-picker__period{margin-top:23px;padding-top:20px;border-top:1px solid #e5e8ed}
.booking-picker__period h4{display:flex;align-items:center;gap:9px;margin:0 0 13px;font-size:.92rem;line-height:1.3}
.booking-picker__period-icon{display:grid;width:24px;height:24px;place-items:center;color:#d90600;font-size:1.3rem;font-weight:450}
.booking-picker__times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.booking-picker__time{min-height:42px;border:1px solid #dce1e8;border-radius:9px;background:#fff;color:#202633;font:inherit;font-size:.87rem;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}
.booking-picker__time:hover{border-color:#df4a43;background:#fff7f6}
.booking-picker__time[aria-pressed='true']{border-color:#d90600;background:#fff0ef;color:#b70600;box-shadow:inset 0 0 0 1px #d90600;font-weight:750}
.booking-picker__time:focus-visible,.booking-picker__day:focus-visible,.booking-picker__arrow:focus-visible{outline:2px solid #c90500;outline-offset:2px}
.booking-picker__status{margin:12px 0;color:#667184;font-size:.9rem}
.booking-picker__empty{display:flex;align-items:flex-start;gap:12px;margin-top:9px;border:1px solid #e6e8ed;border-radius:11px;background:#fafbfc;padding:18px;color:#596577}
.booking-picker__empty svg{flex:0 0 auto;color:#9aa5b4}
.booking-picker__empty strong{color:#222936;font-size:.9rem}
.booking-picker__empty p{margin:4px 0 0;font-size:.84rem;line-height:1.4}
.booking-picker__note{display:flex;align-items:flex-start;gap:9px;margin:21px 0 0;color:#677284;font-size:.82rem;line-height:1.55}
.booking-picker__note span{color:#78859a;font-size:1rem;line-height:1.25}
.booking-picker__actions{margin-top:22px;padding-top:20px;border-top:1px solid #e5e8ed}
.booking-picker__actions .button{min-height:43px;font-size:.88rem}
@media(max-width:940px){.booking-picker__layout{grid-template-columns:1fr}.booking-picker__times{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:640px){.booking-picker{padding:19px 15px!important}.booking-picker__heading{margin-bottom:18px}.booking-picker__heading p span{display:none}.booking-picker__heading p{font-size:.86rem}.booking-picker__calendar,.booking-picker__availability{padding:17px 13px}.booking-picker__layout{gap:12px}.booking-picker__days{gap:2px}.booking-picker__day{min-height:38px}.booking-picker__times{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.booking-picker__availability h3{font-size:.95rem}.booking-picker__actions{gap:10px}}
@media(prefers-reduced-motion:reduce){.booking-picker__arrow,.booking-picker__day,.booking-picker__time{transition:none}}
