/*
 * ASSD Kalender — Theme: cg-willingen.de
 *
 * CI-Quelle: cg-willingen.de (YooTheme Pro, analysiert 2026)
 *   Primärfarbe:   #93c11e  (helles Grasgrün)
 *   Hover:         #749310  (dunkleres Grün)
 *   Button-Text:   #191919  (fast Schwarz — website-konform, da #93c11e zu hell für Weiß)
 *   border-radius: 0        (konsequent eckig auf der gesamten Website)
 *   Schriften:     GothicATF / Source Sans 3 — nicht ladbar im Widget-Kontext
 *
 * Einbindung NACH assd-kalender.css und assd-booking-bar.css.
 */

/* ── CSS-Variablen Kalender ──────────────────────────────────────────────── */

:root {
  --assd-green-bg:     #ebf7c0;
  --assd-green-text:   #5a7010;

  --assd-darkyellow-bg:   #fde9b0;
  --assd-darkyellow-text: #856404;

  --assd-select-color: #5a7c00;
  --assd-select-range: #c8e87a;

  /* Buchungs-Button */
  --assd-book-color:   #93c11e;

  /* Ecken */
  --assd-nav-radius:  0px;
  --assd-cell-radius: 0px;
}

/* ── Kalender: Buttons eckig ─────────────────────────────────────────────── */

.assd-kal-book-btn,
.assd-kal-reset-btn,
.assd-tile-btn,
.assd-modal-book-btn,
.assd-modal-close {
  border-radius: 0;
}

/* Buchungs-Button: dunkler Text auf hellem Grün (CI-konform) */
.assd-kal-book-btn,
.assd-modal-book-btn {
  color: #191919;
}

.assd-kal-book-btn:hover:not(:disabled),
.assd-modal-book-btn:hover:not(:disabled) {
  background: #749310;
  color: #191919;
  filter: none;
}

/* Kachel-Buttons */
.assd-tile-btn {
  background: #93c11e;
  color: #191919;
}

.assd-tile-btn:hover {
  background: #749310;
  color: #191919;
  filter: none;
}

/* Modal & Kacheln — eckig */
.assd-modal,
.assd-tile,
.assd-kal-blocked-msg,
.assd-checkbox-block {
  border-radius: 0;
}

/* Kalender-Auswahl: Anreise/Abreise-Zellen — dunkel auf Grün */
.assd-arrival,
.assd-departure {
  color: #191919 !important;
  outline: 2px solid #2d4000;
  outline-offset: -2px;
}

/* In-Range */
.assd-in-range {
  color: #2d4000 !important;
}

/* ── Personen-Eingabe ────────────────────────────────────────────────────── */

.assd-kal-persons {
  background: #f4fadf;
  border-color: #c8d8a0;
  border-radius: 0;
}

.assd-kal-persons-label {
  color: #5a7010;
}

.assd-kal-persons-input {
  border-color: #c8d8a0;
  border-radius: 0;
  color: #2d4000;
}

.assd-kal-persons-input:focus {
  border-color: #93c11e;
  box-shadow: 0 0 0 3px rgba(147, 193, 30, 0.2);
}

/* ── Haus-Selektor (klassischer Modus) ───────────────────────────────────── */

.assd-sel-group {
  border-color: #c8d8a0;
}

.assd-sel-btn {
  border-right-color: #c8d8a0;
  border-bottom-color: #c8d8a0;
  color: #5a7010;
}

.assd-sel-btn:hover {
  background: #ebf7c0;
  filter: none;
}

.assd-sel-btn.assd-sel-active {
  background: #93c11e;
  color: #191919;
}

.assd-sel-btn.assd-sel-active:hover {
  background: #749310;
  color: #191919;
  filter: none;
}

/* ── Booking Bar ─────────────────────────────────────────────────────────── */

.assd-bar {
  --assd-bar-accent:      #93c11e;
  --assd-bar-accent-dark: #749310;
  --assd-bar-border:      rgba(255, 255, 255, 0.18);
  --assd-bar-radius:      0px;
  --assd-bar-btn-radius:  0px;

  background: rgba(46, 46, 46, 0.78);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.4);
}

/* Feldtrenner auf Dark-Glas anpassen */
.assd-bar .assd-bar-col-divider {
  background: rgba(255, 255, 255, 0.18);
}

/* Labels: hell auf dunklem Grund */
.assd-bar .assd-bar-label {
  color: rgba(255, 255, 255, 0.55);
}

/* Werte: weiß */
.assd-bar .assd-bar-dropdown-val,
.assd-bar .assd-bar-date-val,
.assd-bar .assd-bar-pers-summary {
  color: #fff;
}

/* Placeholder-Text */
.assd-bar .assd-bar-date-ph {
  color: rgba(255, 255, 255, 0.40);
}

