/* fl-modern-design — bis 09.10.2026 inline im Header-Template-Part, jetzt
   als cachebare Datei über mu-plugins/fl-design.php. */
:root {
  --fl-primary: #155eef;
  --fl-primary-dark: #0040c1;
  --fl-primary-light: #eff4ff;
  --fl-accent: #1f938a;
  --fl-accent-soft: #dff6f2;
  --fl-text: #0f172a;
  --fl-text-muted: #526074;
  --fl-surface: #f8fbff;
  --fl-card: #ffffff;
  --fl-card-alt: #eef4ff;
  --fl-border: #d7e2f0;
  --fl-border-strong: #bcccdc;
  --fl-shadow-sm: 0 10px 24px rgba(15,23,42,0.06);
  --fl-shadow-md: 0 22px 58px rgba(15,23,42,0.10);
  --fl-shadow-lg: 0 30px 90px rgba(15,23,42,0.16);
  --fl-radius: 24px;
  --fl-radius-btn: 14px;
  /* fl-welten-tokens-START — Welten-Kontrakt: Werte = heutiger Look,
     Welten überschreiben sie unter :root[data-welt="…"]. Nur Definitionen,
     bis Composer sie nutzen ändert sich nichts. */
  --fl-primary-text: #0b44b8;
  --fl-accent-text: #0f6e66;
  --fl-on-primary: #ffffff;
  --fl-hero-bg: linear-gradient(140deg, #0f172a 0%, #1e293b 50%, #0b1220 100%);
  --fl-hero-text: #f8fafc;
  --fl-hero-lead: #cbd5e1;
  --fl-hero-muted: #94a3b8;
  --fl-section-alt: #f8fafc;
  --fl-final-bg: linear-gradient(135deg, #155eef 0%, #155eef 50%, #0040c1 100%);
  --fl-final-text: #ffffff;
  /* fl-welten-tokens-END */
}
html { scroll-behavior: smooth; }
body {
  background: linear-gradient(180deg, #f7fbff 0%, #ffffff 18%, #f7fafc 100%) !important;
  color: var(--fl-text) !important;
  -webkit-font-smoothing: antialiased;
}
header.wp-block-template-part {
  background:
    linear-gradient(135deg,
      rgba(21,94,239,0.06) 0%,
      rgba(255,255,255,0.78) 28%,
      rgba(255,255,255,0.78) 72%,
      rgba(31,147,138,0.06) 100%) !important;
  border-bottom: 1px solid rgba(188,204,220,0.72) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,0.9) inset, 0 10px 30px rgba(15,23,42,0.05) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  position: sticky;
  top: 0;
  z-index: 999;
}
header.wp-block-template-part .alignwide,
main .alignwide {
  max-width: 1280px;
}
header.wp-block-template-part .wp-block-group.alignwide {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}
.wp-block-site-logo {
  margin: 0;
  line-height: 0;
}
.wp-block-site-logo a {
  display: inline-flex !important;
  align-items: center;
  text-decoration: none !important;
}
.wp-block-site-logo img {
  height: 52px !important;
  width: auto !important;
  aspect-ratio: 512 / 408 !important;
  object-fit: contain !important;
  max-width: 100%;
  display: block;
  padding: 6px 10px;
  border-radius: 12px;
  background: rgba(15,23,42,0.03);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.wp-block-site-logo a:hover img {
  background: rgba(21,94,239,0.06);
}
.wp-block-site-logo a:hover img {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(15,23,42,0.10);
}
.fl-brand-zone {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
}
.fl-tagline {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.4rem 0.85rem 0.4rem 0.7rem;
  border: 1px solid var(--fl-border);
  border-radius: 999px;
  background: rgba(255,255,255,0.7);
  color: var(--fl-text-muted);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  white-space: nowrap;
  box-shadow: 0 1px 2px rgba(15,23,42,0.04);
}
.fl-tagline .fl-dot {
  position: relative;
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--fl-primary);
  flex: none;
}
.fl-tagline .fl-dot::before,
.fl-tagline .fl-dot::after {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 999px;
  background: var(--fl-primary);
  opacity: 0.55;
  animation: fl-pulse 2s ease-out infinite;
}
.fl-tagline .fl-dot::after {
  animation-delay: 1s;
}
@keyframes fl-pulse {
  0% { transform: scale(0.6); opacity: 0.55; }
  70% { transform: scale(2.2); opacity: 0; }
  100% { transform: scale(2.2); opacity: 0; }
}
@media (max-width: 1280px) {
  .fl-tagline { font-size: 0.74rem; padding: 0.35rem 0.75rem 0.35rem 0.6rem; }
}
@media (max-width: 1180px) {
  .fl-tagline { display: none; }
}
header.wp-block-template-part .wp-block-navigation {
  gap: 0.35rem !important;
}
header.wp-block-template-part .wp-block-navigation__container {
  gap: 0.35rem !important;
  padding: 0.4rem !important;
  border: 1px solid rgba(188,204,220,0.92) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.84) !important;
  box-shadow: 0 12px 28px rgba(15,23,42,0.06);
}
header.wp-block-template-part .wp-block-navigation-item__content {
  font-weight: 600 !important;
  font-size: 0.88rem !important;
  color: var(--fl-text) !important;
  padding: 0.55rem 0.78rem !important;
  border-radius: 999px !important;
  white-space: nowrap;
  transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease !important;
}
header.wp-block-template-part .wp-block-navigation-item__content:hover,
header.wp-block-template-part .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
header.wp-block-template-part .wp-block-navigation-item.current_page_item > .wp-block-navigation-item__content,
header.wp-block-template-part .wp-block-navigation-item__content[aria-current="page"] {
  color: var(--fl-primary) !important;
  background: var(--fl-primary-light) !important;
  box-shadow: inset 0 0 0 1px rgba(21,94,239,0.10);
}
header.wp-block-template-part .wp-block-navigation-item__content:hover {
  transform: translateY(-1px);
}
header.wp-block-template-part .wp-block-navigation__responsive-container-open,
header.wp-block-template-part .wp-block-navigation__responsive-container-close {
  border: 1px solid var(--fl-border) !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,0.92) !important;
  padding: 0.5rem !important;
  box-shadow: 0 8px 18px rgba(15,23,42,0.08);
}
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open {
  background: #F8FAFC !important; /* opak: seit dem Akkordeon (kurze Liste) schien Seiteninhalt durch */
  color: var(--fl-text) !important;
}
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
  padding-top: 4rem !important;
}
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
  width: 100%;
  align-items: stretch !important;
  gap: 0.6rem !important;
}
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  width: 100%;
  border: 1px solid var(--fl-border);
  border-radius: 16px !important;
  background: rgba(255,255,255,0.9);
  padding: 0.95rem 1rem !important;
}
.wp-block-button__link,
a.wp-block-button__link,
.uagb-cta__buttons a,
.fl-booking-link {
  background: var(--fl-primary) !important;
  /* Kein Border: er hat dieselbe Farbe wie der Hintergrund, ist also unsichtbar —
     erzeugt aber zusammen mit dem weichen Schatten den Befund
     "gpt-thin-border-wide-shadow" auf jeder Seite. Schattenradius dazu von
     20 auf 12 px, damit die Erhebung als Kante lesbar bleibt. */
  border: none !important;
  color: #fff !important;
  border-radius: var(--fl-radius-btn) !important;
  font-weight: 700 !important;
  padding: 0.82rem 1.5rem !important;
  font-size: 0.95rem !important;
  box-shadow: 0 6px 12px rgba(21,94,239,0.24) !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}
