/* My Key to Close booking calendar modal (light cream/gold theme) + success animation */
.bk{--bk-accent:#b08c2f;--bk-accent-lt:#dcb45e;--bk-ease:cubic-bezier(.22,1,.36,1);position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(23,19,13,.55);backdrop-filter:blur(4px)}
.bk.open{display:flex}
.bk__box{position:relative;width:min(452px,100%);max-height:92vh;overflow:auto;background:#fffdf8;border:1px solid #eae3d0;border-radius:22px;padding:30px 28px 26px;box-shadow:0 40px 90px -28px rgba(23,19,13,.5);color:#463f31;font-family:"Figtree",system-ui,sans-serif}
.bk__x{position:absolute;top:13px;right:15px;width:32px;height:32px;font-size:1.5rem;line-height:1;color:#8b8168;background:none;border:0;cursor:pointer;border-radius:50%}
.bk__x:hover{color:#1e1a12;background:#f2ece0}
.bk__kick{font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#7c611e;margin-bottom:8px}
.bk__h{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:1.85rem;color:#1e1a12;margin-bottom:18px;line-height:1.08}
.bk__calhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-family:"Instrument Serif",Georgia,serif;font-size:1.3rem;color:#1e1a12}
.bk__nav{width:36px;height:36px;border-radius:50%;border:1px solid #eae3d0;color:#7c611e;background:#fff;cursor:pointer;font-size:1.2rem;line-height:1}
.bk__nav:hover:not(:disabled){border-color:var(--bk-accent);background:#faf6ec}
.bk__nav:disabled{opacity:.3;cursor:default}
.bk__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}
.bk-dow{font-size:.64rem;font-weight:700;letter-spacing:.04em;color:#a79c85;padding:3px 0}
.bk-day{aspect-ratio:1;display:grid;place-items:center;border-radius:9px;border:1px solid #eee7d6;background:#fff;color:#1e1a12;font:inherit;font-size:.9rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.bk-day:hover:not(.is-off){background:var(--bk-accent);color:#fff;border-color:var(--bk-accent)}
.bk-day.is-off{opacity:.32;cursor:default;background:none;border-color:transparent}
.bk__hint{margin-top:14px;font-size:.75rem;color:#8b8168;text-align:center}
.bk__slots{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bk-slot{padding:13px;border-radius:11px;border:1px solid #eae3d0;background:#fff;color:#463f31;font:inherit;font-weight:600;cursor:pointer;transition:.15s}
.bk-slot:hover{background:var(--bk-accent);color:#fff;border-color:var(--bk-accent)}
.bk__back{background:none;border:0;color:#8b8168;font:inherit;font-size:.83rem;cursor:pointer;margin-bottom:12px;padding:0}
.bk__back:hover{color:var(--bk-accent)}
.bk__conf{font-family:"Instrument Serif",Georgia,serif;font-style:italic;font-size:1.5rem;color:#7c611e;margin-bottom:18px}
.bk__fields{display:grid;gap:12px;margin-bottom:18px}
.bk__fields label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#7c611e;margin-bottom:5px}
.bk__fields input{width:100%;padding:12px 14px;border-radius:11px;border:1px solid #e3dcc8;background:#fff;color:#1e1a12;font:inherit}
.bk__fields input::placeholder{color:#b3a98a}
.bk__fields input:focus{outline:none;border-color:var(--bk-accent);box-shadow:0 0 0 3px rgba(176,140,47,.12)}
.bk__fields input.bad{border-color:#c0392b;box-shadow:0 0 0 3px rgba(192,57,43,.1)}
.bk__hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.bk__cta{width:100%;padding:15px;border-radius:99px;border:0;cursor:pointer;font:inherit;font-weight:700;color:#201804;background:linear-gradient(168deg,#f2dfa4,#d9b360 34%,#a8842d 70%,#7a5c1a);box-shadow:inset 0 1px #ffffff80,0 12px 26px -12px rgba(124,97,30,.8);transition:filter .2s,transform .2s}
.bk__cta:hover{filter:brightness(1.05);transform:translateY(-1px)}
.bk__cta[disabled]{opacity:.6;cursor:default;transform:none}
/* ----- success animation ----- */
.bk__ok{text-align:center;padding:6px 0 2px}
.bk__burst{position:relative;width:78px;height:78px;margin:4px auto 18px}
.bk__mark{width:78px;height:78px;display:block;position:relative;z-index:2;animation:bkpop .5s var(--bk-ease) both}
.bk__mc{fill:none;stroke:var(--bk-accent);stroke-width:2.5;stroke-dasharray:145;stroke-dashoffset:145;animation:bkdraw .55s var(--bk-ease) forwards}
.bk__mk{fill:none;stroke:var(--bk-accent);stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:bkdraw .38s .42s var(--bk-ease) forwards}
.bk__cft{position:absolute;top:50%;left:50%;width:8px;height:8px;border-radius:2px;opacity:0;animation:bkcft .8s .3s var(--bk-ease) forwards}
@keyframes bkpop{0%{transform:scale(.3);opacity:0}60%{transform:scale(1.08)}100%{transform:scale(1);opacity:1}}
@keyframes bkdraw{to{stroke-dashoffset:0}}
@keyframes bkcft{0%{opacity:1;transform:translate(-50%,-50%) scale(.3) rotate(0)}100%{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(1) rotate(220deg)}}
@media (prefers-reduced-motion: reduce){.bk__mark,.bk__mc,.bk__mk,.bk__cft{animation:none!important;stroke-dashoffset:0;opacity:1}}
