.booking-calendar-picker{--ivory:#f6f0e6;--ivory-2:#fbf8f2;--champagne:#d9c19a;--champagne-soft:#b591542e;--champagne-strong:#9a763a47;--text-dark:#161311;--text-soft:#161311ad;--text-muted:#16131170;--text-inverse:#f6f1e8;--line:#32251314;--line-strong:#32251324;--line-inverse:#fff4e21f;--surface:#fffcf7c7;--surface-strong:#fffbf4f0;--surface-soft:#fffbf58f;--dark-surface:#110f0eeb;--dark-surface-2:#1c1816e0;-webkit-backdrop-filter:blur(14px);background:linear-gradient(#fffcf7f5 0%,#f7efe3f0 100%);border:1px solid #b9975d29;border-radius:1.5rem;inline-size:100%;max-inline-size:100%;margin:0 auto;padding:1rem;position:relative;overflow:hidden;box-shadow:0 12px 30px #291c080d,0 2px 10px #291c0808,inset 0 1px #ffffffa6}.booking-calendar-picker::selection{color:var(--text-dark);background:#b5915438}.booking-calendar-picker__glow{pointer-events:none;filter:blur(2.25rem);opacity:.32;border-radius:999px;position:absolute}.booking-calendar-picker__glow--one{background:#e9d09f38;block-size:10rem;inline-size:10rem;inset-block-start:-4rem;inset-inline-start:-2rem}.booking-calendar-picker__glow--two{background:#1412110f;block-size:12rem;inline-size:12rem;inset-block-end:-5rem;inset-inline-end:-5rem}.booking-calendar-picker__head,.booking-calendar-picker__monthbar,.booking-calendar-picker__weekdays,.booking-calendar-picker__grid,.booking-calendar-picker__slotsbox,.booking-calendar-picker__selected{z-index:1;position:relative}.booking-calendar-picker__head{flex-direction:column;align-items:stretch;gap:.875rem;margin-bottom:1rem;display:flex}.booking-calendar-picker__title{color:var(--text-dark);letter-spacing:-.035em;text-wrap:balance;margin:0 0 .35rem;font-size:clamp(1.15rem,3.7vw,1.5rem);font-weight:900;line-height:1.04}.booking-calendar-picker__subtitle{color:var(--text-soft);max-inline-size:38rem;margin:0;font-size:.9rem;line-height:1.55}.booking-calendar-picker__refresh,.booking-calendar-picker__nav{appearance:none;color:var(--text-dark);letter-spacing:-.01em;cursor:pointer;-webkit-backdrop-filter:blur(10px);background:#ffffff8f;border:1px solid #785b2d24;border-radius:.95rem;min-block-size:2.65rem;padding-inline:.95rem;font-size:.92rem;font-weight:800;transition:transform .35s cubic-bezier(.23,1,.32,1),border-color .28s cubic-bezier(.23,1,.32,1),background .28s cubic-bezier(.23,1,.32,1),box-shadow .28s cubic-bezier(.23,1,.32,1);box-shadow:0 8px 18px #44320f0a,inset 0 1px #ffffffb8}.booking-calendar-picker__refresh:hover,.booking-calendar-picker__nav:hover{background:#ffffffbd;border-color:#8f6b313d;transform:translateY(-.0625rem);box-shadow:0 12px 20px #44320f0f,inset 0 1px #ffffffd1}.booking-calendar-picker__refresh:active,.booking-calendar-picker__nav:active{transform:translateY(0)}.booking-calendar-picker__monthbar{grid-template-columns:auto 1fr auto;align-items:center;gap:.625rem;margin-bottom:.85rem;display:grid}.booking-calendar-picker__monthlabel{text-align:center;color:var(--text-dark);text-transform:capitalize;letter-spacing:-.02em;font-size:.98rem;font-weight:900}.booking-calendar-picker__weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;margin-bottom:.45rem;display:grid}.booking-calendar-picker__weekday{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding-block:.15rem;font-size:.62rem;font-weight:900}.booking-calendar-picker__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;display:grid}.booking-calendar-picker__day{color:#16131142;cursor:not-allowed;background:#fffbf43d;border:1px solid #90703912;border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;gap:.12rem;min-block-size:3.45rem;padding:.45rem .3rem;transition:transform .3s cubic-bezier(.23,1,.32,1),box-shadow .3s cubic-bezier(.23,1,.32,1),border-color .25s,background .25s,color .25s;display:flex;position:relative}.booking-calendar-picker__day.is-muted{opacity:.38}.booking-calendar-picker__day.is-available{cursor:pointer;color:var(--text-dark);border-color:var(--champagne-soft);background:linear-gradient(#fffdf9fa 0%,#f7f0e5e6 100%);box-shadow:inset 0 1px #ffffffc7,0 6px 14px #48320b09}.booking-calendar-picker__day.is-available:hover{border-color:var(--champagne-strong);transform:translateY(-.0625rem);box-shadow:inset 0 1px #ffffffdb,0 10px 20px #48320b0f}.booking-calendar-picker__day.is-active{color:var(--text-inverse);background:radial-gradient(circle at top,#352c2347,#0000 55%),linear-gradient(#24201df0 0%,#0d0c0bfa 100%);border-color:#fffaf024;box-shadow:0 12px 24px #0000002e,inset 0 1px #ffffff14}.booking-calendar-picker__day.is-active .booking-calendar-picker__dayname,.booking-calendar-picker__day.is-active .booking-calendar-picker__daynum{color:var(--text-inverse)}.booking-calendar-picker__daynum{letter-spacing:-.03em;font-size:.9rem;font-weight:900;line-height:1}.booking-calendar-picker__dayname{opacity:.8;text-transform:uppercase;letter-spacing:.08em;font-size:.54rem;font-weight:800;line-height:1}.booking-calendar-picker__slotsbox{border-top:1px solid #9d7c421a;margin-top:1rem;padding-top:.9rem}.booking-calendar-picker__slotslabel{color:var(--text-dark);letter-spacing:-.02em;margin-bottom:.75rem;font-size:.96rem;font-weight:900}.booking-calendar-picker__slots{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.booking-calendar-picker__slot{min-block-size:2.75rem;inline-size:100%;color:var(--text-dark);cursor:pointer;background:#fff9efc7;border:1px solid #9977361f;border-radius:.95rem;padding-inline:.9rem;font-size:.88rem;font-weight:900;transition:transform .3s cubic-bezier(.23,1,.32,1),box-shadow .3s cubic-bezier(.23,1,.32,1),border-color .25s,background .25s,color .25s;box-shadow:inset 0 1px #ffffffbd,0 6px 14px #4a35100a}.booking-calendar-picker__slot:hover{background:#fffaf1f5;border-color:#a07e3e3d;transform:translateY(-.0625rem)}.booking-calendar-picker__slot.is-active{color:var(--text-inverse);background:radial-gradient(circle at top,#362c2242,#0000 55%),linear-gradient(#1f1d1bf0 0%,#0a0a0afa 100%);border-color:#fff4e224;box-shadow:0 12px 22px #00000029,inset 0 1px #ffffff14}.booking-calendar-picker__selected{background:linear-gradient(#fffcf7cc 0%,#f5ecddad 100%);border:1px solid #a07e3e1f;border-radius:1rem;margin-top:1rem;padding:.95rem 1rem;box-shadow:inset 0 1px #ffffffd1,0 8px 18px #3e2a0a0a}.booking-calendar-picker__selected-label{color:#16131175;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.35rem;font-size:.68rem;font-weight:900}.booking-calendar-picker__selected-value{color:var(--text-dark);letter-spacing:-.02em;font-size:.95rem;font-weight:900;line-height:1.45}.booking-calendar-picker__state{color:#161311b8;padding-block:.35rem;font-size:.9rem;font-weight:700}.booking-calendar-picker__state.is-error{color:#8d2020}@media (min-width:48rem){.booking-calendar-picker{border-radius:1.75rem;max-inline-size:70rem;padding:1.5rem}.booking-calendar-picker__head{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.15rem}.booking-calendar-picker__title{font-size:clamp(1.3rem,2vw,1.55rem)}.booking-calendar-picker__subtitle{font-size:.96rem;line-height:1.6}.booking-calendar-picker__refresh,.booking-calendar-picker__nav{border-radius:1rem;min-block-size:2.85rem;padding-inline:1rem;font-size:.94rem}.booking-calendar-picker__monthbar{gap:.75rem;margin-bottom:1rem}.booking-calendar-picker__monthlabel{font-size:1.08rem}.booking-calendar-picker__weekdays{gap:.55rem;margin-bottom:.55rem}.booking-calendar-picker__weekday{font-size:.72rem}.booking-calendar-picker__grid{gap:.55rem}.booking-calendar-picker__day{border-radius:1.15rem;gap:.2rem;min-block-size:4.35rem;padding:.65rem .4rem}.booking-calendar-picker__daynum{font-size:1rem}.booking-calendar-picker__dayname{font-size:.62rem}.booking-calendar-picker__slotsbox{margin-top:1.25rem;padding-top:1rem}.booking-calendar-picker__slots{flex-wrap:wrap;gap:.7rem;display:flex}.booking-calendar-picker__slot{border-radius:1rem;min-block-size:2.9rem;inline-size:auto;padding-inline:1.1rem;font-size:.9rem}.booking-calendar-picker__selected{border-radius:1.15rem;margin-top:1.2rem;padding:1rem 1.1rem}.booking-calendar-picker__selected-value{font-size:1rem}}@media (min-width:64rem){.booking-calendar-picker{border-radius:1.9rem;padding:1.75rem}.booking-calendar-picker__grid{gap:.65rem}.booking-calendar-picker__day{min-block-size:4.7rem}}