.wp-block-button__link:hover,
a.wp-block-button__link:hover,
.uagb-cta__buttons a:hover,
.fl-booking-link:hover {
  background: var(--fl-primary-dark) !important;
  border-color: var(--fl-primary-dark) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 28px rgba(21,94,239,0.28) !important;
}
/* Zeilenabstand nach Ebene statt pauschal: 1,12 ist für eine 2,7-rem-H1 richtig,
   für einen 1,1-rem-Kartentitel viel zu eng (zweizeilige Titel kleben aneinander —
   war die Ursache aller tight-leading-Befunde, z. B. in den /ki-news/-Karten).
   Ab h3 wird der Text zu Fließtext und braucht Fließtext-Durchschuss. */
h1, h2 { letter-spacing: -0.03em !important; line-height: 1.14 !important; }
h3, h4 { letter-spacing: -0.02em !important; line-height: 1.32 !important; }
p { line-height: 1.72; }
footer.wp-block-template-part { background: #0f172a !important; color: #cbd5e1 !important; }
footer.wp-block-template-part a { color: #94a3b8 !important; }
footer.wp-block-template-part a:hover { color: #f1f5f9 !important; }
.fl-booking-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  justify-content: center;
  white-space: nowrap;
}
.fl-booking-link .fl-cta-icon { width: 16px; height: 16px; flex: none; }
.fl-booking-link .fl-cta-label { display: inline; }
header.wp-block-template-part .has-child > .wp-block-navigation-item__content {
  display: inline-flex !important;
  align-items: center;
  gap: 0.3rem;
}
header.wp-block-template-part .wp-block-navigation__submenu-icon {
  transition: transform 0.2s ease;
}
header.wp-block-template-part .has-child:hover .wp-block-navigation__submenu-icon,
header.wp-block-template-part .has-child[aria-expanded="true"] .wp-block-navigation__submenu-icon {
  transform: rotate(180deg);
}
header.wp-block-template-part .wp-block-navigation__submenu-container {
  min-width: 280px !important;
  padding: 0.55rem !important;
  margin-top: 0 !important;
  background: rgba(255,255,255,0.98) !important;
  border: 1px solid rgba(188,204,220,0.9) !important;
  border-radius: 18px !important;
  box-shadow: 0 22px 48px rgba(15,23,42,0.14), 0 6px 14px rgba(15,23,42,0.05) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.22s ease 0.18s, transform 0.22s ease 0.18s, visibility 0s linear 0.4s;
  pointer-events: none;
}
header.wp-block-template-part .wp-block-navigation__submenu-container::before {
  content: "";
  position: absolute;
  top: -0.9rem;
  left: 0;
  right: 0;
  height: 0.9rem;
  background: transparent;
}
header.wp-block-template-part .has-child:hover > .wp-block-navigation__submenu-container,
header.wp-block-template-part .has-child[aria-expanded="true"] > .wp-block-navigation__submenu-container,
header.wp-block-template-part .wp-block-navigation__submenu-container:focus-within,
header.wp-block-template-part .wp-block-navigation__submenu-container:hover {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0s linear 0s;
}
header.wp-block-template-part .wp-block-navigation__submenu-container .wp-block-navigation-item {
  width: 100%;
}
header.wp-block-template-part .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start !important;
  gap: 0.15rem;
  padding: 0.7rem 0.85rem !important;
  border-radius: 12px !important;
  width: 100%;
  font-weight: 600 !important;
}
header.wp-block-template-part .wp-block-navigation__submenu-container .wp-block-navigation-item__description {
  font-size: 0.78rem;
  font-weight: 500;
  color: var(--fl-text-muted) !important;
  line-height: 1.35;
}
header.wp-block-template-part .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
  background: var(--fl-primary-light) !important;
  color: var(--fl-primary) !important;
  transform: none !important;
}
header.wp-block-template-part .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__description {
  color: var(--fl-primary) !important;
  opacity: 0.85;
}
@media (max-width: 1080px) {
  .fl-booking-link {
    padding: 0.7rem 1rem !important;
    font-size: 0.88rem !important;
  }
}
@media (max-width: 900px) {
  .wp-block-site-logo img {
    height: 40px !important;
    padding: 4px 8px !important;
    border-radius: 10px !important;
  }
  .fl-wordmark { font-size: 0.95rem; }
  header.wp-block-template-part .wp-block-navigation__container {
    padding: 0.3rem !important;
  }
  .fl-header-booking .fl-cta-label { display: none; }
  .fl-booking-link {
    padding: 0.62rem 0.8rem !important;
    gap: 0 !important;
  }
  .fl-booking-link .fl-cta-icon { width: 18px; height: 18px; }
}
@media (max-width: 480px) {
  .wp-block-site-logo img {
    height: 36px !important;
  }
  header.wp-block-template-part .wp-block-group.alignwide {
    padding-top: 0.6rem !important;
    padding-bottom: 0.6rem !important;
  }
  .fl-booking-link {
    padding: 0.55rem 0.65rem !important;
  }
  .fl-booking-link .fl-cta-icon { width: 16px; height: 16px; }
}
@media (max-width: 768px) {
  header.wp-block-template-part .wp-block-group.alignwide {
    padding-top: 0.8rem !important;
    padding-bottom: 0.8rem !important;
  }
}

