/* ==========================================================================
   custom.css – Farb-Override für main.css
   Einbinden NACH main.css:
   <link rel="stylesheet" href="…/css/main.css">
   <link rel="stylesheet" href="…/css/custom.css">

   Neue Farben:
   Navy  #002f5d  (RGB 0 48 93)     -> ersetzt Gelb (Primärfarbe)
   Grau  #979797  (RGB 152 151 151) -> ersetzt Orange / Akzente

   Hinweis: Grau auf Weiß hat nur ca. 2,9:1 Kontrast -> nicht für
   Fließtext auf Weiß verwenden. Weiß auf Navy und Navy auf Grau sind ok.
   ========================================================================== */

/* ==========================================================================
   Farben, Settings
   ========================================================================== */

:root {
  --navy: #002f5d;
  --navy-dunkel: #001f3f;
  --navy-hell: #5a7fa6;
  --grau: #979797;
  --grau-dunkel: #5e5e5e;
  --grau-hell: #f1f1f1;

  /* alte Variablennamen bleiben, bekommen neue Werte */
  --gelb: var(--navy);
  --dunkelgelb: var(--navy-dunkel);
  --orange: var(--grau);
  --lila: var(--navy-hell);

  /* in main.css verwendet, aber nie definiert */
  --farbe: var(--navy);
  --blau: var(--navy);

  /* Bootstrap-Primärfarbe angleichen */
  --bs-primary: #002f5d;
  --bs-primary-rgb: 0, 47, 93;
  --bs-link-hover-color: #002f5d;
}

/* Kombination "Schwarz + Gelb" (z. B. Datum: bg-black text-gelb)
   -> Navy-Text auf Schwarz wäre unlesbar, daher Navy-Fläche mit weißer Schrift */
.bg-black.text-gelb,
.bg-dark.text-gelb {
  background-color: var(--navy) !important;
  color: #fff !important;
}

/* ==========================================================================
   Standards
   ========================================================================== */

h1, h2, h3, h4, h5, h6 {
  color: var(--navy);
}

a:hover {
  color: var(--navy);
}

::selection {
  background: var(--navy);
  color: #fff;
}

::-moz-selection {
  background: var(--navy);
  color: #fff;
}

blockquote {
  border-left-color: var(--navy);
  background: var(--grau-hell);
}

blockquote::before {
  color: var(--navy);
}

main a {
  color: var(--navy);
}

/* ==========================================================================
   Navigation (Navbar-Hintergrund = Navy -> Schrift weiß)
   ========================================================================== */

.navbar {
  --bs-navbar-color: #fff;
  --bs-navbar-hover-color: #fff;
  --bs-navbar-active-color: #fff;
}

.navbar-toggler {
  color: #fff;
  background-color: var(--navy);
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23ffffff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-toggler:focus {
  box-shadow: 0 0 0 .2rem rgba(151, 151, 151, .6);
}

.nav-link,
.nav-link:hover,
.nav-link:focus {
  color: #fff;
}

.nav-item {
  border-bottom-color: var(--navy);
}

.nav-item:hover,
.nav-item:focus,
.nav-item.active {
  border-bottom-color: var(--grau);
}

@media (max-width: 992px) {
  .nav-item {
    border-bottom-color: var(--navy-dunkel);
  }
  ul.subnav {
    background-color: var(--navy-dunkel);
  }
}

.navbar.is-sticky {
  background: var(--navy);
}

/* Dropdown */
.dropdown {
  background: var(--navy);
}

.dropdown .btn {
  background: var(--navy);
  color: #fff;
}

.dropdown .btn:hover,
.dropdown .btn:active,
.dropdown .btn:focus {
  background: var(--grau);
  color: var(--navy);
}

.dropdown .dropdown-menu a {
  color: var(--navy);
}

.container .dropdown .dropdown-menu a:hover {
  color: #fff;
  background-color: var(--navy);
}

li.dropdown.active.open > a,
li.dropdown.active.open > ul.dropdown-menu a:hover,
li.dropdown.open > a,
li.dropdown.open > ul.dropdown-menu a:hover {
  color: #fff;
  background-color: var(--navy);
}

.breadcrumb-item.active {
  color: var(--navy) !important;
}

/* ==========================================================================
   Submenu / Sidebarmenu
   ========================================================================== */

.list-group-item.active {
  color: #fff;
  background-color: var(--navy);
  border-color: var(--navy);
}

.list-group-item-action:focus,
.list-group-item-action:hover {
  color: var(--navy);
  background-color: var(--grau-hell);
}

/* ==========================================================================
   Sections
   ========================================================================== */

/* Counter (Hintergrund Navy -> Zahlen, Icons und Text weiß) */
section#counter,
section#counter p,
section#counter .count-this {
  color: #fff;
}

