/*
 * Bootstrap-5-Theme-Layer: bindet die bestehende, bereits BITV/WCAG-
 * geprüfte Corporate-Design-Farbpalette (siehe style.css) in Bootstraps
 * eigenes CSS-Variablen-System (--bs-*) ein. Kein SASS-Build nötig -
 * Bootstrap 5.3 liest seine Komponenten-Farben zur Laufzeit aus diesen
 * Variablen. Muss NACH bootstrap.min.css und NACH style.css geladen
 * werden (überschreibt --bs-* auf Basis der dort definierten --primary
 * usw.).
 */

:root,
[data-bs-theme="light"] {
  --bs-font-sans-serif: 'Roboto Condensed', Arial, sans-serif;
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-bg: var(--bg);
  --bs-body-color: var(--text);
  --bs-border-color: var(--border);
  --bs-border-radius: var(--radius);
  --bs-border-radius-sm: 8px;
  --bs-border-radius-lg: var(--radius);
  --bs-box-shadow: var(--shadow);
  --bs-link-color: var(--primary);
  --bs-link-hover-color: var(--primary-dark);
  --bs-primary: var(--primary);
  --bs-primary-rgb: 26, 82, 118;
  --bs-secondary: var(--accent-text);
  --bs-danger: var(--danger);
  --bs-focus-ring-color: rgba(26, 82, 118, 0.35);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-bs-theme="light"]) {
    --bs-body-bg: var(--bg);
    --bs-body-color: var(--text);
    --bs-border-color: var(--border);
    --bs-primary: var(--primary);
    --bs-primary-rgb: 97, 162, 214;
    --bs-secondary: var(--accent-text);
    --bs-danger: var(--danger);
    color-scheme: dark;
  }
}
:root[data-bs-theme="dark"] {
  --bs-body-bg: var(--bg);
  --bs-body-color: var(--text);
  --bs-border-color: var(--border);
  --bs-primary: var(--primary);
  --bs-primary-rgb: 97, 162, 214;
  --bs-secondary: var(--accent-text);
  --bs-danger: var(--danger);
  color-scheme: dark;
}

.card {
  background-color: var(--card-bg);
  border-color: var(--border);
}

.btn-primary {
  --bs-btn-bg: var(--primary);
  --bs-btn-border-color: var(--primary);
  --bs-btn-hover-bg: var(--primary-dark);
  --bs-btn-hover-border-color: var(--primary-dark);
  --bs-btn-active-bg: var(--primary-dark);
  --bs-btn-active-border-color: var(--primary-dark);
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
  --bs-btn-active-color: #fff;
}

.btn-outline-primary {
  --bs-btn-color: var(--primary);
  --bs-btn-border-color: var(--primary);
  --bs-btn-hover-bg: var(--accent-bg);
  --bs-btn-hover-border-color: var(--primary);
  --bs-btn-hover-color: var(--primary-dark);
  --bs-btn-active-bg: var(--accent-bg);
  --bs-btn-active-color: var(--primary-dark);
}

.btn-danger {
  --bs-btn-bg: var(--danger);
  --bs-btn-border-color: var(--danger);
}

.alert-success { --bs-alert-bg: #dcfce7; --bs-alert-border-color: #bbf7d0; --bs-alert-color: #166534; }
.alert-danger { --bs-alert-bg: #fee2e2; --bs-alert-border-color: #fecaca; --bs-alert-color: #991b1b; }
.alert-warning { --bs-alert-bg: var(--accent-bg); --bs-alert-border-color: var(--accent-border); --bs-alert-color: var(--accent-text); }

.badge.text-bg-new { background-color: var(--accent-bg) !important; color: var(--accent-text) !important; }
.badge.text-bg-opened { background-color: #dbeafe !important; color: #1e40af !important; }
.badge.text-bg-shipped { background-color: #dcfce7 !important; color: #166534 !important; }
.badge.text-bg-rejected { background-color: #fee2e2 !important; color: #991b1b !important; }

.table { color: var(--text); }
.table > :not(caption) > * > * { border-bottom-color: var(--border); }

.form-control,
.form-select {
  background-color: var(--card-bg);
  color: var(--text);
  border-color: var(--border);
}
.form-control:focus,
.form-select:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 0.2rem var(--bs-focus-ring-color);
}

.modal-content {
  background-color: var(--card-bg);
  color: var(--text);
}

.nav-link { color: var(--text-muted); }
.nav-link:hover, .nav-link.active { color: var(--primary); }

/* Links innerhalb roter Fehlermeldungen bleiben in der Textfarbe statt
   im (auf Rot kontrastarmen) Standard-Linkblau - dieselbe Korrektur,
   die schon für .status-msg.error galt. */
.alert-danger a,
.alert-danger a:visited {
  color: inherit;
  text-decoration: underline;
}