/* === Mega-Menu (alpitype.de inspired): Icon + Title + Description je Item === */
header.wp-block-template-part .wp-block-navigation__submenu-container {
  min-width: 380px !important;
  padding: 0.5rem !important;
}
/* Item-Content: Grid mit Icon-Column + Title/Description-Column */
header.wp-block-template-part .wp-block-navigation__submenu-container > li.wp-block-navigation-link > a.wp-block-navigation-item__content {
  display: grid !important;
  grid-template-columns: 38px 1fr;
  grid-template-rows: auto auto;
  column-gap: 14px;
  row-gap: 2px;
  align-items: start;
  padding: 11px 14px !important;
}
/* Icon (::before) als geometrisches Glyph in einem subtilen Badge */
header.wp-block-template-part .wp-block-navigation__submenu-container > li.wp-block-navigation-link > a.wp-block-navigation-item__content::before {
  content: "";
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: center;
  width: 38px;
  height: 38px;
  display: inline-block;
  background-color: var(--fl-primary-light);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 22px 22px;
  border: 1px solid rgba(21,94,239,0.10);
  border-radius: 10px;
  transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}
header.wp-block-template-part .wp-block-navigation__submenu-container > li.wp-block-navigation-link > a.wp-block-navigation-item__content:hover::before {
  transform: scale(1.05);
  box-shadow: 0 6px 14px rgba(21,94,239,0.18);
  background-color: #DBE5FF;
}
/* Label + Description-Positionierung im Grid */
header.wp-block-template-part .wp-block-navigation__submenu-container .wp-block-navigation-item__label {
  grid-column: 2;
  grid-row: 1;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  color: var(--fl-text);
  line-height: 1.25;
}
header.wp-block-template-part .wp-block-navigation__submenu-container .wp-block-navigation-item__description {
  grid-column: 2;
  grid-row: 2;
  font-size: 0.78rem !important;
  color: var(--fl-text-muted) !important;
  line-height: 1.4;
  font-weight: 400 !important;
}

/* Per-Item Icons via href-Attribute-Selector (Lucide-Icons inline SVG, primary-blue stroke) */
/* Leistungen + AuxData: Top-Level-Dropdown-Breiten + Leistungen-Phasen-Border.
   href-basiert — WP-Core hat aria-label vom Anchor zum Toggle-Button verschoben, die alten
   [aria-label]-Selektoren griffen nicht mehr (tote Regeln; nested Flyouts fielen in den Fluss
   und brachen die Top-Level-Pill um = "alles verschwindet"). Nested-Flyout-Position +
   das bug-kritische position:absolute liegen im fl-submenu-align-fix-Block unten.
   "Schulungen"-Top-Level entfiel 2026-06-24 (Tools -> Leistungen/Befaehigen, AuxData -> eigenes Top-Level). */
