/* ==================== Kanzlei-Markenfarben (aus dem Logo) ==================== */
:root {
  --brand-primary: #00496E;   /* Tiefes Kanzlei-Blau aus "ERBRECHT" */
  --brand-secondary: #005C87; /* Mittleres Blau aus linker Facette */
  --brand-accent: #81B5D4;    /* Helles Eisblau aus "KONRAD" */
}

/* Semantische Utility-Klassen */
.bg-brand-primary { background-color: var(--brand-primary); }
.bg-brand-secondary { background-color: var(--brand-secondary); }
.bg-brand-accent { background-color: var(--brand-accent); }
.text-brand-primary { color: var(--brand-primary); }
.text-brand-secondary { color: var(--brand-secondary); }
.text-brand-accent { color: var(--brand-accent); }
.border-brand-primary { border-color: var(--brand-primary); }
.border-brand-accent { border-color: var(--brand-accent); }
.hover\:bg-brand-secondary:hover { background-color: var(--brand-secondary); }

/* Da main.css statisch vorkompiliert ist (kein Tailwind-Build im Projekt),
   werden die im Markup genutzten Arbitrary-Value-Klassen hier manuell bereitgestellt. */
.bg-\[\#00496E\] { background-color: var(--brand-primary); }
.hover\:bg-\[\#005C87\]:hover { background-color: var(--brand-secondary); }
.text-\[\#00496E\] { color: var(--brand-primary); }
.bg-\[\#81B5D4\] { background-color: var(--brand-accent); }
.bg-\[\#00496E\]\/5 { background-color: rgb(0 73 110 / 0.05); }
.border-\[\#00496E\]\/10 { border-color: rgb(0 73 110 / 0.1); }
.border-\[\#00496E\]\/20 { border-color: rgb(0 73 110 / 0.2); }
.hover\:text-\[\#00496E\]:hover { color: var(--brand-primary); }
.dark .dark\:hover\:text-\[\#81B5D4\]:hover { color: var(--brand-accent); }

/* Solider Eingabefeld-Hintergrund im Kontaktformular (verhindert Durchscheinen des Hintergrundfotos) */
.dark .dark\:bg-card { background-color: var(--color-card); }

/* Entfernt helle Trennlinien in abwechselnden Sektionen im Dark Mode (monolithischer Hintergrund) */
.dark .dark\:border-transparent { border-color: transparent !important; }

/* Sternchen-Bewertung im Testimonials-Bereich (Klassen fehlen im statisch vorkompilierten main.css) */
.text-amber-400 { color: #fbbf24; }
.stroke-current { stroke: currentColor; }
.fill-none { fill: none; }
.text-stone-300 { color: #d6d3d1; }
.dark .dark\:text-stone-700 { color: #44403c; }

/* Ratgeber-Akkordeon (Kompetenzen-Seite) */
.text-stone-600 { color: #57534e; }
.dark .dark\:text-stone-300 { color: #d6d3d1; }

/* Leistungsprofil-Grid (Kompetenzen-Seite) */
.text-stone-900 { color: #1c1917; }
.text-\[15px\] { font-size: 15px; }

/* News-Artikel: Markenfarbene Links im Fließtext (Kirbytext-Blocks) */
.article-prose :where(a) {
  color: var(--brand-primary);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.article-prose :where(a):hover {
  color: var(--brand-secondary);
}
.dark .article-prose :where(a) {
  color: var(--brand-accent);
}

/* Rechtstexte (Impressum, Datenschutz): Überschriften & Links in Kanzlei-Blau */
.legal-prose :where(h2, h3) {
  color: var(--brand-primary);
}
.legal-prose :where(a) {
  color: var(--brand-primary);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.legal-prose :where(a):hover {
  color: var(--brand-secondary);
}
.dark .legal-prose :where(a) {
  color: var(--brand-accent);
}

/* News-Bildformate (im statisch vorkompilierten main.css nicht enthalten) */
.aspect-\[16\/10\] { aspect-ratio: 16 / 10; }
.aspect-\[16\/9\] { aspect-ratio: 16 / 9; }

/* Weitere im News-System genutzte, nicht vorkompilierte Utilities */
.bg-stone-100 { background-color: #f5f5f4; }
.text-stone-400 { color: #a8a29e; }
.hover\:-translate-y-1:hover { transform: translateY(-0.25rem); }

details.accordion > summary {
  cursor: pointer;
  list-style: none;
}
details.accordion > summary::-webkit-details-marker,
details.accordion > summary::marker {
  display: none;
  content: "";
}
details.accordion .accordion-chevron {
  transition: transform 0.3s ease;
}
details.accordion[open] .accordion-chevron {
  transform: rotate(180deg);
}

/* Footer-Hintergrund in edlem Kanzlei-Dunkelblau (unabhängig vom fehlenden Tailwind-Build) */
.bg-footer-dark {
  background-color: #002236 !important;
}

/* ==========================================
   PREMIUM MONOLITHIC DARK MODE
   ========================================== */

/* 1. Das einheitliche Fundament: Alle Sektionen teilen sich dasselbe edle Midnight-Blau */
.dark,
.dark body,
.dark main,
.dark section,
.dark [class*="bg-stone-"],
.dark [class*="bg-neutral-"],
.dark .bg-surface-dark {
  background-color: #00121E !important;
}

/* 2. Subtile Tiefe für die News-Karten (Gezielte Micro-Elevation statt harter Kontraste) */
.dark [class*="card"],
.dark article,
.dark div[class*="bg-stone-950"] {
  background-color: #001827 !important; /* Nur einen Hauch heller als das Fundament */
  border: 1px solid rgba(129, 181, 212, 0.12) !important; /* Hauchdünner, edler Rahmen in Eisblau-Opazität */
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3) !important;
}

/* 3. CTA-Bereich (Eine extrem dezente, edle Lichtinsel vor dem Footer) */
.dark .bg-\[\#00496E\]\/5 {
  background-color: rgba(129, 181, 212, 0.03) !important;
  border-top: 1px solid rgba(129, 181, 212, 0.1) !important;
  border-bottom: 1px solid rgba(129, 181, 212, 0.1) !important;
}

/* 4. Typografie & Kontraste beruhigen */
.dark h1, .dark h2, .dark h3, .dark h4, .dark .text-\[\#00496E\] {
  color: #81B5D4 !important; /* Das edle Eisblau für alle Headlines */
  letter-spacing: -0.01em;
}

.dark p, .dark li {
  color: rgba(226, 232, 240, 0.75) !important; /* Sanftes, augenschonendes Slate-Weiß für Fließtext */
}

.dark .text-stone-400, .dark .text-white\/60 {
  color: rgba(226, 232, 240, 0.45) !important; /* Dezent gedimmte Nebentexte */
}

/* 5. Feine Trennlinien (z.B. Leistungsprofil-Grid) bleiben im Dark Mode sichtbar */
.dark .border-\[\#00496E\]\/20 {
  border-color: rgba(129, 181, 212, 0.25) !important;
}

/* 6. Explizit weiß gesetzte Überschriften (z.B. Leistungsprofil-Grid) sollen NICHT
   von der globalen h3-Eisblau-Regel überschrieben werden (höhere Spezifität) */
.dark .dark\:text-white {
  color: #ffffff !important;
}
