/*!
 * SWG Nordhausen – Wartungsseite (Übergangsphase bis zum Start der neuen Webseite)
 * Ergänzt swg.css, wird nur von scripts/uebergang/bauen.py eingebunden. Nur Tokens aus swg.css,
 * keine neuen Farbwerte außer den Farben der Illustration (stehen als Attribute im SVG).
 * Bewegung nur bei prefers-reduced-motion: no-preference.
 */

/* ---------- Kopf ---------- */
.swg-w-kopf{position:sticky;inset-block-start:0;z-index:var(--swg-z-sticky);background:var(--swg-color-surface);border-block-end:1px solid var(--swg-hairline)}
.swg-w-kopf__innen{display:flex;align-items:center;justify-content:space-between;gap:var(--swg-space-md);min-block-size:4.25rem}
.swg-w-kopf .swg-kopf__claim{display:none}

.swg-w-notruf{display:inline-flex;flex:none;align-items:center;gap:var(--swg-space-sm);min-block-size:var(--swg-size-touch);padding:0.375rem 0.875rem 0.375rem 0.375rem;border-radius:var(--swg-radius-pill);background:var(--swg-color-surface-darker);color:var(--swg-color-text-inverse);text-decoration:none;line-height:1.15;transition:background-color var(--swg-motion-short) ease}
.swg-w-notruf:hover{background:var(--swg-color-surface-darkest)}
.swg-w-notruf__icon{position:relative;display:inline-grid;place-items:center;inline-size:2.125rem;block-size:2.125rem;border-radius:50%;background:var(--swg-color-brand-yellow);color:var(--swg-color-text-strong)}
.swg-w-notruf small{display:block;font-size:0.75rem;font-weight:var(--swg-type-weight-semibold);color:var(--swg-color-brand-yellow-60)}
.swg-w-notruf b{display:block;color:inherit;font-size:var(--swg-type-size-md);font-variant-numeric:tabular-nums;white-space:nowrap}

/* Servicezeit (wartung.js setzt .swg-w--service bzw. .swg-w--notdienst am body; ohne Skript: Notdienst-Text, dunkle Pille) */
.swg-w-nur-service{display:none}
.swg-w--service .swg-w-nur-service{display:inline-flex;align-items:center;gap:0.375rem}
.swg-w--service .swg-w-nur-notdienst{display:none}
.swg-w-punkt{display:inline-block;inline-size:0.5rem;block-size:0.5rem;border-radius:50%;background:var(--swg-color-status-success);box-shadow:0 0 0 3px var(--swg-color-status-success-surface)}
.swg-w--service .swg-w-notruf{background:var(--swg-color-surface);color:var(--swg-color-text-strong);box-shadow:inset 0 0 0 2px var(--swg-color-line-strong)}
.swg-w--service .swg-w-notruf:hover{background:var(--swg-hover-flaeche)}
.swg-w--service .swg-w-notruf small{color:var(--swg-color-status-success)}
.swg-w--notdienst .swg-w-notruf{background:var(--swg-color-brand-yellow);color:var(--swg-color-text-strong);box-shadow:var(--swg-shadow-md)}
.swg-w--notdienst .swg-w-notruf:hover{background:var(--swg-aktion-hover)}
.swg-w--notdienst .swg-w-notruf small{color:var(--swg-color-text-strong)}
.swg-w--notdienst .swg-w-notruf__icon{background:var(--swg-color-surface-darker);color:var(--swg-color-brand-yellow)}

.swg-w-status{display:flex;align-items:flex-start;gap:var(--swg-space-ms);padding:var(--swg-space-md) var(--swg-space-ml);border-inline-start:4px solid var(--swg-color-brand-yellow);border-radius:var(--swg-radius-md);background:var(--swg-hover-flaeche);color:var(--swg-color-text-strong)}
.swg-w-status p{margin:0}
.swg-w-status .swg-icon{margin-block-start:0.1em}
.swg-w-status__titel{font-weight:var(--swg-type-weight-bold)}
.swg-w--service .swg-w-status{border-color:var(--swg-color-status-success);background:var(--swg-color-status-success-surface)}
.swg-w--service .swg-w-status [data-service-text]{font-weight:var(--swg-type-weight-semibold);color:var(--swg-color-status-success)}

