/* Terminbuchung (.bk): gemeinsam fuer Hauptseite und Voice-Seite; braucht --cyan, --orange, --orange2, --text aus der Seite */
.bk{min-width:0;margin-top:8px}
.bk h3{margin:0 0 .6rem; font-size:1.1rem; font-weight:600; text-transform:none; letter-spacing:0; color:#fff; outline:0}
.bk h4{margin:1rem 0 .5rem; font-size:.78rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--orange)}
.bk[hidden],.bk [hidden]{display:none !important}
.bk-badge{display:inline-block; margin:0 0 .8rem !important; font-size:.75rem; font-weight:700; color:#FFD2B0 !important; border:1px dashed var(--orange); background:rgba(255,122,47,.12); border-radius:999px; padding:.15em .9em}
.bk-head{display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin:0 0 .6rem}
.bk-head h3{margin:0}
.bk-month{font:inherit; font-size:.9rem; color:var(--text); background:rgba(6,18,34,.85); border:1px solid rgba(120,170,230,.45); border-radius:10px; padding:.35rem .6rem; max-width:11rem}
.bk-nav{display:grid; grid-template-columns:36px minmax(0,1fr) 36px; gap:6px; align-items:stretch}
.bk-nav>button{border:1px solid rgba(120,170,230,.45); border-radius:10px; background:rgba(16,40,70,.8); color:#fff; font-size:1.2rem; cursor:pointer}
.bk-nav>button:disabled{opacity:.35; cursor:default}
.bk-days{display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px}
.bk button.day,.bk button.slot,.bk button.type{font:inherit; color:#fff; background:rgba(16,40,70,.8); border:1px solid rgba(80,150,220,.4); border-radius:10px; cursor:pointer; text-align:center}
.bk button.day{padding:.4rem 0; display:flex; flex-direction:column; align-items:center; line-height:1.25; font-size:.9rem}
.bk button.day small,.bk button.type small{font-size:.7rem; color:#9FB3CF}
.bk button.type{padding:.5rem .3rem; display:grid; justify-items:center; gap:1px}
.bk button[aria-disabled="true"]{opacity:.4; cursor:default}
.bk button.slot[aria-disabled="true"]{text-decoration:line-through}
.bk button.slot[aria-disabled="true"] small{text-decoration:none; display:block}
.bk button:not([aria-disabled="true"]):hover{border-color:var(--cyan)}
.bk button[aria-pressed="true"]{border-color:var(--orange); background:linear-gradient(180deg,var(--orange2),var(--orange)); color:#1d1d1f}
.bk button[aria-pressed="true"] small{color:#3a2412}
.bk-slots{display:grid; grid-template-columns:repeat(auto-fill,minmax(5.6rem,1fr)); gap:6px; max-height:15rem; overflow:auto; padding:2px}
.bk button.slot{padding:.45rem .2rem; font-size:.95rem}
.bk-note,.bk .bk-note{margin:.6rem 0 0 !important; font-size:.8rem; color:#9FB3CF !important}
.bk-note a,.bk-status a{color:var(--cyan)}
.bk-when{margin:0 0 1rem !important; font-size:1.15rem; font-weight:600; color:#fff !important}
.bk-actions{display:flex; flex-wrap:wrap; gap:12px 20px; align-items:center; margin:1rem 0 0}
.bk-actions button.btn{border:0; font:inherit; font-size:14px; font-weight:600; cursor:pointer; background:linear-gradient(180deg,var(--orange2),var(--orange)); color:#fff; border-radius:10px; padding:11px 22px}
.bk-actions button.btn:disabled{opacity:.55; cursor:default}
.bk .link{all:unset; cursor:pointer; color:var(--cyan); font-size:.95rem}
.bk .link:hover{text-decoration:underline}
.bk .link:focus-visible{outline:3px solid var(--cyan); outline-offset:3px}
.bk form{display:grid; gap:.8rem}
.bk label{display:grid; gap:.25rem; font-size:.85rem; color:#B9CBE4}
.bk input,.bk textarea{font:inherit; font-size:1rem; color:var(--text); background:rgba(6,18,34,.75); border:1px solid rgba(120,170,230,.45); border-radius:10px; padding:.5rem .7rem; width:100%; box-sizing:border-box}
.bk textarea{min-height:5rem; resize:vertical}
.bk input:focus,.bk textarea:focus,.bk-month:focus{outline:none; border-color:var(--cyan); box-shadow:0 0 0 3px var(--cyan-soft,rgba(63,182,255,.35))}
.bk [aria-invalid="true"]{border-color:#ff8a70}
.bk-err{color:#ff8a70; font-size:.8rem}
.bk-hp{position:absolute !important; left:-10000px; width:1px; height:1px; overflow:hidden}
.bk-status{margin:.8rem 0 0 !important; font-size:.92rem; line-height:1.45; color:#EAF2FF !important}
.bk fieldset{border:0; margin:0; padding:0; display:grid; gap:8px; min-width:0}
.bk label.bk-card{display:flex; gap:.7rem; align-items:flex-start; border:1px solid rgba(80,150,220,.4); border-radius:12px; padding:.8rem .9rem; cursor:pointer; color:#fff; font-size:1rem; background:rgba(16,40,70,.6)}
.bk label.bk-card:has(input:checked){border-color:var(--orange); box-shadow:inset 0 0 0 1px var(--orange)}
.bk label.bk-card input{width:auto; margin:.3rem 0 0; accent-color:var(--orange)}
.bk-card small{display:block; margin-top:.15rem; font-size:.85rem; color:#9FB3CF}
.bk-card strong{font-weight:600}
@media (max-width:600px){.bk-nav{grid-template-columns:32px minmax(0,1fr) 32px}.bk-days{gap:3px}.bk-head{flex-wrap:wrap}}
