/* anglerkompass – Website-Styles. Farben nur aus den Design-Tokens (packages/tokens). */
@font-face { font-family: "DM Sans"; font-style: normal; font-weight: 100 1000; font-display: swap;
  src: url("../fonts/dm-sans-latin-wght-normal.woff2") format("woff2-variations");
  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: "DM Sans"; font-style: normal; font-weight: 100 1000; font-display: swap;
  src: url("../fonts/dm-sans-latin-ext-wght-normal.woff2") format("woff2-variations");
  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; }

:root {
  --ak-brand-green: #004B23; --ak-brand-navy: #0D1C2C; --ak-navy-2: #1A2A3B; --ak-navy-3: #2C3D4F;
  --ak-green-light: #8CCB9F; --ak-green-soft: #E3EFE6; --ak-bg: #F3F4F1; --ak-surface: #E6E9E5;
  --ak-card: #FFFFFF; --ak-line: #D6DBDF; --ak-text: #0D1C2C; --ak-text-muted: #46525E;
  --ak-on-dark: #F3F4F1; --ak-on-dark-muted: #B8C2CC; --ak-success: #1F6B3A; --ak-success-soft: #DDEEE2;
  --ak-warning: #8A4B08; --ak-warning-soft: #F6E7CF; --ak-warning-strong: #B7791F; --ak-water: #A9CBD4;
  --ak-font: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ak-r-button: 14px; --ak-r-card: 16px; --ak-r-big: 24px;
  --ak-shadow-raised: 0 12px 32px rgba(13, 28, 44, 0.08);
  --ak-wrap: 1200px; --ak-gutter: clamp(16px, 4vw, 32px);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; font-family: var(--ak-font); font-size: 16px; line-height: 1.6; color: var(--ak-text); background: var(--ak-bg); -webkit-font-smoothing: antialiased; }
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: var(--ak-brand-green); text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--ak-brand-green); outline-offset: 3px; border-radius: 4px; }
.dunkel :focus-visible, .ak-dunkel :focus-visible { outline-color: var(--ak-green-light); }
h1, h2, h3, h4 { line-height: 1.12; letter-spacing: -0.02em; font-weight: 600; margin: 0 0 16px; }
h1 { font-size: clamp(40px, 6vw, 64px); }
h2 { font-size: clamp(30px, 4vw, 44px); }
h3 { font-size: clamp(20px, 2vw, 24px); letter-spacing: -0.01em; }
p { margin: 0 0 16px; }
.sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link { position: absolute; left: 16px; top: -60px; background: var(--ak-card); padding: 12px 16px; border-radius: 8px; z-index: 100; }
.skip-link:focus { top: 12px; }

.wrap { max-width: var(--ak-wrap); margin: 0 auto; padding: 0 var(--ak-gutter); }
.wrap-schmal { max-width: 820px; margin: 0 auto; padding: 0 var(--ak-gutter); }
.abschnitt { padding: clamp(56px, 8vw, 96px) 0; }
.eyebrow { font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ak-brand-green); margin: 0 0 16px; }
.dunkel .eyebrow, .ak-dunkel .eyebrow { color: var(--ak-green-light); }
.lead { font-size: clamp(18px, 1.6vw, 20px); color: var(--ak-text-muted); max-width: 720px; }
.dunkel { background: var(--ak-brand-navy); color: var(--ak-on-dark); }
.dunkel .lead, .dunkel p { color: var(--ak-on-dark); }
.dunkel .klein, .dunkel .hinweis { color: var(--ak-on-dark-muted); }
.klein { font-size: 14px; color: var(--ak-text-muted); }
.hinweis { font-size: 13px; color: var(--ak-text-muted); }

/* Kopfzeile */
.kopf { background: var(--ak-card); border-bottom: 1px solid var(--ak-line); position: sticky; top: 0; z-index: 50; }
.kopf .wrap { display: flex; align-items: center; gap: 24px; min-height: 76px; }
.kopf-logo { display: block; flex: 0 0 auto; }
.kopf-logo img { width: 206px; height: auto; }
.kopf-nav { margin-left: auto; }
.kopf-nav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; }
.kopf-nav a { display: flex; align-items: center; min-height: 48px; padding: 0 12px; color: var(--ak-text-muted); text-decoration: none; font-size: 15px; font-weight: 500; border-radius: 10px; }
.kopf-nav a:hover { color: var(--ak-text); background: var(--ak-bg); }
.kopf-nav .current-menu-item > a, .kopf-nav .current-page-ancestor > a, .kopf-nav .current-menu-parent > a { color: var(--ak-text); font-weight: 700; }
.kopf-cta { flex: 0 0 auto; }
.menue-knopf { display: none; margin-left: auto; min-width: 48px; min-height: 48px; border: 1px solid var(--ak-line); background: var(--ak-card); border-radius: 12px; cursor: pointer; }
.menue-knopf span, .menue-knopf span::before, .menue-knopf span::after { display: block; width: 20px; height: 2px; background: var(--ak-text); margin: 0 auto; position: relative; content: ""; }
.menue-knopf span::before { position: absolute; top: -6px; } .menue-knopf span::after { position: absolute; top: 6px; }
@media (max-width: 1080px) {
  .menue-knopf { display: block; }
  .kopf-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--ak-card); border-bottom: 1px solid var(--ak-line); padding: 8px var(--ak-gutter) 16px; margin: 0; }
  .kopf.offen .kopf-nav { display: block; }
  .kopf-nav ul { flex-direction: column; }
  .kopf-cta { display: none; }
  .kopf.offen .kopf-cta-mobil { display: flex; }
}
.kopf-cta-mobil { display: none; margin-top: 8px; }
@media (max-width: 480px) { .kopf-logo img { width: 170px; } }

