/* ===========================================================================
   foerderung.css — additive Styles für /foerderung (BC5, USCRX-2026-4524/4522).
   Wird NACH /style.css geladen. LKI-Sub-Brand: Petrol #077CAA statt JF-Gold
   (USCRX-2026-4639/4638 — /foerderung ist eine Lokale-KI-Flaeche). Reine JF-Säule
   (BC5; LKI ist JF-Sub-Brand, kein Pillar-Wechsel), kein GX/NP. DE-only.
   Bilder: /foerderung/img/ (Desktop 1920×1072) + img/mobile/ (4:5).
   =========================================================================== */

/* LKI-Sub-Brand-Akzent (Petrol) ueberschreibt die JF-Gold-Basis aus style.css :root. */
.foerd { --color-accent: #077CAA; --color-accent-light: #3AAFD9; --color-accent-glow: rgba(7,124,170,0.15); --color-petrol: #077CAA; --foerd-creme: #F2EFE9; --foerd-ink: #1d2228; --foerd-ink-muted: #3a424a; --foerd-gold-deep: #066089; }

/* Inhalte immer sichtbar (kein Scroll-Reveal-Abhängigkeit) */
.foerd .reveal { opacity: 1; transform: none; }

/* === Seiten-lokale Sprungleiste (PLAN-MM-065 §4.1) — In-Page-Anker, sticky unter der fixed Nav === */
html { scroll-padding-top: 5.5rem; }
.foerd .ll-subnav { position: sticky; top: 3.75rem; z-index: 900; background: rgba(14,16,19,.94); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--color-border); }
.foerd .ll-subnav__inner { display: flex; gap: 1.4rem; overflow-x: auto; max-width: 1200px; margin: 0 auto; padding: 0.6rem 1.25rem; scrollbar-width: none; }
.foerd .ll-subnav__inner::-webkit-scrollbar { display: none; }
.foerd .ll-subnav a { font-size: 0.9rem; color: var(--color-text-muted); text-decoration: none; white-space: nowrap; padding: 0.15rem 0; transition: color .2s; }
.foerd .ll-subnav a:hover { color: var(--color-accent-light); }
@media (max-width: 600px) { .foerd .ll-subnav { top: 3.25rem; } html { scroll-padding-top: 5rem; } }

/* section__intro liegt hier IM section__header — den negativen margin-top der Hauptseite
   (dort Geschwister-Layout) neutralisieren, sonst überlappt die Intro den Titel.
   Gleiche Korrektur wie lokale-ki.css. */
.foerd .section__header .section__intro { margin-top: 1rem; }

/* === Hero === */
.foerd-hero .hero__bg { position: absolute; inset: 0; overflow: hidden; }
.foerd-hero__img { position: absolute; inset: 0; background-image: linear-gradient(rgba(19,23,27,.58), rgba(19,23,27,.78)), url('/foerderung/img/foerd-hero-01-support.jpg'); background-size: cover; background-position: center; }
/* Hero-H1 nutzt jetzt die zentrale .hero__headline (style.css) — keine seiten-eigene Groesse/Umbruch mehr. */
.foerd-hero__sub { max-width: 60ch; margin: 0 auto 1.8rem; color: var(--color-text); font-size: 1.08rem; line-height: 1.6; }
.foerd-hero__trust { margin-top: 1.6rem; font-size: 0.9rem; letter-spacing: 0.02em; color: var(--color-text-muted); }
.foerd-hero__trust strong { color: var(--color-accent-light); }
@media (max-width: 768px) { .foerd-hero__img { background-image: linear-gradient(rgba(19,23,27,.58), rgba(19,23,27,.78)), url('/foerderung/img/mobile/foerd-hero-01-support-mobile.jpg'); } }

/* === Sektions-Schema (Bild + Overlay je #id, alternierend dark/light) === */
.foerd-sec { position: relative; isolation: isolate; }
.foerd-sec::before { content: ''; position: absolute; inset: 0; z-index: -1; background-size: cover; background-position: center; background-color: var(--color-bg); }
.foerd-sec--dark { color: var(--color-text); }
.foerd-sec--dark::before { background-color: var(--color-bg-alt); }
.foerd-sec--light { color: var(--foerd-ink); }
.foerd-sec--light::before { background-color: var(--foerd-creme); }

/* Helle Sektionen: Schrift auf Charcoal/Creme abstimmen */
.foerd-sec--light .section__title { color: var(--foerd-ink); }
.foerd-sec--light .section__label { color: var(--foerd-gold-deep); }
.foerd-sec--light .section__intro { color: var(--foerd-ink-muted); }

