/*
 * ebu.css — Projektspezifische Anpassungen
 *
 * Diese Datei wird als letzte Stylesheet-Ressource geladen und überschreibt
 * alle vorherigen Regeln. Sie wird nicht durch Updates überschrieben.
 */

/* ============================================================
   Barrierefreiheitsmenü – aktive Buttons
   ============================================================
   Aktive Buttons (Farbmodus, Schriftgröße, Einfache Sprache) tragen die Klasse
   .active. Farben hier zentral über die Variablen anpassen – auch pro Modus in
   den .dark{} / .contrast{} Blöcken weiter unten überschreibbar. */
:root {
  --active-color: #ffffff;
  --active-background-color: var(--color-primary-green);
  --text-color: #333;
}

.a11y-menu .active {
  color: var(--active-color);
  background-color: var(--active-background-color);
  border-color: var(--active-background-color);
}

/* ============================================================
   Body-Hintergrund (Kachelmuster)
   ============================================================ */
body {
  background-image: url(/media/Template/background.png);
  background-repeat: repeat;
}

/* ============================================================
   Hero-Bereich: Hintergrund erstreckt sich über Header + Quicklinks
   ============================================================

   .page-hero-wrapper umschließt Header und den kompletten Seiteninhalt.
   Das ::before-Pseudo-Element erzeugt eine Hintergrundschicht fester Höhe,
   die hinter Header und Quicklinks liegt, aber nicht über den restlichen
   Seiteninhalt hinausgeht.

   ANPASSEN: Ändere "500px" auf die tatsächliche Höhe von
   Header + Quicklinks-Bereich (Standardwert: ~64px Header + 400px Quicklinks).
   ============================================================ */

.page-hero-wrapper {
  position: relative;
  isolation: isolate; /* eigener Stacking-Context: schützt interne z-index */
}

.page-hero-wrapper::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 500px; /* ← ANPASSEN: Gesamthöhe des Hero-Bereichs */
  background-image: url(/media/Template/Header_Background_light.png);
  background-repeat: no-repeat;
  background-position: top right;
  background-size: contain;
  z-index: -1;
  pointer-events: none;
}


/* ============================================================
   Header
   ============================================================ */
/* Header: eigenen Hintergrund entfernt – wird jetzt vom Wrapper übernommen */
header {
  background-image: none;
  /* margin-bottom:40px; */
  min-height:150px;
}
header.sticky.is-scrolled{
  background-color: #ffffffcc;
  min-height:50px;
}
header h1{
  margin-top:20px;
  color: var(--text-color);
}

/* ============================================================
   Breadcrumb
   ============================================================ */

.breadcrumb{
  background-color: #ebebeb6b;
}
.dark .breadcrumb, .contrast .breadcrumb{
  background-color: #4747476b;
  color:#fff;
}
.dark .breadcrumb a, .contrast .breadcrumb a{
  color:#fff;
}
.breadcrumb a:hover, .breadcrumb span{
  color:var(--color-primary-blue);
}


/* ============================================================
   Quicklinks – Wabenoptik (Honeycomb)
   ============================================================ */
/* Quicklinks: transparent – Hintergrund vom Hero-Wrapper scheint durch */
.quicklinks {
  background: transparent !important;
}

/* Wabenwand: Position/Größe jeder Wabe berechnet der QuicklinksBlock (JS,
   ResizeObserver) und setzt sie per Inline-Style. So verzahnen sich auch
   umgebrochene Waben lückenlos, egal wie viele pro Reihe passen. */
.quicklink-grid {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
}

.quicklink-cell {
  position: absolute;
  /* left/top/width/height kommen aus dem Layout-JS */
}

.quicklink-link {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  padding: 0 8%;                      /* Text von den Spitzen fernhalten */
  text-align: center;
  text-decoration: none;
  clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  /* Farbe kommt aus dem CMS, per --primary gesetzt (siehe QuicklinksBlock) */
  background-color: var(--primary, var(--color-primary-green));
  transition: filter 200ms ease-in-out, transform 200ms ease-in-out;
}

.quicklink-link:hover {
  filter: brightness(1.08);
}

.quicklink-link:focus-visible {
  outline: 3px solid #111827;
  outline-offset: 2px;
}

.quicklink-icon {
  color: #fff;
  font-size: 26px;
  line-height: 1;
}