/* Knöpfe */
.knopf { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 0 24px; border-radius: var(--ak-r-button); font: inherit; font-size: 16px; font-weight: 700; text-decoration: none; border: 1px solid transparent; cursor: pointer; transition: transform .05s ease, background-color .15s ease; }
.knopf:active { transform: translateY(1px); }
.knopf-primaer { background: var(--ak-brand-green); color: #fff; }
.knopf-primaer:hover { background: #003a1b; }
.knopf-hell { background: var(--ak-green-light); color: var(--ak-brand-navy); }
.knopf-hell:hover { background: #a3d8b3; }
.knopf-navy { background: var(--ak-brand-navy); color: var(--ak-on-dark); }
.knopf-navy:hover { background: var(--ak-navy-2); }
.knopf-sekundaer { background: var(--ak-card); color: var(--ak-text); border-color: var(--ak-line); font-weight: 600; }
.knopf-rand-hell { background: transparent; color: var(--ak-on-dark); border-color: var(--ak-on-dark-muted); font-weight: 600; }
.knopf-klein { min-height: 44px; padding: 0 18px; font-size: 15px; }
.knopf[disabled], .knopf[aria-disabled="true"] { opacity: .55; cursor: not-allowed; }
.textlink { font-weight: 700; text-decoration: none; }
.textlink:hover { text-decoration: underline; }

/* Karten */
.karte { background: var(--ak-card); border: 1px solid var(--ak-line); border-radius: var(--ak-r-card); padding: 24px; }
.raster { display: grid; gap: 20px; }
.raster-2 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); }
.raster-3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.raster-4 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.nummer { font-size: 36px; font-weight: 500; color: var(--ak-brand-green); line-height: 1; margin-bottom: 16px; font-variant-numeric: tabular-nums; }
.karte h3 { margin-bottom: 8px; }
.karte p:last-child { margin-bottom: 0; }
.karte-produkt { padding: 0; overflow: hidden; display: flex; flex-direction: column; text-decoration: none; color: inherit; }
.karte-produkt:hover { box-shadow: var(--ak-shadow-raised); }
.karte-produkt .bild { background: var(--ak-navy-2); aspect-ratio: 16/9; display: flex; align-items: flex-end; justify-content: space-between; padding: 14px; color: var(--ak-on-dark); font-size: 13px; position: relative; }
.karte-produkt .bild img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.karte-produkt .bild span { position: relative; }
.karte-produkt .inhalt { padding: 20px; display: flex; flex-direction: column; flex: 1; }
.karte-produkt .preis { margin-top: auto; padding-top: 16px; font-size: 20px; font-weight: 700; }
.karte-produkt.hervor { border: 2px solid var(--ak-brand-green); }
.pill { display: inline-block; font-size: 13px; font-weight: 700; padding: 4px 12px; border-radius: 12px; line-height: 1.4; }
.pill-erlaubt { color: var(--ak-success); background: var(--ak-success-soft); }
.pill-schonzeit { color: var(--ak-warning); background: var(--ak-warning-soft); }
.pill-gruen { color: #fff; background: var(--ak-brand-green); }
.pill-neutral { color: var(--ak-text-muted); background: var(--ak-surface); }

/* Hero */
.hero { padding: clamp(56px, 8vw, 104px) 0; overflow: hidden; }
.hero-raster { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr); gap: 48px; align-items: center; }
@media (max-width: 900px) { .hero-raster { grid-template-columns: 1fr; } }
.hero h1 { font-size: clamp(42px, 6.2vw, 72px); color: var(--ak-on-dark); }
.hero .lead { color: var(--ak-on-dark); }
.hero-telefon { justify-self: center; width: min(100%, 300px); }
.hero-telefon img { border-radius: 36px; box-shadow: 0 24px 60px rgba(0,0,0,.35); }
.store-knoepfe { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }

/* Formulare */
.ak-formular { max-width: 560px; }
.ak-formular label.feldname { display: block; font-size: 14px; font-weight: 700; margin-bottom: 8px; }
.ak-zeile { display: flex; gap: 10px; flex-wrap: wrap; }
.ak-zeile input[type=email], .ak-zeile input[type=text] { flex: 1 1 240px; }
.ak-formular input[type=email], .ak-formular input[type=text], .ak-formular input[type=password], .ak-formular select, .ak-formular textarea, .ak-eingabe {
  min-height: 52px; padding: 12px 16px; font: inherit; font-size: 16px; color: var(--ak-text); background: var(--ak-card); border: 1px solid var(--ak-line); border-radius: 12px; width: 100%; }
.ak-formular textarea { min-height: 120px; }
.dunkel .ak-formular input[type=email], .dunkel .ak-formular input[type=text], .ak-dunkel .ak-formular input[type=email] { background: var(--ak-navy-2); border-color: var(--ak-navy-3); color: var(--ak-on-dark); }
.dunkel .ak-formular ::placeholder, .ak-dunkel .ak-formular ::placeholder { color: var(--ak-on-dark-muted); }
.ak-check { display: flex; gap: 12px; align-items: flex-start; margin-top: 14px; font-size: 14px; line-height: 1.5; cursor: pointer; }
.ak-check input { width: 22px; height: 22px; margin: 1px 0 0; flex: 0 0 auto; accent-color: var(--ak-brand-green); }
.dunkel .ak-check input { accent-color: var(--ak-green-light); }
.ak-hp { position: absolute !important; left: -9999px !important; }
.ak-meldung { margin-top: 14px; padding: 12px 16px; border-radius: 12px; font-size: 15px; }
.ak-meldung[hidden] { display: none; }
.ak-meldung.ok { background: var(--ak-success-soft); color: var(--ak-success); }
.ak-meldung.fehler { background: var(--ak-warning-soft); color: var(--ak-warning); }

/* Lead-Box */
.lead-box { background: var(--ak-surface); border-radius: var(--ak-r-big); padding: clamp(24px, 4vw, 44px); display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 32px; align-items: center; }
.lead-box.dunkel { background: var(--ak-brand-navy); }
.lead-box h2, .lead-box h3 { font-size: clamp(22px, 2.4vw, 28px); margin-bottom: 8px; }
.lead-box.dunkel h2, .lead-box.dunkel h3 { font-size: clamp(26px, 3vw, 36px); }
@media (max-width: 820px) { .lead-box { grid-template-columns: 1fr; } }

/* Partner-Band */
.partner-band { background: var(--ak-brand-green); color: #fff; border-radius: var(--ak-r-big); padding: clamp(32px, 5vw, 56px); display: flex; gap: 32px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.partner-band h2 { color: #fff; }
.partner-band p { color: #fff; max-width: 680px; margin: 0; }

/* Kostenlos-Box (Wissen) */
.gratis-box { background: var(--ak-surface); border-radius: var(--ak-r-big); padding: clamp(20px, 3vw, 40px); }
.gratis-box > h2 { font-size: 22px; margin-bottom: 24px; }
.gratis-box .karte { border: 0; }

/* Produktseite */
.produkt-hero .wrap { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, 0.8fr); gap: 48px; align-items: start; }
@media (max-width: 900px) { .produkt-hero .wrap { grid-template-columns: 1fr; } }
.produkt-hero h1 { font-size: clamp(38px, 5vw, 56px); color: var(--ak-on-dark); }
.produkt-hero ul.vorteile { list-style: none; padding: 0; margin: 0; }
.produkt-hero ul.vorteile li { margin-bottom: 12px; color: var(--ak-on-dark); }
.kaufbox { background: var(--ak-card); color: var(--ak-text); border-radius: 20px; padding: 28px; box-shadow: var(--ak-shadow-raised); }
.kaufbox .preis-gross { font-size: 44px; font-weight: 700; letter-spacing: -0.02em; line-height: 1; }
.kaufbox .preis-gross small { font-size: 14px; font-weight: 400; color: var(--ak-text-muted); letter-spacing: 0; margin-left: 4px; }
.kaufbox .knopf { width: 100%; margin: 20px 0 16px; }
.kaufbox p { color: var(--ak-text-muted); font-size: 14px; }
.kaufbox .ak-check { color: var(--ak-text); }

/* FAQ */
.faq details { background: var(--ak-card); border: 1px solid var(--ak-line); border-radius: var(--ak-r-card); padding: 0 20px; margin-bottom: 12px; }
.faq summary { cursor: pointer; font-weight: 700; min-height: 56px; display: flex; align-items: center; gap: 10px; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::before { content: "▸"; transition: transform .15s; }
.faq details[open] summary::before { transform: rotate(90deg); }
.faq details > div { padding: 0 0 18px; color: var(--ak-text-muted); }

/* Inhalte (Gutenberg / Texte) */
.inhalt-text { font-size: 17px; }
.inhalt-text h2 { font-size: clamp(26px, 3vw, 34px); margin-top: 48px; }
.inhalt-text h3 { margin-top: 32px; }
.inhalt-text ul, .inhalt-text ol { padding-left: 1.3em; margin: 0 0 16px; }
.inhalt-text li { margin-bottom: 6px; }
.inhalt-text table { width: 100%; border-collapse: collapse; margin: 0 0 24px; font-size: 15px; background: var(--ak-card); border-radius: 12px; overflow: hidden; }
.inhalt-text th, .inhalt-text td, .ak-tabelle th, .ak-tabelle td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--ak-line); vertical-align: top; }
.inhalt-text th, .ak-tabelle th { font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--ak-text-muted); background: var(--ak-bg); }
.ak-tabelle { width: 100%; border-collapse: collapse; background: var(--ak-card); border: 1px solid var(--ak-line); border-radius: var(--ak-r-card); overflow: hidden; }
.tabelle-scroll { overflow-x: auto; }
.seitenkopf { padding: clamp(48px, 7vw, 88px) 0 clamp(24px, 4vw, 40px); }
.brotkrumen { font-size: 14px; color: var(--ak-text-muted); margin-bottom: 16px; }
.brotkrumen a { color: var(--ak-text-muted); }
.hinweis-box { background: var(--ak-warning-soft); color: var(--ak-warning); border-radius: 12px; padding: 14px 18px; font-size: 15px; }
.info-box { background: var(--ak-green-soft); color: var(--ak-text); border-radius: 12px; padding: 14px 18px; font-size: 15px; }

