/* ============================================================
   Nuernberger Schule — Header- & Navigations-Redesign (v4)
   ============================================================ */

:root {
  --ns-green:      #5DA441;
  --ns-green-dark: #3A6729;
  --ns-green-deep: #264D1B;
  --ns-green-soft: #A8C99A;
  --ns-green-tint: #EAF1E2;
  --ns-online:     #7BC242;
  --ns-ink:        #1E1E1C;
  --ns-ink-2:      #3A3A36;
  --ns-ink-3:      #6B675C;
  --ns-rule:       #D8D3C2;
  --ns-paper-2:    #F2EFE5;
  --ns-rust:       #B65A2A;
  --ns-green-deep2:#264D1B;
  /* KEINE neue Schrift: bestehende Seiten-Schrift (Open Sans) verwenden.
     Nur explizit gesetzt, damit der ganze Header EINHEITLICH dieselbe Familie nutzt. */
  /* Zusaetzliche Logo-Luft ueber #header_main. Enfold rechnet diese px NICHT in
     seinen Platzhalter (#main padding-top) ein — die Kompensation unten muss
     denselben Wert benutzen, sonst rutscht der Content unter den Header. */
  --ns-header-extra: 20px;
  /* Hoehe des Logo-SVG. Ergibt sich aus Enfolds header_custom_size (100px, per
     avf_header_setting_filter in functions.php) — das Logo fuellt davon ~78 %.
     Beide Werte gehoeren zusammen: aendert sich der eine, muss der andere folgen. */
  --ns-logo-height: 78px;
  --ns-font-head:  'open-sans-v34-latin', "Open Sans", Helvetica, Arial, sans-serif;
}

/* ============================================================
   v4 — einheitliche Header-Schrift (Open Sans) in Top-Leiste, Logo-Zeile,
   Pillars und Mega (verhindert gemischte Font-Familien im Header)
   ============================================================ */
#top #header_meta,
#top #header_meta a,
#top .ns-secondary-nav,
#top .ns-secondary-nav a,
#top #header_main_alternate .av-main-nav > li > a,
#top #header .avia_mega_div,
#top #header .avia_mega_div .mega_menu_title,
#top #header .avia_mega_div .mega_menu_title a,
#top #header .avia_mega_div li > a,
#top #header .avia_mega_div .ns-mega-foot,
#top #header .avia_mega_div .ns-mega-foot a {
  font-family: var(--ns-font-head) !important;
}

/* ============================================================
   v4 — Top-Utility-Streifen GRÜN (nur Umfärbung, Layout unangetastet)
   ============================================================ */
#top #header_meta { background: var(--ns-green-deep2) !important; border-bottom: 0 !important; }
/* v7 — Telefonnummer LINKS in der Top-Leiste (Enfold floatet sie per
   av_phone_active_right sonst nach rechts zu den Meta-Links) + green-soft Dot davor. */
#top #header_meta .phone-info { float: left !important; margin: 0 !important; }
/* Dot als INLINE-Element im inneren <div> (nicht flex auf .phone-info -> das hatte
   die native line-height:30px-Zentrierung zerstört, Nummer klebte oben). */
#top #header_meta .phone-info > div::before {
  content: ''; display: inline-block; vertical-align: middle;
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--ns-green-soft) !important; margin-right: 8px; position: relative; top: -1px;
}
#top #header_meta,
#top #header_meta .sub_menu a,
#top #header_meta a,
#top #header_meta .phone-info,
#top #header_meta .phone-info *,
#top #header_meta span { color: #fff !important; }
#top #header_meta .sub_menu a:hover,
#top #header_meta a:hover { color: var(--ns-green-soft) !important; }
/* Social-Icons + sonstige Glyphen weiß */
#top #header_meta .social_bookmarks li a,
#top #header_meta .social_bookmarks li a::before,
#top #header_meta [class*="icon"]::before { color: #fff !important; }
#top #header_meta svg { fill: #fff !important; color: #fff !important; }

/* v7 — Header-Zeilen DECKEND WEISS. #header ist position:fixed + transparent; durch
   die 20px Logo-Luft ist der Header ~20px höher als der Enfold-Content-Spacer → der
   LayerSlider unterlappt die Pillar-Zeile und schimmert durch. Weisser BG auf Logo-
   und Pillar-Zeile deckt das ab → Slider schliesst bündig unter der Navi ab.
   (#header_meta behält seine grüne Farbe von oben.) */