/* Bild-Mapping je Sektion (Platzhalter-frei, finale Bilder PLAN-MM 2026-06-22) */
.foerd #prinzip.foerd-sec::before   { background-image: linear-gradient(rgba(242,239,233,.78), rgba(242,239,233,.84)), url('/foerderung/img/foerd-sec-trennung.jpg'); }
.foerd #matrix.foerd-sec::before    { background-image: linear-gradient(rgba(19,23,27,.66), rgba(19,23,27,.78)),  url('/foerderung/img/foerd-sec-matrix.jpg'); }
.foerd #programme.foerd-sec::before { background-image: linear-gradient(rgba(242,239,233,.80), rgba(242,239,233,.86)), url('/foerderung/img/foerd-sec-programme.jpg'); }
.foerd #ablauf.foerd-sec::before    { background-image: linear-gradient(rgba(242,239,233,.80), rgba(242,239,233,.86)), url('/foerderung/img/foerd-sec-ablauf.jpg'); }
.foerd #kontakt.foerd-sec::before   { background-image: linear-gradient(rgba(19,23,27,.66), rgba(19,23,27,.80)),  url('/foerderung/img/foerd-hero-02-coverage.jpg'); }
@media (max-width: 768px) {
  .foerd #prinzip.foerd-sec::before   { background-image: linear-gradient(rgba(242,239,233,.80), rgba(242,239,233,.86)), url('/foerderung/img/mobile/foerd-sec-trennung-mobile.jpg'); }
  .foerd #matrix.foerd-sec::before    { background-image: linear-gradient(rgba(19,23,27,.68), rgba(19,23,27,.80)),  url('/foerderung/img/mobile/foerd-sec-matrix-mobile.jpg'); }
  .foerd #programme.foerd-sec::before { background-image: linear-gradient(rgba(242,239,233,.82), rgba(242,239,233,.88)), url('/foerderung/img/mobile/foerd-sec-programme-mobile.jpg'); }
  .foerd #ablauf.foerd-sec::before    { background-image: linear-gradient(rgba(242,239,233,.82), rgba(242,239,233,.88)), url('/foerderung/img/mobile/foerd-sec-ablauf-mobile.jpg'); }
  .foerd #kontakt.foerd-sec::before   { background-image: linear-gradient(rgba(19,23,27,.68), rgba(19,23,27,.82)),  url('/foerderung/img/mobile/foerd-hero-02-coverage-mobile.jpg'); }
}