/* ---------- Bausteine ---------- */
.swg-w-badge{display:inline-flex;align-items:center;gap:var(--swg-space-sm);align-self:flex-start;margin:0;padding:0.375rem 0.875rem;border-radius:var(--swg-radius-pill);background:var(--swg-color-surface);border:1px solid var(--swg-color-brand-yellow);font-size:var(--swg-type-size-xs);font-weight:var(--swg-type-weight-bold);letter-spacing:var(--swg-type-tracking-caps);text-transform:uppercase;color:var(--swg-color-text-strong);box-shadow:var(--swg-shadow-sm)}
.swg-w-badge .swg-icon{color:var(--swg-color-text-strong)}
.swg-w-aktionen{display:flex;flex-wrap:wrap;gap:var(--swg-space-ms)}
.swg-w-btn{min-block-size:3.25rem;padding-inline:1.375rem;font-size:var(--swg-type-size-md)}
.swg-w-btn.swg-btn--primaer{box-shadow:var(--swg-shadow-md)}
.swg-w-zwei{display:grid;gap:var(--swg-space-xl)}
.swg-w-flaeche{background:var(--swg-color-surface-subtle)}

.swg-w-wege{display:grid;gap:var(--swg-space-sm);margin:0;padding:0;list-style:none}
.swg-w-wege li{display:flex;align-items:center;gap:var(--swg-space-sm);min-block-size:var(--swg-size-touch);overflow-wrap:break-word}
.swg-w-wege a{font-weight:var(--swg-type-weight-semibold)}

.swg-w-themen{display:flex;flex-wrap:wrap;gap:var(--swg-space-xs) var(--swg-space-lg);margin:0;padding:0;list-style:none}
.swg-w-themen li{display:flex;align-items:center;gap:var(--swg-space-sm);color:var(--swg-color-text-strong)}
.swg-w-themen li::before{content:"";flex:none;inline-size:0.45rem;block-size:0.45rem;border-radius:50%;background:var(--swg-color-brand-yellow)}

/* ---------- Hero ---------- */
.swg-w-hero{position:relative;overflow:hidden;padding-block:var(--swg-space-xl) var(--swg-space-section)}
.swg-w-hero__innen{display:grid;gap:var(--swg-space-lg);align-items:center}
.swg-w-hero__text{display:flex;flex-direction:column;gap:var(--swg-space-ml)}
.swg-w-hero h1{font-size:clamp(2.25rem, 1.5rem + 3.4vw, 4rem);line-height:1.05;letter-spacing:-0.02em}
.swg-w-hero .swg-lead{font-size:var(--swg-type-size-lg)}
.swg-w-hero__bild{max-inline-size:36rem;margin-inline:auto;inline-size:100%}
.swg-w-ill{display:block;inline-size:100%;block-size:auto;font-family:var(--swg-type-body)}

/* ---------- Notdienst ---------- */
.swg-w-notdienst{--swg-fokus:var(--swg-color-focus-inverse);padding-block:var(--swg-space-section);background:var(--swg-color-surface-darker);color:var(--swg-color-brand-anthracite-20)}
.swg-w-notdienst :is(h2,h3,h4,.swg-eyebrow){color:var(--swg-color-text-inverse)}
.swg-w-notdienst .swg-eyebrow .swg-icon{color:var(--swg-color-brand-yellow)}
.swg-w-notdienst a{color:var(--swg-color-text-inverse)}
.swg-w-notdienst__kopf{display:grid;gap:var(--swg-space-xl);align-items:center}
.swg-w-notdienst__frage{font-size:var(--swg-type-size-lg)}
.swg-w-anruf{display:inline-flex;align-items:center;gap:var(--swg-space-md);justify-self:start;padding:1rem 1.75rem 1rem 1rem;border-radius:var(--swg-radius-lg);background:var(--swg-color-brand-yellow);color:var(--swg-color-text-strong);text-decoration:none;box-shadow:0 10px 30px rgb(0 0 0 / 0.35);transition:background-color var(--swg-motion-short) ease,translate var(--swg-motion-short) ease}
.swg-w-notdienst .swg-w-anruf{color:var(--swg-color-text-strong)}
.swg-w-anruf:hover{background:var(--swg-aktion-hover);translate:0 -2px}
.swg-w-anruf .swg-icon{inline-size:3rem;block-size:3rem;padding:0.6rem;border-radius:50%;background:var(--swg-color-surface-darker);color:var(--swg-color-brand-yellow)}
.swg-w-anruf small{display:block;font-size:var(--swg-type-size-sm);font-weight:var(--swg-type-weight-semibold)}
.swg-w-anruf b{display:block;font-size:clamp(1.75rem, 1.3rem + 2vw, 2.5rem);line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}