/* Fuß */
.fuss { background: var(--ak-brand-navy); color: var(--ak-on-dark-muted); padding: 48px 0 40px; margin-top: 0; font-size: 15px; }
.fuss .wrap { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; }
.fuss a { color: var(--ak-on-dark); text-decoration: none; }
.fuss a:hover { text-decoration: underline; }
.fuss ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 24px; }
.fuss .fuss-marke { display: flex; align-items: center; gap: 16px; }
.fuss .fuss-marke img { width: 170px; }
main { display: block; }
.abstand-oben { margin-top: 48px; }

/* Konto / Kurs */
.kurs-kopf { display: flex; justify-content: space-between; gap: 24px; align-items: end; flex-wrap: wrap; }
.fortschritt { height: 10px; background: var(--ak-surface); border-radius: 99px; overflow: hidden; }
.fortschritt > span { display: block; height: 100%; background: var(--ak-brand-green); border-radius: 99px; }
.modul-liste { list-style: none; margin: 0; padding: 0; }
.modul-liste li { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--ak-line); }
.modul-liste li:last-child { border-bottom: 0; }
.modul-liste a { font-weight: 600; text-decoration: none; color: var(--ak-text); }
.video-rahmen { aspect-ratio: 16/9; background: var(--ak-navy-2); border-radius: var(--ak-r-card); overflow: hidden; }
.video-rahmen iframe { width: 100%; height: 100%; border: 0; }