#top #header_main,
#top #header_main_alternate { background-color: #fff !important; }

/* ============================================================
   Weg 1 — Sekundaernav in die Logo-Zeile (oben rechts)
   ============================================================ */
/* Logo klebte direkt an der gruenen Top-Leiste (Abstand 0) → Luft nach oben
   wie im v4-Design (~20px). */
#top #header_main { position: relative; padding-top: var(--ns-header-extra) !important; }
/* Sekundaernav vertikal zentriert in der Logo-Zeile, rechtsbuendig an der
   Content-Kante (gleicher Gutter wie Logo/Content). */
#top .ns-secondary-nav-wrap {
  position: absolute;
  top: calc(var(--ns-header-extra) + var(--ns-logo-height) / 2);
  transform: translateY(-50%);
  right: calc(50px + max(0px, (100vw - 1310px) / 2)); z-index: 30;
  display: flex; align-items: center; gap: 20px;
}
/* Berechnet statt Festwert (war 67px, als das Logo noch 94px hoch war): #header_main
   ist höher als das Logo (Leerraum darunter) -> top:50% zentrierte die Navi ~29px zu
   tief. Die Logo-Mitte liegt bei Padding + halbe Logo-Höhe; als calc() aus denselben
   Variablen wandert die Navi automatisch mit, wenn sich die Logo-Höhe ändert. */

/* Such-Box (v4): umrandeter Kasten, klappt bei Klick auf. Enfolds native
   Suche in der Pillar-Zeile wird ausgeblendet (nur eine Suche). */
#top #header_main_alternate .menu-item-search,
#top #header_main_alternate #menu-item-search { display: none !important; }
#top .ns-search-box {
  display: flex; align-items: center; height: 38px;
  border: 1px solid var(--ns-rule); background: #fff; margin: 0;
}
/* Enfold gibt jedem Formularfeld ein graues Fuellmuster (#E6E6E6) und
   margin-bottom:20px. Im Flex-Container schob dieser Rand das Input 9px nach oben
   aus dem weissen Kasten heraus, und das Grau blieb sichtbar, weil Enfolds Regel
   ueber input[type="search"] spezifischer war als ein blosses `background`.
   Deshalb hier: Rand auf 0, Hintergrund explizit transparent, und die
   Browser-Eigenoptik des search-Typs abschalten (sonst zeichnet Safari/WebKit
   eigene Innenraender). vertical-align + align-self halten es in der Mitte. */
#top .ns-search-box .ns-search-input,
#top .ns-search-box input[type="search"].ns-search-input {
  width: 0; min-width: 0; padding: 0; border: 0; outline: 0;
  background: transparent !important; background-image: none !important;
  box-shadow: none !important; border-radius: 0;
  -webkit-appearance: none; appearance: none;
  margin: 0 !important; align-self: center; vertical-align: middle;
  font-size: 13px; color: var(--ns-ink); line-height: 36px; height: 36px;
  transition: width 180ms ease, padding 180ms ease;
}
/* WebKit-Eigenteile des search-Inputs (Clear-Button, Dekoration) ausblenden. */
#top .ns-search-box .ns-search-input::-webkit-search-decoration,
#top .ns-search-box .ns-search-input::-webkit-search-cancel-button,
#top .ns-search-box .ns-search-input::-webkit-search-results-button {
  -webkit-appearance: none; display: none;
}
#top .ns-search-box .ns-search-input::placeholder { color: var(--ns-ink-3); opacity: 1; }
#top .ns-search-box.is-open .ns-search-input,
#top .ns-search-box:focus-within .ns-search-input { width: 170px; padding: 0 10px; }
#top .ns-search-box .ns-search-btn {
  flex: 0 0 auto; width: 36px; height: 36px; padding: 0; margin: 0; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  background: transparent; border: 0; color: var(--ns-ink);
}
#top .ns-search-box .ns-search-btn:hover { color: var(--ns-green-dark); }
#top nav.ns-secondary-nav ul.ns-secondary-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 28px; align-items: center; }
#top nav.ns-secondary-nav ul.ns-secondary-menu > li { position: relative; }
#top nav.ns-secondary-nav a { font-size: 13px; font-weight: 600; letter-spacing: .02em; color: var(--ns-ink-2); text-decoration: none; white-space: nowrap; }
#top nav.ns-secondary-nav a:hover { color: var(--ns-green-dark); }
#top nav.ns-secondary-nav ul ul { display: none; position: absolute; top: 100%; left: 0; min-width: 210px; background: #fff; margin: 0; padding: 6px 0; box-shadow: 0 8px 24px rgba(30,30,28,.12); }
#top nav.ns-secondary-nav li:hover > ul { display: block; }
#top nav.ns-secondary-nav ul ul li { display: block; }
#top nav.ns-secondary-nav ul ul a { display: block; padding: 7px 16px; font-weight: 500; }
#top nav.ns-secondary-nav ul ul a:hover { background: var(--ns-green-tint); }

