.booking-calendar{background:#fcfbf7;border:1px solid var(--line);padding:26px;margin:28px 0}.booking-mode{font-size:11px;letter-spacing:.08em;color:#8a5d2e;border-bottom:1px solid var(--line);padding-bottom:15px}.booking-month-head{display:flex;align-items:center;justify-content:space-between;margin:15px 0 0}.booking-month-head h3{font-family:var(--serif);font-size:25px;margin:0}.booking-month-head button{width:44px;height:44px;border:1px solid var(--line);background:transparent;font-size:19px}.booking-month-head button:disabled{opacity:.25;cursor:default}.booking-zone{font-size:11px;color:#777b6d;margin:8px 0 16px}.booking-legend{display:flex;gap:15px;flex-wrap:wrap;font-size:10px;color:#737a65;margin-bottom:20px}.booking-weekdays,.booking-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.booking-weekdays{font-size:11px;text-align:center;padding:9px 0}.booking-weekdays span:first-child{color:#a37365}.booking-weekdays span:last-child{color:#647c88}.booking-days{gap:5px}.booking-day{min-height:64px;border:1px solid var(--line);background:#fffefb;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;font-size:15px;color:var(--ink);border-radius:2px}.booking-day small{font-size:12px;color:var(--sage)}.booking-day.sunday:not(:disabled){color:#a16d5e}.booking-day.saturday:not(:disabled){color:#637d8b}.booking-day:disabled{background:#efeee8;color:#a6a79e;cursor:default}.booking-day:disabled small{color:#b7b8af}.booking-day.outside{opacity:.35}.booking-day[aria-pressed=true]{background:var(--sage);border-color:var(--sage);color:white!important}.booking-day[aria-pressed=true] small{color:white}.booking-day:not(:disabled):hover,.booking-times button:hover{border-color:var(--sage);box-shadow:inset 0 0 0 1px var(--sage)}.booking-time-panel{border-top:1px solid var(--line);margin-top:22px;padding-top:12px}.booking-date-prompt{font-size:13px}.booking-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.booking-times button{padding:14px 6px;font-size:12px;background:white;border:1px solid var(--line);color:var(--ink)}.booking-times button[aria-pressed=true]{background:var(--sage);color:white}.booking-selection{padding:17px;margin-top:18px;background:#e9ece3;font-size:12px;line-height:1.9}.booking-clear{background:transparent;border-bottom:1px solid var(--line);font-size:11px;margin-top:10px;padding:8px 0}.booking-footnote{font-size:10px!important;line-height:1.9;color:#797a6e}.booking-calendar button:focus-visible{outline:2px solid var(--sage);outline-offset:3px}@media(max-width:600px){.booking-calendar{padding:16px 12px}.booking-month-head h3{font-size:23px}.booking-days{gap:3px}.booking-day{min-height:53px;font-size:13px;gap:5px}.booking-day small{font-size:11px}.booking-times{grid-template-columns:1fr}.booking-times button{font-size:13px;padding:15px}.booking-legend{gap:10px;font-size:9px}.booking-selection{padding:12px;font-size:11px}}

.booking-refresh{font-size:11px;padding:10px 14px;border:1px solid var(--line);background:transparent;color:var(--ink)}.booking-times button:disabled{background:#efeee8;color:#979b8c;cursor:default;box-shadow:none}.booking-day:disabled{box-shadow:none}
