/* Online booking: vælg selv en tid i kalenderen */
.bk-tabs{display:inline-flex;gap:4px;padding:5px;border-radius:99px;background:rgba(244,239,230,.08);border:1px solid rgba(244,239,230,.16);margin:0 0 22px}
.bk-tabs button{font:600 15px var(--body);color:var(--on-pine-muted);background:transparent;border:0;border-radius:99px;padding:11px 20px;cursor:pointer;transition:background .25s var(--ease),color .25s}
.bk-tabs button[aria-selected="true"]{background:var(--honey);color:var(--pine-deep)}
.bk-tabs button:focus-visible{outline:2px solid var(--honey);outline-offset:3px}
.bk{background:var(--paper);color:var(--ink);border-radius:24px;box-shadow:0 30px 70px -30px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.04);overflow:hidden}
.bk p{color:var(--muted)}
.bk-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 24px 6px}
.bk-head h3{font:600 21px/1.2 var(--display);margin:0;color:var(--ink)}
.bk-head h3 small{display:block;font:400 13.5px var(--body);color:var(--muted);margin-top:3px}
.bk-nav{display:flex;gap:6px}
.bk-nav button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:18px;cursor:pointer;display:grid;place-items:center;transition:background .2s,border-color .2s}
.bk-nav button:hover:not([disabled]){border-color:var(--honey)}
.bk-nav button[disabled]{opacity:.3;cursor:default}
.bk-days{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:14px 24px 4px}
.bk-day{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 4px 11px;border-radius:16px;border:1px solid var(--line);background:#fff;cursor:pointer;font:inherit;color:var(--ink);transition:transform .2s var(--ease),border-color .2s,background .2s,box-shadow .2s}
.bk-day:hover:not([disabled]){transform:translateY(-2px);border-color:var(--honey);box-shadow:0 10px 22px -16px rgba(22,35,63,.6)}
.bk-day .wd{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--falu)}
.bk-day .dn{font:600 26px/1.1 var(--display)}
.bk-day .mo{font-size:12px;color:var(--muted)}
.bk-day .fr{margin-top:6px;font-size:11.5px;font-weight:600;color:#2E6A3A;background:#EAF4E8;border-radius:99px;padding:2px 8px;white-space:nowrap}
.bk-day[disabled]{cursor:default;background:transparent;opacity:.5}
.bk-day[disabled] .fr{color:var(--muted);background:var(--sand)}
.bk-day[aria-pressed="true"]{background:var(--pine);border-color:var(--pine);color:#fff;box-shadow:0 14px 28px -16px rgba(22,35,63,.9)}
.bk-day[aria-pressed="true"] .wd{color:var(--honey)}.bk-day[aria-pressed="true"] .mo{color:rgba(255,255,255,.7)}
.bk-day[aria-pressed="true"] .fr{background:rgba(255,255,255,.14);color:#fff}
.bk-times{padding:18px 24px 6px}
.bk-times h4{font:600 15px var(--body);margin:0 0 10px;color:var(--ink)}
.bk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}
.bk-slot{display:flex;flex-direction:column;align-items:center;padding:14px 8px;border-radius:14px;border:1px solid var(--line);background:#fff;cursor:pointer;font:inherit;color:var(--ink);transition:all .2s var(--ease)}
.bk-slot b{font:600 22px/1 var(--display)}
.bk-slot span{font-size:12px;color:var(--muted);margin-top:4px}
.bk-slot:hover{border-color:var(--honey);background:#FDF9F1}
.bk-slot[aria-pressed="true"]{background:var(--honey);border-color:var(--honey)}
.bk-slot[aria-pressed="true"] span{color:var(--pine-deep)}
.bk-slot:focus-visible,.bk-day:focus-visible{outline:2px solid var(--pine);outline-offset:2px}
.bk-empty{padding:18px;border-radius:14px;background:var(--linen);font-size:15px;color:var(--muted)}
.bk-trust{display:flex;flex-wrap:wrap;gap:8px 18px;padding:16px 24px 22px;font-size:13.5px;color:var(--muted)}
.bk-trust span{display:inline-flex;align-items:center;gap:7px}
.bk-trust span:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--honey)}
.bk-form{padding:6px 24px 24px}
.bk-chosen{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:var(--pine);color:#fff;border-radius:16px;padding:14px 18px;margin:12px 0 18px}
.bk-chosen b{font:600 18px var(--display)}
.bk-chosen small{display:block;color:rgba(255,255,255,.7);font-size:13px}
.bk-chosen button{font:600 14px var(--body);color:var(--pine-deep);background:var(--honey);border:0;border-radius:99px;padding:9px 16px;cursor:pointer}
.bk-seg{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 16px}
.bk-seg label{position:relative}
.bk-seg input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.bk-seg span{display:block;text-align:center;padding:12px;border-radius:12px;border:1px solid var(--line);background:#fff;font-weight:600;font-size:15px}
.bk-seg span small{display:block;font-weight:400;font-size:12px;color:var(--muted)}
.bk-seg input:checked+span{border-color:var(--pine);box-shadow:inset 0 0 0 1px var(--pine);background:#F3F5F9}
.bk-seg input:focus-visible+span{outline:2px solid var(--honey);outline-offset:2px}
.bk-row{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.bk-f{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}
.bk-f label{font-size:13px;font-weight:600;color:var(--ink)}
.bk-f label em{font-style:normal;font-weight:400;color:var(--muted)}
.bk-f input,.bk-f textarea{font:16px/1.4 var(--body);color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-height:48px;width:100%;transition:border-color .2s,box-shadow .2s}
.bk-f textarea{min-height:84px;resize:vertical}
.bk-f input:focus,.bk-f textarea:focus{outline:none;border-color:var(--honey);box-shadow:0 0 0 3px rgba(179,152,105,.2)}
.bk-ok{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted);margin:4px 0 16px}
.bk-ok input{width:20px;height:20px;accent-color:var(--pine);flex:none;margin-top:1px}
.bk-ok a{color:var(--pine)}
.bk-go{width:100%;justify-content:center;font-size:17px;padding:16px 24px;background:var(--pine);border-color:var(--pine);color:#fff}
.bk-go:hover{background:var(--pine-deep)}
.bk-go[disabled]{opacity:.6;cursor:wait}
.bk-err{color:#9A3328;font-size:14.5px;font-weight:600;margin:12px 0 0}
.bk-done{padding:34px 26px 30px;text-align:center}
.bk-done .ck{width:64px;height:64px;border-radius:50%;background:#EAF4E8;color:#2E6A3A;display:grid;place-items:center;margin:0 auto 14px;font-size:30px;animation:bkpop .5s var(--ease)}
.bk-done h3{font:600 26px/1.2 var(--display);margin:0 0 6px;color:var(--ink)}
.bk .bk-done .when{font:600 19px var(--display);color:var(--pine);margin:0 auto 10px;text-align:center}
.bk .bk-done p{margin-left:auto;margin-right:auto;max-width:40ch}.bk-done p:not(.when){margin-bottom:18px}
.bk-done .btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.bk-done .btn{color:var(--ink);border-color:var(--line)}
.bk-load{padding:40px 24px;text-align:center;color:var(--muted)}
.bk-load i{display:inline-block;width:22px;height:22px;border:2px solid var(--line);border-top-color:var(--honey);border-radius:50%;animation:bkspin .8s linear infinite;vertical-align:middle;margin-right:8px}
@keyframes bkspin{to{transform:rotate(360deg)}}
@keyframes bkpop{0%{transform:scale(.6);opacity:0}100%{transform:scale(1);opacity:1}}
.bk-anim{animation:bkin .35s var(--ease)}
@keyframes bkin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:560px){
  .bk-head{padding:18px 16px 4px}.bk-days{padding:12px 16px 4px;gap:6px}.bk-times,.bk-form{padding-left:16px;padding-right:16px}.bk-trust{padding:14px 16px 18px}
  .bk-day{padding:10px 2px 9px;border-radius:13px}.bk-day .dn{font-size:22px}.bk-day .wd{font-size:10.5px;letter-spacing:.08em}.bk-day .fr{font-size:10.5px;padding:2px 5px}
  .bk-row{grid-template-columns:1fr}.bk-tabs{display:flex}.bk-tabs button{flex:1;padding:11px 10px;font-size:14px}
}
@media (prefers-reduced-motion:reduce){.bk-day,.bk-slot,.bk-anim,.bk-done .ck{animation:none;transition:none}}