header.wp-block-template-part .wp-block-navigation__container > li.wp-block-navigation-submenu:has(> a[href="/leistungen/"]) > .wp-block-navigation__submenu-container {
  min-width: 320px !important;
}
header.wp-block-template-part .wp-block-navigation__container > li.wp-block-navigation-submenu:has(> a[href="/auxdata/"]) > .wp-block-navigation__submenu-container {
  min-width: 300px !important;
}
/* Leistungen-Phasen (1..5): Kutzschbach-Gruen als Brand-Marker am Kategorie-Label */
header.wp-block-template-part .wp-block-navigation__container > li.wp-block-navigation-submenu:has(> a[href="/leistungen/"]) > .wp-block-navigation__submenu-container > li.wp-block-navigation-submenu > .wp-block-navigation-item__content {
  border-left: 3px solid #83B735;
  padding-left: calc(0.85rem - 3px) !important;
}
/* Leistungen-Submenu */
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="/ki-beratung-audits/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23155eef' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m8 11 2 2 4-4'/><circle cx='11' cy='11' r='8'/><path d='m21 21-4.3-4.3'/></svg>");
}
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="/trainings/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23155eef' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 10v6'/><path d='M2 10l10-5 10 5-10 5z'/><path d='M6 12v5c0 1.66 4 3 6 3s6-1.34 6-3v-5'/></svg>");
}
/* Alle Leistungen im Überblick (Hub-Leaf) — Layout-Grid */
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="/leistungen/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23155eef' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect width='7' height='7' x='3' y='3' rx='1'/><rect width='7' height='7' x='14' y='3' rx='1'/><rect width='7' height='7' x='14' y='14' rx='1'/><rect width='7' height='7' x='3' y='14' rx='1'/></svg>");
}
/* Mission-Submenu (seit 2026-05-26 Dropdown: Meine Mission + Souveräne IT Europa) */
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="/mission/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23155eef' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><circle cx='12' cy='12' r='6'/><circle cx='12' cy='12' r='2'/></svg>");
}
/* KI-Magazin-Submenu */
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="/ki-news/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23155eef' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-2 2zm0 0a2 2 0 0 1-2-2v-9c0-1.1.9-2 2-2h2'/><path d='M18 14h-8'/><path d='M15 18h-5'/><path d='M10 6h8v4h-8z'/></svg>");
}
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="/ki-chroniken/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23155eef' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8'/><path d='M3 3v5h5'/><path d='M12 7v5l4 2'/></svg>");
}
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="/ki-modelle-uebersicht/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23155eef' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3v18'/><rect width='18' height='18' x='3' y='3' rx='2'/><path d='M3 9h18'/><path d='M3 15h18'/></svg>");
}
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="/lokale-ki-modelle/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23155eef' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='4' y='4' width='16' height='16' rx='2'/><rect x='9' y='9' width='6' height='6'/><path d='M15 2v2M15 20v2M2 15h2M2 9h2M20 15h2M20 9h2M9 2v2M9 20v2'/></svg>");
}
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="/tutorials/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23155eef' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><polygon points='10 8 16 12 10 16 10 8'/></svg>");
}
/* Fl Pro Academy (schulungen.-Subdomain) — Monitor */
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="https://schulungen.fl-pro-consulting.de/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23155eef' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect width='20' height='14' x='2' y='3' rx='2'/><line x1='8' x2='16' y1='21' y2='21'/><line x1='12' x2='12' y1='17' y2='21'/></svg>");
}
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="/podcast/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23155eef' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='9' y='2' width='6' height='12' rx='3'/><path d='M5 10v2a7 7 0 0 0 14 0v-2'/><path d='M12 19v3'/></svg>");
}
/* Claudes Raum — Feder: eine KI schreibt selbst */
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="/claude/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23155eef' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M20.24 12.24a6 6 0 0 0-8.49-8.49L5 10.5V19h8.5z'/><line x1='16' y1='8' x2='2' y2='22'/><line x1='17.5' y1='15' x2='9' y2='15'/></svg>");
}
/* Über uns-Submenu */
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="/ueber-mich/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23155eef' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='8' r='5'/><path d='M20 21a8 8 0 0 0-16 0'/></svg>");
}
/* Tool-Schulungen (Sammel-Eintrag, ersetzt die 6 Einzel-Schulungen im Menü) — Terminal */
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="/schulungen/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23155eef' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m7 11 2-2-2-2'/><path d='M11 13h4'/><rect width='18' height='18' x='3' y='3' rx='2'/></svg>");
}
/* Beratung im Betrieb (fasst Retainer + News-Briefing zusammen) — Handschlag in Kutzschbach-Grün */
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="/leistungen/begleiten/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2383B735' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m11 17 2 2a1 1 0 1 0 3-3'/><path d='m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4'/><path d='m21 3 1 11h-2'/><path d='M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3'/><path d='M3 4h8'/></svg>");
}
/* Wissens-Hub /wissen/ — Kompass (ersetzt die Top-Level "Lernen" + "KI-Magazin") */
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="/wissen/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23155eef' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><polygon points='16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76'/></svg>");
}
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="/kontakt/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23155eef' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect width='20' height='16' x='2' y='4' rx='2'/><path d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/></svg>");
}
/* Partner (Über mich) — Handschlag (FL-Blau, Lucide handshake). War bis zum
   Navi-Umbau 2026-08-11 eine Elternzeile mit eigenem Flex-Layout; seit die
   drei Partner-Seiten über die Hub-Seite /partner/ laufen, ist es ein
   normaler Leaf und kommt mit der Basis-Badge-Regel aus. */
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="/partner/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23155eef' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m11 17 2 2a1 1 0 1 0 3-3'/><path d='m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4'/><path d='m21 3 1 11h-2'/><path d='M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3'/><path d='M3 4h8'/></svg>");
}
/* Auxdata-Tutorials (Petrol #0E7490, Graduation-Cap) */
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="/auxdata/tutorials/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E7490' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z'/><path d='M22 10v6'/><path d='M6 12.5V16a6 3 0 0 0 12 0v-3.5'/></svg>");
}
/* Events (Über-mich) - Calendar (FL-Blau) */
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="/events/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23155eef' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect width='18' height='18' x='3' y='4' rx='2'/><path d='M16 2v4'/><path d='M8 2v4'/><path d='M3 10h18'/></svg>");
}
/* KI-Fahrplan-Workshop (Phase 2 Item) - Map (FL-Blau) */
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="/leistungen/ki-fahrplan-workshop/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23155eef' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z'/><path d='M15 5.764v15'/><path d='M9 3.236v15'/></svg>");
}
/* Auxdata-Einfuehrung im Submenu (Phase 3) - Database (Auxdata-Petrol) */
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="/auxdata/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f938a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><ellipse cx='12' cy='5' rx='9' ry='3'/><path d='M3 5v14c0 1.66 4.03 3 9 3s9-1.34 9-3V5'/><path d='M3 12c0 1.66 4.03 3 9 3s9-1.34 9-3'/></svg>");
}
/* AuxData in Microsoft Teams - Chat-Bubble (Auxdata-Petrol) */
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="/auxdata/teams/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f938a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/><path d='M8 9h8'/><path d='M8 13h6'/></svg>");
}
/* AuxData E-Mail-Automatisierung - Mail (Auxdata-Petrol) */
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="/auxdata/email-automatisierung/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f938a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect width='20' height='16' x='2' y='4' rx='2'/><path d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/></svg>");
}
/* AuxData Lokale KI / On-Prem - Server (Auxdata-Petrol) */
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="/auxdata/lokale-ki/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f938a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect width='20' height='8' x='2' y='2' rx='2' ry='2'/><rect width='20' height='8' x='2' y='14' rx='2' ry='2'/><line x1='6' x2='6.01' y1='6' y2='6'/><line x1='6' x2='6.01' y1='18' y2='18'/></svg>");
}
/* AuxData KI Voice Avatar - Mikrofon (Auxdata-Petrol) */
header.wp-block-template-part .wp-block-navigation__submenu-container a[href="/ki-avatar/"]::before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f938a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z'/><path d='M19 10v2a7 7 0 0 1-14 0v-2'/><line x1='12' x2='12' y1='19' y2='22'/></svg>");
}