/* ============================================================
   Phase 2b — v4-Optik fuers Mega-Menue
   ============================================================ */

/* Akzentfarbe EINHEITLICH fuer alle Pillars. Vorher per-Pillar unterschiedlich
   (Baum/Umwelt #3A6729, Arbeit #5DA441, E-Learning #7BC242 lime) → der gruene
   Strich/Mega-Akzent wirkte je Bereich anders. Jetzt durchgaengig green-dark. */
#top #menu-item-3647,
#top #menu-item-12016,
#top #menu-item-12020,
#top #menu-item-12037 { --pillar-accent: var(--ns-green-dark); }

/* AGGRESSIVER Reset gegen die Linie durch die Header-Texte
   (#top #header = 2 IDs, schlaegt Enfolds eigene Title-Regeln) */
#top #header .avia_mega_div .mega_menu_title,
#top #header .avia_mega_div .mega_menu_title a {
  text-decoration: none !important;
  text-decoration-line: none !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  outline: 0 !important;
}

/* Panel VOLLE BREITE + ALLE Spalten in EINER Reihe (6/4/3 je Pillar) ----------
   Enfold ankert das Mega-Panel am <li> (alle Vorfahren bis zur av-main-nav sind
   position:relative) und teilt 6 Spalten in zwei <ul>-Zeilen (Split 2+4). Beides
   loesen wir auf:
   1) Anker-Kette auf position:static → Panel haengt an #header_main_alternate
      (volle Viewport-Breite) → weisser BG + gruener Strich ueber die ganze Breite.
   2) Die zwei Zeilen-<ul> per display:contents aufloesen → alle Spalten werden
      Flex-Items DESSELBEN Containers → eine gleichmaessige Reihe.
   Der Inhalt wird per padding auf die zentrierte Content-Spur (~1310px) gesetzt,
   der Hintergrund bleibt voll. (Gegen echtes Staging-DOM getestet, 1440 + 1920.) */
#top #header_main_alternate { position: relative; }
#top #header_main_alternate .container,
#top #header_main_alternate .main_menu,
#top #header_main_alternate .av-main-nav-wrap,
#top #header_main_alternate .avia-menu,
#top #header_main_alternate .av-main-nav,
#top #header_main_alternate .av-main-nav > li.menu-item-mega-parent {
  position: static !important;
}

#top #header .avia_mega_div {
  position: absolute !important;
  top: 100% !important;
  left: 0 !important;
  right: 0 !important;
  width: auto !important;
  margin: 0 !important;
  overflow: visible !important;
  background: #fff !important;
  border-top: 3px solid var(--pillar-accent, var(--ns-green)) !important;
  box-shadow: 0 24px 48px rgba(30,30,28,.12) !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  gap: 30px !important;
  padding: 26px max(24px, calc((100% - 1310px) / 2)) 18px !important;
  counter-reset: ns-col;
}

/* Enfolds zwei Zeilen-<ul> aufloesen → alle Spalten in EINER Reihe */
#top #header .avia_mega_div > ul.sub-menu { display: contents !important; }

/* Spalten = die <li> direkt in den Zeilen-<ul>; je 1/N gleiche Breite */
#top #header .avia_mega_div > ul.sub-menu > li {
  display: block !important;
  float: none !important;
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  list-style: none !important;
  vertical-align: top;
}

