/* Strategy-call booking widget (Sabbo 2026-10-02): the inline calendar on / and the /booking page.
   Uses the page tokens (--grad, --ink, --ink-2, --ink-3, --display, --font, --ease) with fallbacks. */
.bk__spinner{width:38px;height:38px;border:3px solid rgba(191,90,242,.25);border-top-color:#BF5AF2;border-radius:50%;animation:bkSpin .8s linear infinite}
@keyframes bkSpin{to{transform:rotate(360deg)}}
@keyframes bkIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
.bk__icon{width:64px;height:64px;margin:0 auto 20px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--grad,linear-gradient(135deg,#BF5AF2 0%,#8b3df5 100%));box-shadow:0 0 0 6px rgba(191,90,242,.14),0 14px 40px -12px rgba(139,61,245,.9)}
.tf-form.is-booking .tf-step,.tf-form.is-booking .tf-stepcount{display:none!important}
.tf-form.is-booking{min-height:0}
.bk[hidden],.bk [hidden]{display:none!important}
.bk{animation:bkIn .5s var(--ease,cubic-bezier(.22,1,.36,1))}
.bk__head{margin-bottom:20px}
.bk__eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#c99bff;margin-bottom:6px}
.bk__title{font-family:var(--display);font-weight:600;font-size:clamp(1.3rem,1.08rem + .95vw,1.7rem);line-height:1.25;letter-spacing:-.012em;color:var(--ink)}
.bk__meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px;color:var(--ink-2);font-size:14.5px}
.bk__meta>span{display:inline-flex;align-items:center;gap:7px}
.bk__meta svg{color:#c99bff}
.bk__body{display:grid;grid-template-columns:1fr;gap:22px}
.bk__month{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-weight:600;font-size:15.5px;color:var(--ink)}
.bk__nav{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:0;background:rgba(191,90,242,.1);color:#e2c6ff;cursor:pointer;transition:background-color .18s}
.bk__nav:hover:not(:disabled){background:rgba(191,90,242,.22)}
.bk__nav:disabled{opacity:.25;cursor:default}
.bk__dow,.bk__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.bk__dow{margin-bottom:4px;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}
.bk__d{position:relative;aspect-ratio:1;max-width:46px;width:100%;margin:0 auto;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;color:#5d5a75;font-family:var(--font);font-size:15px;font-weight:500;cursor:default}
.bk__d--open{background:rgba(191,90,242,.13);color:#e9d5ff;font-weight:700;cursor:pointer;transition:background-color .15s,transform .15s}
.bk__d--open:hover{background:rgba(191,90,242,.28)}
.bk__d--today::after{content:'';position:absolute;bottom:5px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:currentColor}
.bk__d--sel,.bk__d--sel:hover{background:var(--grad);color:#fff;box-shadow:0 6px 18px -6px rgba(139,61,245,.9)}
.bk__d:focus-visible,.bk__t:focus-visible,.bk__nav:focus-visible{outline:2px solid #e2c6ff;outline-offset:2px}
.bk__tz{display:flex;align-items:center;gap:7px;margin-top:14px;color:var(--ink-3);font-size:13px}
.bk__day{font-weight:600;font-size:15.5px;color:var(--ink);margin-bottom:12px}
.bk__list{display:flex;flex-direction:column;gap:8px}
.bk__row{display:grid;grid-template-columns:1fr 0fr;gap:0;transition:grid-template-columns .25s var(--ease),gap .25s var(--ease)}
.bk__row.is-picked{grid-template-columns:1fr 1fr;gap:8px}
.bk__t{min-height:48px;border-radius:10px;border:1px solid rgba(191,90,242,.5);background:transparent;color:#e9d5ff;font-family:var(--font);font-size:15.5px;font-weight:700;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.bk__t:hover{border-color:#c27bff;background:rgba(191,90,242,.1)}
.bk__row.is-picked .bk__t{border-color:transparent;background:rgba(255,255,255,.09);color:var(--ink)}
.bk__go{min-height:48px;min-width:0;overflow:hidden;white-space:nowrap;padding:0;border:0;border-radius:10px;background:var(--grad);color:#fff;font-family:var(--font);font-size:15.5px;font-weight:700;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 8px 22px -10px rgba(139,61,245,.9)}
.bk__go[disabled]{opacity:.7;cursor:progress}
.bk__confirm{display:block;width:100%;min-height:52px;margin-top:12px;border:0;border-radius:12px;background:var(--grad);color:#fff;font-family:var(--font);font-size:16px;font-weight:700;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 26px -10px rgba(139,61,245,.95);animation:bkIn .3s var(--ease,cubic-bezier(.22,1,.36,1))}
.bk__confirm[disabled]{opacity:.7;cursor:progress}
@media (max-width:639px){
  .bk__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .bk__row,.bk__row.is-picked{display:block}
  .bk__row .bk__go{display:none}
  .bk__t{width:100%;min-height:44px;padding:0 4px;font-size:14.5px}
  .bk__row.is-picked .bk__t{background:var(--grad);color:#fff;border-color:transparent}
  .bk__confirm{position:sticky;bottom:14px;z-index:3}
}
@media (min-width:640px){.bk__confirm{display:none!important}}
.bk__msg{margin-top:16px;padding:10px 12px;border-radius:9px;background:rgba(248,113,113,.12);color:#fecaca;font-size:14px;line-height:1.45}
.bk__msg a{color:#fff;font-weight:600}
.bk__loading{display:flex;flex-direction:column;align-items:center;gap:14px;padding:40px 0;color:var(--ink-2);font-weight:600}
.bk.is-ready .bk__loading{display:none}
.bk:not(.is-ready) .bk__body{display:none}
.bk__done{text-align:center;padding:40px 0 30px;animation:bkIn .5s var(--ease,cubic-bezier(.22,1,.36,1))}
.bk__done-title{font-family:var(--display);font-weight:700;font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);letter-spacing:-.015em;color:var(--ink)}
.bk__done-when{margin-top:8px;color:#e9d5ff;font-size:16px;font-weight:600}
.bk__done-next{margin-top:14px;color:var(--ink-2);font-size:15px}
.bk__done-link{display:inline-block;margin-top:10px;color:#c99bff;font-weight:600;font-size:14.5px;text-decoration:none}
@media (min-width:640px){
  .tf-form.is-booking{padding-left:56px}
  .bk__body{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:30px}
  .bk__times{border-left:1px solid rgba(255,255,255,.07);padding-left:26px}
  .bk__list{max-height:352px;overflow-y:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:rgba(191,90,242,.4) transparent}
}