/* Fragen-Trainer */
.trainer { max-width: 760px; }
.trainer-frage { font-size: 20px; font-weight: 600; margin-bottom: 20px; }
.trainer-antworten { display: grid; gap: 10px; }
.trainer-antwort { text-align: left; min-height: 56px; padding: 14px 18px; font: inherit; font-size: 16px; background: var(--ak-card); border: 1px solid var(--ak-line); border-radius: 12px; cursor: pointer; color: var(--ak-text); display: flex; gap: 12px; align-items: flex-start; }
.trainer-antwort:hover { border-color: var(--ak-brand-green); }
.trainer-antwort .buchstabe { font-weight: 700; color: var(--ak-text-muted); }
.trainer-antwort.gewaehlt { border: 2px solid var(--ak-brand-green); background: var(--ak-green-soft); }
.trainer-antwort.richtig { border: 2px solid var(--ak-success); background: var(--ak-success-soft); }
.trainer-antwort.falsch { border: 2px solid var(--ak-warning); background: var(--ak-warning-soft); }
.trainer-erklaerung { margin-top: 16px; }
.trainer-leiste { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin: 20px 0; }
.trainer-uhr { font-variant-numeric: tabular-nums; font-weight: 700; }
.kpi { font-size: 36px; font-weight: 600; line-height: 1.1; }
.kpi-label { font-size: 14px; color: var(--ak-text-muted); }

@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }

/* App-Vorschau im Hero (Design 12) */
.telefon { margin: 0; justify-self: center; width: min(100%, 320px); }
.telefon-rahmen { background: #243446; border-radius: 40px; padding: 10px; box-shadow: 0 30px 70px rgba(0,0,0,.4); }
.telefon-schirm { background: var(--ak-bg); color: var(--ak-text); border-radius: 32px; padding: 20px 14px 0; font-size: 12px; line-height: 1.35; overflow: hidden; }
.t-klein { font-size: 10px; color: var(--ak-text-muted); margin: 0; }
.t-kopf { display: flex; justify-content: space-between; align-items: center; font-size: 18px; margin: 2px 0 8px; }
.t-glocke { width: 26px; height: 26px; border-radius: 50%; background: var(--ak-card); border: 1px solid var(--ak-line); }
.t-chip { display: inline-block; background: var(--ak-card); border: 1px solid var(--ak-line); border-radius: 99px; padding: 4px 10px; font-size: 10px; font-weight: 600; margin-bottom: 10px; }
.t-index { background: var(--ak-brand-navy); color: var(--ak-on-dark); border-radius: 14px; padding: 12px; }
.t-eyebrow { color: var(--ak-green-light); font-size: 8px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin: 0 0 4px; }
.t-wert { display: flex; align-items: baseline; gap: 4px; }
.t-zahl { font-size: 40px; font-weight: 600; line-height: 1; }
.t-von { font-size: 15px; }
.t-text { font-size: 10px; margin-left: 8px; color: var(--ak-on-dark-muted); } .t-text strong { color: var(--ak-on-dark); font-size: 13px; }
.t-grund { font-size: 10px; margin: 8px 0; color: var(--ak-on-dark); }
.t-balken { display: flex; align-items: flex-end; gap: 4px; height: 38px; }
.t-balken i { flex: 1; background: var(--ak-navy-3); border-radius: 3px; }
.t-balken i.an { background: var(--ak-green-light); }
.t-achse { display: flex; justify-content: space-between; font-size: 8px; color: var(--ak-on-dark-muted); margin: 6px 0 0; } .t-achse strong { color: var(--ak-on-dark); }
.t-kacheln { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; margin: 8px 0; }
.t-kacheln div { background: var(--ak-card); border: 1px solid var(--ak-line); border-radius: 10px; padding: 7px 5px; font-size: 10px; }
.t-kacheln span { display: block; color: var(--ak-text-muted); font-size: 8px; }
.t-regeln { background: var(--ak-card); border: 1px solid var(--ak-line); border-radius: 12px; padding: 8px 10px; }
.t-regeln p { display: flex; justify-content: space-between; align-items: center; margin: 3px 0; font-size: 10px; }
.t-regeln .pill { font-size: 8px; padding: 1px 7px; }
.t-tabs { display: flex; justify-content: space-around; align-items: center; background: var(--ak-card); margin: 10px -14px 0; padding: 8px 4px 12px; border-top: 1px solid var(--ak-line); font-size: 8px; color: var(--ak-text-muted); }
.t-tabs b { width: 34px; height: 34px; border-radius: 50%; background: var(--ak-brand-green); color: #fff; display: grid; place-items: center; font-size: 20px; margin-top: -16px; }
.durchgestrichen { text-decoration: line-through; color: var(--ak-text-muted); font-size: 18px; font-weight: 500; margin-left: 8px; }
.dunkel a:not(.knopf), .ak-dunkel a:not(.knopf) { color: var(--ak-green-light); }
.dunkel .telefon-schirm p, .dunkel .telefon-schirm { color: var(--ak-text); }
.dunkel .telefon-schirm .t-klein { color: var(--ak-text-muted); }
.dunkel .telefon-schirm .t-index p { color: var(--ak-on-dark); }
.dunkel .telefon-schirm .t-index .t-eyebrow { color: var(--ak-green-light); }
.dunkel .telefon-schirm .t-index .t-achse { color: var(--ak-on-dark-muted); }
.kopf-nav .kopf-cta-mobil { display: none; }
@media (max-width: 1080px) { .kopf.offen .kopf-nav .kopf-cta-mobil { display: flex; width: 100%; } }
/* Kaufbox liegt im dunklen Hero, ist selbst aber hell */
.dunkel .kaufbox, .dunkel .kaufbox .preis-gross { color: var(--ak-text); }
.dunkel .kaufbox p, .dunkel .kaufbox .hinweis { color: var(--ak-text-muted); }
.dunkel .kaufbox .ak-check, .dunkel .kaufbox label.feldname { color: var(--ak-text); }
.dunkel .kaufbox a:not(.knopf) { color: var(--ak-brand-green); }
.dunkel .kaufbox .ak-formular input[type=email] { background: var(--ak-card); border-color: var(--ak-line); color: var(--ak-text); }
.dunkel .kaufbox .ak-formular ::placeholder { color: var(--ak-text-muted); }
.dunkel .kaufbox .ak-check input { accent-color: var(--ak-brand-green); }
.dunkel .kaufbox .ak-meldung.ok { color: var(--ak-success); } .dunkel .kaufbox .ak-meldung.fehler { color: var(--ak-warning); }
.karte details > summary { list-style: none; } .karte details > summary::-webkit-details-marker { display: none; }
@media (max-width: 1080px) { .kopf .kopf-cta { display: none; } }

/* Fotos */
.foto { margin: 0 0 32px; border-radius: var(--ak-r-card); overflow: hidden; background: var(--ak-navy-2); }
.foto img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.foto-art { aspect-ratio: 4 / 3; max-width: 820px; }
.foto-seite { aspect-ratio: 21 / 9; }
.foto figcaption, .foto-hinweis { font-size: 13px; color: var(--ak-text-muted); margin-top: 8px; }
.faenge { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 32px; }
.faenge a { position: relative; display: block; border-radius: var(--ak-r-card); overflow: hidden; aspect-ratio: 3 / 4; background: var(--ak-navy-2); color: #fff; text-decoration: none; }
.faenge img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; transition: transform .3s ease; }
.faenge a:hover img { transform: scale(1.03); }
.faenge span { position: absolute; left: 0; right: 0; bottom: 0; padding: 40px 16px 14px; background: linear-gradient(transparent, rgba(13,28,44,.85)); font-weight: 700; font-size: 18px; }
@media (max-width: 820px) { .faenge { grid-template-columns: repeat(2, 1fr); } }
.karte-art { padding: 0; overflow: hidden; }
.karte-art .bild { aspect-ratio: 4 / 3; background: var(--ak-navy-2); }
.karte-art .bild img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; }
.karte-art .inhalt { padding: 16px 18px; }
.karte-art .bild.platzhalter { display: grid; place-items: center; }
.karte-produkt .bild::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 45%, rgba(13, 28, 44, .75)); }
.karte-produkt .bild > span, .karte-produkt .bild > .pill { position: relative; z-index: 1; }