/* Spalten-Header: Nummer (Counter) + fette Ueberschrift + gruener Akzent-Unterstrich */
/* Flex-Column: Box umschliesst Counter + Titel zuverlaessig (sonst rendert Enfold
   den Titel-<a> als block, der ueber die Box-Unterkante hinauslaeuft → border-bottom
   lag mitten im Text). So liegt der gruene Strich sauber UNTER dem Header. */
#top .avia_mega_div .mega_menu_title {
  display: flex !important; flex-direction: column !important; align-items: flex-start !important;
  position: relative;
  margin: 0 0 12px !important; padding: 0 0 10px !important;
  counter-increment: ns-col;
}
#top .avia_mega_div .mega_menu_title::before {
  content: counter(ns-col, decimal-leading-zero);
  display: block; font-size: 9.5px; font-weight: 700; letter-spacing: .18em;
  color: var(--pillar-accent, var(--ns-green)); margin-bottom: 5px;
}
/* Akzent-Unterstrich: IN-FLOW als border-bottom (nicht absolutes ::after — das lag
   frueher mittig durch den Headertext). Liegt jetzt sauber unter der Ueberschrift. */
#top #header .avia_mega_div .mega_menu_title {
  border-bottom: 2px solid var(--pillar-accent, var(--ns-green)) !important;
}
/* Header-Font EINHEITLICH, egal ob Enfold den Titel als <a> (Link) oder als reinen
   Text rendert. Reiner Text erbte sonst Enfolds 17px/600/grau → uneinheitlich. */
#top #header .avia_mega_div .mega_menu_title,
#top #header .avia_mega_div .mega_menu_title a {
  font-size: 14px !important; font-weight: 800 !important; line-height: 1.25 !important;
  color: var(--ns-ink) !important; text-transform: none !important; letter-spacing: 0 !important;
}
#top #header .avia_mega_div .mega_menu_title a { display: block !important; width: 100%; padding: 0 !important; }

/* Kurszeilen: Enfold-Pfeil weg, gruener Punkt + feine Trennlinie + Hover-Akzent.
   display:flex → Bullet ist eigenes Flex-Item, Text ist eigenes Item: Zeilenumbruch
   fluchtet mit dem TEXT (haengender Einzug), nicht mit dem Bullet.
   hyphens:none → keine deutsche Silbentrennung (lang="de" aktiviert sonst hyphens:auto). */
#top .avia_mega_div .avia-bullet { display: none !important; }
#top .avia_mega_div li { margin: 0 !important; padding: 0 !important; }
#top #header .avia_mega_div li > a {
  display: flex !important;
  align-items: flex-start !important;
  padding: 7px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ns-rule) !important;
  color: var(--ns-ink-2) !important;
  font-size: 12.5px !important; font-weight: 500 !important; line-height: 1.35 !important;
  -webkit-hyphens: none !important; hyphens: none !important;
  overflow-wrap: normal !important; word-break: normal !important;
  transition: color 100ms;
}
#top .avia_mega_div li > a::before {
  content: ''; flex: 0 0 auto; width: 5px; height: 5px; border-radius: 50%;
  background: var(--ns-green-soft); margin: 6px 9px 0 0; vertical-align: baseline;
}
/* Hover: NUR Text gruen, KEIN grauer Block-Hintergrund (Enfold-Default raus). */
#top #header .avia_mega_div li > a,
#top #header .avia_mega_div li:hover > a,
#top #header .avia_mega_div li > a:hover,
#top #header .avia_mega_div li > a:focus { background: transparent !important; background-color: transparent !important; box-shadow: none !important; }
/* #header noetig (2 IDs), sonst schlaegt die Basisregel (#top #header …) die
   Hover-Farbe und der Text bliebe ink statt gruen. */
#top #header .avia_mega_div li > a:hover { color: var(--pillar-accent, var(--ns-green)) !important; }
#top #header .avia_mega_div li > a:hover::before { background: var(--pillar-accent, var(--ns-green)) !important; }
/* Enfold setzt am Kurs-Text-Span (.avia-menu-text) ein eigenes #888, das die
   a:hover-Farbe NICHT erbt -> beim Hover blieb die Schrift grau, nur der Punkt
   wurde grün. Span-Farbe im Hover explizit auf den Akzent heben. */
#top #header .avia_mega_div li > a:hover .avia-menu-text { color: var(--pillar-accent, var(--ns-green)) !important; }

