/* The day and time picker (booking-picker.js), for the Book sheet and booking.html. Uses the site's
   tokens (--ink, --ink-2, --ground, --hair, --ease) from the page it sits on. */
.bkp-next{margin:4px 0 14px;font-size:15px;color:var(--ink-2)}
.bkp-next b{color:var(--ink);font-weight:600}
.bkp-head{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:8px}
.bkp-month{margin:0;font-size:17px;font-weight:600;letter-spacing:-.02em;text-align:center}
.bkp-nav{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ground);color:var(--ink)}
.bkp-nav:hover{background:var(--hair)}
.bkp-nav:disabled{opacity:.3;pointer-events:none}
.bkp-nav svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bkp-grid{width:100%;margin-top:8px;border-collapse:collapse;table-layout:fixed}
.bkp-grid th{padding:6px 0;font-size:12px;font-weight:600;color:var(--ink-2)}
.bkp-grid td{padding:2px;text-align:center}
.bkp-d,.bkp-closed{display:grid;place-items:center;width:100%;max-width:44px;aspect-ratio:1;margin:0 auto;border-radius:50%;font-size:16px}
.bkp-d{background:var(--ground);color:var(--ink);font-weight:600;transition:background-color .2s,color .2s}
.bkp-d:hover{background:var(--hair)}
.bkp-d[aria-pressed="true"]{background:var(--ink);color:#fff}
.bkp-d:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.bkp-closed{color:var(--hair)}
.bkp-list{margin-top:4px}
.bkp-group{scroll-margin-top:12px}
.bkp-day{margin:18px 0 8px;font-size:13px;font-weight:600;color:var(--ink-2)}
.bkp-more{display:block;width:100%;min-height:48px;margin-top:14px;border-radius:999px;background:var(--ground);color:var(--ink);font-size:16px;font-weight:600;text-align:center}
.bkp-more:hover{background:var(--hair)}
/* loading placeholders */
.bkp-sk{display:block;border-radius:12px;background:linear-gradient(90deg,var(--ground) 25%,#ECECEF 50%,var(--ground) 75%);background-size:200% 100%;animation:bkp-shim 1.2s linear infinite}
.bkp-sk-line{width:58%;height:18px;margin:6px 0 16px}
.bkp-sk-line.short{width:36%;height:14px;margin:18px 0 10px}
.bkp-sk-title{width:40%;height:22px;margin:0 auto 12px}
.bkp-sk-d{width:100%;max-width:44px;aspect-ratio:1;margin:0 auto;border-radius:50%}
.bkp-sk-t{height:48px;border-radius:14px}
@keyframes bkp-shim{from{background-position:100% 0}to{background-position:-100% 0}}
.bkp-times{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.bkp-t{min-height:48px;text-align:center;border-radius:14px;background:var(--ground);color:var(--ink);font-size:16px;font-weight:600;transition:background-color .2s,color .2s,transform .15s}
.bkp-t:hover{background:var(--hair)}
.bkp-t:active{transform:scale(.97)}
.bkp-t.is-picked{background:var(--ink);color:#fff;transform:scale(1.03)}
.bkp-t:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
@media(min-width:520px){.bkp-times{grid-template-columns:repeat(4,1fr)}}
@media(prefers-reduced-motion:reduce){.bkp-d,.bkp-t{transition:none}.bkp-t:active{transform:none}.bkp-sk{animation:none}}
