/* Модальная форма бронирования + календарь занятости */
.bk-ov{position:fixed;inset:0;z-index:300;background:rgba(8,22,28,.62);backdrop-filter:blur(3px);
  display:none;align-items:flex-start;justify-content:center;padding:32px 16px;overflow:auto}
.bk-ov.on{display:flex}
.bk{background:#F5F2EA;color:#1A2124;width:100%;max-width:940px;border-radius:6px;position:relative;
  box-shadow:0 30px 80px rgba(0,0,0,.35);font-family:'Golos Text',system-ui,'Segoe UI',Roboto,sans-serif}
.bk-x{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(26,33,36,.18);
  background:#fff;color:#1A2124;font-size:19px;line-height:1;cursor:pointer;z-index:2}
.bk-x:hover{background:#ECE7DC}
.bk-hd{padding:28px 30px 0}
.bk-hd .eb{font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:#8A6D4B}
.bk-hd h3{font-family:'Prata',Georgia,serif;font-weight:400;font-size:clamp(21px,2.6vw,28px);margin-top:10px;line-height:1.15}
.bk-body{display:grid;grid-template-columns:1fr 1fr;gap:26px;padding:22px 30px 28px}
@media(max-width:820px){.bk-body{grid-template-columns:1fr;gap:20px;padding:18px 20px 24px}.bk-hd{padding:22px 20px 0}}

.bk-f{margin-bottom:13px}
.bk-f label{display:block;font-size:12.5px;color:#5C615D;margin-bottom:5px}
.bk-f .rq{color:#c0392b}
.bk-f input,.bk-f select,.bk-f textarea{width:100%;font:inherit;font-size:14.5px;padding:11px 13px;
  border:1px solid rgba(26,33,36,.18);border-radius:3px;background:#fff;color:#1A2124}
.bk-f input:focus,.bk-f select:focus,.bk-f textarea:focus{outline:none;border-color:#8A6D4B}
.bk-f2{display:grid;grid-template-columns:1fr 1fr;gap:13px}
@media(max-width:520px){.bk-f2{grid-template-columns:1fr}}
.bk-consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;color:#5C615D;line-height:1.5;margin-top:6px}
.bk-consent input{margin-top:3px;flex:0 0 auto;accent-color:#B0812F;width:auto}
.bk-consent a{color:#1A2124;text-decoration:underline}
.bk-submit{width:100%;margin-top:16px;background:#B0812F;color:#fff;border:0;border-radius:2px;
  font:inherit;font-size:15px;font-weight:500;padding:15px;cursor:pointer;transition:.2s}
.bk-submit:hover{background:#C39A57}
.bk-err{color:#c0392b;font-size:13px;margin-top:10px;display:none}
.bk-err.on{display:block}

/* календарь */
.bk-cal{background:#fff;border:1px solid rgba(26,33,36,.12);border-radius:4px;padding:14px}
.bk-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.bk-nav button{width:30px;height:30px;border-radius:50%;border:1px solid rgba(26,33,36,.18);background:#fff;
  cursor:pointer;font-size:16px;line-height:1;color:#1A2124}
.bk-nav button:hover{background:#ECE7DC}
.bk-nav button:disabled{opacity:.35;cursor:default}
.bk-nav .mn{font-family:'Prata',Georgia,serif;font-size:15px}
.bk-ms{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:820px){.bk-ms{grid-template-columns:1fr}.bk-ms .m2{display:none}}
.bk-dow,.bk-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.bk-dow span{text-align:center;font-size:10.5px;color:#8b908c;padding:3px 0}
.bk-days b{font-weight:400;text-align:center;font-size:12.5px;padding:7px 0;border-radius:3px;cursor:pointer;
  background:#f4f3ef;color:#1A2124;user-select:none}
.bk-days b.pad{background:transparent;cursor:default}
.bk-days b:hover:not(.pad):not(.off):not(.busy){background:#e3dccd}
.bk-days b.off{color:#c3c6c3;background:#fafaf8;cursor:not-allowed}
.bk-days b.busy{background:#f2c9c9;color:#a33;cursor:not-allowed;text-decoration:line-through}
.bk-days b.sel{background:#123C4D;color:#fff}
.bk-days b.rng{background:#cfe0e6}
.bk-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;font-size:11.5px;color:#5C615D}
.bk-legend i{display:inline-block;width:11px;height:11px;border-radius:2px;margin-right:5px;vertical-align:-1px}
.bk-pick{margin-top:12px;font-size:13px;color:#1A2124;background:#ECE7DC;border-radius:3px;padding:9px 12px}
.bk-pick b{font-family:'Prata',Georgia,serif;font-weight:400}

.bk-ok{padding:44px 30px;text-align:center}
.bk-ok h3{font-family:'Prata',Georgia,serif;font-weight:400;font-size:26px;margin-bottom:12px}
.bk-ok p{color:#5C615D;font-size:15px}