/* Pillar-Labels in Grossbuchstaben (wie v4) */
#top .av-main-nav > li.menu-item-mega-parent > a .avia-menu-text,
#top #header_main_alternate .av-main-nav > li > a .avia-menu-text { text-transform: uppercase !important; letter-spacing: .05em !important; }

/* v4 Pillar-Nav-Farbe: inaktiv dunkle Tinte + fett; aktiv/hover/aktuelle Seite
   einheitlich gruen (vorher Enfold-Olivgruen #719430).
   + gruener Akzent-Unterstrich am aktiven/offenen Pillar (animiert, wie v4).
   transparent-Border vorab reserviert den Platz → kein Springen, sauberes Fade. */
#top #header_main_alternate .av-main-nav > li > a {
  color: var(--ns-ink) !important; font-weight: 700 !important;
  border-bottom: 3px solid transparent !important; margin-bottom: -1px;
  transition: color 150ms ease, border-color 150ms ease !important;
}
#top #header_main_alternate .av-main-nav > li:hover > a,
#top #header_main_alternate .av-main-nav > li.current-menu-item > a,
#top #header_main_alternate .av-main-nav > li.current-menu-parent > a,
#top #header_main_alternate .av-main-nav > li.current_page_item > a,
#top #header_main_alternate .av-main-nav > li.current_page_parent > a {
  color: var(--ns-green-dark) !important;
  border-bottom-color: var(--ns-green-dark) !important;
}

/* ============================================================
   v7 — Pillar-Zeile linksbündig + 1px-Trennlinie ÜBER der Zeile
   (im Design trennt eine feine Linie die Logo-Zeile von der Pillar-Zeile;
   die Pillars sitzen linksbündig an der Content-Kante, nicht zentriert).
   ============================================================ */
#top #header_main_alternate .container { border-top: 1px solid var(--ns-rule) !important; }
#top #header_main_alternate .main_menu,
#top #header_main_alternate .avia-menu,
#top #header_main_alternate .av-main-nav-wrap { text-align: left !important; }
#top #header_main_alternate .av-main-nav {
  justify-content: flex-start !important;
  margin-left: 0 !important; float: none !important;
}
#top #header_main_alternate .av-main-nav > li:first-child > a { padding-left: 0 !important; }

/* v7 — Pillar-NEU-Badge (E-Learning) lime #7BC242 statt #5cb85c (Quick-CSS-Default). */
#top #header_main_alternate .av-main-nav > li.menu-badge-neu > a::after { background: #7BC242 !important; }
/* Quick-CSS `li.menu-badge-neu a::after` greift auf ALLE <a> im Pillar-<li> — auch
   auf die Kurslinks im Mega-Panel (das im Pillar-<li> liegt) → jeder Kurs bekam ein
   grünes NEU. Nur der Pillar-Link soll das Badge tragen, die Mega-Links nicht. */
#top #header li.menu-badge-neu .avia_mega_div a::after { content: none !important; }

/* v7 — Kurs-NEU-Badge (rust), klein/eckig, inline hinter dem Kurstitel im Mega. */
#top #header .avia_mega_div li.ns-neu > a .avia-menu-text::after {
  content: "NEU"; margin-left: 8px; vertical-align: middle; display: inline-block;
  background: var(--ns-rust); color: #fff;
  font-size: 8.5px; font-weight: 800; letter-spacing: .1em;
  padding: 1px 4px; border-radius: 0; line-height: 1;
}

/* Dropdown-Chevron (˅) an den Mega-Pillars. menu-badge-neu (E-Learning) ausgenommen,
   weil dort das NEU-Badge bereits das a::after belegt → sonst Kollision. */
#top #header_main_alternate .av-main-nav > li.menu-item-mega-parent:not(.menu-badge-neu) > a::after {
  content: ''; display: inline-block; vertical-align: middle;
  width: 6px; height: 6px; margin: -3px 0 0 8px;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(45deg); opacity: .65;
  transition: transform 150ms, opacity 150ms;
}
#top #header_main_alternate .av-main-nav > li.menu-item-mega-parent:not(.menu-badge-neu):hover > a::after,
#top #header_main_alternate .av-main-nav > li.menu-item-mega-parent:not(.menu-badge-neu).current-menu-item > a::after {
  transform: rotate(-135deg); margin-top: 1px; opacity: 1;
}