.swg-w-rufe{display:grid;gap:var(--swg-space-md);margin:0;padding:0;list-style:none}
.swg-w-ruf{position:relative;display:flex;flex-direction:column;gap:var(--swg-space-sm);padding:var(--swg-space-lg);padding-inline-start:4.5rem;border:1px solid rgb(255 255 255 / 0.14);border-radius:var(--swg-radius-lg);background:rgb(255 255 255 / 0.05)}
.swg-w-ruf p{margin:0}
.swg-w-ruf__rang{position:absolute;inset-block-start:var(--swg-space-lg);inset-inline-start:var(--swg-space-lg);display:grid;place-items:center;inline-size:2.25rem;block-size:2.25rem;border-radius:50%;background:var(--swg-color-brand-yellow);color:var(--swg-color-text-strong);font-weight:var(--swg-type-weight-bold)}
.swg-w-ruf__fall{font-size:var(--swg-type-size-md);line-height:var(--swg-type-leading-tight)}
.swg-w-ruf__nummer{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--swg-space-sm);margin-block-start:auto!important;padding-block-start:var(--swg-space-sm)}
.swg-w-ruf__wer{flex-basis:100%;font-size:var(--swg-type-size-xs);font-weight:var(--swg-type-weight-bold);letter-spacing:var(--swg-type-tracking-caps);text-transform:uppercase;color:var(--swg-color-brand-yellow)}
.swg-w-ruf__nummer>a{display:inline-flex;align-items:center;min-block-size:var(--swg-size-touch);font-size:var(--swg-type-size-xl);font-weight:var(--swg-type-weight-bold);font-variant-numeric:tabular-nums;white-space:nowrap}
.swg-w-ruf__oder a{font-weight:var(--swg-type-weight-bold)}

/* Notfall oder nicht: zwei Spalten im Notdienst-Block */
.swg-w-vergleich{display:grid;gap:var(--swg-space-md)}
.swg-w-vergleich__seite{display:grid;gap:var(--swg-space-md);align-content:start;padding:var(--swg-space-lg);border-radius:var(--swg-radius-lg);border:1px solid rgb(255 255 255 / 0.14);background:rgb(255 255 255 / 0.05)}
.swg-w-vergleich__seite--ja{border:2px solid var(--swg-color-brand-yellow);background:rgb(255 205 0 / 0.08)}
.swg-w-vergleich__kopf{display:flex;align-items:center;gap:var(--swg-space-ms)}
.swg-w-vergleich h4{font-size:var(--swg-type-size-lg)}
.swg-w-vergleich .swg-w-vergleich__unter{font-size:var(--swg-type-size-sm);font-weight:var(--swg-type-weight-semibold);color:var(--swg-color-brand-yellow)}
.swg-w-vergleich__seite--nein .swg-w-vergleich__unter{color:var(--swg-color-brand-anthracite-20)}
.swg-w-vergleich__kopf>.swg-icon{inline-size:2.75rem;block-size:2.75rem;padding:0.6rem;border-radius:50%;background:var(--swg-color-brand-yellow);color:var(--swg-color-text-strong)}
.swg-w-vergleich__seite--nein .swg-w-vergleich__kopf>.swg-icon{background:rgb(255 255 255 / 0.12);color:var(--swg-color-text-inverse)}
.swg-w-vergleich ul{display:grid;gap:var(--swg-space-sm);margin:0;padding:0;list-style:none}
.swg-w-vergleich li{display:flex;align-items:flex-start;gap:var(--swg-space-sm);color:var(--swg-color-text-inverse)}
.swg-w-vergleich li .swg-icon{margin-block-start:0.2em;color:var(--swg-color-brand-yellow)}
.swg-w-vergleich__seite--nein li .swg-icon{color:var(--swg-color-brand-anthracite-40)}
.swg-w-vergleich p{margin:0;font-size:var(--swg-type-size-sm)}

