/*
 * ZHL-Theme — Branding-Overlay über LibreBooking/Bootstrap.
 * Upgrade-sicher: wird via config 'css.extension.file' => 'css/zhl-theme.css'
 * NACH dem Standard-CSS geladen. Keine Core-Datei wird verändert.
 * Markenfarbe: UBT-Grün #009260.
 */
:root {
  --zhl-green: #009260;
  --zhl-green-dark: #00744c;
  --bs-primary: #009260;
  --bs-primary-rgb: 0, 146, 96;
  --bs-link-color: #00744c;
  --bs-link-color-rgb: 0, 116, 76;
  --bs-link-hover-color: #009260;
}

/* Buttons / aktive Elemente */
.btn-primary {
  --bs-btn-bg: var(--zhl-green);
  --bs-btn-border-color: var(--zhl-green);
  --bs-btn-hover-bg: var(--zhl-green-dark);
  --bs-btn-hover-border-color: var(--zhl-green-dark);
  --bs-btn-active-bg: var(--zhl-green-dark);
  --bs-btn-active-border-color: var(--zhl-green-dark);
}
.btn-outline-primary {
  --bs-btn-color: var(--zhl-green-dark);
  --bs-btn-border-color: var(--zhl-green);
  --bs-btn-hover-bg: var(--zhl-green);
  --bs-btn-hover-border-color: var(--zhl-green);
}
.link-primary { color: var(--zhl-green-dark) !important; }
.text-primary { color: var(--zhl-green) !important; }
.bg-primary { background-color: var(--zhl-green) !important; }

/* Navigation / Markenkopf */
.navbar-brand, .nav-brand { color: var(--zhl-green-dark) !important; font-weight: 700; }
.navbar .nav-link.active { color: var(--zhl-green-dark) !important; }

/* Login-Karte dezent akzentuieren */
#login-box, .default-box { border-top: 3px solid var(--zhl-green); }

/* Fokus-/Form-Akzente */
.form-control:focus, .form-select:focus {
  border-color: var(--zhl-green);
  box-shadow: 0 0 0 0.2rem rgba(0, 146, 96, 0.15);
}
.form-check-input:checked {
  background-color: var(--zhl-green);
  border-color: var(--zhl-green);
}

/* Badges/Hervorhebungen in der Markenfarbe */
.badge.bg-primary { background-color: var(--zhl-green) !important; }
a { text-decoration-color: rgba(0, 146, 96, 0.4); }

/* =====================================================================
 * zhl-studio Look & Feel (global, additiv) — angelehnt an den ZHL Studio
 * Style Guide: System-Font, weicher Seiten-BG, runde Cards/Buttons, weiche
 * Schatten, UBT-Grün. Nur Farben/Radius/Schatten — keine Layout-/Positions-
 * Eingriffe (Schedule-Matrix bleibt unangetastet).
 * ===================================================================== */
:root {
  --zhl-text: #2d3748;
  --zhl-text2: #4a5568;
  --zhl-muted: #718096;
  --zhl-border: #e2e8f0;
  --zhl-bg: #f8f9fa;
  --zhl-soft: #f7fafc;
  --zhl-grad: linear-gradient(135deg, #009260 0%, #007a50 100%);
}

body[data-bs-theme='light'],
body:not([data-bs-theme='dark']) {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
  background-color: var(--zhl-bg);
  color: var(--zhl-text2);
}
h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, .h5 { color: var(--zhl-text); font-weight: 600; }

/* Navigation: weiße, weiche Leiste */
.navbar.bg-light {
  background-color: #fff !important;
  border-bottom: 1px solid var(--zhl-border);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .05) !important;
}
.navbar .navbar-brand { font-size: 1.15rem; letter-spacing: -.2px; }
.navbar .nav-link { color: var(--zhl-text2); font-weight: 500; border-radius: 8px; padding-left: .7rem; padding-right: .7rem; }
.navbar .nav-link:hover { background: var(--zhl-soft); color: var(--zhl-text); }
.navbar .nav-link.active { background: #f0fdf4; color: var(--zhl-green-dark) !important; font-weight: 600; }
.dropdown-menu { border-radius: 12px; border-color: var(--zhl-border); box-shadow: 0 6px 20px rgba(0, 0, 0, .1); }
.dropdown-item:active, .dropdown-item.active { background-color: var(--zhl-green); }

/* Karten & Panels */
.card {
  border: 1px solid var(--zhl-border);
  border-radius: 12px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .06);
}
.card-header {
  background: var(--zhl-soft);
  border-bottom: 1px solid var(--zhl-border);
  border-top-left-radius: 12px !important;
  border-top-right-radius: 12px !important;
  font-weight: 600;
  color: var(--zhl-text);
}

/* Buttons: abgerundet, Primär als Grün-Gradient */
.btn { border-radius: 10px; font-weight: 600; }
.btn-primary {
  background-image: var(--zhl-grad);
  border: none;
  box-shadow: 0 3px 10px rgba(0, 146, 96, .22);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  background-image: linear-gradient(135deg, #00a06a 0%, #00855a 100%);
}

/* Formularfelder */
.form-control, .form-select { border-radius: 10px; border-color: var(--zhl-border); }

/* Tabellen: dezent (nur Farben, kein Layout) */
.table { --bs-table-hover-bg: var(--zhl-soft); }
.table > thead { color: var(--zhl-muted); }
.table > :not(caption) > * > * { border-color: var(--zhl-border); }

/* Alerts in zhl-studio Message-Farben */
.alert-success { background: #f0fdf4; color: #166534; border-color: #bbf7d0; }
.alert-danger  { background: #fef2f2; color: #991b1b; border-color: #fecaca; }
.alert-warning { background: #fffbeb; color: #92400e; border-color: #fde68a; }
.alert-info    { background: #eff6ff; color: #1e40af; border-color: #bfdbfe; }

/* Login-Box & generische Boxen */
#login-box, .default-box {
  border-radius: 14px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, .08);
  background: #fff;
}

/* Badges abgerundet */
.badge { border-radius: 20px; font-weight: 600; }

/* Footer hell statt grau */
footer.bg-light { background: #fff !important; color: var(--zhl-muted); border-top-color: var(--zhl-border) !important; }