/* ============================================================
   Mega-Footer-Band (B) — volle Breite, Inhalt auf Content-Spur.
   Markup wird per JS (header-mega.js) als letztes Kind ins Panel
   injiziert: <div class="ns-mega-foot">. Panel auf flex-wrap:wrap,
   Band als 100%+2*gut breites Item bricht in eine eigene Zeile unter
   die Spalten und wird per negativem Rand voll ausgeblutet.
   Gutter vw-basiert (--ns-gut) -> Panel-Padding und Band-Breakout
   rechnen identisch. Linkziele aktuell #-Platzhalter.
   ============================================================ */
#top #header .avia_mega_div {
  /* Gutter = Container-Rand (max-width 1310, zentriert) + 50px Container-Padding,
     damit Spalten UND Band-Inhalt exakt mit Logo/Nav/News-Content fluchten.
     Der weisse Panel-BG + das Band-BG bleiben full-bleed (volle Breite). */
  --ns-gut: calc(50px + max(0px, (100vw - 1310px) / 2));
  flex-wrap: wrap !important;
  padding: 26px var(--ns-gut) 0 !important;
}

/* Hover-Fix: Alle Pillar-Panels liegen full-bleed uebereinander; die ausgeblendeten
   (opacity:0) wuerden sonst die Maus abfangen (E-Learning als letztes im DOM liegt
   oben) → beim Runterfahren oeffnete das falsche Panel. Nur das Panel des aktuell
   gehoverten Pillars faengt Maus-Events ab. */
#top #header .avia_mega_div { pointer-events: none; }
#top #header li.menu-item-mega-parent:hover > .avia_mega_div { pointer-events: auto; }
/* Band full-bleed (volle Breite), Inhalt auf Content-Spur (var(--ns-gut)). */
#top #header .avia_mega_div .ns-mega-foot {
  flex: 0 0 auto !important;
  width: calc(100% + 2 * var(--ns-gut)) !important;
  box-sizing: border-box !important;
  margin: 22px calc(-1 * var(--ns-gut)) 0 !important;
  padding: 13px var(--ns-gut) !important;
  background: var(--ns-paper-2) !important;
  border-top: 1px solid var(--ns-rule) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
  font-size: 12.5px;
  line-height: 1.4 !important;
}
/* Enfold zwingt allen Header-<a> height:88px + line-height:88px auf
   (`.main_menu ul:first-child>li a`) → Band-Links/Button wurden 88px hoch,
   Band 115px statt ~63px. height:auto + normale line-height korrigiert das. */
#top #header .avia_mega_div .ns-mega-foot a,
#top #header .avia_mega_div .ns-mega-foot span { line-height: 1.4 !important; }
#top #header .avia_mega_div .ns-mega-foot a { height: auto !important; }
/* v7-Promo-Band: [NEU IM PROGRAMM]-Badge + Kurstitel + Kurzbeschreibung links,
   ein gruener "Zum Kurs ›"-Button rechts (Inhalt pro Pillar via header-mega.js). */
#top #header .avia_mega_div .ns-mega-foot .ns-foot-promo {
  display: flex; align-items: center; gap: 16px; min-width: 0;
}
#top #header .avia_mega_div .ns-mega-foot .ns-foot-badge {
  flex: 0 0 auto; background: var(--ns-green-dark); color: #fff;
  padding: 4px 9px; font-size: 9.5px; font-weight: 800; letter-spacing: .14em;
  text-transform: uppercase; border-radius: 2px;
}
#top #header .avia_mega_div .ns-mega-foot .ns-foot-text {
  min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  color: var(--ns-ink-2);
}
#top #header .avia_mega_div .ns-mega-foot .ns-foot-text strong { color: var(--ns-ink); font-weight: 700; }
#top #header .avia_mega_div .ns-mega-foot .ns-foot-sub { color: var(--ns-ink-3); }
#top #header .avia_mega_div .ns-mega-foot a.ns-foot-btn {
  flex: 0 0 auto; background: var(--ns-green-dark); color: #fff;
  padding: 7px 16px; text-decoration: none; font-size: 10.5px; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase; border-radius: 0;
  display: inline-flex; align-items: center;
}
#top #header .avia_mega_div .ns-mega-foot a.ns-foot-btn:hover { background: var(--ns-green-deep); color: #fff; }

