/* ==== "Free hour" modal ==== */
.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.7);display:none;justify-content:center;align-items:center;overflow:auto;z-index:1000}
.modal-overlay.open{display:flex}
.modal-content{position:relative;max-width:95%;max-height:95vh;display:flex;align-items:center;justify-content:center}
.modal-content__close{background:transparent;border:none;position:absolute;top:14px;right:14px;cursor:pointer;z-index:1001;padding:0}
.modal-content__close img{width:24px;height:24px;display:block}
.calendar{position:relative;width:900px;max-width:100%;max-height:100%;border-radius:40px;overflow:hidden;font-size:18px}
@media (max-width:768px){.modal-content{max-width:96%;max-height:94vh;overflow:auto}.modal-content__close{top:10px;right:10px}.calendar{border-radius:24px}}
/* ===== preloader + own-design fallback (inside the same modal) ===== */
.calendar.bk-loading,.calendar.bk-own{background:#0D0D0D;color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 30px 80px rgba(0,0,0,.6)}
.bk-pre{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;color:#A3A3A3;font-size:16px}
.bk-spin{width:44px;height:44px;border-radius:50%;border:3px solid rgba(255,255,255,.12);border-top-color:#12FDA3;animation:bkspin .9s linear infinite}
@keyframes bkspin{to{transform:rotate(360deg)}}
.bk-req{padding:40px 44px 36px;display:flex;flex-direction:column;gap:24px;font-family:inherit}
.bk-req-h{display:flex;gap:18px;align-items:flex-start}.bk-req-h img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none}.bk-req-h h3{font-size:28px;font-weight:500;letter-spacing:-.02em;margin:0 0 6px}.bk-req-h p{margin:0;color:#A3A3A3;font-size:15px;line-height:1.5;max-width:520px}
.bk-req .f2{display:grid;grid-template-columns:1fr 1fr;gap:24px}.bk-req label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#A3A3A3;position:relative}.bk-req input,.bk-req textarea{padding:12px 0;border:0;border-bottom:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;font:inherit;font-size:17px;outline:none;resize:none}.bk-req input:focus,.bk-req textarea:focus{border-color:#12FDA3}
.bk-req .f-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:4px}.bk-req .f-err{color:#ff8a8a;font-size:14px;margin:0}.bk-req .wa{color:#fff;font-weight:500;text-decoration:none}
.bk-done{align-items:flex-start;min-height:320px;justify-content:center}.bk-done .bk-ok{width:60px;height:60px;border-radius:50%;background:linear-gradient(113deg,#2AFAF8 -35%,#12FDA3 165%);color:#111;font-size:28px;display:flex;align-items:center;justify-content:center}.bk-done h3{font-size:32px;font-weight:500;letter-spacing:-.02em;margin:0}.bk-done p{margin:0;color:#D4D4D4;font-size:16px;max-width:480px}
@media (max-width:768px){.bk-req{padding:28px 20px 24px}.bk-req .f2{grid-template-columns:1fr}.bk-pre{min-height:320px}}
/* no wrapper plate around the calendar */
.modal-content{background:transparent;padding:0;box-shadow:none;border-radius:0;max-width:95%;max-height:95vh;display:flex;align-items:center;justify-content:center}
.modal-content__close{top:14px;right:14px}
.calendar{position:relative;max-width:100%;max-height:100%}
@media (max-width:768px){.modal-content{max-width:96%;max-height:94vh;overflow:auto}.modal-content__close{top:10px;right:10px}}
