/*
 * Webseite Manager: Basis-Stil der öffentlichen Bausteine (Klassen ws-…). Farben, Schrift, Rundung und Breite kommen
 * als Variablen --ws-… aus dem Design der Webseite (_ws/css/<site>-<hash>.css). Keine externen Ressourcen.
 * Umbrüche wie die alte Betreuerpool-Seite: 1120, 860, 520 px. Alle Bausteine des Katalogs (Bauplan 2.3).
 */
:root {
    --ws-primaer: #1A2A47; --ws-primaer-weich: #24385C; --ws-akzent: #5CA387; --ws-akzent-weich: #EAF5F1;
    --ws-text: #1A2A47; --ws-text-leise: #68778A; --ws-hintergrund: #F5F8FA; --ws-flaeche: #FFFFFF; --ws-linie: #DFE8EE;
    --ws-fehler: #B42318; --ws-erfolg: #167A52; --ws-rundung: 24px; --ws-breite: 1200px; --ws-abstand: 88px;
    --ws-schatten: 0 18px 50px rgba(26, 42, 71, .10); --ws-groesse: 16px;
    --ws-schrift: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --ws-schrift-titel: var(--ws-schrift);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body.ws-body {
    margin: 0; min-height: 100vh; color: var(--ws-text); font-family: var(--ws-schrift); font-size: var(--ws-groesse);
    line-height: 1.6; background: var(--ws-hintergrund); overflow-wrap: anywhere;
}
img { max-width: 100%; height: auto; }
a { color: inherit; }
h1, h2, h3, h4 { font-family: var(--ws-schrift-titel); line-height: 1.15; margin: 0 0 .5em; letter-spacing: -.01em; }
h1 { font-size: clamp(2rem, 5vw, 3.6rem); }
h2 { font-size: clamp(1.6rem, 3.4vw, 2.5rem); }
p { margin: 0 0 1em; }

.ws-sprung { position: absolute; left: -9999px; top: 0; }
.ws-sprung:focus { left: 16px; top: 16px; z-index: 100; padding: 10px 14px; background: var(--ws-flaeche); border-radius: 10px; }

.ws-b { padding: var(--ws-abstand) clamp(16px, 4vw, 64px); }
.ws-abstand-klein { padding-top: calc(var(--ws-abstand) * .5); padding-bottom: calc(var(--ws-abstand) * .5); }
.ws-abstand-gross { padding-top: calc(var(--ws-abstand) * 1.4); padding-bottom: calc(var(--ws-abstand) * 1.4); }
.ws-innen { max-width: var(--ws-breite); margin: 0 auto; }
.ws-schmal { max-width: 760px; }
.ws-bg-hell { background: var(--ws-flaeche); }
.ws-bg-dunkel { background: var(--ws-primaer); color: #fff; }
.ws-bg-dunkel p, .ws-bg-dunkel .ws-text { color: rgba(255, 255, 255, .82); }
.ws-bg-akzent { background: var(--ws-akzent-weich); }
.ws-eyebrow { margin: 0 0 12px; color: var(--ws-akzent); font-size: .8rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ws-text, .ws-lead { color: var(--ws-text-leise); }
.ws-lead { font-size: 1.12rem; }

/* Knöpfe */
.ws-knoepfe { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.ws-knopf {
    display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 22px;
    font-weight: 800; text-decoration: none; border-radius: 999px; border: 2px solid transparent;
}
.ws-knopf-primaer { color: #fff; background: var(--ws-primaer); }
.ws-knopf-primaer:hover, .ws-knopf-primaer:focus { background: var(--ws-primaer-weich); }
.ws-knopf-hell { color: var(--ws-primaer); background: var(--ws-flaeche); border-color: var(--ws-linie); }
.ws-knopf-dunkel { color: #fff; background: var(--ws-akzent); }
.ws-knopf-rahmen { color: var(--ws-primaer); background: transparent; border-color: var(--ws-primaer); }

/* Kopfzeile */
.ws-b-kopfzeile {
    position: sticky; top: 0; z-index: 20; padding: 14px clamp(16px, 4vw, 64px);
    background: rgba(255, 255, 255, .94); border-bottom: 1px solid var(--ws-linie);
}
.ws-kopf-innen { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.ws-marke { text-decoration: none; min-width: 0; }
.ws-marke strong { display: block; font-size: 1.1rem; letter-spacing: .02em; }
.ws-marke small { display: block; margin-top: 2px; color: var(--ws-text-leise); font-size: .78rem; }
.ws-nav ul { display: flex; align-items: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
.ws-nav li { position: relative; }
.ws-nav a { display: block; padding: 10px 14px; color: var(--ws-text-leise); font-size: .9rem; font-weight: 800; text-decoration: none; border-radius: 999px; }
.ws-nav a:hover, .ws-nav a:focus { color: #fff; background: var(--ws-primaer); }
.ws-nav li ul { display: none; position: absolute; top: 100%; left: 0; min-width: 200px; padding: 8px; background: var(--ws-flaeche); border: 1px solid var(--ws-linie); border-radius: 14px; flex-direction: column; align-items: stretch; }
.ws-nav li:hover > ul, .ws-nav li:focus-within > ul { display: flex; }
.ws-menue-knopf { display: none; border: 0; color: #fff; background: var(--ws-primaer); border-radius: 12px; padding: 10px 12px; font-size: 1.1rem; cursor: pointer; }

/* Hero */
.ws-b-hero { background: radial-gradient(circle at 12% 8%, rgba(92, 163, 135, .14), transparent 32%), var(--ws-hintergrund); }
.ws-hero-mit_karte { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(260px, .7fr); gap: clamp(22px, 4vw, 46px); align-items: center; }
.ws-hero-zentriert { text-align: center; max-width: 900px; }
.ws-hero-zentriert .ws-knoepfe { justify-content: center; }
.ws-hero-karte { padding: 32px; background: var(--ws-flaeche); border: 1px solid var(--ws-linie); border-radius: var(--ws-rundung); box-shadow: var(--ws-schatten); }
.ws-hero-karte p { margin: 0; color: var(--ws-text-leise); font-weight: 700; }

/* Fußzeile */
.ws-b-fusszeile { padding: 48px clamp(16px, 4vw, 64px); color: rgba(255, 255, 255, .85); background: var(--ws-primaer); }
.ws-b-fusszeile p { color: rgba(255, 255, 255, .72); }
.ws-fuss-innen { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 24px; }
.ws-fuss-marke strong { display: block; margin-bottom: 8px; color: #fff; font-size: 1.1rem; }
.ws-fuss-links { display: flex; flex-wrap: wrap; gap: 8px 22px; align-items: flex-start; }
.ws-fuss-links a { color: #fff; font-weight: 700; text-decoration: none; }
.ws-fuss-links a:hover, .ws-fuss-links a:focus { text-decoration: underline; }

/* Kopfzeile: Logo, nicht klebend */
.ws-marke { display: inline-flex; align-items: center; gap: 12px; }
.ws-logo { display: block; width: auto; max-height: 52px; max-width: 160px; }
.ws-marke-text { min-width: 0; }
.ws-b-kopfzeile.ws-nicht-klebend { position: relative; }

/* Raster für Karten, Spalten, Galerie, Preise, Team */
.ws-raster { display: grid; gap: clamp(16px, 2.4vw, 28px); grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 28px; }
.ws-spalten-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ws-spalten-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ws-spalten-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ws-spalten-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ws-kopfbereich { max-width: 760px; }
.ws-karte {
    min-width: 0; padding: 28px; background: var(--ws-flaeche); color: var(--ws-text); border: 1px solid var(--ws-linie);
    border-radius: var(--ws-rundung); box-shadow: var(--ws-schatten);
}
.ws-karte h3 { margin-top: 0; font-size: 1.25rem; }
.ws-karte .ws-text, .ws-karte p { color: var(--ws-text-leise); }
.ws-karte-bild { display: block; width: calc(100% + 56px); max-width: none; margin: -28px -28px 20px; border-radius: var(--ws-rundung) var(--ws-rundung) 0 0; aspect-ratio: 16 / 9; object-fit: cover; }
.ws-karte-link { font-weight: 800; color: var(--ws-primaer); }
.ws-marke-zahl { display: inline-block; margin-bottom: 14px; padding: 6px 12px; color: var(--ws-akzent); background: var(--ws-akzent-weich); border-radius: 999px; font-weight: 900; font-size: .85rem; }
.ws-bg-dunkel .ws-karte { color: var(--ws-text); }
.ws-richtext ul, .ws-richtext ol { padding-left: 1.3em; margin: 0 0 1em; }
.ws-richtext a { color: var(--ws-primaer); font-weight: 700; }
.ws-bg-dunkel .ws-richtext a, .ws-inhaltskarte-dunkel .ws-richtext a { color: #fff; }
.ws-richtext table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; }
.ws-richtext th, .ws-richtext td { padding: 8px 10px; border-bottom: 1px solid var(--ws-linie); text-align: left; }
.ws-richtext pre { overflow-x: auto; padding: 14px; background: var(--ws-flaeche); border-radius: 12px; }
.ws-richtext blockquote { margin: 0 0 1em; padding-left: 16px; border-left: 4px solid var(--ws-akzent); }

/* Hero mit Bild */
.ws-b-hero { position: relative; overflow: hidden; }
.ws-hero-karte img, .ws-hero-bild { display: block; width: 100%; height: auto; margin-bottom: 16px; border-radius: calc(var(--ws-rundung) * .6); }
.ws-hero-hintergrund { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; z-index: 0; }
.ws-hero-auf-bild { position: relative; z-index: 1; padding: clamp(22px, 4vw, 48px); background: rgba(255, 255, 255, .9); border-radius: var(--ws-rundung); max-width: 760px; margin-left: 0; }
.ws-hero-bild_hintergrund:not(.ws-hero-auf-bild) { max-width: 900px; }

/* Bild und Text */
.ws-bild-text { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(22px, 4vw, 56px); align-items: center; }
.ws-bild-text.ws-ohne-bild { grid-template-columns: minmax(0, 1fr); max-width: 760px; }
.ws-bild-rechts .ws-bild-rahmen { order: 2; }
.ws-bild-rahmen { margin: 0; }
.ws-bild-rahmen img { display: block; width: 100%; border-radius: var(--ws-rundung); box-shadow: var(--ws-schatten); }

/* Galerie */
.ws-galerie-bild { margin: 0; min-width: 0; }
.ws-galerie-bild img, .ws-bild-leer { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: calc(var(--ws-rundung) * .6); }
.ws-bild-leer { background: linear-gradient(135deg, var(--ws-akzent-weich), var(--ws-linie)); }
.ws-galerie-bild figcaption { margin-top: 8px; color: var(--ws-text-leise); font-size: .9rem; }

/* Spalten */
.ws-spalte h3 { margin-top: 0; }

/* Inhalt mit Merkliste */
.ws-liste-karte { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(22px, 4vw, 46px); align-items: start; }
.ws-gespiegelt .ws-merkliste { order: -1; }
.ws-inhaltskarte { padding: clamp(24px, 4vw, 44px); border-radius: var(--ws-rundung); box-shadow: var(--ws-schatten); }
.ws-inhaltskarte-dunkel { color: #fff; background: linear-gradient(140deg, var(--ws-primaer), var(--ws-primaer-weich)); }
.ws-inhaltskarte-dunkel p { color: rgba(255, 255, 255, .82); }
.ws-inhaltskarte-dunkel .ws-eyebrow { color: #A9DCC7; }
.ws-inhaltskarte-hell { background: var(--ws-flaeche); border: 1px solid var(--ws-linie); }
.ws-knopf-auf-dunkel.ws-knopf-primaer { color: var(--ws-primaer); background: #fff; }
.ws-merkliste { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.ws-mini-karte { padding: 20px 22px; background: var(--ws-flaeche); border: 1px solid var(--ws-linie); border-radius: calc(var(--ws-rundung) * .7); }
.ws-mini-karte strong { display: block; margin-bottom: 4px; }
.ws-mini-karte p { margin: 0; color: var(--ws-text-leise); }

/* Ablauf */
.ws-schritte { display: grid; gap: 16px; margin: 28px 0 0; padding: 0; list-style: none; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ws-schritte.ws-spalten-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ws-schritte.ws-spalten-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ws-schritt { min-width: 0; padding: 24px; background: var(--ws-flaeche); border: 1px solid var(--ws-linie); border-radius: calc(var(--ws-rundung) * .7); }
.ws-schritt p { margin: 0; font-weight: 700; }
.ws-schritt-nummer { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; margin-bottom: 12px; color: #fff; background: var(--ws-akzent); border-radius: 50%; font-weight: 900; }

/* Preise */
.ws-paket { display: flex; flex-direction: column; }
.ws-paket .ws-knoepfe { margin-top: auto; padding-top: 12px; }
.ws-hervorgehoben { border: 2px solid var(--ws-akzent); }
.ws-preis strong { font-size: 2rem; color: var(--ws-text); }
.ws-haken { margin: 0 0 16px; padding: 0; list-style: none; }
.ws-haken li { padding: 6px 0 6px 26px; position: relative; border-bottom: 1px solid var(--ws-linie); }
.ws-haken li::before { content: "✓"; position: absolute; left: 0; color: var(--ws-akzent); font-weight: 900; }

/* Team */
.ws-person { text-align: center; }
.ws-person-bild, .ws-person-platz { display: block; width: 112px; height: 112px; margin: 0 auto 16px; border-radius: 50%; object-fit: cover; }
.ws-person-platz { display: flex; align-items: center; justify-content: center; color: #fff; background: var(--ws-akzent); font-size: 2.4rem; font-weight: 900; }
.ws-rolle { margin-top: -6px; color: var(--ws-akzent) !important; font-weight: 800; }

/* Häufige Fragen */
.ws-faq { display: grid; gap: 12px; margin-top: 24px; }
.ws-frage { padding: 0; background: var(--ws-flaeche); border: 1px solid var(--ws-linie); border-radius: 16px; }
.ws-frage summary { cursor: pointer; padding: 18px 22px; font-weight: 800; }
.ws-frage > div { padding: 0 22px 8px; color: var(--ws-text-leise); }

/* Zitate */
.ws-zitat { margin: 0; }
.ws-zitat blockquote { margin: 0 0 12px; font-size: 1.15rem; font-weight: 700; }
.ws-zitat figcaption span { color: var(--ws-text-leise); }
.ws-zitatband { padding: clamp(24px, 4vw, 44px); color: #fff; background: var(--ws-akzent); border-radius: var(--ws-rundung); text-align: center; }
.ws-zitatband .ws-zitat + .ws-zitat { margin-top: 24px; }
.ws-zitatband blockquote { font-size: clamp(1.2rem, 2.6vw, 1.7rem); }
.ws-zitatband figcaption span { color: rgba(255, 255, 255, .85); }
.ws-zitate-karten .ws-zitat { padding: 28px; background: var(--ws-flaeche); border: 1px solid var(--ws-linie); border-radius: var(--ws-rundung); }

/* Formular-Bereich und Formulare */
.ws-formular-bereich { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
.ws-formular-bereich.ws-mit-seitenkarte { grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); }
.ws-hinweis { padding: 12px 16px; background: var(--ws-akzent-weich); border-radius: 12px; color: var(--ws-text); font-weight: 700; }
.ws-form { margin-top: 24px; padding: clamp(20px, 3vw, 32px); background: var(--ws-flaeche); border: 1px solid var(--ws-linie); border-radius: var(--ws-rundung); box-shadow: var(--ws-schatten); color: var(--ws-text); }
.ws-form-sperre { margin: 0; padding: 0; border: 0; min-width: 0; }
.ws-form-felder { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 18px; }
.ws-feld { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ws-feld-textarea, .ws-feld-checkbox, .ws-feld-einwilligung { grid-column: 1 / -1; }
.ws-feld label { font-weight: 700; font-size: .95rem; }
.ws-feld input[type="text"], .ws-feld input[type="email"], .ws-feld input[type="tel"], .ws-feld select, .ws-feld textarea {
    width: 100%; min-height: 48px; padding: 11px 14px; font: inherit; color: var(--ws-text); background: var(--ws-hintergrund);
    border: 1px solid var(--ws-linie); border-radius: 14px;
}
.ws-feld textarea { min-height: 130px; resize: vertical; }
.ws-feld input:focus, .ws-feld select:focus, .ws-feld textarea:focus { outline: 3px solid var(--ws-akzent-weich); border-color: var(--ws-akzent); }
.ws-haken { display: flex; gap: 10px; align-items: flex-start; font-weight: 400 !important; }
.ws-haken input { width: 20px; height: 20px; margin-top: 3px; flex: 0 0 auto; }
.ws-pflicht { color: var(--ws-fehler); }
.ws-feld-fehler input, .ws-feld-fehler select, .ws-feld-fehler textarea { border-color: var(--ws-fehler); }
.ws-feld-meldung { margin: 0; color: var(--ws-fehler); font-size: .9rem; font-weight: 700; }
.ws-form-hinweis, .ws-form-einwilligung { margin: 14px 0 0; color: var(--ws-text-leise); font-size: .9rem; }
.ws-form .ws-knopf { margin-top: 18px; cursor: pointer; font: inherit; font-weight: 800; }
.ws-meldung { margin: 0 0 16px; padding: 14px 18px; border-radius: 14px; font-weight: 700; }
.ws-meldung p { margin: 0; }
.ws-meldung-fehler { color: var(--ws-fehler); background: #fdecea; }
.ws-meldung-erfolg { margin-top: 24px; color: var(--ws-erfolg); background: #e8f5ee; }
.ws-hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* Cookie-Hinweis */
.ws-cookie {
    position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 50; display: flex; flex-wrap: wrap; gap: 12px 20px;
    align-items: center; justify-content: space-between; max-width: 960px; margin: 0 auto; padding: 16px 20px;
    color: var(--ws-text); background: var(--ws-flaeche); border: 1px solid var(--ws-linie); border-radius: 18px; box-shadow: var(--ws-schatten);
}
.ws-cookie[hidden] { display: none; }
.ws-cookie-text { flex: 1 1 320px; min-width: 0; }
.ws-cookie-text p { margin: 0; }
.ws-cookie-knoepfe { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.ws-cookie .ws-knopf { min-height: 42px; padding: 8px 18px; cursor: pointer; font: inherit; font-weight: 800; }
.ws-cookie-statisch { position: static; margin: 0 16px 16px; }

/* Rechtstexte */
.ws-rechtstext h2 { font-size: 1.35rem; margin-top: 1.6em; color: var(--ws-text); }
.ws-rechtstext h3 { font-size: 1.1rem; margin-top: 1.2em; color: var(--ws-text); }
.ws-stand { margin-top: 2em; color: var(--ws-text-leise); font-size: .9rem; }

/* Adresse */
.ws-adresse address { font-style: normal; margin-bottom: 12px; font-weight: 700; }
.ws-adresse a { color: var(--ws-primaer); }

/* Trennlinie, Button-Zeile */
.ws-b-trennlinie { padding-top: calc(var(--ws-abstand) * .3); padding-bottom: calc(var(--ws-abstand) * .3); }
.ws-linie { border: 0; border-top: 1px solid var(--ws-linie); margin: 0; }
.ws-ausrichtung-mitte .ws-knoepfe { justify-content: center; }
.ws-ausrichtung-rechts .ws-knoepfe { justify-content: flex-end; }
.ws-b-knoepfe .ws-knoepfe { margin-top: 0; }

/* Blog */
.ws-beitrag h3 a { text-decoration: none; }
.ws-beitrag h3 a:hover, .ws-beitrag h3 a:focus { text-decoration: underline; }
.ws-beitrag-meta { color: var(--ws-text-leise); font-size: .88rem; font-weight: 700; }
.ws-beitrag-kopf h1 { font-size: clamp(1.8rem, 4vw, 3rem); }
.ws-beitrag-bild { display: block; width: 100%; margin-top: 16px; border-radius: var(--ws-rundung); }
.ws-schlagworte span { display: inline-block; margin: 0 6px 6px 0; padding: 4px 10px; background: var(--ws-akzent-weich); border-radius: 999px; font-size: .82rem; font-weight: 700; }

/* Blog-Übersicht */
.ws-blog-alle { margin-top: 24px; }
.ws-blaettern { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin-top: 32px; }
.ws-beitrag-titel { font-size: 1.25rem; }
.ws-beitrag-titel a { text-decoration: none; }

/* Freie Fläche */
.ws-frei { min-width: 0; }

/* Schlichte Seiten (Hinweise, 503) */
.ws-schlicht main { min-height: 100vh; display: flex; align-items: center; }
.ws-schlicht .ws-b { width: 100%; }

/* Sichtbarkeit je Gerät */
@media (min-width: 861px) { .ws-nur-handy { display: none; } }
@media (max-width: 1120px) {
    .ws-spalten-4, .ws-spalten-5, .ws-schritte.ws-spalten-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ws-schritte, .ws-schritte.ws-spalten-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
    .ws-nur-desktop { display: none; }
    .ws-hero-mit_karte { grid-template-columns: 1fr; }
    .ws-spalten-3, .ws-bild-text, .ws-liste-karte, .ws-formular-bereich.ws-mit-seitenkarte { grid-template-columns: minmax(0, 1fr); }
    .ws-bild-rechts .ws-bild-rahmen { order: 0; }
    .ws-gespiegelt .ws-merkliste { order: 0; }
    .ws-menue-knopf { display: block; }
    .ws-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; padding: 12px 16px 18px; background: var(--ws-flaeche); border-bottom: 1px solid var(--ws-linie); }
    .ws-nav.ws-offen { display: block; }
    .ws-nav ul { flex-direction: column; align-items: stretch; }
    .ws-nav li ul { display: flex; position: static; border: 0; padding: 0 0 0 12px; }
}
@media (max-width: 520px) {
    .ws-knopf { width: 100%; }
    .ws-form-felder { grid-template-columns: minmax(0, 1fr); }
    .ws-raster, .ws-spalten-2, .ws-spalten-3, .ws-spalten-4, .ws-spalten-5, .ws-schritte, .ws-schritte.ws-spalten-3, .ws-schritte.ws-spalten-5 { grid-template-columns: minmax(0, 1fr); }
    .ws-karte { padding: 22px; }
    .ws-karte-bild { width: calc(100% + 44px); margin: -22px -22px 16px; }
    .ws-hero-karte { padding: 22px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Vorschau mit Dev-Mode: Hinweis, wenn eine Vorlage fehlt, nicht geprüft oder abgebrochen ist (nur in der Vorschau). */
.ws-vorschau-hinweis { position: sticky; top: 0; z-index: 50; margin: 0; padding: 10px 16px; background: #fffaeb; color: #7a2e0e; border-bottom: 1px solid #fedf89; font-size: .9rem; }