/* === Ampel-Legende + Status-Badges === */
.foerd-legend { display: flex; flex-wrap: wrap; gap: 1.25rem 2rem; justify-content: center; margin-top: 1rem; }
.foerd-legend__item { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.95rem; color: var(--foerd-ink-muted); }
.foerd-badge { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.18rem 0.6rem; font-size: 0.8rem; font-weight: 700; border-radius: 100px; white-space: nowrap; }
.foerd-badge--yes { color: #166534; background: rgba(34,197,94,.16); }
.foerd-badge--maybe { color: #92600a; background: rgba(217,153,30,.18); }
.foerd-badge--no { color: #4b5563; background: rgba(107,114,128,.16); }
.foerd-sec--dark .foerd-badge--yes { color: #6ee7a8; background: rgba(34,197,94,.14); }
.foerd-sec--dark .foerd-badge--maybe { color: #f0c674; background: rgba(217,153,30,.16); }
.foerd-sec--dark .foerd-badge--no { color: #aab2bd; background: rgba(170,178,189,.14); }

/* === Leistungs-Matrix (responsive: Tabelle ab md, Cards mobil) === */
.foerd-matrix-wrap { max-width: 1000px; margin: 0 auto; }
.foerd-matrix { width: 100%; border-collapse: collapse; background: rgba(36,42,49,.5); border: 1px solid var(--color-border); border-radius: 16px; overflow: hidden; }
.foerd-matrix th, .foerd-matrix td { padding: 0.85rem 1rem; text-align: left; font-size: 0.92rem; border-bottom: 1px solid var(--color-border); vertical-align: top; }
.foerd-matrix thead th { font-family: var(--font-heading); font-style: italic; font-weight: 600; font-size: 0.82rem; text-transform: uppercase; letter-spacing: 0.03em; color: var(--color-bg); background: var(--color-accent); }
.foerd-matrix tbody td:first-child { font-weight: 600; color: var(--color-white); }
.foerd-matrix tbody td { color: var(--color-text-muted); }
.foerd-matrix tbody tr:last-child td { border-bottom: none; }
@media (max-width: 767px) {
  .foerd-matrix { background: transparent; border: none; }
  .foerd-matrix thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .foerd-matrix tbody, .foerd-matrix tr, .foerd-matrix td { display: block; width: 100%; }
  .foerd-matrix tr { margin-bottom: 1rem; background: rgba(36,42,49,.7); border: 1px solid var(--color-border); border-radius: 14px; overflow: hidden; }
  .foerd-matrix td { border-bottom: 1px solid var(--color-border); display: flex; justify-content: space-between; gap: 1rem; }
  .foerd-matrix td::before { content: attr(data-l); font-weight: 700; color: var(--color-text-muted); flex: 0 0 8.5rem; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.02em; }
  .foerd-matrix tbody td:first-child { font-size: 1rem; }
}

/* === Hinweis-Box === */
.foerd-note { max-width: 760px; margin: 2.25rem auto 0; padding: 1.5rem 1.75rem; background: var(--color-accent-glow); border-left: 4px solid var(--color-accent); border-radius: 10px; }
/* LKI-Flaeche = nur Petrol (Brand-SSoT): war rgba(140,106,20) = JF-Gold primary_deep */
.foerd-sec--light .foerd-note { background: rgba(6,96,137,.1); }
.foerd-note__title { font-family: var(--font-heading); font-style: italic; font-weight: 600; font-size: 1.15rem; margin: 0 0 0.5rem; color: var(--color-accent-light); }
.foerd-sec--light .foerd-note__title { color: var(--foerd-gold-deep); }
.foerd-note p { line-height: 1.65; }
.foerd-note__list { margin: 0.7rem 0; padding-left: 1.3rem; }
.foerd-note__list li { line-height: 1.6; margin-bottom: 0.55rem; }
.foerd-note__list li:last-child { margin-bottom: 0; }
.foerd-note--inline { margin-top: 2rem; }

/* === Förderprogramme (Grid) === */
.foerd-progs { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .foerd-progs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .foerd-progs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.foerd-prog { min-width: 0; display: flex; flex-direction: column; gap: 0.5rem; padding: 1.6rem 1.5rem; background: rgba(255,255,255,.72); border: 1px solid rgba(19,23,27,.1); border-radius: 18px; }
.foerd-prog--prep { background: rgba(255,255,255,.6); }
.foerd-prog--info { background: rgba(255,255,255,.5); border-style: dashed; }
.foerd-prog__head { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; flex-wrap: wrap; }
.foerd-prog__region { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--foerd-gold-deep); }
.foerd-prog__status { font-size: 0.7rem; font-weight: 700; padding: 0.2rem 0.6rem; border-radius: 100px; white-space: nowrap; }
.foerd-prog__status--active { color: #166534; background: rgba(34,197,94,.18); }
.foerd-prog__status--prep { color: #92600a; background: rgba(217,153,30,.2); }
.foerd-prog__status--info { color: #4b5563; background: rgba(107,114,128,.16); }
.foerd-prog__name { font-family: var(--font-heading); font-style: italic; font-weight: 600; font-size: 1.18rem; color: var(--foerd-ink); margin: 0.2rem 0; }
.foerd-prog__quote { font-weight: 700; color: var(--color-petrol); font-size: 0.95rem; }
.foerd-prog__fit { color: var(--foerd-ink-muted); font-size: 0.9rem; line-height: 1.55; flex-grow: 1; }
.foerd-prog__link { align-self: flex-start; margin-top: 0.4rem; font-weight: 600; font-size: 0.9rem; color: var(--color-petrol); }
.foerd-prog__link:hover { color: var(--foerd-ink); }
.foerd-prep-hint { max-width: 820px; margin: 1.75rem auto 0; padding: 1rem 1.25rem; font-size: 0.92rem; line-height: 1.6; color: var(--foerd-ink-muted); background: rgba(217,153,30,.1); border-left: 4px solid #d9991e; border-radius: 8px; }

/* === Projektzuschnitte === */
.foerd-pakete { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .foerd-pakete { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.foerd-paket { min-width: 0; padding: 1.75rem 1.6rem; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 20px; }
.foerd-paket__name { font-family: var(--font-heading); font-style: italic; font-weight: 600; font-size: 1.3rem; color: var(--color-white); margin: 0 0 0.5rem; }
.foerd-paket__logik { font-size: 0.82rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; color: var(--color-accent-light); margin-bottom: 0.7rem; }
.foerd-paket__text { color: var(--color-text-muted); line-height: 1.6; font-size: 0.95rem; }
.foerd-paket__grenz { margin-top: 0.7rem; font-size: 0.88rem; color: var(--color-text-muted); font-style: italic; }

/* === Ablauf-Timeline === */
.foerd-steps { max-width: 720px; margin: 0 auto; list-style: none; padding: 0; display: grid; gap: 0.85rem; }
.foerd-step { display: flex; align-items: flex-start; gap: 1rem; padding: 0.9rem 1.1rem; background: rgba(255,255,255,.66); border: 1px solid rgba(19,23,27,.1); border-radius: 12px; }
.foerd-step--mark { border-color: var(--color-accent); box-shadow: 0 0 0 2px var(--color-accent-glow); }
.foerd-step__no { flex: 0 0 2rem; height: 2rem; display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 1.2rem; color: var(--color-bg); background: var(--color-accent); border-radius: 50%; }
.foerd-step__txt { color: var(--foerd-ink-muted); line-height: 1.5; padding-top: 0.2rem; }
.foerd-step__txt strong { color: var(--foerd-ink); }

/* === FAQ === */
.foerd-faq { max-width: 820px; margin: 0 auto; display: grid; gap: 0.75rem; }
.foerd-faq__item { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 12px; padding: 0.25rem 1.25rem; }
.foerd-faq__item summary { cursor: pointer; padding: 1rem 0; font-family: var(--font-heading); font-style: italic; font-weight: 600; font-size: 1.05rem; color: var(--color-white); list-style: none; }
.foerd-faq__item summary::-webkit-details-marker { display: none; }
.foerd-faq__item summary::after { content: '+'; float: right; color: var(--color-accent); font-size: 1.4rem; line-height: 1; }
.foerd-faq__item[open] summary::after { content: '–'; }
.foerd-faq__item p { padding: 0 0 1.1rem; color: var(--color-text-muted); line-height: 1.65; }

/* === Disclaimer (prominent) === */
.foerd-disclaimer { max-width: 900px; margin: 0 auto; padding: 1.9rem 2rem; background: rgba(255,255,255,.7); border: 2px solid var(--color-accent); border-radius: 18px; }
.foerd-disclaimer__title { font-family: var(--font-heading); font-style: italic; font-weight: 600; font-size: 1.4rem; color: var(--foerd-gold-deep); margin: 0 0 0.7rem; }
.foerd-disclaimer p { color: var(--foerd-ink-muted); line-height: 1.7; font-size: 0.97rem; }
.foerd-disclaimer strong { color: var(--foerd-ink); }

/* === CTA / Kontakt === */
.foerd-cta { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; margin-top: 2.6rem; }
.foerd-contact { display: flex; flex-wrap: wrap; gap: 0.75rem 2rem; justify-content: center; margin-top: 2rem; }
.foerd-contact__item { color: var(--color-text-muted); font-size: 0.95rem; }
.foerd-contact__label { font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-text-muted); display: block; }

/* === Footer-Disclaimer === */
.foerd-footer-disclaimer { max-width: 760px; margin: 0 auto 0.5rem; font-size: 0.82rem; line-height: 1.55; color: var(--color-text-muted); opacity: 0.85; }

/* === Autorisierungs-Marker am Förder-Claim (UWG §5/§5a, USCRX-2026-4625) ===
   Lieferweg-Hinweis DIREKT am Status-Badge (gleiche Zelle, gleiche Zeile), sichtbar
   in Amber. Trennt LEISTUNGSART (förderfähig, Badge) von Jens' aktueller Lieferfähig-
   keit über den jeweiligen Förderweg (Marker). */
.foerd-status-note { display: block; margin-top: 0.45rem; max-width: 34ch; font-size: 0.76rem; line-height: 1.45; font-style: italic; color: #f0c674; }
@media (max-width: 767px) {
  .foerd-matrix td[data-l="Status"] { flex-wrap: wrap; }
  .foerd-matrix td[data-l="Status"] .foerd-status-note { flex-basis: 100%; margin-top: 0.35rem; text-align: right; }
}

/* === Matrix-Gruppen: Umsetzung fuehrt, Discovery eingebettet, Partner abgesetzt (USCRX-2026-4636) === */
.foerd-group__title { font-family: var(--font-heading); font-style: italic; font-weight: 600; font-size: 1.2rem; margin: 0 0 1rem; color: var(--color-accent-light); }
.foerd-group { max-width: 1000px; margin: 2.25rem auto 0; padding: 1.6rem 1.75rem; border-radius: 14px; }
.foerd-group .foerd-group__title { margin-top: 0; }
.foerd-group__body { color: var(--color-text-muted); line-height: 1.65; margin: 0; }
.foerd-group__body strong { color: var(--color-text); }
.foerd-group--discovery { background: var(--color-accent-glow); border-left: 4px solid var(--color-accent); }
.foerd-group--partner { background: rgba(36,42,49,.6); border: 1px solid var(--color-border); border-left: 4px solid var(--color-accent-light); }
.foerd-partner-list { list-style: none; margin: 1.1rem 0 0; padding: 0; display: grid; gap: 0.9rem; }
.foerd-partner-list li { display: flex; flex-direction: column; gap: 0.25rem; padding-left: 1rem; border-left: 2px solid var(--color-border); }
.foerd-partner-list strong { color: var(--color-text); }
.foerd-partner-list .foerd-status-note { margin: 0; }

/* === LKI-Nav-Untermenü + Cross-Linking in die LKI-Seiten (USCRX-2026-4639) === */
.foerd .nav__group { display: flex; flex-direction: column; align-items: center; gap: 0.55rem; }
.foerd .nav__group-label { font-family: var(--font-heading); font-style: italic; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--color-text-muted); }
.foerd .nav__group-menu { display: flex; flex-direction: column; align-items: center; gap: 0.55rem; }
.foerd .nav__group a { font-size: 1.15rem; }
.foerd .nav__group a.is-current { color: var(--color-accent-light); border-bottom: 1px solid var(--color-accent); }
/* Förderung als eigenständiger Nav-Punkt (außerhalb des LKI-Submenüs) */
.foerd .nav__links > li > a.is-current { color: var(--color-accent-light); border-bottom: 1px solid var(--color-accent); }

@media (min-width: 1024px) {
  /* LKI-Submenü als Dropdown — analog zu den /lokale-ki*-Seiten (lokale-ki.css).
     Label = Trigger; die drei Zielgruppen-Links klappen auf, statt die Nav-Leiste zu stapeln. */
  .foerd .nav__group { position: relative; flex-direction: row; align-items: center; gap: 0; }
  .foerd .nav__group-label { display: inline-flex; align-items: center; gap: 0.35rem; font-style: normal; text-transform: none; letter-spacing: 0; font-size: 0.9rem; color: var(--color-text); }
  .foerd .nav__group-label::after { content: '\25BE'; font-size: 0.7em; color: var(--color-accent-light); transition: transform 0.25s var(--ease-out); }
  .foerd .nav__group:hover .nav__group-label,
  .foerd .nav__group:focus-within .nav__group-label { color: var(--color-accent-light); }
  .foerd .nav__group:hover .nav__group-label::after,
  .foerd .nav__group:focus-within .nav__group-label::after { transform: rotate(180deg); }
  .foerd .nav__group-menu {
    position: absolute; top: 100%; left: 0; margin-top: 0.6rem;
    min-width: 13rem; padding: 0.5rem; align-items: stretch; gap: 0.15rem;
    background: rgba(23,28,33,0.98); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px);
    border: 1px solid var(--color-border); border-radius: 12px; box-shadow: 0 20px 50px rgba(0,0,0,0.45);
    opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 0.2s var(--ease-out);
    z-index: 1001;
  }
  /* unsichtbare Brücke über den Spalt Label->Menü, sonst reißt der Hover beim Rübergehen ab */
  .foerd .nav__group-menu::before { content: ''; position: absolute; left: 0; right: 0; top: -0.6rem; height: 0.6rem; }
  .foerd .nav__group:hover .nav__group-menu,
  .foerd .nav__group:focus-within .nav__group-menu { opacity: 1; visibility: visible; pointer-events: auto; }
  .foerd .nav__group-menu a { font-size: 0.9rem; padding: 0.5rem 0.75rem; border-radius: 8px; white-space: nowrap; text-align: left; }
  .foerd .nav__group-menu a:hover { background: var(--color-accent-glow); color: var(--color-accent-light); }
}
.foerd-crosslink { max-width: 760px; margin: 2rem auto 0; padding: 1.4rem 1.6rem; background: var(--color-accent-glow); border: 1px solid var(--color-accent); border-radius: 14px; text-align: center; }
.foerd-crosslink__lead { margin: 0 0 0.9rem; color: var(--color-text); font-size: 0.97rem; }
.foerd-crosslink__links { display: flex; flex-wrap: wrap; gap: 0.6rem 1.2rem; justify-content: center; }
.foerd-crosslink__links a { color: var(--color-accent-light); font-weight: 600; border-bottom: 1px solid transparent; }
.foerd-crosslink__links a:hover { border-bottom-color: var(--color-accent-light); }