/* Chevron & Icon */
.assd-bar .assd-bar-pers-chevron,
.assd-bar .assd-bar-date-icon {
  color: rgba(255, 255, 255, 0.55);
  opacity: 1;
}

/* Sub-Zeile unter Unterkunft */
.assd-bar .assd-bar-dropdown-sub {
  color: #a8d84e;
}

/* Mobile-Feld-Trennlinien */
@media (max-width: 820px) {
  .assd-bar .assd-bar-field-house,
  .assd-bar .assd-bar-field-dates,
  .assd-bar .assd-bar-field-date {
    border-bottom-color: rgba(255, 255, 255, 0.15);
  }
  .assd-bar .assd-bar-field-house {
    border-right-color: rgba(255, 255, 255, 0.15);
  }
}
@media (max-width: 560px) {
  .assd-bar .assd-bar-field-house,
  .assd-bar .assd-bar-field-dates,
  .assd-bar .assd-bar-field-date,
  .assd-bar .assd-bar-field-persons {
    border-bottom-color: rgba(255, 255, 255, 0.15);
  }
}

/* Unterkunft-Dropdown */
.assd-bar-dropdown-sub { color: #749310; }

.assd-bar-house-popup {
  background: rgba(46, 46, 46, 0.78);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 0;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.4);
}

.assd-bar-house-item {
  background: transparent;
  border-bottom-color: rgba(255, 255, 255, 0.10);
}
/* Letztes Item: dezente Linie damit Popup nicht abgeschnitten wirkt */
.assd-bar-house-item:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}
.assd-bar-house-item:hover { background: rgba(255, 255, 255, 0.10); }