/* ---------- Verhalten im Notfall ---------- */
.swg-w-akkordeon{display:grid;gap:var(--swg-space-ms);align-content:start}
.swg-w-details{border:1px solid var(--swg-hairline);border-radius:var(--swg-radius-lg);background:var(--swg-color-surface);box-shadow:var(--swg-shadow-sm);transition:box-shadow var(--swg-motion-short) ease}
.swg-w-details[open]{box-shadow:var(--swg-shadow-md)}
.swg-w-details summary{display:flex;align-items:center;gap:var(--swg-space-ms);min-block-size:3.5rem;padding:var(--swg-space-ms) var(--swg-space-md);cursor:pointer;list-style:none;font-weight:var(--swg-type-weight-bold);font-size:var(--swg-type-size-md);color:var(--swg-color-text-strong);border-radius:var(--swg-radius-lg)}
.swg-w-details summary::-webkit-details-marker{display:none}
.swg-w-details__titel{flex:1}
.swg-w-details summary>.swg-icon{transition:rotate var(--swg-motion-standard) var(--swg-motion-easing-standard)}
.swg-w-details[open] summary>.swg-icon{rotate:180deg}
.swg-w-details .swg-schritte{margin:0;padding:0 var(--swg-space-md) var(--swg-space-lg) var(--swg-space-md)}
.swg-w-kein-notfall{display:grid;gap:var(--swg-space-sm);margin-block-start:var(--swg-space-md);padding:var(--swg-space-lg);border-radius:var(--swg-radius-lg);background:var(--swg-hover-flaeche)}
.swg-w-kein-notfall h3{font-size:var(--swg-type-size-lg)}
.swg-w-kein-notfall p{margin:0}

/* ---------- Kontakt ---------- */
.swg-w-karten{display:grid;gap:var(--swg-space-md);margin:0;padding:0;list-style:none}
.swg-w-karte{display:flex;flex-direction:column;gap:var(--swg-space-sm);block-size:100%;padding:var(--swg-space-lg);border:1px solid var(--swg-hairline);border-radius:var(--swg-radius-lg);background:var(--swg-color-surface);box-shadow:var(--swg-shadow-sm)}
.swg-w-karte h3{font-size:var(--swg-type-size-xl)}
.swg-w-karte p{margin:0}
.swg-w-karte .swg-w-wege{margin-block-start:auto;padding-block-start:var(--swg-space-sm);border-block-start:1px solid var(--swg-hairline)}
.swg-w-karte__icon{display:inline-grid;place-items:center;inline-size:3.25rem;block-size:3.25rem;margin-block-end:var(--swg-space-xs);border-radius:var(--swg-radius-lg);background:var(--swg-color-brand-yellow);color:var(--swg-color-text-strong)}

.swg-w-panel{display:grid;gap:var(--swg-space-md);align-content:start;padding:var(--swg-space-lg);border-radius:var(--swg-radius-lg);background:var(--swg-color-surface);border:1px solid var(--swg-hairline)}
.swg-w-panel h3{font-size:var(--swg-type-size-lg)}
/* Zeiten: Karten direkt auf der Fläche, ohne zweiten Rahmen */
#oeffnungszeiten.swg-w-panel{padding:0;border:0;background:none}
#oeffnungszeiten.swg-w-panel>h3{font-size:var(--swg-type-size-xl)}
.swg-w-panel p{margin:0}

