/* native booking — matches site tokens and polish.css scale */
.book-dialog{padding:0;background:#0e1c25;color:#edf4f3;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;border-radius:0;display:none;overflow:auto}
.book-dialog[open]{display:block}.book-dialog::backdrop{background:#000b}
html.book-lock{overflow:hidden}
.bk{font-family:Manrope,Arial,sans-serif;padding:20px 18px 28px;max-width:720px;margin:0 auto;box-sizing:border-box}
.bk-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}
.bk-eyebrow{margin:0 0 6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#9de4c8}
.bk-title{margin:0;font-size:24px;line-height:1.2;font-weight:600;text-wrap:balance}
.bk-line{margin:8px 0 0;font-size:15px;line-height:1.55;color:#a2b8c1;max-width:36em}
.bk-close{flex:none;min-width:44px;min-height:44px;background:transparent;border:1px solid #2a424a;border-radius:10px;color:#edf4f3;font-size:22px;cursor:pointer}
.bk-steps{display:flex;gap:6px;list-style:none;padding:0;margin:18px 0 16px;font-size:12px;color:#7f97a0}
.bk-steps li{flex:1;border-top:3px solid #2a424a;padding-top:6px}.bk-steps li.on{border-color:#9de4c8;color:#9de4c8}
.bk-days{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x mandatory;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}
.bk-day{flex:none;scroll-snap-align:start;display:grid;justify-items:center;gap:2px;min-width:62px;min-height:72px;padding:8px 6px;border:1px solid #2a424a;border-radius:12px;background:#0b1720;color:#edf4f3;font:inherit;font-size:12px;cursor:pointer;text-transform:capitalize}
.bk-day b{font-size:20px;font-weight:600}.bk-day span{color:#a2b8c1}
.bk-day.on{border-color:#9de4c8;background:#13302b}.bk-day.on span{color:#cdeee1}
.bk-daylabel{margin:14px 0 10px;font-size:15px;font-weight:600;text-transform:none}
.bk-daylabel::first-letter{text-transform:uppercase}
.bk-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.bk-time{min-height:44px;border:1px solid #2a424a;border-radius:10px;background:#0b1720;color:#edf4f3;font:inherit;font-size:15px;font-variant-numeric:tabular-nums;cursor:pointer}
.bk-time:hover,.bk-day:hover{border-color:#6fb89c}
.bk-time:focus-visible,.bk-day:focus-visible,.bk-btn:focus-visible,.bk-close:focus-visible,.bk-form input:focus-visible,.bk-link:focus-visible{outline:2px solid #a7f5db;outline-offset:2px}
.bk-pick{font-size:15px;margin:0 0 14px}.bk-pick b::first-letter{text-transform:uppercase}
.bk-link{background:none;border:0;color:#9de4c8;text-decoration:underline;font:inherit;cursor:pointer;min-height:44px;padding:0 6px}
.bk-form{display:grid;gap:14px;max-width:440px}
.bk-form label{display:grid;gap:6px;font-size:14px;color:#cfdedf}
.bk-form input{min-height:46px;padding:10px 12px;border:1px solid #345149;border-radius:10px;background:#0b1720;color:#edf4f3;font:inherit;font-size:16px}
.bk-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.bk-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:0;border-radius:12px;background:#9de4c8;color:#07231b;font:inherit;font-size:15px;font-weight:700;cursor:pointer;text-decoration:none}
.bk-btn[disabled]{opacity:.6;cursor:wait}.bk-ghost{background:transparent;color:#9de4c8;border:1px solid #9de4c8}
.bk-fine{margin:0;font-size:12px;color:#8ea6af}.bk-fine a{color:#a2b8c1}
.bk-err{margin:0 0 12px;padding:10px 12px;border:1px solid #ec9d92;border-radius:10px;color:#f5c6bf;background:#2a1517;font-size:14px}
.bk-muted{color:#a2b8c1;font-weight:400}
.bk-done{display:grid;gap:10px;font-size:15px;line-height:1.55;max-width:36em}.bk-done p{margin:0}.bk-done b::first-letter{text-transform:uppercase}
.bk-check{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#13302b;color:#9de4c8;font-size:24px;border:1px solid #9de4c8}
.bk-done .bk-btn{justify-self:start;margin-top:6px}
#book-inline .bk{padding-left:0;padding-right:0}
@media(min-width:900px){.book-dialog{width:min(760px,94vw);height:auto;max-height:88vh;margin:auto;border:1px solid #2a424a;border-radius:16px}.bk{padding:28px 32px 32px}.bk-title{font-size:30px}.bk-times{grid-template-columns:repeat(6,1fr)}}
.bk-call{margin:0 0 18px}
.bk-call p{margin:0}.bk-call-k{font-size:16px;font-weight:700;margin-bottom:10px!important}
.bk-call-opts{display:grid;grid-template-columns:1fr;gap:10px}
.bk-opt{display:grid;gap:4px;text-align:left;min-height:64px;padding:14px 16px;border:1px solid #2a424a;border-radius:14px;background:#0b1720;color:#edf4f3;font:inherit;cursor:pointer}
.bk-opt b{font-size:16px}.bk-opt span{font-size:13px;line-height:1.45;color:#a2b8c1}
.bk-opt-main{border-color:#9de4c8;background:linear-gradient(135deg,#13302b,#0e1c25)}.bk-opt-main b{color:#9de4c8}
.bk-opt:hover{border-color:#6fb89c}.bk-opt:focus-visible{outline:2px solid #a7f5db;outline-offset:2px}
.bk-or{margin-top:18px!important;font-size:14px;color:#a2b8c1}
.bk-modebar{margin:0 0 14px;font-size:14px;color:#9de4c8;font-weight:600}
.bk-opt-l{font-weight:400;color:#8ea6af;font-size:13px}
.bk-tel{justify-self:start;font-size:17px}
@media(min-width:600px){.bk-call-opts{grid-template-columns:1fr 1fr}}
/* auto-fit dialog: as tall as its content, never taller than the screen (scroll inside only then) */
.book-dialog{width:calc(100vw - 24px);max-width:560px;height:auto;height:fit-content;min-height:0;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);margin:auto;inset:0;border:1px solid #2a424a;border-radius:16px;overflow:auto;overscroll-behavior:contain;box-sizing:border-box}
.book-dialog .bk{min-height:0}
@media(min-width:900px){.book-dialog{width:min(760px,94vw);max-width:760px;height:fit-content;max-height:calc(100dvh - 48px)}}
/* phones in "desktop site" mode (wide layout viewport, touch): scale the dialog text up so it reads like the rest of the site */
@media(min-width:900px) and (pointer:coarse){.book-dialog{width:min(900px,96vw);max-width:900px}.book-dialog .bk{zoom:1.45}}
.book-dialog .bk-head,#book-inline .bk-head{height:auto!important;min-height:0!important;max-height:none!important;position:static!important;padding:0!important;background:none!important;border:0!important}
