/* Verfuegbarkeitskalender V3 – kompakt und klar */
.booking-layout{grid-template-columns:.92fr 1.08fr;align-items:start;gap:44px}
.booking-tools{min-width:0;display:flex;flex-direction:column;gap:12px;max-width:560px}
.availability-box{margin:0;padding:18px 20px 16px;border:1px solid rgba(21,73,92,.14);border-radius:18px;background:#fff;color:var(--ink);box-shadow:0 16px 38px rgba(0,0,0,.11)}
.availability-box h3{margin:0 0 3px;font-family:Georgia,"Times New Roman",serif;font-size:24px;font-weight:500}
.availability-box>p{margin:0 0 12px;color:#52636a;font-size:13px;line-height:1.45}
.cal-head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:8px;margin-bottom:8px;text-align:center}
.cal-head strong{font-family:Georgia,"Times New Roman",serif;font-size:18px;font-weight:600;text-transform:capitalize}
.cal-head button{border:1px solid #d5e0e4;background:#fff;color:#16323a;border-radius:9px;font-size:20px;cursor:pointer;height:34px;line-height:1}
.cal-head button:hover{background:#f4f8f9}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal-weekday{text-align:center;font-size:.69rem;font-weight:800;color:#65767d;padding:2px 0 4px}
.cal-day{height:43px;border:1px solid transparent;border-radius:7px;font:inherit;font-size:.82rem;font-weight:700;transition:.12s ease;position:relative}
.cal-day.free{background:#d9f0df;border-color:#b7dec2;color:#185d2e;cursor:pointer}
.cal-day.free:hover{background:#c8e9d1;border-color:#398451;box-shadow:inset 0 0 0 1px #398451}
.cal-day.busy{background:#f5d7d4;border-color:#e8b8b3;color:#8b3029;cursor:not-allowed;padding-right:17px}
.cal-day.busy::after{content:'×';position:absolute;right:6px;top:50%;transform:translateY(-52%);font-size:15px;font-weight:800;color:#a13b33}
.cal-day.past{background:#eceff0;border-color:#e0e4e5;color:#899398;cursor:not-allowed}
.cal-day:disabled{opacity:1}
.cal-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:9px;font-size:.77rem;font-weight:650;color:#52636a}
.cal-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px;border:1px solid transparent}
.cal-legend i.free{background:#d9f0df;border-color:#9fceac}.cal-legend i.busy{background:#f5d7d4;border-color:#dfa8a2}.cal-legend i.past{background:#eceff0;border-color:#d7dddf}
.booking-tools .booking-card{padding:18px 20px!important;border-radius:18px!important}
.booking-tools .form-grid{gap:10px 12px!important}
.booking-tools input,.booking-tools select,.booking-tools textarea{min-height:42px!important;padding-top:9px!important;padding-bottom:9px!important}
.booking-tools textarea{min-height:86px!important}
.live-price{margin:10px 0;padding:11px 13px;border-radius:11px;background:#f2f6f7;display:flex;flex-direction:column;gap:2px}
.live-price strong{font-size:1.12rem}.live-price small{color:#65767d}
.calendar-error{padding:12px;background:#fff4e5;border-radius:10px;color:#633f00}
.calendar-note{margin-top:8px;font-size:.72rem;color:#718087}
@media(max-width:900px){.booking-layout{grid-template-columns:1fr;gap:26px}.booking-tools{width:100%;max-width:none}}
@media(max-width:700px){.availability-box{padding:15px}.cal-grid{gap:3px}.cal-day{height:40px;border-radius:6px;font-size:.8rem}.cal-head strong{font-size:17px}.booking-layout{gap:20px}}

/* V4: zwei klar getrennte Anfragewege */
.request-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}
.request-actions .button{width:100%;min-height:46px;display:flex;align-items:center;justify-content:center;text-align:center}
.request-secondary{background:#fff;color:#0a4b5e;border:1.5px solid #0a4b5e;box-shadow:none}
.request-secondary:hover{background:#eef7f8}
.request-explain{margin-top:10px!important;padding:10px 12px;border-radius:10px;background:#f5f7f6;color:#41545a!important;line-height:1.45}
.booking-ok{border-left:4px solid #2f8f58}
@media(max-width:560px){.request-actions{grid-template-columns:1fr}}


/* V7: Wechseltage wie bei Buchungskalendern halbiert darstellen */
.cal-day.arrival-boundary,
.cal-day.departure-boundary,
.cal-day.turnover-both{cursor:pointer;color:#173c31;border-color:#d5b9a8;overflow:hidden;background:#fff}
/* Links = Vormittag/Abreise, rechts = Nachmittag/Anreise. */
.cal-day.arrival-boundary{background:linear-gradient(135deg,#d9f0df 0 49%,#fff 49% 51%,#f5d7d4 51% 100%)}
.cal-day.departure-boundary{background:linear-gradient(135deg,#f5d7d4 0 49%,#fff 49% 51%,#d9f0df 51% 100%)}
.cal-day.turnover-both{background:linear-gradient(135deg,#f5d7d4 0 49%,#fff 49% 51%,#f5d7d4 51% 100%);color:#8b3029}
.cal-day.arrival-boundary:hover,.cal-day.departure-boundary:hover{box-shadow:inset 0 0 0 1px #398451}
.cal-legend i.turnover{border-radius:2px;background:linear-gradient(135deg,#f5d7d4 0 47%,#fff 47% 53%,#d9f0df 53% 100%);border-color:#cbb9ae}