/* Zeiten: drei Kästen (Telefon, Geschäftsstelle, Notfall) */
.swg-w-zeiten{display:grid;gap:var(--swg-space-md);margin:0;padding:0;list-style:none}
.swg-w-zeit{display:flex;flex-direction:column;gap:var(--swg-space-md);padding:var(--swg-space-lg);border:1px solid var(--swg-hairline);border-radius:var(--swg-radius-lg);background:var(--swg-color-surface);box-shadow:var(--swg-shadow-sm);color:var(--swg-color-text-strong)}
.swg-w-zeit p{margin:0}
.swg-w-zeit__kopf{display:flex;align-items:center;gap:var(--swg-space-ms)}
.swg-w-zeit__kopf .swg-w-mini{inline-size:3rem;block-size:3rem}
.swg-w-zeit h4{font-size:var(--swg-type-size-lg);line-height:1.2}
.swg-w-zeit__unter{font-size:var(--swg-type-size-sm);color:var(--swg-color-text)}
/* Status-Pille: grün = offen, grau = geschlossen bzw. nur mit Termin; Text trägt die Aussage (nicht nur die Farbe) */
.swg-w-zeit__status{display:inline-flex;align-items:center;gap:0.5rem;align-self:flex-start;padding:0.3rem 0.75rem;border-radius:var(--swg-radius-pill);background:var(--swg-color-surface-subtle);font-size:var(--swg-type-size-sm);font-weight:var(--swg-type-weight-semibold);line-height:1.3;color:var(--swg-color-text-strong)}
.swg-w-zeit__status::before{content:"";flex:none;inline-size:0.5rem;block-size:0.5rem;border-radius:50%;background:var(--swg-color-brand-anthracite-60)}
.swg-w-zeit__status--offen{background:var(--swg-color-status-success-surface);color:var(--swg-color-status-success)}
.swg-w-zeit__status--offen::before{background:var(--swg-color-status-success)}
/* Zeitentabelle */
.swg-w-zeitliste{display:grid;margin:0}
.swg-w-zeitliste>div{display:grid;grid-template-columns:minmax(0, 1fr) auto;align-items:baseline;gap:var(--swg-space-md);padding:0.625rem var(--swg-space-sm);border-block-start:1px solid var(--swg-hairline)}
.swg-w-zeitliste>div:last-child{border-block-end:1px solid var(--swg-hairline)}
.swg-w-zeitliste dt{font-weight:var(--swg-type-weight-regular)}
.swg-w-zeitliste dd{margin:0;text-align:end;font-weight:var(--swg-type-weight-bold);font-variant-numeric:tabular-nums;white-space:nowrap}
.swg-w-zeitliste__leise :is(dt,dd){color:var(--swg-color-text);font-weight:var(--swg-type-weight-regular)}
.swg-w-zeitliste__heute{border-radius:var(--swg-radius-md);background:var(--swg-hover-flaeche);border-color:transparent!important}
.swg-w-zeitliste__heute+div{border-block-start-color:transparent}
.swg-w-zeitliste__heute dt::after{content:"Heute";margin-inline-start:var(--swg-space-sm);padding:0.05rem 0.45rem;border-radius:var(--swg-radius-pill);background:var(--swg-color-brand-yellow);font-size:var(--swg-type-size-xs);font-weight:var(--swg-type-weight-bold);color:var(--swg-color-text-strong);vertical-align:0.1em}
.swg-w-zeit__fuss{display:flex;align-items:center;gap:var(--swg-space-sm);margin-block-start:auto!important;font-size:var(--swg-type-size-sm)}
.swg-w-zeit__fuss a{font-size:var(--swg-type-size-lg);font-weight:var(--swg-type-weight-bold);font-variant-numeric:tabular-nums;white-space:nowrap}
.swg-w-zeit__fuss .swg-icon{color:var(--swg-color-text-strong)}
/* Notdienst: dunkle Karte */
.swg-w-zeit--notfall{--swg-fokus:var(--swg-color-focus-inverse);--swg-hairline:rgb(255 255 255 / 0.16);border-color:transparent;background:var(--swg-color-surface-darker);color:var(--swg-color-text-inverse)}
.swg-w-zeit--notfall :is(h4,a,dt,dd,.swg-icon){color:var(--swg-color-text-inverse)}
.swg-w-zeit--notfall .swg-w-zeit__unter{color:var(--swg-color-brand-anthracite-20)}
.swg-w-zeit--notfall .swg-w-zeitliste__heute{background:rgb(255 255 255 / 0.08)}
.swg-w-zeit--notfall .swg-w-zeitliste__heute dt::after{content:none}
.swg-w-zeit--notfall .swg-w-zeit__status--offen{background:rgb(255 255 255 / 0.1);color:var(--swg-color-brand-yellow)}
.swg-w-zeit--notfall .swg-w-zeit__status--offen::before{background:var(--swg-color-brand-yellow)}

.swg-w-status__klein{font-size:var(--swg-type-size-sm);color:var(--swg-color-text)}
.swg-w-extern{display:inline-flex;align-items:center;gap:var(--swg-space-sm);min-block-size:var(--swg-size-touch);font-weight:var(--swg-type-weight-semibold);text-underline-offset:0.25em}
.swg-w-extern .swg-icon:last-of-type{opacity:0.7}

/* ---------- Baugrundstücke ---------- */
.swg-w-feature{display:grid;overflow:hidden;border-radius:var(--swg-radius-lg);background:var(--swg-color-surface);border:1px solid var(--swg-hairline);box-shadow:var(--swg-shadow-md)}
.swg-w-feature__bild{position:relative;min-block-size:15rem}
.swg-w-feature__svg{position:absolute;inset:0;display:block;inline-size:100%;block-size:100%;font-family:var(--swg-type-body)}
.swg-w-feature__text{padding:var(--swg-space-xl) var(--swg-space-lg)}
.swg-w-feature__text h2{font-size:var(--swg-type-size-2xl)}
.swg-w-feature__text p{margin:0}

