/* The booking picker shared by /book (private invite links) and /contact (public). Everything is scoped to .bw. */
.bw{--bw-ink:#172735;--bw-muted:#5d6d79;--bw-line:#d6e0e7;--bw-blue:#3e69d8;--bw-blue-soft:#e6edfc;--bw-card:#fff;--bw-teal:#2e6f6a;--bw-teal-soft:#dcebe3;--bw-danger:#b4232f;--bw-danger-soft:#fbe4e6;
  color:var(--bw-ink);font-family:'Manrope',system-ui,sans-serif;font-size:15px;line-height:1.5;text-align:left}
.bw *{box-sizing:border-box}
.bw button,.bw input,.bw select,.bw textarea{font:inherit;color:inherit}
.bw button{cursor:pointer}
.bw h1,.bw h2,.bw p{margin:0}
.bw :focus-visible{outline:2px solid var(--bw-blue);outline-offset:2px}
.bw .eyebrow{text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.15em;color:var(--bw-blue);margin-bottom:8px;display:block}
.bw h1{font-size:clamp(26px,6vw,36px);font-weight:650;letter-spacing:-.04em;line-height:1.12}
.bw h1 em{font-family:'Newsreader',Georgia,serif;font-weight:400}
.bw .sub{color:var(--bw-muted);margin-top:8px;font-size:15px;line-height:1.5}
.bw .facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.bw .fact{display:inline-flex;align-items:center;gap:6px;background:#f2f6f8;border-radius:30px;padding:5px 12px;font-size:13px;font-weight:600}
.bw .fact svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bw h2{font-size:16px;font-weight:700;letter-spacing:-.01em;margin:26px 0 10px;line-height:1.4}
.bw .tz{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--bw-muted);font-size:13px;margin-top:20px}
.bw .tz select{border:1px solid #cfdae2;border-radius:30px;background:#f7fafc;padding:6px 12px;font-size:13px;font-weight:600;max-width:100%}
.bw .days{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;margin:0 -2px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.bw .day{flex:none;scroll-snap-align:start;width:68px;border:1px solid var(--bw-line);background:var(--bw-card);border-radius:12px;padding:9px 4px;text-align:center;display:grid;gap:1px}
.bw .day small{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--bw-muted)}
.bw .day b{font-size:21px;font-weight:700;letter-spacing:-.03em;line-height:1.2}
.bw .day[aria-pressed=true]{background:var(--bw-ink);border-color:var(--bw-ink);color:#fff}
.bw .day[aria-pressed=true] small{color:#c9d6e2}
.bw .slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px}
.bw .slot{border:1px solid #c9d8f6;background:var(--bw-blue-soft);color:#24459b;border-radius:10px;padding:10px 8px;min-height:48px;font-weight:700;font-size:15px;display:grid;gap:0;text-align:center}
.bw .slot small{font-weight:600;font-size:11.5px;color:#5a73b3}
.bw .slot:hover{border-color:var(--bw-blue)}
.bw .chosen{background:var(--bw-blue-soft);color:#24459b;border-radius:12px;padding:14px 16px;font-weight:600}
.bw .chosen b{display:block;font-size:17px;color:var(--bw-ink)}
.bw .chosen small{display:block;color:#4f669f;font-weight:600;margin-top:2px;font-size:13px}
.bw form{display:grid;gap:14px;margin-top:18px}
.bw label{display:grid;gap:6px;font-size:13px;font-weight:650;margin:0}
.bw label small{color:var(--bw-muted);font-weight:500}
.bw input,.bw textarea{display:block;width:100%;border:1px solid #cfdae2;border-radius:10px;background:#f7fafc;padding:12px 13px;font-size:16px;min-height:48px;line-height:1.4}
.bw textarea{resize:vertical;line-height:1.5}
.bw input:focus,.bw textarea:focus{outline:2px solid #658bed;outline-offset:0;background:#fff}
.bw .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.bw .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:40px;padding:12px 20px;font-weight:700;font-size:15px;min-height:50px;text-decoration:none}
.bw .btn-primary{background:var(--bw-ink);color:#fff}.bw .btn-primary:hover{background:var(--bw-blue)}
.bw .btn-ghost{background:var(--bw-card);border-color:var(--bw-line);color:var(--bw-ink)}
.bw .btn:disabled{opacity:.6;cursor:wait}
.bw .row{display:flex;gap:10px;flex-wrap:wrap}
.bw .row .btn{flex:1 1 200px}
.bw .link{background:none;border:0;padding:0;color:var(--bw-blue);font-weight:700;font-size:14px}
.bw .msg{border-radius:10px;padding:12px 14px;font-size:14px;font-weight:600;background:var(--bw-danger-soft);color:var(--bw-danger)}
.bw .empty{color:var(--bw-muted);text-align:center;padding:26px 8px}
.bw .empty strong{display:block;color:var(--bw-ink);font-size:17px;margin-bottom:4px}
.bw .done{text-align:center;display:grid;gap:14px;justify-items:center}
.bw .tick{width:58px;height:58px;border-radius:50%;background:var(--bw-teal-soft);color:var(--bw-teal);display:grid;place-items:center}
.bw .tick svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.bw .done .chosen{width:100%;text-align:left}
.bw .done .row{width:100%}
.bw .loading{color:var(--bw-muted);padding:30px 0;text-align:center}
.bw .check{min-height:65px}
.bw .safe{display:flex;align-items:center;gap:6px;color:var(--bw-muted);font-size:12px}
.bw .safe svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bw [hidden]{display:none!important}