/* === Auxdata Top-Level-Pill ENTFERNT — /auxdata/ ist seit 28.05.2026 unter
   Leistungen → 3 · Umsetzen (Submenu-Item) statt eigenem Top-Level. Submenu-
   Icon-Selektor (Petrol-Database) liegt oben im Schulungen-Icons-Block. === */

/* Mobile: Mega-Menu deaktivieren, Standard-Liste */
@media (max-width: 900px) {
  header.wp-block-template-part .wp-block-navigation__submenu-container > li.wp-block-navigation-link > a.wp-block-navigation-item__content {
    display: flex !important;
    grid-template: none;
    flex-direction: column;
    align-items: flex-start !important;
    gap: 0.15rem;
  }
  header.wp-block-template-part .wp-block-navigation__submenu-container > li.wp-block-navigation-link > a.wp-block-navigation-item__content::before {
    display: none;
  }
  /* Slide-In-Animation auf Mobile deaktivieren — Hover existiert nicht, Items
     muessen direkt sichtbar sein wenn Submenu in Mobile-Overlay aufgeklappt ist. */
  header.wp-block-template-part .wp-block-navigation__submenu-container > li.wp-block-navigation-link {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  /* Mega-Menu-Container im Mobile-Overlay flach: kein min-width, kein gradient-shadow */
  header.wp-block-template-part .wp-block-navigation__submenu-container {
    min-width: 0 !important;
    padding: 0.3rem !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
}

/* ==========================================================
   POLISH-LAYER — Micro-Interactions + Visual Differentiation
   ========================================================== */

/* === Header Bottom: Gradient-Border (Primary -> Accent fade) === */
header.wp-block-template-part {
  border-bottom: none !important; /* override the previous solid border */
  position: relative;
}
header.wp-block-template-part::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg,
    rgba(21,94,239,0) 0%,
    rgba(21,94,239,0.45) 25%,
    rgba(31,147,138,0.45) 75%,
    rgba(31,147,138,0) 100%);
  pointer-events: none;
}

/* === Tagline: subtiles Gradient-Text (vom Dot ausgehend) === */
.fl-tagline {
  background: linear-gradient(90deg, var(--fl-primary) 0%, var(--fl-text-muted) 38%, var(--fl-text-muted) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
}
.fl-tagline .fl-dot {
  /* dot bleibt sichtbar - ist bereits durch ::before/::after-Pulse geprägt */
  filter: drop-shadow(0 0 4px rgba(21,94,239,0.18));
}

/* === Logo-Hover: Drop-Shadow + leicht erhöhte Saturation === */
.wp-block-site-logo a:hover img {
  filter: drop-shadow(0 6px 16px rgba(21,94,239,0.18)) saturate(1.08);
  transform: translateY(-1px) scale(1.02);
}

/* === Submenu-Chevron === */
/* Easing ohne Überschwinger: cubic-bezier(0.34,1.56,…) federt zurück, was bei
   einem 8-px-Pfeil nur zappelig wirkt. ease-out-quart bremst sauber ab. */
header.wp-block-template-part .wp-block-navigation__submenu-icon {
  transition: transform 0.24s cubic-bezier(0.25, 1, 0.5, 1) !important;
}
header.wp-block-template-part .has-child:hover .wp-block-navigation__submenu-icon,
header.wp-block-template-part .has-child[aria-expanded="true"] .wp-block-navigation__submenu-icon {
  transform: rotate(180deg) scale(1.1) !important;
  color: var(--fl-primary);
}

/* === Nav-Item Hover: subtile Lift === */
header.wp-block-template-part .wp-block-navigation-item__content:hover {
  transform: translateY(-1px) !important;
}

/* === Termin-Button: Gradient + Icon-Pulse on hover === */
.fl-booking-link {
  background: linear-gradient(135deg, var(--fl-primary) 0%, #4f7ff0 100%) !important;
  position: relative;
  overflow: hidden;
}
.fl-booking-link::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.18), transparent);
  transition: left 0.5s ease;
  pointer-events: none;
}
.fl-booking-link:hover::after {
  left: 100%;
}
.fl-booking-link .fl-cta-icon {
  transition: transform 0.3s ease;
}
.fl-booking-link:hover .fl-cta-icon {
  animation: fl-cta-icon-pulse 1s ease infinite;
}
@keyframes fl-cta-icon-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.15); }
}