/* ---------- Über die SWG ---------- */
.swg-w-zahlen{padding-block:var(--swg-space-section);background:var(--swg-color-brand-yellow);color:var(--swg-color-text-strong)}
.swg-w-zahlen p{margin:0}
.swg-w-zahlen__liste{display:grid;gap:var(--swg-space-md);margin:0;align-content:center}
.swg-w-zahlen__liste>div{display:flex;flex-direction:column-reverse;padding:var(--swg-space-md) var(--swg-space-lg);border-radius:var(--swg-radius-lg);background:rgb(255 255 255 / 0.55)}
.swg-w-zahlen__liste dt{font-weight:var(--swg-type-weight-semibold)}
.swg-w-zahlen__liste dd{margin:0;font-size:clamp(2rem, 1.5rem + 2vw, 3rem);font-weight:var(--swg-type-weight-bold);line-height:1.1;letter-spacing:-0.02em;font-variant-numeric:tabular-nums}

/* ---------- Fuß ---------- */
.swg-w-fuss{--swg-fokus:var(--swg-color-focus-inverse);padding-block:var(--swg-space-2xl) var(--swg-space-lg);background:var(--swg-color-surface-darkest);color:var(--swg-color-brand-anthracite-20);font-size:var(--swg-type-size-sm)}
.swg-w-fuss a{color:var(--swg-color-text-inverse)}
.swg-w-fuss__raster{display:grid;gap:var(--swg-space-lg)}
.swg-w-fuss__marke{display:flex;align-items:center;gap:var(--swg-space-ms)}
.swg-w-fuss__marke p{margin:0;font-weight:var(--swg-type-weight-semibold);color:var(--swg-color-text-inverse)}
.swg-w-fuss address{font-style:normal}
.swg-w-fuss__wege{display:grid;gap:var(--swg-space-xs);margin:0;padding:0;list-style:none}
.swg-w-fuss__wege li{display:flex;align-items:center;gap:var(--swg-space-sm);min-block-size:var(--swg-size-touch)}
.swg-w-fuss__wege .swg-icon{color:var(--swg-color-brand-yellow)}
.swg-w-fuss__unten{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--swg-space-sm) var(--swg-space-lg);margin-block-start:var(--swg-space-xl);padding-block-start:var(--swg-space-md);border-block-start:1px solid rgb(255 255 255 / 0.15)}
.swg-w-fuss__unten ul{display:flex;flex-wrap:wrap;gap:0 var(--swg-space-md);margin:0;padding:0;list-style:none}
.swg-w-fuss__unten li a{display:inline-flex;align-items:center;min-block-size:var(--swg-size-touch)}
.swg-w-fuss__unten p{margin:0}

/* ---------- Breiten ---------- */
@media (min-width:30em){
  .swg-w-kopf .swg-kopf__claim{display:block}
}
@media (min-width:48em){
  .swg-w-vergleich{grid-template-columns:minmax(0, 1.15fr) minmax(0, 1fr)}
  .swg-w-zahlen__liste{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .swg-w-wegekarten{grid-template-columns:repeat(3, minmax(0, 1fr))}
  .swg-w-feature{grid-template-columns:minmax(0, 5fr) minmax(0, 6fr)}
  .swg-w-feature__text{padding:var(--swg-space-2xl)}
  .swg-w-fuss__raster{grid-template-columns:1.2fr 1fr 1fr;align-items:start}
}
@media (min-width:64em){
  .swg-w-karten,.swg-w-zeiten,.swg-w-rufe{grid-template-columns:repeat(3, minmax(0, 1fr))}
  .swg-w-recht{grid-template-columns:minmax(0, 1fr) 20rem;align-items:start}
  .swg-w-hilfe{position:sticky;inset-block-start:6rem}
  .swg-w-hero{padding-block:var(--swg-space-2xl) var(--swg-space-3xl)}
  .swg-w-hero__innen{grid-template-columns:minmax(0, 1fr) minmax(0, 1.05fr);gap:var(--swg-space-2xl)}
  .swg-w-notdienst__kopf{grid-template-columns:minmax(0, 1fr) auto;gap:var(--swg-space-2xl)}
  .swg-w-zwei{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);gap:var(--swg-space-2xl)}
  .swg-w-zahlen .swg-w-zwei{grid-template-columns:minmax(0, 1fr) minmax(0, 1.1fr);align-items:center}
  .swg-w-zahlen__liste{grid-template-columns:repeat(2, minmax(0, 1fr))}
}