/* Fußbereich v2: weißes Logo, drei Spalten, Abschlusszeile */
.fuss { padding: 64px 0 0; }
.fuss .wrap.fuss-raster { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.fuss .fuss-marke { display: block; }
.fuss .fuss-marke img { width: 210px; height: auto; }
.fuss .fuss-marke p { margin: 18px 0 0; color: var(--ak-on-dark-muted); font-size: 15px; line-height: 1.6; }
.fuss-titel { margin: 0 0 14px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ak-green-light); }
.fuss .fuss-spalte ul { display: block; list-style: none; margin: 0; padding: 0; }
.fuss .fuss-spalte li { margin: 0 0 10px; }
.fuss .fuss-spalte a { color: var(--ak-on-dark); font-size: 15px; }
.fuss .wrap.fuss-leiste { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 48px; padding-top: 20px; padding-bottom: 28px; border-top: 1px solid var(--ak-navy-3); font-size: 13px; color: var(--ak-on-dark-muted); }
@media (max-width: 820px) {
  .fuss .wrap.fuss-raster { grid-template-columns: 1fr 1fr; }
  .fuss .fuss-marke { grid-column: 1 / -1; }
}
body { display: flex; flex-direction: column; min-height: 100vh; }
main { flex: 1 0 auto; }
/* Optischer Ausgleich: Die Kompassnadel vergrößert den Logo-Rahmen nach oben, die Masse von Ring und K liegt tiefer. */
.kopf-logo img { transform: translateY(-2px); }

.fakten { display: grid; grid-template-columns: auto 1fr; gap: 6px 14px; margin: 0 0 14px; font-size: 15px; }
.fakten dt { color: var(--ak-text-muted); }
.fakten dd { margin: 0; font-weight: 600; }

/* ---------- Inhaltsseiten (Content-Strategie, Abschnitt 4) ---------- */
.wrap-inhalt { max-width: 860px; margin: 0 auto; padding: 0 var(--ak-gutter); }
.brotkrumen a { text-decoration: none; } .brotkrumen a:hover { text-decoration: underline; }
.autorzeile { font-size: 14px; color: var(--ak-text-muted); margin: 12px 0 0; }
.inhaltsseite { padding-bottom: 96px; }
.kurzantwort { background: var(--ak-card); border: 1px solid var(--ak-line); border-left: 4px solid var(--ak-brand-green); border-radius: 12px; padding: 18px 22px; margin: 0 0 24px; font-size: 18px; }
.kurzantwort .eyebrow { margin-bottom: 6px; } .kurzantwort p:last-child { margin: 0; }
.kennzahlen { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin: 0 0 32px; }
.kennzahl { background: var(--ak-card); border: 1px solid var(--ak-line); border-radius: 12px; padding: 16px; display: flex; flex-direction: column; gap: 4px; }
.kennzahl-wert { font-size: 26px; font-weight: 700; color: var(--ak-brand-green); line-height: 1.15; font-variant-numeric: tabular-nums; }
.kennzahl-label { font-size: 14px; color: var(--ak-text-muted); }
.funnel-box { background: var(--ak-surface); border-radius: var(--ak-r-big); padding: clamp(22px, 4vw, 36px); margin: 48px 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: center; }
.funnel-box h2 { font-size: clamp(22px, 2.4vw, 28px); margin: 0 0 8px; } .funnel-box p { margin: 0 0 8px; }
.funnel-box:not(:has(form)) { grid-template-columns: 1fr; }
@media (max-width: 720px) { .funnel-box { grid-template-columns: 1fr; } }
.funnel-erinnerung { margin: 40px 0 0; padding: 14px 18px; border: 1px dashed var(--ak-line); border-radius: 12px; font-size: 15px; }
.faq details > p { margin: 0 0 18px; color: var(--ak-text-muted); }
.verwandt { margin-top: 56px; } .verwandt h2 { font-size: 22px; }
.verwandt ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px; }
.verwandt a { display: block; padding: 14px 16px; background: var(--ak-card); border: 1px solid var(--ak-line); border-radius: 12px; text-decoration: none; font-weight: 600; min-height: 48px; }
.verwandt a:hover { border-color: var(--ak-brand-green); }
.quellen-box { margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--ak-line); }
.quellen-box h2 { font-size: 18px; } .quellen-box ul { padding-left: 1.2em; font-size: 15px; } .quellen-box li { margin-bottom: 4px; }
.inhalt-text td.zahl, .ak-tabelle .zahl { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }

/* ---------- Grafik-Bibliothek ---------- */
.vis { margin: 32px 0; padding: 20px; background: var(--ak-card); border: 1px solid var(--ak-line); border-radius: var(--ak-r-card); }
.vis-titel { font-size: 18px; font-weight: 700; margin: 0 0 16px; color: var(--ak-text); }
.vis-quelle, .vis-legende { font-size: 13px; color: var(--ak-text-muted); margin: 12px 0 0; }
.ablauf { list-style: none; margin: 0; padding: 0; counter-reset: none; }
.ablauf li { display: grid; grid-template-columns: 40px 1fr; gap: 14px; position: relative; padding-bottom: 18px; }
.ablauf li:not(:last-child)::before { content: ""; position: absolute; left: 19px; top: 40px; bottom: 0; width: 2px; background: var(--ak-green-soft); }
.ablauf-nr { width: 40px; height: 40px; border-radius: 50%; background: var(--ak-brand-green); color: #fff; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.ablauf strong { display: inline-block; padding-top: 8px; } .ablauf p { margin: 4px 0 0; color: var(--ak-text-muted); font-size: 15px; }
.ablauf-dauer { font-size: 13px; color: var(--ak-brand-green); font-weight: 700; margin-left: 6px; }
.balken-zeile { display: grid; grid-template-columns: minmax(90px, 30%) 1fr auto; gap: 10px; align-items: center; margin-bottom: 10px; font-size: 15px; }
.balken-spur { background: var(--ak-bg); border-radius: 6px; height: 18px; overflow: hidden; }
.balken { display: block; height: 100%; background: var(--ak-brand-green); border-radius: 6px; }
.balken-wert { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.jahreskalender { border-collapse: separate; border-spacing: 3px; width: 100%; font-size: 13px; min-width: 560px; }
.jahreskalender th { font-weight: 600; color: var(--ak-text-muted); text-align: center; padding: 2px; }
.jahreskalender th[scope="row"] { text-align: left; white-space: nowrap; padding-right: 8px; color: var(--ak-text); }
.jahreskalender td { height: 32px; text-align: center; border-radius: 6px; font-weight: 700; }
.kal-frei { background: var(--ak-success-soft); }
.kal-voll, .vis-legende .kal-voll { background: var(--ak-warning-soft); color: var(--ak-warning); }
.kal-teil, .vis-legende .kal-teil { background: repeating-linear-gradient(135deg, var(--ak-warning-soft) 0 6px, var(--ak-success-soft) 6px 12px); color: var(--ak-warning); }
.jahreskalender td.kal-text { background: none; text-align: left; font-weight: 500; white-space: nowrap; padding-left: 8px; }
.vis-legende span[class^="kal-"] { display: inline-block; min-width: 22px; text-align: center; border-radius: 4px; font-weight: 700; }
.laenderkarte { width: 100%; max-width: 520px; display: block; margin: 0 auto; font-family: var(--ak-font); }
.laenderkarte rect { stroke: #fff; stroke-width: 2; }
.laenderkarte .lk-mit rect { fill: var(--ak-green-soft); } .laenderkarte .lk-ohne rect { fill: var(--ak-surface); }
.laenderkarte a:hover rect, .laenderkarte a:focus rect { fill: var(--ak-success-soft); stroke: var(--ak-brand-green); }
.laenderkarte .lk-kz { font-size: 15px; font-weight: 700; fill: var(--ak-text); }
.laenderkarte .lk-wert { font-size: 13px; fill: var(--ak-brand-green); font-weight: 700; }
.laenderkarte .lk-ohne .lk-wert { fill: var(--ak-text-muted); }
.lk-leg-mit, .lk-leg-ohne { display: inline-block; width: 14px; height: 14px; border-radius: 3px; vertical-align: -2px; }
.lk-leg-mit { background: var(--ak-green-soft); } .lk-leg-ohne { background: var(--ak-surface); }

/* ---------- Tools ---------- */
.tool { margin: 24px 0; }
.tool-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; align-items: end; background: var(--ak-card); border: 1px solid var(--ak-line); border-radius: var(--ak-r-card); padding: 18px; }
.tool-form label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 600; }
.tool-form select, .tool-form input { min-height: 48px; font: inherit; font-size: 16px; padding: 0 12px; border: 1px solid var(--ak-line); border-radius: 10px; background: #fff; color: var(--ak-text); }
.tool-ergebnis { margin-top: 16px; background: var(--ak-card); border: 1px solid var(--ak-line); border-radius: var(--ak-r-card); padding: 20px; }
.tool-ergebnis.ist-schonzeit { border-left: 5px solid var(--ak-warning); } .tool-ergebnis.ist-erlaubt { border-left: 5px solid var(--ak-success); }
.tool-status .pill { font-size: 18px; padding: 6px 16px; }
.tool-cta { margin-top: 16px; background: var(--ak-surface); border-radius: var(--ak-r-card); padding: 20px; }
.probe-liste { padding-left: 1.4em; } .probe-frage { margin-bottom: 24px; }
.probe-frage fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: 8px; }
.probe-frage legend { font-weight: 700; margin-bottom: 8px; } .probe-frage legend .eyebrow { font-size: 11px; margin: 0; }
.probe-frage .trainer-antwort { cursor: pointer; }
.probe-frage .ist-richtig { border: 2px solid var(--ak-success); background: var(--ak-success-soft); }
.probe-frage .ist-falsch { border: 2px solid var(--ak-warning); background: var(--ak-warning-soft); }
.probe-status { font-weight: 700; margin: 4px 0 0; } .probe-status.ok { color: var(--ak-success); } .probe-status.falsch { color: var(--ak-warning); }
.probe-ergebnis { margin-top: 16px; background: var(--ak-green-soft); border-radius: var(--ak-r-card); padding: 20px; }
.probe-summe { font-size: 28px; font-weight: 700; margin: 0 0 8px; }
.ak-tabelle.vergleich th[scope="row"] { font-size: 15px; text-transform: none; letter-spacing: 0; color: var(--ak-text); background: var(--ak-card); white-space: nowrap; }
.ak-tabelle.vergleich td { font-size: 14px; min-width: 140px; }
.vis-tabelle { padding: 12px; }
.knoten-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.knoten-karte { border: 1px solid var(--ak-line); border-radius: 12px; padding: 14px 16px; }
.knoten-karte h3 { font-size: 18px; margin: 0 0 6px; } .knoten-karte p { margin: 0 0 6px; }
.schritte { counter-reset: schritt; list-style: none; padding: 0; margin: 0 0 24px; }
.schritte li { counter-increment: schritt; position: relative; padding: 0 0 16px 52px; min-height: 40px; }
.schritte li::before { content: counter(schritt); position: absolute; left: 0; top: 0; width: 36px; height: 36px; border-radius: 50%; background: var(--ak-brand-green); color: #fff; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.unterseiten .karte { text-decoration: none; color: inherit; } .unterseiten .karte:hover { border-color: var(--ak-brand-green); } .unterseiten h3 { font-size: 19px; margin: 0 0 6px; }
.montage { width: 100%; max-width: 420px; display: block; margin: 0 auto; font-family: var(--ak-font); }
.montage .mt-text { font-size: 13px; fill: var(--ak-text); }

/* ---------- Zielfisch-Hub: Steckbrief, Aktivität, Querschnitt, Beißindex ---------- */
.hub-oben { display: grid; grid-template-columns: minmax(0, 1fr) 340px; grid-template-areas: "kurz sb" "bi sb"; grid-template-rows: auto 1fr; column-gap: 24px; align-items: start; margin: 8px 0 40px; }
.hub-oben .kurzantwort { grid-area: kurz; } .hub-oben .steckbrief { grid-area: sb; } .hub-oben .beissindex { grid-area: bi; margin: 0; }
@media (max-width: 900px) { .hub-oben { grid-template-columns: 1fr; grid-template-areas: "kurz" "sb" "bi"; row-gap: 24px; } .hub-oben .kurzantwort { margin: 0; } }
.hub-text, .hub-schluss { max-width: 820px; }
.steckbrief { background: var(--ak-card); border: 1px solid var(--ak-line); border-radius: var(--ak-r-card); padding: 20px; }
.steckbrief .eyebrow { margin: 0 0 4px; }
.steckbrief-name { font-size: 24px; font-weight: 700; margin: 0; color: var(--ak-brand-green); }
.steckbrief-latein { margin: 0 0 12px; color: var(--ak-text-muted); font-size: 14px; }
.steckbrief dl { margin: 0; display: grid; gap: 0; }
.steckbrief dl > div { display: grid; grid-template-columns: 92px 1fr; gap: 10px; padding: 8px 0; border-top: 1px solid var(--ak-line); font-size: 14px; }
.steckbrief dt { font-weight: 700; color: var(--ak-text-muted); }
.steckbrief dd { margin: 0; }
.aktivitaet td.akt-0 { background: var(--ak-surface); }
.aktivitaet td.akt-1 { background: var(--ak-green-soft); color: var(--ak-brand-green); }
.aktivitaet td.akt-2 { background: var(--ak-green-light); color: var(--ak-brand-green); }
.aktivitaet td.akt-3 { background: var(--ak-brand-green); color: #fff; }
.aktivitaet td { font-size: 9px; letter-spacing: -1px; }
.aktivitaet td.laich-ja, .vis-legende .laich-ja { background: var(--ak-water); color: var(--ak-brand-navy); font-size: 13px; letter-spacing: 0; }
.aktivitaet td.laich-nein { background: var(--ak-bg); }
.aktivitaet td[class^="kal-"] { font-size: 13px; letter-spacing: 0; }
.vis-legende .laich-ja { display: inline-block; min-width: 22px; text-align: center; border-radius: 4px; font-weight: 700; }
.querschnitt { width: 100%; display: block; font-family: var(--ak-font); border-radius: 10px; }
.qs-luft { fill: #F7F8F6; } .qs-land { fill: #D9D2BF; } .qs-wasser { fill: var(--ak-water); } .qs-boden { fill: #B9A98A; }
.qs-fluss .qs-land { fill: #CFD8C4; }
.qs-rinne { fill: none; stroke: #7FA9B5; stroke-width: 46; stroke-linecap: round; opacity: .55; }
.qs-buhne { fill: #9A8F7A; } .qs-steine { fill: #9A8F7A; } .qs-stein { fill: #8C826E; }
.qs-strom, .qs-pfeil { fill: none; stroke: var(--ak-navy-3); stroke-width: 2; stroke-dasharray: 5 4; }
.qs-pfeil { stroke-dasharray: none; }
.qs-baum { fill: #7FA387; }
.qs-schilf { stroke: #6E8B4E; stroke-width: 3; stroke-linecap: round; }
.qs-pflanze { fill: none; stroke: #4F7A45; stroke-width: 3; stroke-linecap: round; }
.qs-holz { stroke: #6B4F32; stroke-width: 6; stroke-linecap: round; }
.qs-hinweis { font-size: 12px; fill: var(--ak-text-muted); }
.qs-marker circle { fill: var(--ak-brand-green); stroke: #fff; stroke-width: 2.5; }
.qs-marker text { fill: #fff; font-size: 14px; font-weight: 700; }
.qs-legende { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 6px; font-size: 15px; }
.qs-legende li { display: flex; gap: 10px; align-items: baseline; }
.qs-nr { flex: 0 0 24px; height: 24px; border-radius: 50%; background: var(--ak-brand-green); color: #fff; font-weight: 700; font-size: 13px; display: inline-flex; align-items: center; justify-content: center; }
.beissindex { background: var(--ak-brand-navy); color: var(--ak-on-dark); border-radius: var(--ak-r-card); padding: 20px; margin: 0 0 24px; }
.beissindex .eyebrow { color: var(--ak-green-light); margin: 0; }
.beissindex .vis-quelle { color: var(--ak-on-dark-muted); } .beissindex .vis-quelle a, .beissindex a { color: var(--ak-green-light); }
.beissindex .klein { color: var(--ak-on-dark-muted); }
.beissindex .bi-titel { font-size: 20px; line-height: 1.3; margin: 2px 0 12px; color: #fff; }
.bi-kopf { display: flex; flex-wrap: wrap; gap: 12px 24px; justify-content: space-between; align-items: flex-end; }
.bi-form { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.bi-form label { display: flex; flex-direction: column; font-size: 13px; color: var(--ak-on-dark-muted); gap: 4px; }
.bi-form select { min-height: 44px; border-radius: 10px; border: 1px solid var(--ak-navy-3); background: var(--ak-navy-2); color: #fff; padding: 0 10px; font: inherit; max-width: 240px; }
.bi-form .knopf { min-height: 44px; }
.bi-ergebnis { margin-top: 16px; min-height: 120px; }
.bi-haupt { display: flex; gap: 16px; align-items: center; }
.bi-wert { flex: 0 0 auto; width: 84px; height: 84px; border-radius: 50%; display: flex; align-items: baseline; justify-content: center; padding-top: 22px; box-sizing: border-box; background: var(--ak-navy-2); border: 4px solid; }
.bi-zahl { font-size: 32px; font-weight: 700; line-height: 1; } .bi-von { font-size: 13px; color: var(--ak-on-dark-muted); }
.bi-wert.bi-s1 { border-color: #C9D1D8; } .bi-wert.bi-s2 { border-color: var(--ak-warning-strong); } .bi-wert.bi-s3 { border-color: var(--ak-green-light); } .bi-wert.bi-s4 { border-color: #5FD08A; }
.bi-label { font-weight: 700; margin: 0; } .bi-satz { margin: 2px 0 6px; }
.bi-stunden { display: flex; gap: 2px; align-items: flex-end; height: 64px; margin: 18px 0 22px; }
.bi-balken { flex: 1; border-radius: 3px 3px 0 0; position: relative; min-height: 4px; }
.bi-balken i { position: absolute; top: 100%; left: 0; font-style: normal; font-size: 11px; color: var(--ak-on-dark-muted); margin-top: 3px; }
.bi-s1 { background: #6B7885; } .bi-s2 { background: var(--ak-warning-strong); } .bi-s3 { background: var(--ak-green-light); } .bi-s4 { background: #5FD08A; }
.bi-wert.bi-s1, .bi-wert.bi-s2, .bi-wert.bi-s3, .bi-wert.bi-s4 { background: var(--ak-navy-2); }
.bi-tage { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: 14px; }
.bi-tage li { display: grid; grid-template-columns: 76px 1fr 104px; gap: 10px; align-items: center; }
.bi-spur { height: 10px; background: var(--ak-navy-2); border-radius: 5px; overflow: hidden; } .bi-spur span { display: block; height: 100%; border-radius: 5px; }
.bi-tagwert { color: var(--ak-on-dark-muted); font-variant-numeric: tabular-nums; }

/* ---------- Methoden: Führungs-Animation, Geräte-Tabelle ---------- */
.fuehrung { width: 100%; display: block; font-family: var(--ak-font); border-radius: 10px; }
.fu-pfad { fill: none; stroke: var(--ak-brand-navy); stroke-width: 2; stroke-dasharray: 6 5; opacity: .55; }
.fu-leer { fill: none; stroke: none; }
.fu-koeder ellipse, .fu-koeder-statisch { fill: var(--ak-warning-strong); stroke: var(--ak-brand-navy); stroke-width: 1.5; }
.fu-schnur { stroke: var(--ak-brand-navy); stroke-width: 1.5; } .fu-duenn { stroke-width: 1; }
.fu-blei { fill: #6B7885; stroke: var(--ak-brand-navy); stroke-width: 1.2; }
.fu-stein { fill: #8C826E; } .fu-holz { stroke: #6B4F32; stroke-width: 8; stroke-linecap: round; }
.fu-boot { fill: var(--ak-navy-3); }
.fu-wolke { fill: #C9A66B; }
.fu-mass { stroke: var(--ak-text-muted); stroke-width: 1; stroke-dasharray: 3 3; }
.fu-text { font-size: 12px; fill: var(--ak-text-muted); }
@media (prefers-reduced-motion: reduce) { .fu-koeder, .fu-drift animateTransform { display: none; } }
.geraet-tabelle th[scope="row"] { white-space: nowrap; }

/* ---------- Gewässerkarte ---------- */
.karte-raster { display: grid; grid-template-columns: minmax(0, 360px) 1fr; gap: 24px; align-items: start; }
@media (max-width: 760px) { .karte-raster { grid-template-columns: 1fr; } }
.gewaesserkarte { width: 100%; display: block; font-family: var(--ak-font); }
.karte-land { fill: var(--ak-green-soft); stroke: var(--ak-green-light); stroke-width: 2; stroke-linejoin: round; }
.karte-punkt { fill: var(--ak-brand-green); stroke: #fff; stroke-width: 1.5; }
a:hover .karte-punkt, a:focus .karte-punkt { fill: var(--ak-warning-strong); }
.karte-liste { margin: 0; padding-left: 22px; display: grid; gap: 8px; max-height: 420px; overflow: auto; }
.karte-liste li a { font-weight: 700; margin-right: 8px; }
.karte-liste .klein { margin-right: 8px; }
.karte-filter select { min-height: 44px; border-radius: 10px; border: 1px solid var(--ak-line); padding: 0 10px; font: inherit; margin-left: 6px; }
.konfig-treffer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; border-top: 1px solid var(--ak-line); padding-top: 12px; margin-top: 12px; }
.konfig-treffer .vis { margin: 0; }
@media (max-width: 760px) { .konfig-treffer { grid-template-columns: 1fr; } }
.konfig-material { margin: 0 0 8px; padding-left: 20px; }
.koeder-treffer { list-style: none; padding: 0; margin: 12px 0; } .koeder-treffer .karte h3 { margin: 4px 0 8px; }