.quicklink-label {
  font-size: 1.1875rem;               /* 19px bold → WCAG/Lighthouse „großer Text“ (3:1) */
  font-weight: 700;
  color: #fff;
  line-height: 1.15;
  /* deutsche Silbentrennung (html lang=de); anywhere erlaubt den Umbruch
     langer Komposita auf zwei Zeilen, statt die Wabe zu überlaufen */
  hyphens: auto;
  overflow-wrap: anywhere;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}

/* ============================================================
   HTML-Block mit Abschnitts-Badge
   ============================================================ */
.html-block {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
}

/* Badge-Spalte: Icon + Label, schmal, zentriert */
.section-badge-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
  width: 72px;
}

/* Hex-Badge (identischer Stil wie Quicklinks) */
.section-badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 56px;
  clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  /* Farbe kommt aus dem CMS, per --primary gesetzt (siehe HTMLBlock) */
  background-color: var(--primary, var(--color-primary-green));
}

.section-badge-icon {
  color: #fff;
  font-size: 26px;
  line-height: 1;
}

.section-badge-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
}

.section-badge-link:hover .section-badge {
  filter: brightness(1.1);
}

.section-badge-link:hover .section-badge-label {
  text-decoration: underline;
}

.section-badge-label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #1f2937;
  text-align: center;
  line-height: 1.3;
}

/* Inhalts-Spalte füllt den restlichen Platz */
.section-badge-content {
  flex: 1;
  min-width: 0;
}

/* Ohne Badge: einziges Kind füllt die volle Breite */
.html-block > div:only-child {
  width: 100%;
}

/* ============================================================
   Footer
   ============================================================ */
footer.footer {
  position: relative;
  box-shadow: 0 -4px 6px -1px rgba(0, 0, 0, 0.1), 0 -2px 4px -2px rgba(0, 0, 0, 0.1);
  background-color: #fff;
  background-image: url(/media/Template/Footer_Background_light.png);
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: cover;
  color: var(--text-color);
}

footer.footer h2 {
  color: var(--text-color);
  padding-bottom:15px; 
  margin-bottom:30px;
  position: relative;
}
footer.footer h2:after {
    position: absolute;
    content: "";
    border-bottom: 4px solid var(--text-color);
    bottom: 0;
    width: 50px;
    display: block;
}

footer.footer a:hover,
.footer .footer-columns .prose a:hover {
  color: #c00000;
}
.footer-columns .prose :where(h1, h2, h3, h4, h5, h6, strong, a),
footer.footer .footer-columns .prose{
  color:var(--text-color);
}

/* ============================================================
   Logo
   ============================================================
   Das Logo wird als Hintergrundbild gerendert. Pfad und Größe
   hier anpassen. Die Datei liegt unter
   public/media/Template/logo.png (URL ab Root: /media/Template/...).
   ============================================================ */
.site-logo {
  display: block;
  width: 200px;  /* ← ANPASSEN: Breite */
  height: 135px;  /* ← ANPASSEN: Höhe */
  background-image: url(/media/Template/logo.png); /* ← ANPASSEN: Logo-Pfad */
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  /* Logo nach unten verschieben – darf über den Header hinausragen (Header hat margin-bottom).
     Höherer Wert = weiter unten. Verändert nur die Optik, nicht die Header-Höhe. */
  transform: translateY(40px); /* ← ANPASSEN: vertikaler Versatz nach unten */
  transition: width 200ms ease-in-out, height 200ms ease-in-out, transform 200ms ease-in-out;
}

/* Gescrollter Header: Logo verkleinern und in den Header zurückholen
   (ragt nicht mehr nach unten über). Werte nach Bedarf anpassen. */
.site-header.is-scrolled .site-logo {
  width: 120px;  /* ← ANPASSEN: Breite beim Scrollen */
  height: 48px;  /* ← ANPASSEN: Höhe beim Scrollen (≤ Header-Höhe 64px) */
  transform: translateY(0);
}

