/* ── заключеният екран ───────────────────────────────────────────────────── */
body.bkw-lock{overflow:hidden}
.bkw{
  --bkw-bg:#f8f3ee; --bkw-card:#fffaf5; --bkw-line:rgba(57,39,37,.16);
  --bkw-ivory:#392725; --bkw-muted:rgba(57,39,37,.62); --bkw-brass:#86565c;
  position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;
  padding:clamp(0px,3vh,2rem) clamp(0px,3vw,2rem)
}
.bkw[hidden]{display:none}
.bkw-veil{position:absolute;inset:0;background:rgba(57,39,37,.46);backdrop-filter:blur(6px);animation:bkwFade .22s ease-out}
@keyframes bkwFade{from{opacity:0}to{opacity:1}}
.bkw-shell{
  position:relative;display:flex;flex-direction:column;width:100%;max-width:620px;
  max-height:100%;background:var(--bkw-bg);border:1px solid var(--bkw-line);
  color:var(--bkw-ivory);box-shadow:0 30px 80px rgba(0,0,0,.6);
  animation:bkwRise .26s cubic-bezier(.22,.9,.3,1)
}
@keyframes bkwRise{from{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}

.bkw-head{display:flex;align-items:center;gap:.75rem;padding:1rem 1rem .85rem;border-bottom:1px solid var(--bkw-line);flex:0 0 auto}
.bkw-htxt{flex:1 1 auto;min-width:0}
.bkw-step{display:block;font-family:Onest,system-ui,sans-serif;font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bkw-brass)}
.bkw-title{margin:.2rem 0 0;font-family:Prata,Georgia,serif;font-size:clamp(1.05rem,2.4vw,1.3rem);font-weight:400;line-height:1.25;color:var(--bkw-ivory)}
.bkw-nav{
  flex:0 0 auto;width:42px;height:42px;display:grid;place-items:center;padding:0;
  border:1px solid var(--bkw-line);background:none;color:var(--bkw-ivory);cursor:pointer;
  transition:border-color .2s ease,background-color .2s ease
}
.bkw-nav svg{width:18px;height:18px}
.bkw-nav:hover{border-color:var(--bkw-brass);background:rgba(134,86,92,.1)}
.bkw-nav[hidden]{display:none}

.bkw-bar{height:2px;background:rgba(57,39,37,.1);flex:0 0 auto}
.bkw-bar i{display:block;height:100%;width:25%;background:var(--bkw-brass);transition:width .35s cubic-bezier(.22,.9,.3,1)}

.bkw-body{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:1.25rem 1rem calc(1.4rem + env(safe-area-inset-bottom))}
.bkw-body:focus{outline:none}
.bkw-lead{margin:0 0 1rem;font-size:.85rem;line-height:1.6;color:var(--bkw-muted)}

/* стъпка 1 — направления */
.bkw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));gap:.6rem}
.bkw-card{
  display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.1rem;min-height:76px;
  border:1px solid var(--bkw-line);background:var(--bkw-card);color:inherit;text-align:left;cursor:pointer;
  transition:border-color .2s ease,background-color .2s ease,transform .2s ease
}
.bkw-card:hover{border-color:var(--bkw-brass);background:rgba(134,86,92,.09);transform:translateY(-1px)}
.bkw-card-n{font-family:Onest,system-ui,sans-serif;font-size:.9rem;font-weight:400;line-height:1.3;color:var(--bkw-ivory)}
.bkw-card-m{font-family:Onest,system-ui,sans-serif;font-size:.7rem;color:var(--bkw-muted);font-variant-numeric:tabular-nums}

/* стъпка 2 — процедури */
.bkw-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}
.bkw-row{
  width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding:.85rem 1rem;min-height:52px;border:1px solid var(--bkw-line);background:var(--bkw-card);
  color:inherit;text-align:left;cursor:pointer;transition:border-color .2s ease,background-color .2s ease
}
.bkw-row:hover{border-color:var(--bkw-brass);background:rgba(134,86,92,.09)}
.bkw-row-n{font-family:Onest,system-ui,sans-serif;font-size:.86rem;font-weight:300;line-height:1.35;color:var(--bkw-ivory)}
.bkw-row-m{flex:0 0 auto;font-family:Onest,system-ui,sans-serif;font-size:.7rem;color:var(--bkw-muted);font-variant-numeric:tabular-nums;white-space:nowrap}