/* ---------- Bewegung (nur ohne reduzierte Bewegung) ---------- */
@media (prefers-reduced-motion:no-preference){
  /* alle Bewegungen enden nach höchstens 5 Sekunden (WCAG 2.2.2) */
  .swg-w-ill__last{transform-box:fill-box;transform-origin:50% 0;animation:swg-w-pendel 2.5s ease-in-out 2 alternate}
  body:not(.swg-w--service) .swg-w-notruf__icon::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--swg-color-brand-yellow);animation:swg-w-puls 2.4s ease-out 2 both}
  .swg-w-hero__text>*{animation:swg-w-auf var(--swg-motion-long) var(--swg-motion-easing-standard) both}
  .swg-w-hero__text>:nth-child(2){animation-delay:60ms}
  .swg-w-hero__text>:nth-child(3){animation-delay:120ms}
  .swg-w-hero__text>:nth-child(n+4){animation-delay:180ms}
  .swg-w-hero__bild{animation:swg-w-auf 700ms var(--swg-motion-easing-standard) 120ms both}
}
@keyframes swg-w-pendel{from{rotate:-2.5deg}to{rotate:2.5deg}}
@keyframes swg-w-puls{from{scale:1;opacity:0.9}to{scale:1.7;opacity:0}}
@keyframes swg-w-auf{from{opacity:0;translate:0 14px}}

/* ---------- Visuelle Aufwertung ---------- */
/* Kleine Illustrationen */
.swg-w-mini{display:block;flex:none;inline-size:3.5rem;block-size:3.5rem}
.swg-w-details summary .swg-w-mini{inline-size:2.75rem;block-size:2.75rem}

/* Hauswart als Wegweiser */
.swg-w-mit-figur{position:relative;padding-inline-end:clamp(5.5rem, 22%, 8rem)}
.swg-w-wegweiser{position:absolute;inset-block-end:0;inset-inline-end:var(--swg-space-md);inline-size:clamp(4.5rem, 18%, 6.5rem);block-size:auto}

/* Nachtszene unten im Notdienst-Block */
.swg-w-notdienst{padding-block-end:0}
.swg-w-nacht{margin-block-start:var(--swg-space-2xl);line-height:0}
/* volle Breite (viewBox 2400), feste Höhe ohne Beschnitt oben; Hauswart und Mond in der Mitte. Unten Platz für die Welle */
.swg-w-nacht{padding-block-end:clamp(1.25rem, 3.5vw, 3rem)}
.swg-w-nacht svg{display:block;inline-size:100%;block-size:clamp(8rem, 14vw, 13rem)}

/* Weiche Kanten zwischen Abschnitten (Maske aus eigener Datei; CSP img-src 'self') */
.swg-w-kante{position:relative}
.swg-w-kante::after{content:"";position:absolute;inset-inline:0;inset-block-end:-1px;z-index:1;block-size:clamp(1.25rem, 3.5vw, 3rem);background:var(--swg-w-kante);-webkit-mask:url("../img/welle-1.svg?v=92531381aa") center / 100% 100% no-repeat;mask:url("../img/welle-1.svg?v=92531381aa") center / 100% 100% no-repeat;pointer-events:none}
.swg-w-kante--grau{--swg-w-kante:var(--swg-color-surface-subtle)}
.swg-w-kante--dunkel{--swg-w-kante:var(--swg-color-surface-darker)}
.swg-w-kante--weiss{--swg-w-kante:var(--swg-color-surface)}
.swg-w-kante--gelb{--swg-w-kante:var(--swg-color-brand-yellow)}
.swg-w-kante--fuss{--swg-w-kante:var(--swg-color-surface-darkest)}

