/* Premiumpresse: UIkit plus wenige eigene Bausteine. Moderne, klare Nachrichtenoptik ohne Effekte. */
@font-face { font-family: "Source Sans 3"; font-weight: 400; font-style: normal; font-display: swap; src: url("../fonts/source-sans-3-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-weight: 600; font-style: normal; font-display: swap; src: url("../fonts/source-sans-3-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Source Serif 4"; font-weight: 600; font-style: normal; font-display: swap; src: url("../fonts/source-serif-4-latin-600-normal.woff2") format("woff2"); }

/* Farbrollen, gegen ihre Flächen gerechnet (alle mindestens 4,5:1):
   marine = Überschriften, Fuß; blau = Menüleiste, Marke, Balken, Links beim Überfahren, Schaltflächen;
   koralle = NUR Rubriknamen, Achtung-Hinweise, Minuswerte; gelb = NUR Hervorhebung auf Blau und Marine;
   eis und warm = helle Flächen */
:root { --tinte: #0f2a5c; --blau: #1650c7; --signal: #bb3a14; --gelb: #ffc94d; --text: #2b3648; --grau: #566378; --linie: #d8e1ef; --flaeche: #e9f0fd; --warm: #fff0e6; --papier: #fff; --fuss-text: #dbe5f7; --radius: 6px; }

html { font-family: "Source Sans 3", Arial, sans-serif; font-size: 18px; color: var(--text); background: var(--papier); }
body { color: var(--text); }
h1, h2, h3, h4, .uk-h1, .uk-h2, .uk-h3 { font-family: "Source Sans 3", Arial, sans-serif; color: var(--tinte); font-weight: 600; text-wrap: balance; letter-spacing: -.012em; }
p, li { text-wrap: pretty; }
h1, h2, h3, h4, .titel-gross, .titel-mittel, .titel-klein { overflow-wrap: break-word; }
a { color: inherit; }
a:hover { color: var(--blau); text-decoration: none; }
[id] { scroll-margin-top: 76px; }

.sprung { position: absolute; left: -9999px; }
.sprung:focus { left: 8px; top: 8px; z-index: 2000; background: var(--papier); padding: 8px 12px; }
.testhinweis { margin: 0; padding: 5px 16px; background: var(--tinte); color: var(--fuss-text); font-size: .76rem; text-align: center; }

/* Kopf */
.kopf-oben { display: flex; align-items: center; gap: 24px; padding-top: 18px; padding-bottom: 14px; }
.wortmarke { font-size: clamp(1.75rem, 3vw, 2.25rem); line-height: 1; color: var(--tinte); letter-spacing: -.03em; font-weight: 400; }
.wortmarke span { font-weight: 600; color: var(--blau); }
.wortmarke:hover { color: var(--tinte); }
.unterzeile { margin: 3px 0 0; padding-left: 24px; border-left: 1px solid var(--linie); color: var(--grau); font-size: .86rem; }
.kopf-suche { margin-left: auto; }
.kopf-suche .uk-input { width: 200px; height: 36px; border: 0; border-radius: var(--radius); background: var(--flaeche); color: var(--tinte); font-size: .88rem; }
.navleiste { position: sticky; top: 0; z-index: 900; background: var(--blau); }
.hauptnav .uk-navbar-nav { gap: 2px; }
.hauptnav .uk-navbar-nav > li > a { min-height: 46px; padding: 0 9px; font-family: inherit; font-size: .86rem; font-weight: 600; color: #fff; text-transform: none; }
.hauptnav .uk-navbar-nav > li:first-child > a { padding-left: 0; }
.hauptnav .uk-navbar-nav > li > a:hover, .hauptnav .uk-navbar-nav > li.uk-open > a { color: var(--gelb); }
.pfeil { display: inline-block; margin-left: 4px; width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid currentColor; }
.menue-knopf { min-height: 46px; padding-left: 0; font-weight: 600; color: #fff; }
.menue-knopf:hover { color: var(--gelb); }
.kopf-drop:not(.uk-drop) { display: none; }
.kopf-drop { box-shadow: 0 8px 22px rgba(15, 42, 92, .18); border-radius: 0 0 var(--radius) var(--radius); padding: 18px 22px; }
.kopf-drop a { color: var(--tinte) !important; font-size: .88rem; }
.kopf-drop a:hover { color: var(--blau) !important; }
.kopf-alle { margin: 0 0 10px; padding-bottom: 8px; border-bottom: 1px solid var(--linie); font-weight: 600; }
.menue-leiste { background: var(--tinte); }
.menue-leiste a { color: var(--fuss-text) !important; }
.menue-titel { margin: 22px 0 6px; color: var(--gelb); font-weight: 600; }
.menue-titel a { color: var(--gelb) !important; }
.menue-zu { width: auto; height: auto; background: none; border: 0; color: var(--fuss-text); font: inherit; cursor: pointer; }

/* Abschnitte */
.abschnitt { margin-top: 28px; margin-bottom: 44px; }
.abschnitt:has(+ .band) { margin-bottom: 0; }
.band { margin-top: 40px; padding: 32px 0 36px; background: var(--flaeche); }
.bandkopf { margin: 0 0 18px; font-size: 1.4rem; }
.band-liste { list-style: none; margin-bottom: 0; }
.band-liste .meta { color: var(--grau); }
.bereich { margin: 44px 0 0; padding-bottom: 10px; border-bottom: 3px solid var(--blau); font-size: 1.75rem; color: var(--tinte); }
.bereich + .abschnitt, .bereich + .uk-grid { margin-top: 24px; }
.rubrikkopf { margin: 0 0 12px; font-size: .92rem; font-weight: 600; color: var(--signal); letter-spacing: 0; }
.rubrikkopf a { color: inherit; }

/* Bilder und Überschriften */
.bild { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; background: #e9ebed; border-radius: var(--radius); }
.aufmacher .bild { aspect-ratio: 16 / 9; }
.titel-gross, .titel-mittel, .titel-klein { font-family: inherit; color: var(--tinte); font-weight: 600; letter-spacing: -.012em; }
.titel-gross { margin: 16px 0 8px; font-size: clamp(1.6rem, 3.4vw, 2.6rem); line-height: 1.1; letter-spacing: -.02em; }
.titel-mittel { margin: 10px 0 4px; font-size: 1.14rem; line-height: 1.22; }
.teaser-quer .titel-mittel { margin-top: 0; }
.titel-klein { display: block; font-size: 1.02rem; line-height: 1.25; }
.anriss { margin: 0 0 6px; }
.meta { margin: 5px 0 0; color: var(--grau); font-size: .8rem; }
.meta a { color: var(--signal); font-weight: 600; }
.meta a.ki-hinweis { color: inherit; font-weight: 400; text-decoration: underline; }
.meldungen { list-style: none; margin: 0; padding: 0; }
.meldungen li { padding: 11px 0; border-top: 1px solid var(--linie); }
.meldungen li:first-child { border-top: 0; padding-top: 0; }
.rubrikblock .meldungen { margin-top: 12px; }
.rubrikblock .meldungen li:first-child { border-top: 1px solid var(--linie); padding-top: 11px; }
.rubrikblock .titel-klein { font-size: .96rem; }
.zeile { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--linie); }
.zeile .titel-mittel { margin-top: 0; }
.alle-branchen a { font-weight: 600; color: var(--tinte); }
aside .rubrikkopf:not(:first-child) { margin-top: 34px; }

/* Seitenköpfe */
.pfad { margin: 22px 0 0; }
.pfad > * > * { color: var(--grau); font-size: .8rem; }
.seitentitel { margin: 16px 0 4px; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.08; letter-spacing: -.02em; }
.seitentext { margin: 0 0 8px; color: var(--grau); }

/* Beitrag */
.beitragskopf { max-width: 58rem; margin: 18px 0 26px; }
.beitragstitel { margin: 0 0 14px; font-size: clamp(1.7rem, 4.3vw, 3.25rem); line-height: 1.06; letter-spacing: -.024em; }
.vorspann { margin: 0 0 12px; font-size: 1.04rem; line-height: 1.5; color: var(--tinte); }
.beitragsbild { margin: 0 0 24px; }
.beitragsbild figcaption { margin-top: 6px; color: var(--grau); font-size: .78rem; }
.beitrag { min-width: 0; }
.beitragstext { font-size: 1.04rem; line-height: 1.62; }
.beitragstext h2 { margin: 0 0 12px; font-size: 1.55rem; line-height: 1.18; }
.beitragstext h3 { margin: 0 0 6px; font-size: 1.04rem; }
.baustein { margin-top: 38px; }
.baustein ul { padding-left: 20px; }
.baustein li { margin-bottom: 5px; }

/* Kurzfassung und Verzeichnis */
.kurzfassung { padding: 20px 24px; background: var(--flaeche); border-radius: var(--radius); }
.kurzfassung h2 { margin: 0 0 10px; font-size: 1.14rem; }
.kurzfassung ul { margin: 0; padding-left: 18px; }
.kurzfassung li { margin-bottom: 6px; }
.kurzfassung li:last-child { margin-bottom: 0; }
.verzeichnis-titel { margin: 0 0 6px; font-weight: 600; color: var(--tinte); }
.verzeichnis ol { list-style: none; margin: 0; padding: 0; }
.verzeichnis li { border-bottom: 1px solid var(--linie); }
.verzeichnis a { display: block; padding: 9px 2px; font-size: .88rem; line-height: 1.3; color: var(--text); }
.verzeichnis.uk-hidden\@m { margin-top: 24px; }
.mitlaufend { position: sticky; top: 72px; }
.seitenleiste { align-self: flex-start; position: sticky; top: 72px; }
.seitenleiste .mitlaufend { position: static; }

/* Bausteine */
.schritte { list-style: none; margin: 0; padding: 0; counter-reset: schritt; }
.schritte li { counter-increment: schritt; position: relative; margin: 0; padding: 0 0 18px 52px; }
.schritte li::before { content: counter(schritt); position: absolute; left: 0; top: 0; width: 34px; height: 34px; border-radius: 50%; background: var(--blau); color: #fff; font-size: .92rem; font-weight: 600; line-height: 34px; text-align: center; }
.schritte li:not(:last-child)::after { content: ""; position: absolute; left: 16px; top: 38px; bottom: 4px; width: 2px; background: var(--linie); }
.schritte strong { display: block; color: var(--tinte); font-weight: 600; }
.schritte span { display: block; font-size: .98rem; }
.balken-zeile { display: grid; grid-template-columns: minmax(130px, 34%) 1fr 104px; gap: 10px; align-items: center; padding: 7px 0; font-size: .92rem; line-height: 1.25; }
.balken-spur { display: block; background: var(--flaeche); border-radius: 2px; }
.balken-wert { display: block; height: 14px; background: var(--blau); border-radius: 2px; }
.balken-wert.minus { background: var(--signal); }
.balken-zahl { text-align: right; font-weight: 600; color: var(--tinte); }
.quellzeile { margin: 8px 0 0; color: var(--grau); font-size: .8rem; }
.hinweis { padding: 16px 18px; background: var(--flaeche); border-radius: var(--radius); font-size: .96rem; line-height: 1.45; }
.hinweis p { margin: 0; }
.hinweis-art { margin-bottom: 4px !important; color: var(--blau); font-size: .78rem; font-weight: 600; }
.hinweis-achtung { background: var(--warm); }
.hinweis-achtung .hinweis-art { color: var(--signal); }
.hinweis-info .hinweis-art { color: var(--blau); }
.checkliste { padding: 22px 24px; border: 2px solid var(--flaeche); border-radius: var(--radius); }
.checkliste ul { padding: 0; list-style: none; }
.checkliste li { font-size: .96rem; line-height: 1.35; }
.checkliste label { display: flex; gap: 9px; align-items: flex-start; cursor: pointer; }
.checkliste .uk-checkbox { flex: 0 0 auto; margin-top: 2px; }
.druck-kopf, .druck-hinweis { display: none; }
.druck-knopf { margin-top: 10px; border: 0; border-radius: var(--radius); background: var(--blau); color: #fff; font-size: .88rem; text-transform: none; }
.druck-knopf:hover { background: var(--tinte); color: #fff; }
.uk-checkbox:checked { background-color: var(--blau); }
.fragen details { border-top: 1px solid var(--linie); }
.fragen details:last-child { border-bottom: 1px solid var(--linie); }
.fragen summary { padding: 13px 0; color: var(--tinte); font-weight: 600; cursor: pointer; }
.fragen p { margin: 0 0 14px; }
.quellenblock { font-size: .9rem; line-height: 1.45; color: var(--grau); }
.quellenblock a { text-decoration: underline; }
.quellenblock h2 { color: var(--tinte); }
.beitragsfuss { margin-top: 28px; padding-top: 14px; border-top: 1px solid var(--linie); color: var(--grau); font-size: .88rem; }
.beitragsfuss p { margin: 0 0 8px; }
.beitragsfuss a { text-decoration: underline; }

/* Fuß */
.fuss { margin-top: 60px; padding: 42px 0 30px; background: var(--tinte); color: var(--fuss-text); font-size: .88rem; }
.fuss a { color: var(--fuss-text); }
.fuss a:hover { color: #fff; text-decoration: underline; }
.fuss-marke { margin: 0 0 8px; font-size: 1.5rem; letter-spacing: -.03em; font-weight: 600; color: #fff; }
.fuss-titel { margin: 0 0 10px; color: var(--gelb); font-weight: 600; }
.fuss-recht { margin: 30px 0 0; padding-top: 16px; border-top: 1px solid #2c4679; }

@media (max-width: 639px) {
    h1, h2, h3, h4, .titel-gross, .titel-mittel, .titel-klein { hyphens: auto; }
    .kopf-oben { gap: 12px; }
    .kopf-suche .uk-input { width: 120px; }
    .balken-zeile { grid-template-columns: 1fr 96px; }
    .balken-name { grid-column: 1 / -1; }
}

/* Druck der Checkliste: eine A4-Seite */
@media print {
    @page { size: A4; margin: 15mm; }
    .drucke-liste body > * { display: none !important; }
    .drucke-liste main { display: block !important; }
    .drucke-liste main .uk-container > *:not(.spalten) { display: none !important; }
    .drucke-liste .seitenleiste, .drucke-liste .beitragsbild, .drucke-liste .kurzfassung, .drucke-liste .verzeichnis { display: none !important; }
    .drucke-liste .baustein:not(.baustein-checkliste) { display: none !important; }
    .drucke-liste .baustein-checkliste h2, .drucke-liste .druck-knopf { display: none !important; }
    .drucke-liste .druck-kopf, .drucke-liste .druck-hinweis { display: block !important; }
    .drucke-liste .checkliste { border: 0; padding: 0; }
    .navleiste, .testhinweis { position: static; }
    .drucke-liste .uk-checkbox { border: 1px solid #333; }
}

/* Startseite: Themenleiste, Schwerpunkt, Bänder */
.themenleiste { background: var(--flaeche); font-size: .86rem; }
.themenleiste .uk-container { display: flex; flex-wrap: wrap; gap: 4px 18px; align-items: center; padding-top: 9px; padding-bottom: 9px; }
.themen-titel { color: var(--signal); font-weight: 600; }
.themenleiste a { color: var(--tinte); font-weight: 600; }
.themenleiste a:hover { color: var(--blau); text-decoration: underline; }
.unterzeile { line-height: 1.3; }
.unterzeile time { color: var(--tinte); font-weight: 600; }
.kopfzeile { margin: 0 0 12px; padding-bottom: 8px; border-bottom: 3px solid var(--blau); font-size: 1.2rem; }
.kopfzeile a { color: inherit; }
.startoben { margin-top: 26px; }
.meldungen-oben li { padding: 10px 0; }
.schwerpunkt { margin-top: 44px; padding: 38px 0 42px; background: var(--tinte); color: var(--fuss-text); }
.schwerpunkt h2, .schwerpunkt h3, .schwerpunkt a { color: #fff; }
.schwerpunkt a:hover { color: var(--gelb); }
.schwerpunkt h2 { margin: 0 0 6px; font-size: 1.75rem; }
.schwerpunkt-text { margin: 0 0 22px; max-width: 46rem; }
.schwerpunkt .titel-gross { margin-top: 14px; font-size: clamp(1.4rem, 2.4vw, 2rem); color: #fff; }
.schwerpunkt .meta, .schwerpunkt .meta a { color: var(--fuss-text); }
.schwerpunkt .meta a { color: var(--gelb); }
.schwerpunkt .anriss { color: var(--fuss-text); }
.schwerpunkt .meldungen li { border-color: #2c4679; }
.schwerpunkt .titel-klein { color: #fff; }
.ratgeber-band { margin-top: 44px; padding: 36px 0 40px; background: var(--flaeche); }
.ratgeber-band h2 { margin: 0 0 18px; font-size: 1.75rem; }
.ratgeber-band h2 a { color: inherit; }
.kompakt { margin-top: 44px; }
.kompakt h3 { margin: 0 0 8px; padding-bottom: 6px; border-bottom: 1px solid var(--linie); font-size: 1rem; color: var(--signal); }
.kompakt h3 a { color: inherit; }
.kompakt ul { list-style: none; margin: 0; padding: 0; }
.kompakt li { margin-bottom: 9px; font-size: .92rem; font-weight: 600; line-height: 1.28; color: var(--tinte); }
.kompakt-mehr { font-weight: 400 !important; font-size: .84rem !important; }
.kompakt-mehr a { color: var(--blau); }
.haupt-block .teaser .titel-mittel { font-size: 1.14rem; }
.aufmacher .bild { aspect-ratio: 2 / 1; }
@media (max-width: 639px) {
    .kompakt li:not(.kompakt-mehr), .kompakt-mehr { display: none; }
    .kompakt h3 { margin-bottom: 0; }
}

/* Slider im Ratgeber-Band */
.band-kopf { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.band-kopf h2 { margin: 0; }
.band-pfeile { display: flex; gap: 8px; }
.band-pfeil { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: var(--blau); color: #fff; }
.band-pfeil:hover { background: var(--tinte); color: #fff; }
.band-pfeil .uk-slidenav-previous, .band-pfeil .uk-slidenav-next, .band-pfeil span { padding: 0; color: #fff; }
.band-pfeil svg { height: 16px; width: auto; }
.band-punkte { margin-top: 18px; }
.band-punkte > * > * { border-color: var(--blau); }
.band-punkte > .uk-active > * { background-color: var(--blau); border-color: var(--blau); }

/* Beitrag: Wichtigstes zuerst, Tipp der Redaktion */
.kurzfassung { margin-bottom: 20px; }
.beitrag .vorspann { margin-bottom: 22px; }
.beitragskopf { margin-bottom: 18px; }
.tipp { margin-top: 30px; padding: 18px 22px; background: #fff6d9; border-radius: var(--radius); }
.tipp p { margin: 0; }
.tipp-art { color: var(--tinte); font-size: .78rem; font-weight: 600; }
.tipp-titel { margin: 2px 0 6px !important; color: var(--tinte); font-size: 1.14rem; font-weight: 600; }

/* Tabellen: farbige Kopfzeile, Zebra, mobil als Karten */
.tabellen-rahmen { overflow-x: auto; border: 1px solid var(--linie); border-radius: 10px; background: var(--papier); box-shadow: 0 2px 10px rgba(15, 42, 92, .07); }
.datentabelle { width: 100%; border-collapse: collapse; font-size: .95rem; line-height: 1.38; }
.datentabelle thead th { padding: 13px 16px; background: var(--blau); color: #fff; font-size: .86rem; font-weight: 600; text-align: left; text-transform: none; vertical-align: bottom; }
.datentabelle tbody th { padding: 13px 16px; color: var(--tinte); font-size: .95rem; font-weight: 600; text-align: left; text-transform: none; vertical-align: top; }
.datentabelle td { padding: 13px 16px; color: var(--text); vertical-align: top; }
.datentabelle tbody tr { border-top: 1px solid var(--linie); }
.datentabelle tbody tr:first-child { border-top: 0; }
.datentabelle tbody tr:nth-child(even) { background: #f5f8fe; }
.datentabelle tbody tr:hover { background: var(--flaeche); }
.baustein-tabelle .quellzeile { margin-top: 10px; }
@media (max-width: 639px) {
    .tabellen-rahmen { overflow: visible; border: 0; box-shadow: none; background: none; }
    .datentabelle, .datentabelle tbody, .datentabelle tr, .datentabelle th, .datentabelle td { display: block; width: auto; }
    .datentabelle thead { position: absolute; left: -9999px; }
    .datentabelle tbody tr, .datentabelle tbody tr:first-child { margin-bottom: 12px; border: 1px solid var(--linie); border-radius: 10px; overflow: hidden; background: var(--papier); }
    .datentabelle tbody tr:nth-child(even) { background: var(--papier); }
    .datentabelle tbody th { padding: 10px 14px; background: var(--flaeche); }
    .datentabelle td { padding: 8px 14px; border-top: 1px solid var(--linie); }
    .datentabelle td[data-spalte]:not([data-spalte=""])::before { content: attr(data-spalte); display: block; color: var(--grau); font-size: .78rem; font-weight: 600; }
}

/* Suchseite und 404 nach dem Muster von bibliothek.info: Bühne mit gezeichnetem Motiv, ohne Dachzeile und Symbolkacheln */
.buehne { padding: 30px 0 34px; background: var(--flaeche); text-align: center; }
.buehne-klein { padding: 26px 0 24px; }
.buehne h1 { margin: 4px auto 10px; max-width: 24ch; font-size: clamp(1.6rem, 3.4vw, 2.3rem); line-height: 1.15; }
.buehne-text { max-width: 40rem; margin: 0 auto 18px; }
.buehne-text code { padding: 1px 6px; border-radius: 3px; background: var(--papier); color: var(--tinte); font-size: .88em; white-space: normal; overflow-wrap: anywhere; }
.buehne-feld { max-width: 640px; margin: 0 auto; text-align: left; }
.buehne-feld .uk-input { height: 48px; border: 1px solid #b6c6e0; background: var(--papier); font-size: 1rem; }
.buehne-feld .uk-button { height: 48px; line-height: 46px; }
.buehne-bild { display: block; width: 100%; max-width: 480px; margin: 0 auto 6px; overflow: visible; }
.z-blatt { fill: #fff; stroke: #b6c6e0; stroke-width: 1.2; }
.z-blatt-hinten { fill: #f4f7fd; }
.z-titel { fill: var(--tinte); }
.z-foto { fill: #b9cdf3; }
.z-zeilen { fill: none; stroke: #c3d0e6; stroke-width: 3; stroke-linecap: round; }
.lupe-glas { fill: rgba(233, 240, 253, .55); }
.lupe-rand { fill: none; stroke: var(--blau); stroke-width: 8; }
.lupe-griff { fill: var(--blau); }
.such-lupe { animation: suchgleiten 7s ease-in-out infinite; }
@keyframes suchgleiten {
  0%, 100% { transform: translate(150px, 96px) rotate(-6deg); }
  45%, 55% { transform: translate(390px, 116px) rotate(6deg); }
}
.f-ziffer { font-size: 200px; font-weight: 600; fill: var(--tinte); }
.f-ruecken { fill: var(--blau); }
.f-blatt { fill: #fff; stroke: #b6c6e0; stroke-width: 1.2; transform-origin: left center; transform-box: fill-box; }
.f-blatt-1 { animation: fblatt 4.8s cubic-bezier(.45, 0, .25, 1) infinite; }
.f-blatt-2 { animation: fblatt 4.8s cubic-bezier(.45, 0, .25, 1) 2.4s infinite; }
.f-falz { stroke: #93a6c8; stroke-width: 2; }
.f-zeitung { transform: translate(280px, 128px); animation: fschweben 4.8s ease-in-out infinite; }
.f-schatten { fill: var(--tinte); opacity: .1; transform-origin: 280px 226px; animation: fschatten 4.8s ease-in-out infinite; }
.f-boden { fill: none; stroke: #b6c6e0; stroke-width: 2.5; stroke-dasharray: 9 8; }
.f-stapel-1 { fill: var(--tinte); }
.f-stapel-2 { fill: #b9cdf3; }
.f-frage { font-size: 16px; font-weight: 600; fill: #fff; }
@keyframes fblatt { 0%, 12% { transform: scaleX(1); } 45% { transform: scaleX(-1); } 46%, 100% { transform: scaleX(-1); opacity: 0; } }
@keyframes fschweben { 0%, 100% { transform: translate(280px, 128px); } 50% { transform: translate(280px, 120px); } }
@keyframes fschatten { 0%, 100% { transform: scaleX(1); opacity: .1; } 50% { transform: scaleX(.9); opacity: .07; } }
@media (prefers-reduced-motion: reduce) {
  .such-lupe { animation: none; transform: translate(270px, 106px); }
  .f-zeitung, .f-schatten { animation: none; }
  .f-blatt { display: none; }
}
.fehler-start { margin: 14px 0 0; }
.fehler-start a { color: var(--blau); text-decoration: underline; }
.such-chips { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px; max-width: 760px; margin: 16px auto 0; font-size: .86rem; }
.such-chips > span { margin-right: 2px; color: var(--grau); }
.such-chips a, .such-chips > strong { padding: 4px 10px; border: 1px solid #b6c6e0; border-radius: var(--radius); background: var(--papier); color: var(--tinte); font-weight: 400; }
.such-chips a:hover { border-color: var(--blau); color: var(--blau); }
.such-chips small { color: var(--grau); font-size: .86em; }
.such-chips > strong { border-color: var(--tinte); background: var(--tinte); color: #fff; }
.such-chips > strong small { color: #dbe5f7; }
.such-filter { justify-content: flex-start; max-width: none; margin: 0 0 8px; }
.such-kopf { margin-top: 40px; }
.such-kachel { display: flex; flex-direction: column; gap: 3px; width: 100%; padding: 14px 16px; border: 1px solid var(--linie); border-radius: var(--radius); background: var(--papier); color: var(--text); box-sizing: border-box; }
.such-kachel:hover { border-color: var(--blau); color: var(--text); }
.such-kachel strong { color: var(--tinte); font-weight: 600; font-size: 1.06rem; }
.such-kachel:hover strong { color: var(--blau); }
.such-kachel span { color: var(--grau); font-size: .84rem; line-height: 1.35; }
.such-hinweis { display: flex; align-items: center; gap: 14px; margin-bottom: 12px; padding: 12px 16px; border-radius: var(--radius); background: var(--flaeche); color: var(--text); }
.such-hinweis:hover { color: var(--text); }
.such-hinweis > span:first-child { display: flex; flex-direction: column; flex: 1; }
.such-hinweis strong { color: var(--tinte); font-weight: 600; }
.such-hinweis span span { color: var(--grau); font-size: .86rem; }
.such-pfeil { color: var(--blau); font-weight: 600; }
.such-teilweise { margin: 0 0 12px; }
.such-leiste { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 20px; margin-bottom: 10px; }
.such-leiste p { margin: 0; }
.such-zahl strong { color: var(--tinte); font-weight: 600; }
.such-folge { color: var(--grau); font-size: .86rem; }
.such-folge strong { color: var(--tinte); font-weight: 600; }
.such-folge a { color: var(--blau); text-decoration: underline; }
.such-eintrag { display: flex; gap: 20px; padding: 18px 0; border-top: 1px solid var(--linie); }
.such-eintrag-text { flex: 1; min-width: 0; }
.such-eintrag .titel-mittel { margin-top: 0; }
.such-eintrag-bild { flex: none; width: 170px; }
.such-eintrag-bild .bild { display: block; width: 100%; height: auto; border-radius: var(--radius); }
.such-ausschnitt { margin: 6px 0 0; font-size: .92rem; line-height: 1.5; }
.such-treffer mark { background: #ffe9a8; color: inherit; }
.such-feld .uk-button-primary { background: var(--blau); text-transform: none; font-size: 1rem; }
.such-feld .uk-button-primary:hover { background: var(--tinte); }
@media (max-width: 640px) {
  .such-eintrag { gap: 12px; }
  .such-eintrag-bild { width: 92px; }
  .f-ziffer { font-size: 180px; }
}

/* Unterabschnitte eines langen Beitrags: h3 statt h2, nicht im Inhaltsverzeichnis */
.baustein > h3:first-child { margin: 0 0 10px; font-size: 1.14rem; }

/* Suchvorschläge */
.kopf-suche, .such-feld { position: relative; }
.such-vorschlaege { position: absolute; z-index: 1010; top: calc(100% + 6px); right: 0; width: min(440px, calc(100vw - 32px)); max-height: 70vh; overflow-y: auto; margin: 0; padding: 4px 0; list-style: none; border: 1px solid var(--linie); border-radius: var(--radius); background: #fff; box-shadow: 0 6px 18px rgba(15, 42, 92, .14); text-align: left; }
.such-feld .such-vorschlaege { left: 15px; right: auto; width: min(100%, calc(100vw - 32px)); }
.such-vorschlaege a { display: block; padding: 8px 14px; color: var(--text); font-size: .92rem; line-height: 1.3; text-decoration: none; }
.such-vorschlaege strong { display: block; color: var(--tinte); font-weight: 600; }
.such-vorschlaege span { display: block; margin-top: 2px; color: var(--grau); font-size: .8rem; }
.such-vorschlaege li.aktiv a, .such-vorschlaege a:hover { background: var(--flaeche); }
.such-vorschlaege .such-alle { border-top: 1px solid var(--linie); }
.such-vorschlaege .such-alle strong { color: var(--blau); }
@media (max-width: 639px) {
    .kopf-suche .such-vorschlaege { width: min(440px, calc(100vw - 60px)); }
}

/* Verweise im Fließtext als solche erkennbar */
.beitragstext p a, .beitragstext li a, .seitentext a { text-decoration: underline; }
.beitragstext p a:hover, .beitragstext li a:hover, .seitentext a:hover { color: var(--blau); }