/* избраното досега */
.bkw-chosen{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;margin-bottom:1.1rem;padding:.8rem 1rem;border-left:2px solid var(--bkw-brass);background:rgba(134,86,92,.07)}
.bkw-chosen-n{font-family:Onest,system-ui,sans-serif;font-size:.86rem;color:var(--bkw-ivory)}
.bkw-chosen-m{font-family:Onest,system-ui,sans-serif;font-size:.72rem;color:var(--bkw-brass);font-variant-numeric:tabular-nums}

/* стъпка 3 — дни и часове */
.bkw-days{display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none;padding-bottom:.85rem;margin-bottom:.85rem;border-bottom:1px solid var(--bkw-line);scroll-snap-type:x proximity}
.bkw-days::-webkit-scrollbar{display:none}
.bkw-day{
  flex:0 0 auto;width:56px;padding:.55rem .3rem;scroll-snap-align:start;
  display:flex;flex-direction:column;align-items:center;gap:.1rem;
  border:1px solid var(--bkw-line);background:none;color:var(--bkw-muted);cursor:pointer;
  transition:border-color .2s ease,background-color .2s ease,color .2s ease
}
.bkw-day:hover{border-color:var(--bkw-brass);color:var(--bkw-ivory)}
.bkw-day.on{border-color:var(--bkw-brass);background:var(--bkw-brass);color:#fffaf5}
.bkw-day-w{font-family:Onest,system-ui,sans-serif;font-size:.56rem;letter-spacing:.1em;text-transform:uppercase}
.bkw-day-d{font-family:Onest,system-ui,sans-serif;font-size:1.05rem;font-weight:500;line-height:1.1;font-variant-numeric:tabular-nums}
.bkw-day-m{font-family:Onest,system-ui,sans-serif;font-size:.56rem;letter-spacing:.06em}

.bkw-slots{display:flex;flex-wrap:wrap;gap:.4rem;min-height:3rem}
.bkw-slot{
  padding:.65rem 1rem;min-height:44px;border:1px solid var(--bkw-line);background:none;
  color:var(--bkw-ivory);font-family:Onest,system-ui,sans-serif;font-size:.82rem;font-variant-numeric:tabular-nums;
  cursor:pointer;transition:border-color .2s ease,background-color .2s ease
}
.bkw-slot:hover{border-color:var(--bkw-brass);background:rgba(134,86,92,.12)}
.bkw-msg{margin:0;padding:.85rem 0;font-size:.82rem;line-height:1.55;color:var(--bkw-muted)}
.bkw-msg.is-warn{color:#8a5a1e}

/* стъпка 4 — данни */
.bkw-form{display:flex;flex-direction:column;gap:1rem}
.bkw-f{display:flex;flex-direction:column;gap:.4rem}
.bkw-f label{font-family:Onest,system-ui,sans-serif;font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--bkw-muted)}
.bkw-f input,.bkw-f textarea{
  width:100%;padding:.85rem 1rem;min-height:50px;border:1px solid var(--bkw-line);
  background:rgba(57,39,37,.04);color:var(--bkw-ivory);
  font-family:Onest,system-ui,sans-serif;font-size:.88rem;font-weight:300
}
.bkw-f textarea{min-height:62px;resize:vertical;line-height:1.6}
.bkw-f input::placeholder,.bkw-f textarea::placeholder{color:var(--bkw-muted);opacity:.55}
.bkw-f input:focus,.bkw-f textarea:focus{outline:none;border-color:var(--bkw-brass);box-shadow:0 0 0 3px rgba(134,86,92,.13)}
.bkw-hint{margin:.15rem 0 0;font-size:.7rem;color:var(--bkw-brass)}
.bkw-e{display:none;font-size:.7rem;line-height:1.4;color:#b05252}
.bkw-f.bad .bkw-e{display:block}
.bkw-f.bad input,.bkw-f.bad textarea{border-color:#b05252}
.bkw-alert{margin:0 0 1rem;padding:.8rem 1rem;border:1px solid rgba(176,82,82,.45);background:rgba(176,82,82,.12);color:#7a2f2f;font-size:.8rem;line-height:1.55}
.bkw-more{border-top:1px solid var(--bkw-line);padding-top:.85rem}
.bkw-more summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:.5rem;font-family:Onest,system-ui,sans-serif;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bkw-brass)}
.bkw-more summary::-webkit-details-marker{display:none}
.bkw-more summary::before{content:'+';font-size:.95rem;line-height:1}
.bkw-more[open] summary::before{content:'−'}
.bkw-more summary span{color:var(--bkw-muted);letter-spacing:.06em;text-transform:none}
.bkw-more-in{display:flex;flex-direction:column;gap:1rem;padding-top:1rem}

.bkw-go{
  position:relative;width:100%;padding:1rem;min-height:52px;border:0;background:var(--bkw-brass);
  color:#fffaf5;font-family:Onest,system-ui,sans-serif;font-size:.58rem;font-weight:600;letter-spacing:.22em;
  text-transform:uppercase;cursor:pointer;transition:opacity .2s ease
}
.bkw-go:disabled{opacity:.6;cursor:not-allowed}
.bkw-spin{display:none;position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid rgba(255,250,245,.4);border-top-color:#fffaf5;border-radius:50%;animation:bkwSpin .7s linear infinite}
.bkw-go.busy .bkw-go-t{opacity:0}
.bkw-go.busy .bkw-spin{display:block}
@keyframes bkwSpin{to{transform:rotate(360deg)}}

/* стъпка 5 — благодарим */
.bkw-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;padding:1rem 0}
.bkw-tick{width:58px;height:58px;display:grid;place-items:center;border:1px solid var(--bkw-brass);border-radius:50%;color:var(--bkw-brass);animation:bkwPop .4s cubic-bezier(.2,1.2,.4,1)}
.bkw-tick svg{width:28px;height:28px}
@keyframes bkwPop{from{transform:scale(.7);opacity:0}to{transform:none;opacity:1}}
.bkw-done h3{margin:0;font-family:Prata,Georgia,serif;font-size:clamp(1.35rem,3vw,1.75rem);font-weight:400;color:var(--bkw-ivory)}
.bkw-recap{width:100%;display:flex;flex-direction:column;gap:.1rem;margin:.25rem 0;border:1px solid var(--bkw-line)}
.bkw-recap div{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.7rem 1rem;text-align:left}
.bkw-recap div+div{border-top:1px solid var(--bkw-line)}
.bkw-recap span{font-family:Onest,system-ui,sans-serif;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bkw-muted)}
.bkw-recap b{font-family:Onest,system-ui,sans-serif;font-size:.85rem;font-weight:400;text-align:right;color:var(--bkw-ivory)}
.bkw-done-p{margin:0;font-size:.82rem;line-height:1.7;color:var(--bkw-muted);max-width:44ch}
.bkw-done-p a{color:var(--bkw-brass)}
.bkw-done-acts{width:100%;display:flex;flex-direction:column;gap:.6rem;margin-top:.35rem}
.bkw-again{padding:.8rem;min-height:46px;border:1px solid var(--bkw-line);background:none;color:var(--bkw-ivory);font-family:Onest,system-ui,sans-serif;font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:border-color .2s ease}
.bkw-again:hover{border-color:var(--bkw-brass)}

/* На телефон екранът е цял — палецът стига до всичко, клавиатурата не бута. */
@media(max-width:640px){
  .bkw{padding:0;align-items:stretch}
  .bkw-shell{max-width:none;max-height:none;height:100%;border:0}
  .bkw-head{padding-top:calc(1rem + env(safe-area-inset-top))}
  .bkw-f input,.bkw-f textarea{font-size:16px}
  .bkw-grid{grid-template-columns:1fr}
  .bkw-slot{flex:1 1 calc(33.333% - .4rem)}
}
@media(prefers-reduced-motion:reduce){
  .bkw-veil,.bkw-shell,.bkw-tick{animation:none}
  .bkw-bar i{transition:none}
}