section#counter p {
  color: var(--grau-hell);
}

/* Icons: Bilddateien (SVG/PNG) weiß einfärben, Icon-Fonts/Inline-SVG über color */
section#counter img {
  filter: brightness(0) invert(1);
}

section#counter i,
section#counter svg {
  color: #fff;
  fill: currentColor;
}

.card:hover {
  background-color: var(--navy);
  color: #fff;
}

.card:hover .card-title,
.card:hover .card-text,
.card:hover h1, .card:hover h2, .card:hover h3,
.card:hover h4, .card:hover h5, .card:hover h6,
.card:hover p {
  color: #fff;
}

.datum {
  background: var(--navy);
  color: #fff;
}

.card:hover .datum {
  background: var(--grau);
  color: var(--navy);
}

section#overlay {
  background: linear-gradient(
    rgba(0, 47, 93, 0.6),
    rgba(0, 47, 93, 0.6)
  );
}

/* ==========================================================================
   Buttons
   ========================================================================== */

.btn-primary {
  --bs-btn-bg: #002f5d;
  --bs-btn-border-color: #002f5d;
  --bs-btn-color: #fff;
  --bs-btn-hover-bg: #fff;
  --bs-btn-hover-color: #002f5d;
  --bs-btn-hover-border-color: #002f5d;
  --bs-btn-active-bg: #001f3f;
  --bs-btn-active-color: #fff;
  --bs-btn-active-border-color: #001f3f;
  --bs-btn-focus-shadow-rgb: 0, 47, 93;
  color: #fff;
  background-color: var(--navy);
  border: 1px solid var(--navy);
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: #fff !important;
  color: var(--navy) !important;
  border: 1px solid var(--navy) !important;
}

.btn-primary:active {
  background-color: var(--navy-dunkel) !important;
  color: #fff !important;
}

.back-to-top {
  background: var(--navy);
  color: #fff;
}

.back-to-top:hover,
.back-to-top:focus,
.back-to-top:active {
  background: var(--grau);
  color: var(--navy);
}

.btn-down a {
  color: var(--navy);
}

.btn-down a:hover {
  color: var(--grau);
}

/* ==========================================================================
   Galerie
   ========================================================================== */

.thumb-box a:hover .thumb-box-overlay {
  background-color: rgba(0, 47, 93, 0.8);
  color: #fff;
}

/* ==========================================================================
   Cookie Consent
   ========================================================================== */

a.cc-dismiss:hover {
  color: #fff;
  background-color: var(--navy);
  border-color: var(--navy);
}

/* ==========================================================================
   SVG / Image Map / Karte DD
   ========================================================================== */

.imagemap path.fill-uni     {fill: var(--navy);}
.imagemap path.fill-verband {fill: var(--grau);}
.imagemap path.fill-frei    {fill: var(--navy-hell);}
.imagemap path.fill-dhsz    {fill: var(--grau-dunkel);}

.imagemap path:hover {
  fill: #222;
}

/* ==========================================================================
   Suche (sitzt in der Navy-Navbar)
   ========================================================================== */

form.search {
  border-color: var(--navy);
}

form.search:hover {
  border-color: var(--grau);
}

form.search input {
  color: #fff;
}

form.search input::placeholder {
  color: rgba(255, 255, 255, .7);
}

form.search .fas {
  color: #fff;
}

.nav-item.nav-search:hover {
  border-bottom-color: var(--navy);
}