.custom-scheduler [hidden]{display:none!important}
.custom-scheduler .scheduler-meta{display:flex;flex-wrap:wrap;gap:8px 22px;padding:0 0 18px;font-size:13px;color:#56635d}
.custom-scheduler .scheduler-meta span+span:before{content:'·';margin-right:18px;color:var(--wine)}
.custom-scheduler .scheduler-board{grid-template-columns:minmax(0,1.75fr) minmax(190px,1fr);border-color:#7a0e3520;border-radius:18px;box-shadow:0 10px 30px #29373305}
.custom-scheduler .booking-calendar{padding:28px 22px 24px}
.custom-scheduler .calendar-heading{margin-bottom:24px}
.custom-scheduler .calendar-heading h3{font:30px/1.2 var(--display);color:var(--wine)}
.custom-scheduler .calendar-month-controls button{display:grid;place-items:center;width:34px;height:34px;padding:0;border-radius:50%;border:1px solid #7a0e3525;font:19px var(--body)}
.custom-scheduler .calendar-table{border-spacing:5px}
.custom-scheduler .calendar-table th{font:12px var(--body);color:#68746d;padding-bottom:16px}
.custom-scheduler .calendar-day{width:min(100%,52px);height:52px;margin:auto;background:transparent;border-radius:50%;font-size:17px}
.custom-scheduler .calendar-day:disabled{opacity:.27}
.custom-scheduler .calendar-day:not(:disabled):not([aria-pressed=true]){background:#e8b9c82b;color:var(--wine)}
.custom-scheduler .calendar-day:not(:disabled):hover{background:#e8b9c890}
.custom-scheduler .calendar-day[aria-pressed=true]{background:var(--wine);color:var(--paper)}
.custom-scheduler .calendar-day[aria-current=date]:after{bottom:7px}
.custom-scheduler .booking-times{padding:30px 18px 24px;background:#e8b9c810}
.custom-scheduler .time-heading h3{font:22px/1.3 var(--display);color:var(--wine);white-space:normal}
.custom-scheduler .time-slots{display:flex;min-height:285px;max-height:350px;gap:9px;padding:4px 5px}
.custom-time-slot{border:1px solid #7a0e3530;border-radius:30px;color:var(--wine);background:var(--paper);padding:10px 14px;min-height:44px;flex:none;font-size:15px;line-height:1.4;transition:background .18s,color .18s}
.custom-time-slot:hover{background:#e8b9c860}
.custom-time-slot[aria-pressed=true]{background:var(--wine);color:var(--paper);border-color:var(--wine)}
.custom-time-slot:disabled{opacity:.5;cursor:wait}
.custom-scheduler .booking-confirm{gap:20px;padding-top:23px}
.custom-scheduler .meeting-selection{font-size:15px}
.custom-scheduler .booking-confirm .button{font-size:14px;padding:14px 22px}
.scheduler-status{font-size:13px;line-height:1.6;margin-top:20px;min-height:21px;color:#56635d;max-width:65ch}
.scheduler-fallback{margin-top:12px;font-size:13px}
.scheduler-fallback .text-link{font-size:13px}
.scheduler-confirmation{background:var(--paper);border:1px solid #7a0e3525;border-radius:18px;padding:38px 30px}
.scheduler-confirmation h3{font:42px/1.1 var(--display);color:var(--wine);margin:22px 0}
.scheduler-confirmation #confirmation-date{font-size:18px;margin-bottom:20px}
.scheduler-confirmation #confirmation-message{font-size:16px;line-height:1.65;max-width:50ch}
.confirmation-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:28px}
.confirmation-actions .button,.confirmation-actions .text-link{font-size:14px}
@media(min-width:1400px){.custom-scheduler .calendar-day{height:62px}.custom-scheduler .scheduler-board{grid-template-columns:minmax(0,1.85fr) minmax(225px,1fr)}}
@media(max-width:1100px){.custom-scheduler .booking-calendar{padding:24px 14px}.custom-scheduler .calendar-heading h3{font-size:27px}.custom-scheduler .scheduler-board{grid-template-columns:minmax(0,1.5fr) minmax(175px,1fr)}.custom-scheduler .calendar-day{height:44px}}
@media(max-width:900px){.custom-scheduler .booking-confirm{flex-direction:row;align-items:center}.custom-scheduler .calendar-day{height:58px}}
@media(max-width:560px){.custom-scheduler .scheduler-meta{gap:6px 14px;font-size:12px}.custom-scheduler .scheduler-meta span+span:before{margin-right:10px}.custom-scheduler .scheduler-board{grid-template-columns:1fr}.custom-scheduler .booking-calendar{padding:24px 10px 18px}.custom-scheduler .calendar-heading{padding:0 7px}.custom-scheduler .calendar-day{height:39px;font-size:16px}.custom-scheduler .calendar-table{border-spacing:3px}.custom-scheduler .booking-times{padding:21px 18px}.custom-scheduler .time-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:none;min-height:0;overflow:visible;padding:5px}.custom-scheduler .time-heading h3{font-size:24px}.custom-scheduler .booking-confirm{flex-direction:column;align-items:stretch}.custom-scheduler .booking-confirm .button{align-self:stretch}.custom-scheduler .meeting-selection{font-size:14px}.scheduler-confirmation{padding:28px 22px}.scheduler-confirmation h3{font-size:36px}.scheduler-confirmation #confirmation-date{font-size:16px}.confirmation-actions{align-items:flex-start;flex-direction:column}}
