.bkc-calendar{--bkc-accent:#78b82f;--bkc-accent-dark:#5e9324;--bkc-free:#d8eebc;--bkc-free-border:#bddb93;--bkc-selected:#c4e39a;--bkc-selected-border:#a8cf72;--bkc-border:#d9dee1;--bkc-soft:#f5f6f6;--bkc-busy:#e4e7e8;--bkc-text:#394248;--bkc-muted:#6d767b;color:var(--bkc-text);font:inherit;max-width:1280px;margin:0 auto}
.bkc-calendar *{box-sizing:border-box}
.bkc-calendar__intro h3{margin:0 0 8px;font-family:"Open Sans",Arial,sans-serif;font-size:18px;font-weight:400;line-height:1.4}
.bkc-calendar__intro p{margin:0 0 20px;color:var(--bkc-muted);line-height:1.55}
.bkc-calendar__status{padding:18px;border:1px solid var(--bkc-border);border-radius:10px;background:#fff}
.bkc-calendar__status.is-error{border-color:#d9a3a3;background:#fff7f7;color:#8b2929}
.bkc-calendar__app{border:1px solid var(--bkc-border);border-radius:12px;background:#fff;padding:22px;box-shadow:0 8px 28px rgba(31,43,50,.06)}
.bkc-calendar__units{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.bkc-calendar__unit{appearance:none;border:1px solid var(--bkc-border);background:#fff;color:var(--bkc-text);padding:10px 16px;border-radius:8px;font:inherit;cursor:pointer;transition:.15s ease}
.bkc-calendar__unit:hover{border-color:#aeb8bd;background:#fafbfb}
.bkc-calendar__unit.is-active{background:var(--bkc-accent);border-color:var(--bkc-accent);color:#fff}
.bkc-calendar__selection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px}
.bkc-calendar__selection>div{border:1px solid var(--bkc-border);background:var(--bkc-soft);padding:11px 13px;border-radius:8px}
.bkc-calendar__selection-label{display:block;color:var(--bkc-muted);font-size:12px;margin-bottom:2px}
.bkc-calendar__selection strong{font-size:15px}
.bkc-calendar__nav{display:flex;justify-content:center;align-items:center;gap:8px;margin:4px 0 14px}
.bkc-calendar__nav-button,.bkc-calendar__today{appearance:none;border:1px solid var(--bkc-border);background:#fff;color:var(--bkc-text);height:38px;border-radius:8px;font:inherit;cursor:pointer}
.bkc-calendar__nav-button{width:44px;font-size:26px;line-height:1}
.bkc-calendar__today{padding:0 16px}
.bkc-calendar__nav-button:disabled{opacity:.35;cursor:default}
.bkc-calendar__months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.bkc-calendar__month{min-width:0}
.bkc-calendar__month h4{margin:0 0 10px;text-align:center;font-size:18px;text-transform:none}
.bkc-calendar__weekdays,.bkc-calendar__days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.bkc-calendar__weekdays{margin-bottom:5px}
.bkc-calendar__weekdays span{text-align:center;color:var(--bkc-muted);font-size:12px;padding:4px 0}
.bkc-calendar__day{position:relative;appearance:none;border:1px solid var(--bkc-free-border);background:var(--bkc-free);color:var(--bkc-text);min-height:46px;border-radius:8px;font:inherit;cursor:pointer;overflow:hidden;transition:.12s ease}
.bkc-calendar__day:hover:not(:disabled){border-color:var(--bkc-accent);transform:translateY(-1px)}
.bkc-calendar__day:disabled{cursor:not-allowed}
.bkc-calendar__day--blank{background:transparent;border:0;min-height:46px}
.bkc-calendar__day.is-busy,.bkc-calendar__day.is-closed{background:var(--bkc-busy);color:#92999d}
.bkc-calendar__day.is-past{background:#fafafa;color:#c4c8ca}
.bkc-calendar__day.is-today{box-shadow:inset 0 0 0 2px #7d8b91}
.bkc-calendar__day.is-selected{background:var(--bkc-accent);color:#fff;border-radius:8px;border-color:var(--bkc-accent-dark)}
/* Bestehende Buchungen: Anreise und Abreise grundsätzlich diagonal darstellen. */
.bkc-calendar__day.is-booking-arrival{background:linear-gradient(135deg,var(--bkc-free) 0 49%,var(--bkc-busy) 50% 100%);color:#445056;border-color:var(--bkc-free-border);border-width:1px}
.bkc-calendar__day.is-booking-departure{background:linear-gradient(135deg,var(--bkc-busy) 0 49%,var(--bkc-free) 50% 100%);color:#445056;border-color:var(--bkc-free-border);border-width:1px}
.bkc-calendar__day.is-booking-turnover{background:var(--bkc-free);color:var(--bkc-text);border-color:var(--bkc-free-border);border-width:1px}
/* Aktuelle Auswahl: Start und Ende ebenfalls diagonal, die Nächte dazwischen bleiben voll grün. */
.bkc-calendar__day.is-arrival{background:linear-gradient(135deg,var(--bkc-free) 0 49%,var(--bkc-accent) 50% 100%);color:#213126;border-color:var(--bkc-free-border);border-width:1px;font-weight:700;border-radius:8px}
.bkc-calendar__day.is-departure{background:linear-gradient(135deg,var(--bkc-accent) 0 49%,var(--bkc-free) 50% 100%);color:#213126;border-color:var(--bkc-free-border);border-width:1px;font-weight:700;border-radius:8px}
.bkc-calendar__day.is-arrival-after-booking{background:linear-gradient(135deg,var(--bkc-busy) 0 49%,var(--bkc-accent) 50% 100%)}
.bkc-calendar__day.is-editing-endpoint{box-shadow:0 0 0 3px rgba(120,184,47,.24);transform:translateY(-1px)}
.bkc-calendar__day.is-turnover-departure{background:linear-gradient(135deg,var(--bkc-accent) 0 49%,var(--bkc-busy) 50% 100%);color:#213126;border-color:var(--bkc-free-border);border-width:1px;font-weight:700}
.bkc-calendar__hint{margin:16px 0 8px;padding:11px 13px;border-radius:8px;background:#f7f9f9;color:#536067}
.bkc-calendar__legend{display:flex;flex-wrap:wrap;gap:14px 20px;color:#4e5960;font-size:13px;font-weight:500;margin:10px 0 18px}
.bkc-calendar__legend span{display:inline-flex;align-items:center;gap:6px}
.bkc-legend{display:inline-block;width:16px;height:16px;border:1px solid var(--bkc-border);border-radius:4px}
.bkc-legend--free{background:var(--bkc-free);border-color:var(--bkc-free-border)}
.bkc-legend--busy{background:var(--bkc-busy)}
.bkc-legend--selected{background:var(--bkc-accent);border-color:var(--bkc-accent-dark)}
.bkc-legend--turnover{background:linear-gradient(135deg,var(--bkc-accent) 0 49%,var(--bkc-busy) 50% 100%);border-color:var(--bkc-accent-dark)}
.bkc-legend--arrival{background:linear-gradient(135deg,var(--bkc-free) 0 42%,var(--bkc-accent-dark) 43% 56%,var(--bkc-busy) 57% 100%);border-color:#97af70}
.bkc-legend--departure{background:linear-gradient(135deg,var(--bkc-busy) 0 42%,var(--bkc-accent-dark) 43% 56%,var(--bkc-free) 57% 100%);border-color:#97af70}
.bkc-legend--endpoint{background:var(--bkc-accent);border-color:var(--bkc-accent-dark)}
.bkc-calendar__actions{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:stretch}
.bkc-calendar__reset,.bkc-calendar__request{appearance:none;border-radius:8px;padding:13px 18px;font:inherit;cursor:pointer;transition:.15s ease}
.bkc-calendar .bkc-calendar__reset{border:2px solid var(--bkc-accent-dark)!important;background:#f1f8e8!important;color:#36551b!important;font-weight:700!important;min-width:190px;opacity:1!important}
.bkc-calendar .bkc-calendar__reset:hover:not(:disabled){border-color:#3f6617!important;background:#e7f3d7!important;color:#294211!important}
.bkc-calendar .bkc-calendar__reset:disabled{border:1px solid #cfd6d9!important;color:#7d878c!important;background:#f3f5f5!important;font-weight:600!important;opacity:1!important;cursor:not-allowed}
.bkc-calendar__request{border:0;background:var(--bkc-accent);color:#fff;font-weight:700;width:100%}
.bkc-calendar__request:hover:not(:disabled){background:var(--bkc-accent-dark)}
.bkc-calendar__request:disabled{background:#cbd1d4;cursor:not-allowed}
@media(max-width:760px){.bkc-calendar__app{padding:16px}.bkc-calendar__selection{grid-template-columns:1fr}.bkc-calendar__months{grid-template-columns:1fr}.bkc-calendar__months .bkc-calendar__month:nth-child(2){display:none}.bkc-calendar__day,.bkc-calendar__day--blank{min-height:42px}.bkc-calendar__units{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.bkc-calendar__unit{padding:9px 8px}.bkc-calendar__actions{grid-template-columns:1fr}.bkc-calendar__reset{min-width:0}}
@media(max-width:430px){.bkc-calendar__day,.bkc-calendar__day--blank{min-height:38px}.bkc-calendar__days,.bkc-calendar__weekdays{gap:3px}}

/* 2.0.15: An-/Abreisetage ohne dunkle Sonderumrandung */
.bkc-calendar__day.is-arrival,.bkc-calendar__day.is-departure,.bkc-calendar__day.is-booking-arrival,.bkc-calendar__day.is-booking-departure,.bkc-calendar__day.is-booking-turnover,.bkc-calendar__day.is-turnover-departure{border:1px solid var(--bkc-free-border)!important;box-shadow:none}