/* ============================================================
   C2 — Such-Icon aus der Pillar-Zeile in die Logo-Zeile hochziehen.
   Reines CSS (kein DOM-Move): das Search-<li> wird absolut positioniert,
   Containing Block ist #header_main_alternate (relative). top negativ ->
   hebt das Icon in die Logo-Zeile (Logo-Zeilenhoehe ist breitenunabhaengig).
   ============================================================ */
#top #header_main_alternate .av-main-nav > li.menu-item-search-dropdown {
  position: absolute !important;
  top: -66px !important;
  right: 65px !important;
  z-index: 31 !important;
  margin: 0 !important;
}

/* ============================================================
   Enfold-Platzhalter um die zusaetzliche Logo-Luft korrigieren
   ============================================================
   Enfold berechnet #main{padding-top} in PHP aus den eigenen Header-Einstellungen
   (avia_header_html_custom_height): header_custom_size 120 + Navi-Zeile 52 +
   Top-Leiste 30 = 202px. Die --ns-header-extra px oben auf #header_main kennt es
   nicht — der Header ist real 222px hoch. Folge: das gruene Titelband (und auf der
   Startseite der Slider) starten 20px zu hoch und verschwinden unter dem Header.

   Kompensation bewusst ADDITIV per transparentem border-top statt mit einem festen
   padding-Wert: bleibt korrekt, falls Enfold seinen Wert aendert (andere Logo-Hoehe).
   Der Streifen liegt vollstaendig hinter dem fixierten Header und ist unsichtbar.

   Nur ab 990px: darunter ist der Header nicht fixiert und #main hat kein Padding —
   dort wuerde die Kompensation eine sichtbare Luecke erzeugen (headless verifiziert).
*/
@media only screen and (min-width: 990px) {
  .html_header_top.html_header_sticky #top #wrap_all #main {
    border-top: var(--ns-header-extra) solid transparent;
  }
}

/* ============================================================
   Titelband: optische Balance ueber/unter dem Seitentitel
   ============================================================
   Die Polster des .container sind bereits symmetrisch (10px/10px) — die
   Schieflage ist rein optisch: die H1 hat line-height 46px bei 20px Schrift,
   also ~12px Vorlauf ueber den Glyphen, waehrend die Breadcrumb (11px/21.45px)
   nur ~4px hat. Gemessen bei 1280px: 22px ueber dem Titel gegen 15px unter der
   Breadcrumb.

   Korrigiert wird ueber das obere Polster (10px -> 3px), nicht ueber die
   line-height der H1 — die bleibt fuer den Zeilenumbruch langer Titel unberuehrt.

   Nur ab 1025px: darunter blendet Enfold die Breadcrumb aus, das Band ist dann
   allein mit dem Titel bereits ausgewogen (22px/21px). Ohne diese Grenze wuerde
   die Korrektur dort erst eine Schieflage erzeugen.
*/
@media only screen and (min-width: 1025px) {
  #top .title_container .container { padding-top: 3px; }
}

/* ============================================================
   Suchvorschau (Enfold AviaAjaxSearch)
   ============================================================
   Das Panel wird von avia.js zur Laufzeit in das Formular gehaengt und an
   .av_searchform_wrapper positioniert. Der Wrapper braucht deshalb
   position:relative, sonst ankert das Panel am naechsten positionierten
   Vorfahren (dem Header) und sitzt quer ueber der Seite.
*/
#top .ns-search-wrap { position: relative; }
#top .ns-search-wrap .ajax_search_response {
  position: absolute; top: calc(100% + 6px); right: 0; left: auto;
  width: 340px; max-width: min(340px, calc(100vw - 32px));
  background: #fff; border: 1px solid var(--ns-rule);
  box-shadow: 0 18px 36px rgba(30, 30, 28, .14);
  z-index: 60; text-align: left; max-height: 70vh; overflow-y: auto;
}
#top .ns-search-wrap .ajax_search_response .av_ajax_search_entry {
  display: flex; gap: 10px; align-items: flex-start;
  padding: 10px 14px; border-bottom: 1px solid var(--ns-rule);
  text-decoration: none; color: var(--ns-ink-2);
}
#top .ns-search-wrap .ajax_search_response .av_ajax_search_entry:last-child { border-bottom: 0; }
#top .ns-search-wrap .ajax_search_response .av_ajax_search_entry:hover { background: var(--ns-green-tint); }
#top .ns-search-wrap .ajax_search_response .av_ajax_search_title {
  font-family: var(--ns-font-head); font-size: 13px; font-weight: 700;
  color: var(--ns-ink); line-height: 1.3; display: block;
}
#top .ns-search-wrap .ajax_search_response .av_ajax_search_content { font-size: 11.5px; color: var(--ns-ink-3); }
#top .ns-search-wrap .ajax_search_response .av_ajax_search_image { flex: 0 0 auto; }
/* "Alle Ergebnisse anzeigen"-Zeile am Fuss des Panels */
#top .ns-search-wrap .ajax_search_response .av_ajax_search_entry_view_all,
#top .ns-search-wrap .ajax_search_response .ajax_search_entry_view_all {
  display: block; padding: 10px 14px; background: var(--ns-paper-2);
  font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--ns-green-dark); text-decoration: none;
}
/* Ladeindikator */
#top .ns-search-wrap .ajax_load { position: absolute; right: 44px; top: 50%; transform: translateY(-50%); }