/* ============================================================
   Dark
   ============================================================ */
   .dark{
     /* Bereichsfarben im Dark-Modus – hier zentral anpassen. Wirkt überall, wo
        die Farben genutzt werden: Hauptmenü, Submenü-Hover, Badges, Quicklinks,
        Scroll-Button. Werte nach Bedarf ändern. */
     --color-primary-green: #5d8f20;
     --color-primary-blue: #1c91b5;
     --color-primary-orange: #dc6e1f;
  
     /* Aktiv-Farbe des Barrierefreiheitsmenüs für diesen Modus. Hier neu binden,
        damit var(--color-primary-green) den Dark-Wert nutzt. */
     --active-background-color: var(--color-primary-green);
     --text-color:#fff;

     /* Canvas hinter dem Body (z. B. Overscroll-Bereich) – wird auf das
        <html>-Element angewendet. Bei Bedarf anpassen. */
     background-color: #353535;
     color: #f3f4f6;

     body{
       background-image:none;
      }
      
      header.sticky.is-scrolled {
          background-color: #181818f5;
      }
  
      /* Quicklinks: Waben behalten ihre CMS-/Markenfarbe mit weißer Schrift –
         im Dark-Mode keine Anpassung nötig. */
      .section-badge-label{
        color:#fff;
      }
  
     footer.footer{
      background-image:url(/media/Template/Footer_Background_dark.png);
      background-color: #4b4b4b;
     }

     /* Submenü (Desktop-Dropdown) */
     .site-submenu{
       background-color: rgb(59 59 59);
       border-color: #555;
     }
     .site-submenu a{
       color:#fff;
     }

     /* Mobiles Menü (Offcanvas) */
     .site-mobile-menu{
       background-color: #353535;
       color:#fff;
     }
     .site-mobile-menu .border-b,
     .site-mobile-menu .site-nav-item{
       border-color:#555;
     }
     .site-mobile-submenu{
       background-color: rgb(59 59 59);
     }
     .site-mobile-submenu a{
       color:#e5e7eb;
     }

     /* Sprach-Dropdown (Desktop + Mobil) */
     .site-lang-trigger{
       color:#fff;
     }
    .hover\:bg-gray-100:hover{
      background-color:#4b4b4b;
     }
   
     .site-lang-switcher [role="listbox"]{
       background-color: rgb(59 59 59);
       border-color:#555;
     }
     .site-lang-switcher [role="option"][aria-selected="false"] button{
       color:#fff;
     }
     .site-lang-switcher [role="option"] button:hover{
       background-color:#4b4b4b;
     }

     footer.footer,
     footer.footer h2{
      color:#fff;
     }

   }

/* ============================================================
   Kontrast
   ============================================================ */
   body.contrast{
    background-image:none;
   }
   .contrast{
     /* Bereichsfarben im Kontrast-Modus – hier zentral anpassen. Wirkt überall,
        wo die Farben genutzt werden. Werte nach Bedarf ändern. */
     --color-primary-green: #a4ef08;
     --color-primary-blue: #5ac0ff;
     --color-primary-orange: #edae3f;

     /* Aktiv-Farbe des Barrierefreiheitsmenüs für diesen Modus. Muss hier neu
        gebunden werden, weil .contrast auf <body> sitzt und den auf :root/<html>
        gebundenen Wert sonst nicht erreicht. */
     --active-background-color: var(--color-primary-green);
     --active-color:#000;
     --text-color:#fff;
    /* Canvas hinter dem Body (z. B. Overscroll-Bereich) – wird auf das
        <html>-Element angewendet. Bei Bedarf anpassen. */
     background-color: #000;
     color: #fff;

      .page-hero-wrapper::before{
        background-image:none;
      }

     /* Submenü (Desktop-Dropdown) */
     .site-submenu{
       background-color:#000;
       border-color:#fff;
     }
     .site-submenu a{
       color:#fff;
     }
     .site-submenu a:hover{
       background-color:#fff;
       color:#000;
     }

     /* Mobiles Menü (Offcanvas) */
     .site-mobile-menu{
       background-color:#000;
       color:#fff;
     }
     .site-mobile-menu .border-b,
     .site-mobile-menu .site-nav-item{
       border-color:#fff;
     }
     .site-mobile-submenu{
       background-color:#000;
     }
     .site-mobile-submenu a{
       color:#fff;
     }
    .site-mobile-submenu a:hover{
       background-color:#fff;
       color:#000;
     }


     /* Sprach-Dropdown (Desktop + Mobil) */
     .site-lang-trigger{
       color:#fff;
     }
     .site-lang-switcher [role="listbox"]{
       background-color:#000;
       border-color:#fff;
     }
     .site-lang-switcher [role="option"][aria-selected="false"] button{
       color:#fff;
     }
     .site-lang-switcher [role="option"] button:hover{
       background-color:#878787;
     }
      .hover\:bg-gray-100:hover{
      background-color:rgb(115 115 115);
     }

     .quicklink-link{
      background-color:#000 !important;
    }

    .quicklink-label,
    .quicklink-icon{
      color:#fff;
      text-shadow:none;
     }

     .section-badge-icon{
      color:#000;
     }

     footer.footer{
      background-image:none;
      background:#000;
      color:#fff;
      border-top:1px solid #fff;
     }
   }
   