/* Dunkles Technikkontroll-Portal: #111827 Haupt, #22C55E Akzent, #3B82F6 sekundär, #020617 Hintergrund, #E5E7EB Text */
:root {
  --primary-50: #1f2937;
  --primary-100: #1a2332;
  --primary-200: #151d2b;
  --primary-300: #111827;
  --primary-400: #0d1320;
  --primary-500: #22c55e;
  --primary-600: #16a34a;
  --primary-700: #22c55e;
  --primary-800: #15803d;
  --primary-900: #111827;
  --primary-950: #020617;
  --primary-rgb: 34, 197, 94;
  --accent-50: #0c1929;
  --accent-100: #0a1520;
  --accent-200: #081018;
  --accent-300: #3b82f6;
  --accent-400: #22c55e;
  --accent-500: #22c55e;
  --accent-600: #3b82f6;
  --accent-700: #2563eb;
  --accent-800: #1d4ed8;
  --accent-900: #1e40af;
  --accent-rgb: 59, 130, 246;
  --neutral-50: #1e293b;
  --neutral-100: #1a2332;
  --neutral-200: #334155;
  --neutral-300: #475569;
  --neutral-400: #64748b;
  --neutral-500: #94a3b8;
  --neutral-600: #cbd5e1;
  --neutral-700: #e2e8f0;
  --neutral-800: #e5e7eb;
  --neutral-900: #f8fafc;
  --surface-primary: #020617;
  --surface-secondary: #111827;
  --surface-accent: #0f172a;
  --text-primary: #e5e7eb;
  --text-secondary: #94a3b8;
  --text-accent: #3b82f6;
  --bg-primary: #020617;
  --button-primary-bg: #22c55e;
  --button-primary-text: #020617;
  --button-secondary-bg: transparent;
  --button-secondary-text: #e5e7eb;
  --border-light: #1e293b;
  --border-medium: #334155;
}

body {
  background-color: var(--surface-primary);
  color: var(--text-primary);
}

.navbar .navbar-brand .prime_section_title {
  color: var(--primary-700) !important;
}

.navbar .nav-link {
  color: var(--text-primary) !important;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus {
  color: var(--accent-600) !important;
}

.dropdown-menu {
  background-color: var(--surface-secondary);
  border-color: var(--border-light);
}

.dropdown-item {
  color: var(--text-primary);
}

.dropdown-item:hover {
  background-color: var(--primary-900);
  color: var(--accent-600);
}

.btn-primary {
  background-color: var(--primary-500) !important;
  border-color: var(--primary-500) !important;
  color: var(--button-primary-text) !important;
}

.btn-primary:hover {
  background-color: var(--primary-600) !important;
  border-color: var(--primary-600) !important;
}

.btn-outline-primary {
  color: var(--accent-600) !important;
  border-color: var(--accent-600) !important;
}

.btn-outline-primary:hover {
  background-color: var(--accent-600) !important;
  color: var(--bg-primary) !important;
}

.text-muted {
  color: var(--text-secondary) !important;
}

.usp-card,
.leadgen-form-card,
.service-card,
.blog-card,
.contact-form-wrapper,
.contact-info-wrapper {
  background-color: var(--surface-secondary);
  border-color: var(--border-light);
}

.site-disclaimer-section {
  background-color: var(--surface-accent);
  border-top: 1px solid var(--border-light);
}

.site_caption,
.site-disclaimer-text {
  color: var(--text-secondary);
}

#footer {
  background-color: var(--surface-secondary) !important;
}

.footer-link {
  color: var(--text-secondary);
}

.footer-link:hover {
  color: var(--accent-600);
}

.form-control,
.form-select {
  background-color: var(--surface-accent);
  border-color: var(--border-medium);
  color: var(--text-primary);
}

.form-control:focus,
.form-select:focus {
  background-color: var(--surface-accent);
  border-color: var(--accent-600);
  color: var(--text-primary);
  box-shadow: 0 0 0 0.2rem rgba(59, 130, 246, 0.15);
}

.form-floating > label {
  color: var(--text-secondary);
}

.accordion-item {
  background-color: var(--surface-secondary);
  border-color: var(--border-light) !important;
}

.accordion-button {
  background-color: var(--surface-secondary);
  color: var(--text-primary);
}

.accordion-button:not(.collapsed) {
  background-color: var(--surface-accent);
  color: var(--accent-600);
}

.accordion-body {
  background-color: var(--surface-secondary);
}

.navbar-toggler-icon {
  filter: invert(1);
}

.hero-professional-blue-01 {
  background: linear-gradient(135deg, var(--bg-primary) 0%, var(--primary-900) 100%);
}

.about-secondary {
  background-color: var(--surface-primary);
}

.services-section,
.blog-section,
.leadgen-section-secondary,
.contact-section-clean {
  background-color: var(--surface-primary);
}

.legal-page h1,
.legal-page h2,
.legal-page h3 {
  color: var(--text-primary);
}

.legal-content p,
.legal-content li {
  color: var(--text-secondary);
}