/* === Mega-Menu Items: Slide-In-Animation beim Aufklappen === */
header.wp-block-template-part .wp-block-navigation__submenu-container > li.wp-block-navigation-link {
  opacity: 0;
  transform: translateX(-8px);
  transition: opacity 0.22s ease, transform 0.22s ease;
}
header.wp-block-template-part .has-child:hover > .wp-block-navigation__submenu-container > li.wp-block-navigation-link,
header.wp-block-template-part .has-child[aria-expanded="true"] > .wp-block-navigation__submenu-container > li.wp-block-navigation-link {
  opacity: 1;
  transform: translateX(0);
}
header.wp-block-template-part .has-child:hover > .wp-block-navigation__submenu-container > li.wp-block-navigation-link:nth-child(1) { transition-delay: 0.04s; }
header.wp-block-template-part .has-child:hover > .wp-block-navigation__submenu-container > li.wp-block-navigation-link:nth-child(2) { transition-delay: 0.08s; }
header.wp-block-template-part .has-child:hover > .wp-block-navigation__submenu-container > li.wp-block-navigation-link:nth-child(3) { transition-delay: 0.12s; }
header.wp-block-template-part .has-child:hover > .wp-block-navigation__submenu-container > li.wp-block-navigation-link:nth-child(4) { transition-delay: 0.16s; }
header.wp-block-template-part .has-child:hover > .wp-block-navigation__submenu-container > li.wp-block-navigation-link:nth-child(5) { transition-delay: 0.20s; }
header.wp-block-template-part .has-child:hover > .wp-block-navigation__submenu-container > li.wp-block-navigation-link:nth-child(6) { transition-delay: 0.24s; }

/* === Brand-Zone: Wordmark + Strapline neben dem Logo === */
.fl-brand-text {
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1.1;
  margin-left: 4px;
  white-space: nowrap;
}
/* Wortmarke: seit 2026-08-11 in Volltonfarbe statt background-clip:text.
   Der Verlauf im Text war auf jeder Seite ein gradient-text-Befund, und
   transparenter Text ist die fragilste Art, eine Marke zu setzen — bei
   fehlgeschlagenem Font-Load oder in Reader-Modi verschwindet sie. */
.fl-wordmark {
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -0.015em;
  color: var(--fl-primary);
}
/* Strapline: Versalien raus (all-caps-body — Großbuchstaben lesen sich in
   Fließtextgrößen deutlich langsamer). Stattdessen Größe + Farbe als Kontrast. */
.fl-strapline {
  /* 0.8rem = 12,8 px. Darunter zählt der Detektor es als tiny-text, und in
     Versalien war es vorher faktisch noch kleiner lesbar. */
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--fl-text-muted);
}
@media (max-width: 1180px) {
  .fl-strapline { display: none; }
}
@media (max-width: 720px) {
  .fl-brand-text { display: none; }
}
/* === Mega-Menu KI-Magazin: Divider vor Podcast (Audio-Subkategorie) === */
header.wp-block-template-part .wp-block-navigation__submenu-container > li.wp-block-navigation-link:has(> a[href="/podcast/"]) {
  border-top: 1px solid rgba(15,23,42,0.06);
  margin-top: 6px;
  padding-top: 6px;
}
/* === Mega-Menu Wissen: Divider vor Claudes Raum (KI-eigener Bereich) === */
header.wp-block-template-part .wp-block-navigation__submenu-container > li.wp-block-navigation-link:has(> a[href="/claude/"]) {
  border-top: 1px solid rgba(15,23,42,0.06);
  margin-top: 6px;
  padding-top: 6px;
}


/* fl-mobile-submenu-fix-START */
/* WP-Core enthüllt Submenus via submenu__toggle[aria-expanded=true] ~ .submenu-container.
   Das obige Custom-CSS versteckt Container global (opacity/visibility/pointer-events) und
   enthüllt nur per :hover bzw. .has-child[aria-expanded] — Hover fehlt auf Touch, und
   aria-expanded sitzt am <button>, nicht am <li>, deshalb öffneten Submenus auf Mobile nie.
   Wir spiegeln den Core-Selektor mit dem Custom-Design + !important wider. */
header.wp-block-template-part .has-child .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transition: opacity 0.18s ease, transform 0.18s ease !important;
}
/* Standard-Submenus: versteckten -6px-Offset zurücksetzen + Slide-In-Items einblenden */
header.wp-block-template-part .has-child .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container:not(:has(a[href="/foerderung-uebersicht/"])) {
  transform: none !important;
}
header.wp-block-template-part .has-child .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container > li.wp-block-navigation-link {
  opacity: 1 !important;
  transform: none !important;
}
/* Förderung per Klick geöffnet (Desktop): rechts verankertes Panel beibehalten */
header.wp-block-template-part .has-child .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container:has(a[href="/foerderung-uebersicht/"]) {
  transform: translateY(0) !important;
}

/* Mobile-Overlay: ALLE Submenus inline stacken statt schweben/fliegen.
   Förderung nutzte position:fixed + translateX(-50%) → schwebte mitten über dem Overlay.
   .is-menu-open existiert nur im Hamburger-Overlay, daher breakpoint-unabhängig sicher. */
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
  position: static !important;
  transform: none !important;
  inset: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  max-height: none !important;
  overflow: visible !important;
}
/* Förderung-Container im Overlay: explizit (höhere Spezifität als der Klick-Reveal oben),
   damit die Desktop-Verankerung sicher überschrieben wird; kompaktes 2-Spalten-Stacking. */
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container:has(a[href="/foerderung-uebersicht/"]) {
  position: static !important;
  transform: none !important;
  inset: auto !important;
  width: 100% !important;
  grid-template-columns: 1fr 1fr !important;
}
/* Verschachtelte Leistungen-Flyouts im Overlay: kein left:100%-Offset */
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
  margin-left: 0 !important;
}
/* fl-mobile-submenu-fix-END */