/* Hausmuster (angelehnt an das SWG-Muster) in Hero und Fuß */
.swg-w-hero::before{content:"";position:absolute;inset:0;background:url("../img/muster-1.svg?v=9779cce2d8") 0 0 / 64px 64px;opacity:0.06;-webkit-mask:linear-gradient(110deg, transparent 35%, #000 75%);mask:linear-gradient(110deg, transparent 35%, #000 75%);pointer-events:none}
.swg-w-hero__innen{position:relative}
.swg-w-fuss{position:relative}
.swg-w-fuss::before{content:"";position:absolute;inset:0;background:url("../img/muster-hell-1.svg?v=5879c80c24") 0 0 / 64px 64px;opacity:0.03;pointer-events:none}
.swg-w-fuss>.swg-container{position:relative}

/* Zahlen mit Icons */
.swg-w-zahlen__liste dd .swg-icon{display:block;margin-block-end:var(--swg-space-sm);inline-size:2.25rem;block-size:2.25rem;stroke-width:1.6}


/* Mobil: feste Leiste unten */
body{padding-block-end:calc(4.5rem + env(safe-area-inset-bottom, 0px))}
.swg-w-leiste{position:fixed;inset-inline:0;inset-block-end:0;z-index:var(--swg-z-overlay);display:grid;grid-template-columns:minmax(0, 1.5fr) minmax(0, 1fr);gap:var(--swg-space-sm);--swg-fokus:var(--swg-color-focus-inverse);padding:var(--swg-space-sm) var(--swg-space-gutter) calc(var(--swg-space-sm) + env(safe-area-inset-bottom, 0px));background:var(--swg-color-surface-darker);border-block-start:1px solid transparent;box-shadow:0 -6px 20px rgb(51 51 53 / 0.12)}
.swg-w-leiste a{display:inline-flex;align-items:center;justify-content:center;gap:var(--swg-space-sm);min-block-size:3rem;border-radius:var(--swg-radius-md);font-weight:var(--swg-type-weight-bold);text-decoration:none}
.swg-w-leiste__anruf{background:var(--swg-color-brand-yellow);color:var(--swg-color-text-strong)}
.swg-w-leiste__mail{border:2px solid var(--swg-color-line-strong);color:var(--swg-color-text-strong);background:var(--swg-color-surface)}
/* ohne Skript und außerhalb der Servicezeit dunkel mit gelbem Notdienst-Knopf; in der Servicezeit hell */
.swg-w--service .swg-w-leiste{--swg-fokus:var(--swg-color-focus);background:rgb(255 255 255 / 0.97);border-color:var(--swg-hairline)}

@media (min-width:64em){
  .swg-w-leiste{display:none}
  body{padding-block-end:0}
}
@media (max-width:63.99em){
  .swg-w-hero .swg-w-aktionen{display:none}
}
@media (max-width:47.99em){
  .swg-w-hero__bild{max-inline-size:20rem}
  .swg-w-panel:not(#oeffnungszeiten),.swg-w-zeit{padding:var(--swg-space-md)}
}
@media (min-width:48em){
  .swg-w-zahlen__liste dd .swg-icon{inline-size:2.75rem;block-size:2.75rem}
}

/* Bewegung beim Scrollen (nur CSS; nur ohne reduzierte Bewegung und nur wo unterstützt) */
@media (prefers-reduced-motion:no-preference){
  @supports (animation-timeline:view()){
    .swg-w-karte,.swg-w-zeit,.swg-w-details,.swg-w-feature,.swg-w-zahlen__liste>div,.swg-w-kein-notfall{animation:swg-w-scroll linear both;animation-timeline:view();animation-range:entry 0% cover 18%}
  }
}
@keyframes swg-w-scroll{from{opacity:0.3;transform:translateY(16px)}to{opacity:1;transform:none}}

/* ---------- Unterseiten (Rechtstexte, Fehlerseiten) ---------- */
.swg-w-seitenkopf{padding-block:var(--swg-space-sm) var(--swg-space-2xl)}
.swg-w-seitenkopf .swg-pfad{border:0}
.swg-w-seitenkopf h1{max-inline-size:var(--swg-width-text)}
.swg-w-recht{display:grid;gap:var(--swg-space-2xl)}
.swg-w-recht .swg-text>section+section{padding-block-start:var(--swg-space-lg);border-block-start:1px solid var(--swg-hairline)}
.swg-w-hilfe{display:grid;gap:var(--swg-space-md);align-content:start;padding:var(--swg-space-lg);border-radius:var(--swg-radius-lg);background:var(--swg-color-surface-subtle)}
.swg-w-hilfe p{margin:0}
.swg-w-wegekarten{display:grid;gap:var(--swg-space-md);margin:0;padding:0;list-style:none}