.assd-bar-house-item-name { color: #fff; }
.assd-bar-house-item-sub  { color: rgba(255, 255, 255, 0.55); }

/* Active: grüner Akzentstreifen links statt hellem Hintergrund */
.assd-bar-house-item-active {
  background: rgba(147, 193, 30, 0.12);
  border-left: 3px solid #93c11e;
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
  padding-left: 15px; /* 18px - 3px border */
}
.assd-bar-house-item-active .assd-bar-house-item-name { color: #a8d84e; }
.assd-bar-house-item-active:hover { background: rgba(147, 193, 30, 0.20); }

/* Haus-Buttons (klassischer Modus, falls verwendet) */
.assd-bar-house-btn {
  color: #5a7010;
  background: #f4fadf;
}

.assd-bar-house-btn:hover {
  background: #ebf7c0;
  border-color: #93c11e;
  color: #2d4000;
  box-shadow: 0 0 0 3px rgba(147,193,30,0.15);
}

.assd-bar-house-btn.assd-bar-house-active {
  background: #93c11e;
  border-color: #93c11e;
  color: #191919;
  box-shadow: 0 2px 8px rgba(147,193,30,0.35);
}

/* Counter-Buttons */
.assd-bar-counter-btn {
  color: #5a7010;
}

.assd-bar-counter-btn:hover:not(:disabled) {
  border-color: #93c11e;
  background: #f4fadf;
  color: #3a5a00;
}

.assd-bar-counter-value {
  border-color: #c8d8a0;
}

.assd-bar-counter-value:focus {
  border-color: #93c11e;
  box-shadow: 0 0 0 3px rgba(147,193,30,0.15);
}

/* Buchungs-Button */
.assd-bar-book-btn {
  background: #93c11e;
  color: #191919;
  border-radius: 0;
}

.assd-bar-book-btn:hover:not(:disabled) {
  background: #749310;
  color: #191919;
}

/* Kachel-Checkbox: grün + eckig */
.assd-tile-checkbox { border-radius: 0; }
.assd-tile-checkbox:checked { background: #93c11e; border-color: #93c11e; }
.assd-tile-checkbox:checked::after { border-color: #191919; }

/* ── Inline-Kalender-Zone (Dark Glass) ───────────────────────────────────── */

/* calendarZone selbst erhält das Glas — überschreibt background:#fff aus assd-booking-bar.css */
.assd-bar-cal-zone {
  background: rgba(46, 46, 46, 0.78) !important;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.4);
  margin-top: 4px;
}

/* Monatstitel + Wochentage */
.assd-bar-cal-zone .assd-kal-month-title { color: #fff; }
.assd-bar-cal-zone .assd-kal-dow         { color: rgba(255, 255, 255, 0.50); }

/* Nav-Pfeile */
.assd-bar-cal-zone .assd-kal-nav {
  border-color: rgba(255, 255, 255, 0.25);
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
}
.assd-bar-cal-zone .assd-kal-nav:hover {
  background: rgba(255, 255, 255, 0.16);
}

/* Legende */
.assd-bar-cal-zone .assd-kal-legend { color: rgba(255, 255, 255, 0.70); }

/* Nicht wählbare / vergangene Zellen auf Dunkel anpassen */
.assd-bar-cal-zone .assd-closed {
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.25);
}
.assd-bar-cal-zone .assd-past {
  background: rgba(255, 255, 255, 0.04);
  color: rgba(255, 255, 255, 0.18);
}
.assd-bar-cal-zone .assd-loading {
  background: rgba(255, 255, 255, 0.08);
}

/* Weiter-Button (calendarZone ist Sibling zu .assd-bar — Variable kaskadiert nicht) */
.assd-bar-cal-weiter-btn {
  background: #93c11e;
  color: #191919;
  border-radius: 0;
}

.assd-bar-cal-weiter-btn:hover:not(:disabled) {
  background: #749310;
  color: #191919;
}

/* Zurück-Button auf Dunkel anpassen */
.assd-bar-cal-back-btn {
  border-radius: 0;
  border-color: rgba(255, 255, 255, 0.30);
  color: rgba(255, 255, 255, 0.80);
}
.assd-bar-cal-back-btn:hover {
  border-color: rgba(255, 255, 255, 0.60);
  color: #fff;
}

/* Personen-Popover */
.assd-bar-pers-popup {
  background: rgba(46, 46, 46, 0.78);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 0;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.4);
}

.assd-bar-pers-popup .assd-bar-pers-row {
  border-bottom-color: rgba(255, 255, 255, 0.10);
}

.assd-bar-pers-popup .assd-bar-pers-lbl { color: #fff; }
.assd-bar-pers-popup .assd-bar-pers-sub { color: rgba(255, 255, 255, 0.50); }

.assd-bar-pers-popup .assd-bar-counter-label { color: rgba(255, 255, 255, 0.55); }

.assd-bar-pers-popup .assd-bar-counter-btn {
  background: rgba(255, 255, 255, 0.10);
  border-color: rgba(255, 255, 255, 0.25);
  color: #fff;
}
.assd-bar-pers-popup .assd-bar-counter-btn:hover:not(:disabled) {
  background: rgba(147, 193, 30, 0.25);
  border-color: #93c11e;
  color: #fff;
}

.assd-bar-pers-popup .assd-bar-counter-value {
  background: rgba(255, 255, 255, 0.10);
  border-color: rgba(255, 255, 255, 0.25);
  color: #fff;
}
.assd-bar-pers-popup .assd-bar-counter-value:focus {
  border-color: #93c11e;
  box-shadow: 0 0 0 3px rgba(147, 193, 30, 0.25);
}

.assd-bar-pers-done {
  background: #93c11e;
  color: #191919;
  border-radius: 0;
}
.assd-bar-pers-done:hover { background: #749310; }

/* Kalender-Popup */
.assd-bar-cal-popup {
  border-color: #c8d8a0;
  border-radius: 0;
}

.assd-bar-cal-hint { color: #5a7010; }

.assd-bar-cal-nav-btn:hover { background: #f4fadf; border-color: #93c11e; }

.assd-bar-cal-available:hover {
  background: #f4fadf;
  color: #3a5a00;
}

.assd-bar-cal-arrival,
.assd-bar-cal-departure {
  background: #93c11e !important;
  color: #191919 !important;
}

.assd-bar-cal-in-range {
  color: #2d4000 !important;
}

.assd-bar-cal-hover-dep {
  background: #d8f0a0 !important;
  color: #2d4000 !important;
}

/* ── Kalender-Navbar (integrierter Modus) ────────────────────────────────── */

.assd-navbar {
  border-color: #c8d8a0;
  border-radius: 0;
  box-shadow: 0 2px 10px rgba(90, 112, 16, 0.08);
}

.assd-navbar-divider {
  background: #c8d8a0;
}

.assd-navbar-field-persons {
  border-top-color: #c8d8a0;
}

.assd-navbar-group-btn {
  border-color: #c8d8a0;
  color: #5a7010;
  border-radius: 0;
}

.assd-navbar-group-btn:hover {
  background: #ebf7c0;
  border-color: #93c11e;
}

.assd-navbar-group-btn.assd-navbar-group-active {
  background: #93c11e;
  border-color: #93c11e;
  color: #191919;
}

.assd-navbar .assd-sel-btn {
  border-color: #c8d8a0;
  color: #5a7010;
  border-radius: 0;
}

.assd-navbar .assd-sel-btn:last-child {
  border-right-color: #c8d8a0;
}

.assd-navbar .assd-sel-btn:hover {
  background: #ebf7c0;
}

.assd-navbar .assd-sel-btn.assd-sel-active {
  background: #93c11e;
  border-color: #93c11e;
  color: #191919;
}

.assd-navbar .assd-sel-btn.assd-sel-active:hover {
  background: #749310;
  color: #191919;
  filter: none;
}