/* fl-overlay-items-visible-START */
/* Im Hamburger-Overlay macht WP-Core die Submenu-Container breitenunabhaengig auf
   (height:auto, visibility:visible). Die Item-Slide-In-Animation weiter oben
   (li.wp-block-navigation-link { opacity:0; transform:translateX(-8px) }) wird aber nur
   per :hover bzw. [aria-expanded=true] ausgeloest. Auf Touch (z.B. iPad >=600px) feuert
   keins davon beim Oeffnen des Overlays — Folge: die Unterpunkte stehen als LEERE Kaesten
   da und ihr Inhalt erscheint erst beim Antippen des Chevrons. Im Overlay daher die Items
   sofort einblenden (kein Tap noetig), wie am Handy. Nur .is-menu-open gescoped, damit das
   Desktop-Inline-Menue seine Hover-Slide-In-Animation behaelt. */
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container > li.wp-block-navigation-link {
  opacity: 1 !important;
  transform: none !important;
}
/* fl-overlay-items-visible-END */

/* fl-submenu-align-fix-START */
/* WP-Core richtet Top-Level-Submenus rechtsbuendig aus (.wp-block-navigation__submenu-container{left:auto;right:0}).
   Fuer die rechten Menuepunkte ok; fuer die beiden LINKEN (Leistungen, Schulungen) schiesst das
   Panel nach links weg, losgeloest vom Trigger ("Tabs links verloren"). Diese zwei links am
   Trigger verankern und nach rechts wachsen lassen. Nur >=600px (darunter = Hamburger-Overlay).
   Robust ueber href statt [aria-label] — ein WP-Core-Update hat aria-label vom Anchor zum
   Toggle-Button ("Untermenue von X") verschoben, wodurch die alten [aria-label]-Selektoren
   (min-width / Flyout-Position / nth-of-type-Borders weiter oben) nicht mehr greifen. */
@media (min-width: 600px) {
  header.wp-block-template-part .wp-block-navigation__container > li.wp-block-navigation-submenu:has(> a[href="/leistungen/"]) > .wp-block-navigation__submenu-container,
  header.wp-block-template-part .wp-block-navigation__container > li.wp-block-navigation-submenu:has(> a[href="/auxdata/"]) > .wp-block-navigation__submenu-container {
    left: 0 !important;
    right: auto !important;
  }
}

/* fl-submenu-align-fix-END */


/* fl-mobile-overlay-containingblock-fix-START */
/* Der Header traegt backdrop-filter: blur(18px). Ein nicht-none backdrop-filter macht den Header
   zum containing block fuer position:fixed-Nachfahren — dadurch wird das mobile Overlay
   (.is-menu-open, position:fixed; inset:0) am nur ~70px hohen Header statt am Viewport verankert
   und deckt nicht (nur ein schmaler Streifen "Leistungen" sichtbar). Beim Oeffnen abschalten,
   damit das Overlay wieder den ganzen Viewport fuellt. */
header.wp-block-template-part:has(.wp-block-navigation__responsive-container.is-menu-open) {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
/* fl-mobile-overlay-containingblock-fix-END */

/* fl-mobile-overlay-symmetry-fix-START */
/* Mobile-Overlay symmetrisch: die innere Wrapper-Kette stretcht nicht auf volle Breite und
   die (verschachtelten) Submenu-Container tragen Core-padding (2em links) -> ungleiche Raender
   + gestaffelte Links-Einrueckung pro Verschachtelungstiefe. Ganze Kette inkl. Submenu-Container
   auf 100% Breite, padding/margin 0, border-box -> alle Karten teilen denselben Gutter. */
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  align-self: stretch !important;
  box-sizing: border-box !important;
}
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
  align-items: stretch !important;
}
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  transform: none !important;
  box-sizing: border-box !important;
}
/* fl-mobile-overlay-symmetry-fix-END */

/* fl-overlay-akkordeon-START */
/* Mobilmenue-Akkordeon (Audit P2): Das Overlay zeigte alle Sektionen aufgeklappt
   (30+ Eintraege am Stueck). Jetzt: Sektionen standardmaessig ZU, der Chevron-Button
   oeffnet je Sektion, Kontakt steht als erster Punkt oben. Core versteckt die
   Toggle-Buttons im Overlay (display:none auf .wp-block-navigation__submenu-icon)
   und stellt alle Submenus offen — beides hier ueberschrieben. aria-expanded haengt
   am BUTTON (Interactivity API, nicht am li), daher :has(>button[aria-expanded]).
   Faellt JS/Hydration aus, fehlt aria-expanded="false" -> alles bleibt offen wie
   bisher (graceful degradation). */
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
  display: inline-flex !important;
}
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open li.has-child:has(> .wp-block-navigation-submenu__toggle[aria-expanded="false"]) > .wp-block-navigation__submenu-container {
  display: none !important;
}
/* Chevron als klare Tap-Flaeche rechts in der Sektionszeile (Zeile ~52px hoch) */
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open li.has-child {
  position: relative;
}
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open li.has-child > .wp-block-navigation-submenu__toggle {
  position: absolute !important;
  top: 6px;
  right: 6px;
  width: 40px;
  height: 40px;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center;
  justify-content: center;
  background: var(--fl-primary-light) !important;
  color: var(--fl-primary) !important;
  border: 1px solid var(--fl-border) !important;
  border-radius: 12px !important;
  cursor: pointer;
  transition: transform 0.2s ease;
}
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open li.has-child > .wp-block-navigation-submenu__toggle[aria-expanded="true"] {
  transform: rotate(180deg);
}
/* Anker-Zeile laesst dem Chevron rechts Platz */
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open li.has-child > .wp-block-navigation-item__content {
  padding-right: 3.4rem !important;
}
/* Kontakt als ersten Punkt nach oben (Overlay-Container ist flex-column) */
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li:has(> a[href="/kontakt/"]) {
  order: -1;
}
/* Top-Level-Kontakt existiert nur fuers Overlay — im Desktop-Inline-Menue verstecken
   (die Pille ist mit 5 Punkten am Platz-Limit; Kontakt steckt dort unter Ueber mich). */
