/* Booking calendar. Uses the page's own colour tokens, so it follows light and dark. */
.wtb{border:1px solid var(--border2,#cfc7b8);border-radius:12px;background:var(--surface,#fcfaf6);padding:18px;color:var(--text,#1a1814)}
.wtb-title{font-size:.92rem;font-weight:600;margin-bottom:14px}
.wtb-req{color:var(--accent-ink,#d8410a)}
.wtb-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.wtb-month{font-weight:600;font-size:.98rem}
.wtb-arrow{width:34px;height:34px;border:1px solid var(--border2,#cfc7b8);background:var(--bg,#f7f3ed);color:var(--text,#1a1814);border-radius:8px;font-size:20px;line-height:1;cursor:pointer;padding:0}
.wtb-arrow:hover:not(:disabled){border-color:var(--text,#1a1814)}
.wtb-arrow:disabled{opacity:.35;cursor:default}
.wtb-dow,.wtb-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.wtb-dow{margin-bottom:6px;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--dim-text,#6f695d);text-align:center}
.wtb-day{aspect-ratio:1/1;min-width:0;min-height:0;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--dim-text,#6f695d);font:inherit;font-size:.92rem;cursor:default;padding:0;opacity:.45}
.wtb-day.is-open{opacity:1;color:var(--text,#1a1814);background:var(--bg,#f7f3ed);border-color:var(--border2,#cfc7b8);cursor:pointer;font-weight:600}
.wtb-day.is-open:hover{border-color:var(--accent,#f5500a)}
.wtb-day.is-sel{background:var(--accent,#f5500a);border-color:var(--accent,#f5500a);color:var(--on-accent,#fff)}
.wtb-pad{display:block}
.wtb-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(98px,1fr));gap:8px;margin-top:16px}
.wtb-slot{padding:10px 6px;border:1px solid var(--border2,#cfc7b8);background:var(--bg,#f7f3ed);color:var(--text,#1a1814);border-radius:8px;font:inherit;font-size:.86rem;font-weight:600;cursor:pointer}
.wtb-slot:hover{border-color:var(--accent,#f5500a)}
.wtb-slot.is-sel{background:var(--accent,#f5500a);border-color:var(--accent,#f5500a);color:var(--on-accent,#fff)}
.wtb-hint{grid-column:1/-1;margin:0;font-size:.88rem;color:var(--muted,#5b564c)}
.wtb-sum{margin:14px 0 0;font-size:.9rem;font-weight:500}
.wtb-sum:empty{display:none}
.wtb-ts{margin-top:14px;min-height:0}
.wtb-status{margin:12px 0 0;font-size:.9rem;color:var(--muted,#5b564c)}
.wtb-status:empty{display:none}
.wtb-status.is-err{color:var(--danger,#c0392b)}
.wtb-tz,.wtb-demo{margin:12px 0 0;font-size:.78rem;color:var(--dim-text,#6f695d)}
.wtb-demo{color:var(--accent-ink,#d8410a)}
.wtb button:focus-visible{outline:2px solid var(--accent,#f5500a);outline-offset:2px}
@media (max-width:480px){.wtb{padding:14px}.wtb-day{aspect-ratio:1/1.12}.wtb-dow,.wtb-days{gap:4px}.wtb-slots{grid-template-columns:repeat(3,1fr)}}
[hidden]{display:none!important}
