/* Booking widget — Atlas theme. Every colour/font comes from --bk-* tokens,
   so another site (hanna-zerf, Keller Systems) only overrides the tokens. */
.bk{
  --bk-ink:var(--ink,#262A29);--bk-muted:var(--muted,#61645F);--bk-accent:var(--accent,#A33F29);
  --bk-accent-dark:#84331F;--bk-accent-soft:#F7ECE8;--bk-line:var(--line,#E5E5DF);--bk-paper:#FAFAF7;
  --bk-serif:var(--serif,AtlasLora,Georgia,serif);--bk-sans:var(--sans,AtlasManrope,system-ui,sans-serif);
  --bk-radius:14px;
  max-width:720px;margin:0 auto;color:var(--bk-ink);font:16px/1.7 var(--bk-sans)
}
.bk *{box-sizing:border-box}
.bk button,.bk input,.bk textarea{font:inherit;color:inherit}
.bk :focus-visible{outline:2px solid var(--bk-accent);outline-offset:4px}
.bk h3,.bk h2{font-family:var(--bk-serif);font-weight:400;letter-spacing:-.02em;margin:0;text-wrap:balance}
.bk h2{font-size:35px;line-height:1.25}
.bk h3{font-size:24px;line-height:1.35}
.bk p{margin:0 0 16px}
.bk-step{padding:30px 0;border-top:1px solid var(--bk-line)}
.bk-step:first-child{border-top:0;padding-top:0}
.bk-step.is-locked{opacity:.4}
.bk-title{display:flex;align-items:baseline;gap:12px;margin:0 0 18px!important}
.bk-title .n{font:400 15px var(--bk-serif);color:var(--bk-accent);min-width:18px}

.bk-formats{display:grid;gap:10px}
.bk-format{display:grid;grid-template-columns:22px 1fr;gap:4px 14px;text-align:left;width:100%;background:white;border:1px solid var(--bk-line);border-radius:var(--bk-radius);padding:16px 18px;cursor:pointer;transition:border-color .15s}
.bk-format:hover{border-color:#C9C9C0}
.bk-format[aria-pressed=true]{border-color:var(--bk-accent);background:var(--bk-accent-soft)}
.bk-format .dot{width:18px;height:18px;border-radius:50%;border:1px solid #BABCB4;margin-top:4px;display:grid;place-items:center}
.bk-format[aria-pressed=true] .dot{border-color:var(--bk-accent)}
.bk-format[aria-pressed=true] .dot::after{content:'';width:9px;height:9px;border-radius:50%;background:var(--bk-accent)}
.bk-format .t{font:400 19px/1.4 var(--bk-serif)}
.bk-format .d{grid-column:2;font-size:13px;color:var(--bk-muted);line-height:1.6}

.bk-days{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 12px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.bk-day{flex:0 0 auto;scroll-snap-align:start;width:96px;min-height:104px;border:1px solid var(--bk-line);border-radius:var(--bk-radius);background:white;cursor:pointer;display:grid;align-content:center;justify-items:center;padding:10px 6px}
.bk-day:hover{border-color:#C9C9C0}
.bk-day .wd,.bk-day .mo{font-size:12px;color:var(--bk-muted)}
.bk-day .wd{text-transform:uppercase;letter-spacing:.05em}
.bk-day .num{font:400 32px/1.15 var(--bk-serif)}
.bk-day .cnt{font-size:11px;color:var(--bk-accent);margin-top:2px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bk-day[aria-pressed=true]{border-color:var(--bk-accent);background:var(--bk-accent-soft)}
.bk-slots{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.bk-slot{min-height:48px;padding:10px 18px;border:1px solid var(--bk-line);background:white;border-radius:26px;cursor:pointer;font-size:15px;font-weight:500;transition:border-color .15s,background .15s}
.bk-slot:hover{border-color:var(--bk-accent)}
.bk-slot[aria-pressed=true]{background:var(--bk-accent);border-color:var(--bk-accent);color:white}
.bk-tz{font-size:12px;color:var(--bk-muted);margin:14px 0 0}
.bk-link{background:none;border:0;padding:0;color:var(--bk-accent);text-decoration:underline;text-underline-offset:4px;cursor:pointer;font-size:inherit}
.bk-empty{color:var(--bk-muted);font-size:14px;padding:6px 0}
.bk-skel{height:104px;border-radius:var(--bk-radius);background:linear-gradient(90deg,#F3F3EF,#FAFAF7,#F3F3EF);background-size:200% 100%;animation:bk-sh 1.4s infinite}
@keyframes bk-sh{to{background-position:-200% 0}}

.bk-summary{border-top:1px solid var(--bk-line);border-bottom:1px solid var(--bk-line);padding:18px 0;margin:0 0 24px}
.bk-summary dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 20px;margin:0;font-size:15px}
.bk-summary dt{color:var(--bk-muted)}
.bk-summary dd{margin:0}
.bk-price{font:400 30px/1.2 var(--bk-serif);margin-top:12px}
.bk-price s{font-size:18px;color:var(--bk-muted);margin-right:10px}
.bk-form{display:grid;gap:16px}
.bk-field{display:grid;gap:6px;font-size:13px;color:var(--bk-muted)}
.bk-field input,.bk-field textarea{border:1px solid var(--bk-line);border-radius:10px;padding:12px 14px;font-size:16px;background:white;color:var(--bk-ink);min-height:48px;width:100%}
.bk-field textarea{min-height:96px;resize:vertical}
.bk-field input:focus,.bk-field textarea:focus{border-color:var(--bk-accent);outline:0}
.bk-field.has-error input{border-color:var(--bk-accent)}
.bk-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.bk-check{display:grid;grid-template-columns:22px 1fr;gap:12px;font-size:14px;color:var(--bk-muted);align-items:start;cursor:pointer}
.bk-check input{width:20px;height:20px;margin:3px 0 0;accent-color:var(--bk-accent)}
.bk-check a{color:inherit}
.bk-rules{background:var(--bk-paper);border-radius:var(--bk-radius);padding:18px 20px;font-size:14px;color:var(--bk-muted);line-height:1.75}
.bk-rules strong{color:var(--bk-ink);font-weight:600}
.bk-rules ul{margin:6px 0 0;padding-left:18px}
.bk .bk-btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:52px;padding:12px 25px;border-radius:28px;background:var(--bk-accent);color:white;font-size:15px;font-weight:600;border:0;cursor:pointer;text-decoration:none}
.bk .bk-btn:hover{background:var(--bk-accent-dark)}
.bk .bk-btn[disabled]{background:#D9D9D2;color:#8A8C85;cursor:not-allowed}
.bk-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4}
.bk .bk-btn-outline{background:white;color:var(--bk-accent);border:1px solid var(--bk-accent)}
.bk .bk-btn-outline:hover{background:var(--bk-accent-soft)}
.bk-fine{color:var(--bk-muted);font-size:12px;line-height:1.8;margin:12px 0 0}
.bk-alert{border-left:2px solid var(--bk-accent);background:var(--bk-accent-soft);padding:12px 16px;border-radius:0 10px 10px 0;font-size:14px;margin:0 0 18px}

.bk-done{text-align:center}
.bk-done img{width:260px;max-width:70%;height:auto;margin:0 auto 10px;display:block}
.bk-done h2{margin-bottom:14px}
.bk-done .lead{color:var(--bk-muted);max-width:52ch;margin:0 auto 30px}
.bk-chip{display:inline-flex;gap:8px;align-items:center;font-size:12px;font-weight:600;color:var(--bk-accent);background:var(--bk-accent-soft);border-radius:20px;padding:5px 12px;margin-bottom:18px}
.bk-chip::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--bk-accent)}
.bk-next{text-align:left;list-style:none;padding:0;margin:0 0 30px;border-top:1px solid var(--bk-line)}
.bk-next li{display:grid;grid-template-columns:34px 1fr;gap:14px;padding:18px 0;border-bottom:1px solid var(--bk-line)}
.bk-next .n{font:400 22px var(--bk-serif);color:var(--bk-accent)}
.bk-next h3{font-size:19px;margin-bottom:4px}
.bk-next p{font-size:14px;color:var(--bk-muted);margin:0}
.bk-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;align-items:center}

@media(max-width:759px){
  .bk h2{font-size:30px}
  .bk-summary dl{grid-template-columns:1fr;gap:0}
  .bk-summary dd{margin-bottom:8px}
}
@media(prefers-reduced-motion:reduce){.bk *{transition:none!important;animation:none!important}}

/* ---- meetings list ---- */
.bk-meetings{max-width:820px}
.bk-month{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--bk-muted);font-weight:600;margin:30px 0 6px}
.bk-month:first-child{margin-top:0}
.bk-row{display:grid;grid-template-columns:84px 1fr auto;gap:8px 22px;align-items:center;padding:20px 0;border-top:1px solid var(--bk-line)}
.bk-date .num{font:400 40px/1 var(--bk-serif)}
.bk-date .wd{font-size:12px;color:var(--bk-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:6px}
.bk-info h3{font-size:20px;margin-bottom:4px}
.bk-info p{font-size:13px;color:var(--bk-muted);margin:0}
.bk-info .bk-count{margin-top:6px;color:var(--bk-ink);font-size:14px}
.bk-count b{font-weight:600}
.bk-count .ok{color:var(--bk-accent);font-weight:600}
.bk-bar{height:4px;border-radius:2px;background:var(--bk-line);margin-top:8px;max-width:220px;overflow:hidden}
.bk-bar span{display:block;height:100%;background:var(--bk-accent);border-radius:2px}
.bk-act{justify-self:end}
.bk-joined{font-size:14px;font-weight:600;color:var(--bk-accent)}
.bk-sheet{grid-column:1/-1;padding:10px 0 6px}
.bk-sheet-title{font:400 19px/1.4 var(--bk-serif);margin:0 0 16px}
@media(max-width:759px){
  .bk-row{grid-template-columns:60px 1fr;gap:6px 14px}
  .bk-date .num{font-size:32px}
  .bk-act{grid-column:2;justify-self:start;margin-top:6px}
}