header.wp-block-template-part .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > li:has(> a[href="/kontakt/"]) {
  display: none !important;
}
/* fl-overlay-akkordeon-END */


/* fl-touch-hamburger-START */
/* Touch-Geraete (iPad) bekommen das Hamburger-Overlay statt des Inline-Mega-Menues —
   das Inline-Menue oeffnet Submenus nur per :hover, was auf reinem Touch nicht geht.
   Trigger ist der PRIMAERE Pointer: (hover:none) and (pointer:coarse) = das Hauptzeige-
   geraet ist Touch. Maus-Geraete (Desktop/Laptop) behalten das Inline-Mega-Menue.
   ACHTUNG — bewusst NICHT (any-pointer: coarse): das traf auch Touch-Desktops/-Laptops
   (Touchscreen vorhanden, aber Maus primaer) und gab denen faelschlich den Hamburger
   (Regression auf Florians Touch-faehigem Desktop, 2026-06-08 gemeldet & zurueckgenommen).
   Bekannte, in Kauf genommene Luecke: ein iPad MIT angeschlossenem Trackpad/Magic-Keyboard
   meldet primaer fine/hover und bekommt dann das Inline-Menue — pro CSS nicht von einem
   Touch-Laptop unterscheidbar; falls real stoerend, separat per JS (maxTouchPoints +
   iPad-UA) loesen, nicht per any-pointer. Das Overlay nutzt denselben getesteten Code wie
   das Handy (fl-mobile-submenu-fix + fl-overlay-items-visible). Siehe Memory
   feedback_flpro_header_touch_hover_dead. */
@media (hover: none) and (pointer: coarse) {
  header.wp-block-template-part .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex !important;
  }
  header.wp-block-template-part .wp-block-navigation:not(.has-modal-open) .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }
}
/* fl-touch-hamburger-END */

/* fl-nav-density-fix-START */
/* Die Nav-Pill fasst seit dem Umbau vom 2026-08-11 FÜNF Top-Level-Items (2026-07-14: "Mission" unter "Über mich"
   gezogen — Rueckbau der 7-Item-Verdichtung vom 2026-07-11 auf den alten 6-Item-Stand aus
   Commit 037d5d9). Die Pill braucht ~680px, bekommt aber unterhalb ~1440px Viewport weniger
   (Brand-Zone + Pill + CTA in einer space-between-Reihe) — Folge: "Über mich" bricht in eine
   zweite, halbleere Pill-Zeile um. Zwei Stufen:
   (1) <=1460px: Pill verdichten (Item-Padding/Gap/Font minimal runter, nur Top-Level,
       nur Inline-Menue — Overlay + Submenu-Panels behalten ihre Werte),
   (2) 600-1219px: Hamburger-Overlay erzwingen — die verdichtete Pill passt dort
       nicht mehr; gleiches getestetes Pattern wie fl-touch-hamburger. */
@media (max-width: 1460px) {
  header.wp-block-template-part .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container {
    gap: 0.15rem !important;
    padding: 0.3rem 0.35rem !important;
  }
  header.wp-block-template-part .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > li > .wp-block-navigation-item__content {
    font-size: 0.85rem !important;
    padding: 0.5rem 0.55rem !important;
  }
}
@media (min-width: 600px) and (max-width: 1219px) {
  header.wp-block-template-part .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex !important;
  }
  header.wp-block-template-part .wp-block-navigation:not(.has-modal-open) .wp-block-navigation__responsive-container:not(.is-menu-open) {
    display: none !important;
  }
}
/* fl-nav-density-fix-END */
/* fl-plex-local-START — IBM Plex Sans lokal (Variable Font 100-700, latin + latin-ext),
   ersetzt die frueheren Google-Fonts-@imports der Foerderung-/Schulungs-/Akademie-Pages.
   @font-face allein loest KEINEN Download aus — die Dateien laden nur auf Seiten,
   die font-family 'IBM Plex Sans' tatsaechlich verwenden. */
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
  src: url('/wp-content/uploads/2026/06/ibm-plex-sans-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
  src: url('/wp-content/uploads/2026/06/ibm-plex-sans-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* fl-plex-local-END */
/* fl-single-featured-image-fix */
/* Twenty-Twenty-Five erzwingt aspect-ratio:3/2 + object-fit:cover auf Single-Post-Featured-Images.
   Bei Bannern mit anderem Format (16:9 Audioblog-Banner) cropped das links/rechts.
   Lösung: aspect-ratio auf auto + contain → jedes Banner zeigt sich in nativer Ratio.
   (Re-Aktivierung 2026-08-03 — ging beim Header-Rework 2026-07-28 verloren.) */
body.single-post .wp-block-post-featured-image{aspect-ratio:auto !important;max-height:640px !important;overflow:visible !important;background:transparent !important}
body.single-post .wp-block-post-featured-image a{display:block !important;height:auto !important}
body.single-post .wp-block-post-featured-image img{aspect-ratio:auto !important;object-fit:contain !important;width:auto !important;max-width:100% !important;height:auto !important;max-height:640px !important;margin:0 auto !important;display:block !important}
/* end fl-single-featured-image-fix */
