/* Die Salzkiste – Buchungskalender */
.bk{--bk-rot:#b00000;--bk-rot-d:#8a0000;--bk-petrol:#2f7f93;--bk-ink:#1f3440;--bk-muted:#566a75;--bk-sand:#e3eef1;--bk-stone:#cfe0e5;margin-top:20px;min-height:200px}

/* Reiter */
.bk-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.bk-tab{font:inherit;font-weight:700;font-size:.92rem;padding:9px 18px;border-radius:999px;border:2px solid var(--bk-stone);background:#fff;color:var(--bk-ink);cursor:pointer}
.bk-tab[aria-selected="true"]{background:var(--bk-rot);border-color:var(--bk-rot);color:#fff}
.bk-tab:hover:not([aria-selected="true"]){border-color:var(--bk-rot)}

.bk-raster{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:36px;align-items:start}
@media (max-width:820px){.bk-raster{grid-template-columns:1fr;gap:24px}}

/* Monat */
.bk-kal{transition:opacity .2s}
.bk-kal.laedt{opacity:.45}
.bk-monat{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.bk-monat b{font-size:1.1rem}
.bk-nav{font:inherit;font-size:1.4rem;line-height:1;width:40px;height:40px;border-radius:50%;border:2px solid var(--bk-stone);background:#fff;color:var(--bk-ink);cursor:pointer}
.bk-nav:hover:not(:disabled){border-color:var(--bk-rot);color:var(--bk-rot)}
.bk-nav:disabled{opacity:.3;cursor:default}
.bk-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.bk-wt{text-align:center;font-size:.75rem;font-weight:700;color:var(--bk-muted);text-transform:uppercase;padding-bottom:4px}
.bk-tag{font:inherit;font-size:.95rem;aspect-ratio:1;border-radius:10px;border:2px solid transparent;background:transparent;color:#a9b6bc;cursor:default;padding:0;position:relative}
.bk-tag.frei,.bk-tag.wenig{background:#e6f1f4;color:var(--bk-ink);font-weight:700;cursor:pointer}
.bk-tag.wenig::after{content:"";position:absolute;bottom:5px;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:#d98a1c}
.bk-tag.frei:hover,.bk-tag.wenig:hover{border-color:var(--bk-petrol)}
.bk-tag.voll{color:#a9b6bc;text-decoration:line-through}
.bk-tag.heute{border-color:var(--bk-stone)}
.bk-tag.gewaehlt{background:var(--bk-rot)!important;color:#fff!important;border-color:var(--bk-rot)!important}
.bk-tag.gewaehlt::after{background:#fff}
.bk-legende{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;font-size:.8rem;color:var(--bk-muted)}
.bk-legende span::before{content:"";display:inline-block;width:12px;height:12px;border-radius:4px;margin-right:6px;vertical-align:-1px;background:#e6f1f4}
.bk-legende .wenig::before{background:radial-gradient(circle,#d98a1c 3px,#e6f1f4 3.5px)}
.bk-legende .voll::before{background:#fff;border:1px solid var(--bk-stone)}

/* Uhrzeiten */
.bk-rechts h4{margin:0 0 12px;font-size:1.05rem}
.bk-tipp{color:var(--bk-muted);background:var(--bk-sand);border-radius:12px;padding:18px 20px;margin:0}
.bk-zeiten{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.bk-zeit{font:inherit;display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 10px;border-radius:12px;border:2px solid var(--bk-stone);background:#fff;color:var(--bk-ink);cursor:pointer;text-align:left}
.bk-zeit small{font-size:.72rem;color:var(--bk-petrol);font-weight:600}
.bk-zeit:hover:not(:disabled){border-color:var(--bk-rot)}
.bk-zeit.gewaehlt{border-color:var(--bk-rot);background:#fdf2f2}
.bk-zeit:disabled{opacity:.5;cursor:default}
.bk-zeit:disabled small{color:var(--bk-muted)}

/* Formular */
.bk-form:not(:empty){margin-top:26px;padding-top:22px;border-top:2px dashed var(--bk-stone)}
.bk-formular{display:grid;gap:14px}
.bk-formular h4{margin:6px 0 0}
.bk-formular label{display:grid;gap:5px;font-size:.88rem;font-weight:600;color:var(--bk-ink)}
.bk-formular input:not([type=checkbox]),.bk-formular select,.bk-formular textarea{font:inherit;font-size:1rem;font-weight:400;padding:11px 13px;border:2px solid var(--bk-stone);border-radius:10px;background:#fff;color:var(--bk-ink);width:100%}
.bk-formular input:focus,.bk-formular select:focus,.bk-formular textarea:focus{outline:none;border-color:var(--bk-petrol)}
.bk-formular .btn{justify-self:start;border:0}
.bk-formular .btn:disabled{opacity:.6;cursor:wait}
.bk-check{display:block!important;font-weight:400!important;font-size:.84rem!important;line-height:1.5}
.bk-check input{margin-right:6px;vertical-align:-2px;width:auto}
.bk-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}

.bk-zaehler{display:grid;gap:2px;background:var(--bk-sand);border-radius:12px;padding:6px 14px}
.bk-zeile{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--bk-stone)}
.bk-zeile:last-child{border-bottom:0}
.bk-zeile>span{font-size:.92rem;font-weight:600}
.bk-zeile>span small{display:block;font-weight:400;color:var(--bk-muted);font-size:.8rem}
.bk-stepper{display:flex;align-items:center;gap:6px;flex:none}
.bk-stepper button{font:inherit;font-size:1.2rem;font-weight:700;width:36px;height:36px;border-radius:50%;border:2px solid var(--bk-rot);background:#fff;color:var(--bk-rot);cursor:pointer;line-height:1;padding:0}
.bk-stepper button:hover:not(:disabled){background:var(--bk-rot);color:#fff}
.bk-stepper button:disabled{border-color:var(--bk-stone);color:var(--bk-stone);cursor:default}
.bk-stepper output{min-width:24px;text-align:center;font-weight:700;font-size:1.05rem}
.bk-summe{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin:0;font-size:.95rem}
.bk-summe b{color:var(--bk-rot-d);font-size:1.1rem}
.bk-summe small{flex-basis:100%;color:var(--bk-muted)}

/* Meldungen */
.bk-fehler{background:#fdecec;color:#8a0000;border-radius:10px;padding:10px 14px;margin:0;font-size:.92rem}
.bk-ok{background:#e7f4ee;color:#1d5b3f;border-radius:10px;padding:10px 14px;font-size:.92rem}
.bk-fertig{text-align:center;padding:20px 0}
.bk-fertig h3{margin:12px 0}
.bk-haken{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--bk-petrol);color:#fff;font-size:2rem;font-weight:700}

/* ---------- Eigene Seiten: Verwaltung & Stornierung ---------- */
.bk-seite{margin:0;background:#f7fafb;color:#1f3440;font-family:Verdana,Geneva,"DejaVu Sans",Tahoma,sans-serif;line-height:1.55}
.bk-seite .btn{display:inline-block;padding:11px 22px;border-radius:999px;background:#b00000;color:#fff;text-decoration:none;font:inherit;font-weight:700;border:2px solid #b00000;cursor:pointer}
.bk-seite .btn:hover{background:#8a0000}
.bk-seite .btn.ghost{background:#fff;color:#8a0000}
.bk-seite .btn.ghost:hover{background:#b00000;color:#fff}
.bk-seite a{color:#8a0000}
.bk-kopf{background:#fff;padding:14px 20px;display:flex;justify-content:space-between;align-items:center}
.bk-kopf img{height:24px;width:auto;max-width:70vw}
.bk-abmelden{font-size:.9rem}
.bk-schmal{max-width:520px;margin:0 auto;padding:30px 20px}
.bk-breit{max-width:980px;margin:0 auto;padding:24px 20px 60px}
.bk-seite h1{font-size:1.7rem;margin:0 0 16px}
.bk-seite h2{font-size:1.25rem;margin:22px 0 6px}
.bk-seite h3{font-size:1rem;margin:22px 0 10px;color:#b00000;text-transform:uppercase;letter-spacing:.08em}
.bk-karte{background:#fff;border-radius:14px;padding:22px;box-shadow:0 2px 14px rgba(45,42,38,.06);margin:16px 0}
.bk-status{font-weight:700;color:#8a0000}
.bk-hinweis{background:#fff4e0;border-radius:10px;padding:10px 14px}
.bk-woche{display:grid;grid-template-columns:36px repeat(7,minmax(0,1fr)) 36px;gap:6px;align-items:stretch}
.bk-woche a{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border-radius:10px;padding:8px 2px;text-decoration:none;color:#1f3440;border:2px solid transparent;font-size:.8rem}
.bk-woche a b{font-size:1.1rem}
.bk-woche a.heute{border-color:#cfe0e5}
.bk-woche a.aktiv{background:#b00000;color:#fff;border-color:#b00000}
.bk-woche .bk-pfeil{font-size:1.4rem;background:none}
.bk-springen{margin:12px 0 0;font-size:.9rem}
.bk-springen input{font:inherit;padding:4px 8px;border:1px solid #cfe0e5;border-radius:8px}
.bk-slots-admin{display:grid;gap:10px}
.bk-slot-admin{background:#fff;border-radius:12px;padding:12px 16px;border-left:4px solid #2f7f93}
.bk-slot-admin.gesperrt{border-left-color:#a9b6bc;background:#f1f4f5}
.bk-slot-kopf{display:flex;justify-content:space-between;gap:10px;margin-bottom:4px}
.bk-belegung{font-size:.85rem;color:#566a75}
.bk-eintrag{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:10px 0;border-top:1px solid #e3eef1;font-size:.92rem}
.bk-eintrag.storniert{opacity:.5}
.bk-eintrag form{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}
.bk-eintrag small{color:#566a75}
.bk-notiz{margin-top:4px;font-size:.85rem;background:#f7fafb;border-radius:8px;padding:6px 10px}
.bk-leer{font-size:.85rem;color:#a9b6bc}
.bk-badge{font-size:.75rem;background:#e6f1f4;color:#2f7f93;border-radius:999px;padding:1px 8px;font-weight:700}
.bk-mini{padding:6px 14px!important;font-size:.85rem!important}
.bk-klein{font-size:.8rem;color:#566a75;font-weight:400!important}
.bk-aufklapp summary{cursor:pointer;font-weight:700}
.bk-aufklapp[open] summary{margin-bottom:14px}
.bk-zaehler-admin{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.bk-sperrliste{list-style:none;padding:0;margin:0}
.bk-sperrliste li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid #e3eef1;font-size:.9rem}
.bk-link{background:none;border:0;color:#8a0000;text-decoration:underline;cursor:pointer;font:inherit}
@media (max-width:600px){.bk-eintrag{flex-direction:column}.bk-eintrag form{align-items:flex-start}.bk-woche{grid-template-columns:repeat(7,minmax(0,1fr))}.bk-woche .bk-pfeil{display:none}}
#buchen{scroll-margin-top:84px}
.bk-zwei{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bk-plz-ort{display:grid;grid-template-columns:110px 1fr;gap:12px}
@media (max-width:420px){.bk-zwei{grid-template-columns:1fr}}
.bk-logo{display:block;width:100%;max-width:320px;height:auto;margin:0 0 18px}
.bk-zeit{align-items:center;text-align:center}
@media (max-width:600px){.bk-zeiten{grid-template-columns:repeat(auto-fill,minmax(68px,1fr));gap:6px}.bk-zeit{padding:7px 4px}}
