/* Booking calendar. Navy marks selections; red stays reserved for the Pay button. */
.bk-eyebrow{margin:0 0 12px;font-size:15px;letter-spacing:.36em;color:#6A6255;font-weight:600}
.bk-h2{margin:0 0 12px;font-family:'Noto Serif Display',Georgia,serif;font-weight:700;font-size:clamp(36px,5vw,60px);letter-spacing:.06em;line-height:1.1}
.bk-lead{margin:0 0 40px;font-size:19px;color:#3A4150;max-width:760px;line-height:1.6}
.bk-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);gap:40px;align-items:start}
@media (max-width:900px){.bk-grid{grid-template-columns:1fr}}
.bk-step{display:flex;align-items:baseline;gap:12px;margin:0 0 14px;font-size:22px;font-weight:700}
.bk-step span{font-family:'Noto Serif Display',Georgia,serif;font-size:28px}
.bk-block{margin-bottom:34px}
.bk-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.bk-wrap{display:grid;gap:10px}
.bk-consoles{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}
.bk-hours{grid-template-columns:repeat(auto-fill,minmax(104px,1fr))}
.bk-btn{font:inherit;background:transparent;color:#1C2230;border:1.5px solid #1C2230;cursor:pointer;padding:10px 12px;min-height:48px;text-align:center;line-height:1.25}
.bk-btn:hover:not(:disabled){background:#E8DDCB}
.bk-btn:focus-visible{outline:3px solid #1C2230;outline-offset:2px}
.bk-btn[aria-pressed="true"]{background:#1C2230;color:#F3EBDD}
.bk-btn:disabled{cursor:not-allowed;color:#9A9184;border-color:#C9BFAE;background:repeating-linear-gradient(45deg,transparent 0 6px,#E6DCCB 6px 7px)}
.bk-date{flex:0 0 auto;min-width:78px;display:flex;flex-direction:column;gap:2px}
.bk-date b{font-size:13px;letter-spacing:.2em}
.bk-date span{font-size:18px}
.bk-hour small,.bk-date small{display:block;font-size:13px;opacity:.8}
.bk-night{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:12px 16px}
.bk-hint{font-size:16px;color:#6A6255;margin:0}
.bk-legend{display:flex;flex-wrap:wrap;gap:18px;margin-top:14px;font-size:14px;color:#6A6255}
.bk-legend i{display:inline-block;width:14px;height:14px;border:1.5px solid #1C2230;vertical-align:-2px;margin-right:6px}
.bk-legend i.sel{background:#1C2230}
.bk-legend i.off{border-color:#C9BFAE;background:repeating-linear-gradient(45deg,transparent 0 3px,#C9BFAE 3px 4px)}
.bk-sum{border:2.5px solid #1C2230;outline:1px solid #1C2230;outline-offset:-9px;padding:30px;display:flex;flex-direction:column;gap:16px;position:sticky;top:20px}
.bk-sum h3{margin:0;font-family:'Noto Serif Display',Georgia,serif;font-size:28px;letter-spacing:.03em}
.bk-line{display:flex;justify-content:space-between;gap:12px;font-size:17px;border-bottom:1px solid #D8CCB8;padding-bottom:8px}
.bk-total{display:flex;justify-content:space-between;align-items:baseline;font-size:18px}
.bk-total b{font-family:'Noto Serif Display',Georgia,serif;font-size:40px}
.bk-tokens{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bk-field{display:flex;flex-direction:column;gap:6px;font-size:15px;font-weight:600}
.bk-field input{font:inherit;font-weight:400;font-size:17px;padding:12px;border:1.5px solid #1C2230;background:#F7F1E6;color:#1C2230;min-height:48px;box-sizing:border-box}
.bk-field input:focus{outline:3px solid #1C2230;outline-offset:1px}
.bk-pay{font:inherit;font-size:19px;padding:18px;min-height:58px;border:0}
.bk-pay:disabled{opacity:.45;cursor:not-allowed}
.bk-alt{font:inherit;font-size:15px;padding:10px;min-height:44px}
.bk-status{font-size:16px;line-height:1.55;padding:14px;border:1.5px solid #1C2230;background:#EDE3D1}
.bk-status.err{border-color:#8E2219;color:#8E2219;background:#F6E3DF}
.bk-status.good{border-color:#1F6B55;color:#1F6B55;background:#E3F0EA}
.bk-qr{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;font-size:15px}
.bk-qr #bkQrCode{background:#fff;padding:12px;border:1.5px solid #1C2230}
.bk-done{display:flex;flex-direction:column;gap:10px}
.bk-done h3{color:#1F6B55}
.bk-mono{font-family:ui-monospace,Menlo,monospace;font-size:13px;word-break:break-all}
.bk-small{font-size:14px;color:#6A6255;line-height:1.5;margin:0}

/* "Date & time" field */
.bk-when{font:inherit;font-size:19px;display:flex;align-items:center;gap:14px;width:100%;max-width:560px;min-height:62px;padding:14px 18px;background:#F7F1E6;color:#1C2230;border:2px solid #1C2230;outline:1px solid #1C2230;outline-offset:-7px;cursor:pointer;text-align:left}
.bk-when:hover:not(:disabled){background:#E8DDCB}
.bk-when:disabled{cursor:not-allowed;color:#9A9184;border-color:#C9BFAE;outline-color:#C9BFAE}
.bk-when span:nth-of-type(1){flex:1}
.bk-when.bk-when-set{font-weight:700}
.bk-when-arrow{font-size:16px}
.bk-when:focus-visible{outline:3px solid #1C2230;outline-offset:2px}

/* pop-up calendar */
.bk-cal{border:3px solid #1C2230;outline:1.5px solid #1C2230;outline-offset:-11px;background:#F3EBDD;color:#1C2230;padding:0;width:min(920px,calc(100vw - 24px));max-height:calc(100vh - 24px);font-family:'Source Serif 4',Georgia,serif}
.bk-cal::backdrop{background:rgba(28,34,48,.55)}
.bk-cal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:26px 30px 10px}
.bk-cal-head h3{margin:0;font-family:'Noto Serif Display',Georgia,serif;font-size:30px;letter-spacing:.03em}
.bk-x{font:inherit;font-size:30px;line-height:1;background:none;border:1.5px solid #1C2230;color:#1C2230;width:44px;height:44px;cursor:pointer}
.bk-cal-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:30px;padding:10px 30px 20px}
@media (max-width:760px){.bk-cal-body{grid-template-columns:1fr;gap:18px;padding:6px 18px 14px}.bk-cal-head{padding:20px 18px 6px}.bk-cal-foot{padding:14px 18px 20px!important}}
.bk-cal-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:20px}
.bk-cal-nav b{font-family:'Noto Serif Display',Georgia,serif;letter-spacing:.04em}
.bk-cal-nav button{font:inherit;font-size:24px;width:44px;height:44px;border:1.5px solid #1C2230;background:none;color:#1C2230;cursor:pointer}
.bk-cal-nav button:disabled{opacity:.3;cursor:not-allowed}
.bk-cal-dow,.bk-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.bk-cal-dow span{font-size:13px;letter-spacing:.14em;color:#6A6255;padding:4px 0}
.bk-day{font:inherit;font-size:17px;aspect-ratio:1;min-height:40px;border:1px solid #C9BFAE;background:#F7F1E6;color:#1C2230;cursor:pointer}
.bk-day:hover:not(:disabled){border-color:#1C2230}
.bk-day:disabled{background:transparent;border-color:transparent;color:#B9B0A2;cursor:default}
.bk-day.bk-today{text-decoration:underline;text-underline-offset:4px}
.bk-day[aria-pressed="true"]{background:#1C2230;color:#F3EBDD;border-color:#1C2230;font-weight:700}
.bk-day:focus-visible{outline:3px solid #1C2230;outline-offset:1px}
.bk-cal-label{margin:0 0 10px;font-family:'Noto Serif Display',Georgia,serif;font-size:22px}
.bk-cal-sub{margin:14px 0 8px;font-size:14px;letter-spacing:.2em;color:#6A6255;text-transform:uppercase}
.bk-cal .bk-night{width:100%}
.bk-cal .bk-night small{font-size:14px;opacity:.85}
.bk-starts{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.bk-start{padding:8px 4px;min-height:52px;font-size:16px}
.bk-start small{display:block;font-size:12px;opacity:.8}
.bk-start.bk-in{background:#D9CDB8}
.bk-dur{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:14px;font-size:17px}
.bk-dur button{font:inherit;font-size:22px;width:44px;height:44px;border:1.5px solid #1C2230;background:#F7F1E6;color:#1C2230;cursor:pointer}
.bk-dur button:disabled{opacity:.3;cursor:not-allowed}
.bk-dur b{min-width:62px;text-align:center}
.bk-cal-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 30px 28px;border-top:1px solid #C9BFAE;font-size:17px}
.bk-confirm{font:inherit;font-weight:700;font-size:18px;background:#1C2230;color:#F3EBDD;border:0;padding:14px 34px;min-height:52px;cursor:pointer}
.bk-confirm:disabled{opacity:.35;cursor:not-allowed}
.bk-cal-foot{position:sticky;bottom:0;background:#F3EBDD}