/* ============================================================
   Mobil/Tablet: Sekundaernav aus der Logo-Zeile nehmen
   ============================================================
   .ns-secondary-nav-wrap ist absolut positioniert und rechtsbuendig an der
   Content-Kante. Auf schmalen Viewports reicht die Breite nicht mehr: gemessen
   ueberlappte sie das Logo bei 767px um 326x38px, bei 375px lief sie sogar links
   aus dem Viewport (x=-170). Enfolds Burger-Menue ist dort ohnehin aktiv.

   Grenze 1050px — empirisch, nicht gerechnet: Die Leiste beginnt bei
   `navStart = 100vw - 730px`, das Logo endet bei 304px. Gemessen ueberlappt sie bei
   1024px noch um 10px und passt ab 1050px (Abstand 16px). 1050px ist zugleich die
   Breite, ab der Enfolds Pillar-Zeile ueberhaupt erscheint (bei 1024px sind 0
   Top-Level-Punkte sichtbar, bei 1050px alle 5).

   Beide Media Queries nutzen bewusst DIESELBE Grenze. Waeren sie verschieden, gaebe
   es dazwischen ein Fenster, in dem weder die Leiste noch die Menue-Kopien sichtbar
   sind — die fuenf Punkte waeren dort nicht erreichbar.

   Die fuenf Sekundaerpunkte gehen dabei nicht verloren: ns_append_secondary_to_mobile()
   haengt sie zusaetzlich ans Hauptmenue, wo Enfold sie ins Burger-Overlay uebernimmt.
   Unter 1024px sind sie dort sichtbar, ab 1024px uebernimmt wieder die Leiste.
*/
@media only screen and (max-width: 1049px) {
  #top .ns-secondary-nav-wrap { display: none !important; }
}
/* Umkehrung: die ans Hauptmenue gehaengten Kopien nur zeigen, solange die
   Leiste aus ist — sonst staenden die Punkte doppelt in der Pillar-Zeile. */
@media only screen and (min-width: 1050px) {
  #top .av-main-nav > li.ns-only-mobile { display: none !important; }
}

/* ============================================================
   Top-Leiste auf schmalen Viewports einzeilig halten
   ============================================================
   Die Meta-Leiste zeigt Menue 16 (Kontakt / Impressum / Datenschutz / Widerruf / AGB).
   Mit dem 2026-09 ergaenzten "Widerruf" sind es fuenf Eintraege — auf dem Handy brach
   die Leiste dadurch auf zwei Zeilen um und war 60px statt 30px hoch (gemessen: ohne
   den fuenften Eintrag 30px). Knappere Abstaende und 11px Schrift bringen sie ab
   360px Viewport-Breite zurueck in eine Zeile; darunter (320px) bricht sie weiter um,
   was bei fuenf Eintraegen unvermeidlich ist.
*/
@media only screen and (max-width: 767px) {
  #top #header_meta .sub_menu > ul > li > a { font-size: 11px; }
  #top #header_meta .sub_menu > ul > li { padding: 0 4px; }
  #top #header_meta .sub_menu > ul > li:after { margin: 0 2px; }
}
