/*!
 * SWG Nordhausen – Design-System (Variante F „Branchenstandard“, ADR-004)
 * Status: Entwurf (draft). Werte aus design/tokens.json, Komponenten aus design/components.json,
 * Bewegung aus design/motion.json, Icons aus design/icons.json (Sprite: ../img/icons.svg).
 * Nicht von Hand von den Tokens abweichen: neue Werte zuerst in tokens.json eintragen.
 * Moderne Technik (Container Queries, :has(), @starting-style, Scroll-Timeline, Anchor Positioning,
 * color-mix, field-sizing) nur als Verbesserung; jede Regel hat einen gut aussehenden Fallback.
 * data-zustand="…" dient nur der Musterseite (erzwungene Zustände für die Abnahme).
 */

/* ---------- 1. Schrift: Open Sans, selbst gehostet (SIL OFL 1.1, ../fonts/OFL.txt) ---------- */
@font-face{font-family:"Open Sans";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/open-sans-latin-400-normal.woff2?v=0e44026ad3") format("woff2");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:"Open Sans";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/open-sans-latin-600-normal.woff2?v=a97a6ed7ef") format("woff2");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:"Open Sans";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/open-sans-latin-700-normal.woff2?v=594a622208") format("woff2");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}
/* Metrisch angepasster Ersatz, damit der Schriftwechsel kaum verschiebt */
@font-face{font-family:"Open Sans Ersatz";src:local("Arial"),local("Helvetica"),local("Liberation Sans");size-adjust:105.4%;ascent-override:101.4%;descent-override:27.8%;line-gap-override:0%}

/* ---------- 2. Tokens ---------- */
:root{
  --swg-color-brand-yellow:#ffcd00;
  --swg-color-brand-yellow-80:#ffd733;
  --swg-color-brand-yellow-60:#ffe166;
  --swg-color-brand-yellow-40:#ffeb99;
  --swg-color-brand-yellow-20:#fff5cc;
  --swg-color-brand-anthracite:#58585a;
  --swg-color-brand-anthracite-80:#79797b;
  --swg-color-brand-anthracite-60:#9b9b9c;
  --swg-color-brand-anthracite-40:#bcbcbd;
  --swg-color-brand-anthracite-20:#dededf;
  --swg-color-brand-anthracite-dark:#333335;

  --swg-color-text:#58585a;
  --swg-color-text-strong:#333335;
  --swg-color-text-inverse:#ffffff;
  --swg-color-text-on-yellow:#333335;
  --swg-color-surface:#ffffff;
  --swg-color-surface-subtle:#f5f5f5;
  --swg-color-surface-yellow:#fff5cc;
  --swg-color-surface-yellow-strong:#ffcd00;
  --swg-color-surface-dark:#58585a;
  --swg-color-surface-darker:#333335;
  --swg-color-surface-darkest:#262628;
  --swg-color-surface-placeholder:#dededf;
  --swg-color-line:#dededf;
  --swg-color-line-input:#79797b;
  --swg-color-line-strong:#58585a;
  --swg-color-line-accent:#ffcd00;
  --swg-color-action:#ffcd00;
  --swg-color-action-hover:#f0c200;
  --swg-color-action-text:#333335;
  --swg-color-focus:#333335;
  --swg-color-focus-inverse:#ffcd00;
  --swg-color-status-error:#b42318;
  --swg-color-status-error-surface:#fdecea;
  --swg-color-status-success:#1d7340;
  --swg-color-status-success-surface:#e8f4ec;
  --swg-color-status-warning:#333335;
  --swg-color-status-warning-surface:#fff5cc;
  --swg-color-status-info:#58585a;
  --swg-color-status-info-surface:#f5f5f5;
  --swg-color-status-live:#ffcd00;

  --swg-type-body:"Open Sans","Open Sans Ersatz",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --swg-type-weight-regular:400;
  --swg-type-weight-semibold:600;
  --swg-type-weight-bold:700;
  --swg-type-size-xs:0.8125rem;
  --swg-type-size-sm:0.875rem;
  --swg-type-size-base:1rem;
  --swg-type-size-md:clamp(1.0625rem, 1rem + 0.25vw, 1.125rem);
  --swg-type-size-lg:clamp(1.1875rem, 1.05rem + 0.6vw, 1.333rem);
  --swg-type-size-xl:clamp(1.375rem, 1.15rem + 1vw, 1.777rem);
  --swg-type-size-2xl:clamp(1.625rem, 1.25rem + 1.6vw, 2.369rem);
  --swg-type-size-3xl:clamp(2rem, 1.4rem + 2.4vw, 3rem);
  --swg-type-leading-body:1.5;
  --swg-type-leading-heading:1.15;
  --swg-type-leading-tight:1.3;
  --swg-type-tracking-heading:-0.01em;
  --swg-type-tracking-caps:0.06em;

  --swg-space-xs:0.25rem;
  --swg-space-sm:0.5rem;
  --swg-space-ms:0.75rem;
  --swg-space-md:1rem;
  --swg-space-ml:1.25rem;
  --swg-space-lg:1.5rem;
  --swg-space-xl:2rem;
  --swg-space-2xl:3rem;
  --swg-space-3xl:4rem;
  --swg-space-section:clamp(3rem, 2rem + 3vw, 5rem);
  --swg-space-gutter:1.25rem;
  --swg-space-hero-overlap:clamp(-6rem, -8vw, -3rem);

  --swg-radius-sm:4px;
  --swg-radius-md:8px;
  --swg-radius-lg:12px;
  --swg-radius-pill:999px;

  --swg-shadow-sm:0 1px 2px rgb(51 51 53 / 0.06), 0 2px 8px rgb(51 51 53 / 0.08);
  --swg-shadow-md:0 2px 4px rgb(51 51 53 / 0.06), 0 10px 24px rgb(51 51 53 / 0.16);
  --swg-shadow-lg:0 4px 8px rgb(51 51 53 / 0.08), 0 16px 40px rgb(51 51 53 / 0.22);

  --swg-width-text:42rem;
  --swg-width-medium:56rem;
  --swg-width-wide:75rem;
  --swg-width-full:100%;
  --swg-size-touch:44px;
  --swg-size-icon-sm:18px;
  --swg-size-icon-md:24px;
  --swg-size-icon-lg:32px;
  --swg-size-logo-min:30px;
  --swg-z-sticky:20;
  --swg-z-overlay:50;

  --swg-motion-short:160ms;
  --swg-motion-standard:240ms;
  --swg-motion-long:480ms;
  --swg-motion-reduced:0ms;
  --swg-motion-easing-standard:cubic-bezier(0.2, 0, 0, 1);
  --swg-motion-easing-linear:linear;
  --swg-motion-scroll-range:entry 0% entry 35%;
  --swg-motion-lift:-2px;
  --swg-motion-appear-offset:16px;

  /* Kontextwerte: dunkle Flächen setzen sie um */
  --swg-fokus:var(--swg-color-focus);
  --swg-hairline:var(--swg-color-line);
  --swg-hover-flaeche:var(--swg-color-brand-yellow-20);
  --swg-aktion-hover:var(--swg-color-action-hover);
}
/* color-mix: Abstufungen aus den Markenfarben ableiten (Fallback: Hexwerte oben) */
@supports (color:color-mix(in oklch, red, white)){
  :root{
    --swg-hairline:color-mix(in oklch, var(--swg-color-brand-anthracite) 15%, white);
    --swg-hover-flaeche:color-mix(in srgb, var(--swg-color-brand-yellow) 20%, white);
    --swg-aktion-hover:color-mix(in oklch, var(--swg-color-brand-yellow) 90%, var(--swg-color-brand-anthracite));
  }
}

/* ---------- 3. Basis ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-block:6rem;color-scheme:light}
body{margin:0;font-family:var(--swg-type-body);font-size:var(--swg-type-size-base);line-height:var(--swg-type-leading-body);color:var(--swg-color-text);background:var(--swg-color-surface);-webkit-font-smoothing:antialiased;overflow-x:clip}
h1,h2,h3,h4{margin:0;color:var(--swg-color-text-strong);font-weight:var(--swg-type-weight-bold);line-height:var(--swg-type-leading-heading);text-wrap:balance}
h1,.swg-h1{font-size:var(--swg-type-size-3xl);letter-spacing:var(--swg-type-tracking-heading)}
h2,.swg-h2{font-size:var(--swg-type-size-2xl);letter-spacing:var(--swg-type-tracking-heading)}
h3,.swg-h3{font-size:var(--swg-type-size-lg);line-height:var(--swg-type-leading-tight)}
h4,.swg-h4{font-size:var(--swg-type-size-md);line-height:var(--swg-type-leading-tight)}
.swg-h1,.swg-h2,.swg-h3,.swg-h4{margin:0;color:var(--swg-color-text-strong);font-weight:var(--swg-type-weight-bold);text-wrap:balance}
p,ul,ol,dl,figure,blockquote{margin:0}
p,li,dd{text-wrap:pretty}
img,svg,video{display:block;max-width:100%}
img{height:auto}
strong,b{font-weight:var(--swg-type-weight-bold);color:var(--swg-color-text-strong)}
a{color:var(--swg-color-text-strong);text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:0.18em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--swg-fokus);outline-offset:2px}
[data-zustand="fokus"]{outline:3px solid var(--swg-fokus);outline-offset:2px}
::selection{background:var(--swg-color-brand-yellow-60);color:var(--swg-color-text-strong)}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
table{border-collapse:collapse}
[hidden]{display:none!important}

/* ---------- 4. Hilfsklassen und Layout ---------- */
.swg-sr-only{position:absolute!important;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.swg-skip{position:absolute;inset-block-start:-100px;inset-inline-start:var(--swg-space-ms);z-index:var(--swg-z-overlay);padding:var(--swg-space-ms) var(--swg-space-ml);background:var(--swg-color-action);color:var(--swg-color-action-text);font-weight:var(--swg-type-weight-bold);border-radius:var(--swg-radius-md);text-decoration:none}
.swg-skip:focus{inset-block-start:var(--swg-space-ms)}
.swg-container{width:min(100% - 2 * var(--swg-space-gutter), var(--swg-width-wide));margin-inline:auto}
.swg-container--medium{width:min(100% - 2 * var(--swg-space-gutter), var(--swg-width-medium))}
.swg-text{max-width:var(--swg-width-text)}
.swg-abschnitt{padding-block:var(--swg-space-section)}
.swg-abschnitt--gelb{background:var(--swg-hover-flaeche)}
.swg-abschnitt--grau{background:var(--swg-color-surface-subtle)}
.swg-abschnitt--linie{border-block-start:1px solid var(--swg-hairline)}
.swg-abschnitt__kopf{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--swg-space-sm) var(--swg-space-lg);margin-block-end:var(--swg-space-lg)}
.swg-stack{display:flex;flex-direction:column;gap:var(--swg-stack, var(--swg-space-md))}
.swg-stack--eng{--swg-stack:var(--swg-space-sm)}
.swg-stack--weit{--swg-stack:var(--swg-space-xl)}
.swg-cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--swg-space-sm) var(--swg-space-md)}
ul.swg-cluster{list-style:none;padding:0}
.swg-nowrap{white-space:nowrap}
.swg-raster{display:grid;gap:var(--swg-space-lg);grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--swg-raster-min, 17rem)), 1fr));padding:0;list-style:none}
.swg-raster--eng{gap:var(--swg-space-md)}
.swg-raster--kacheln{--swg-raster-min:9.5rem;gap:var(--swg-space-ms)}
.swg-raster--breit{--swg-raster-min:20rem}
.swg-raster--5{--swg-raster-min:11rem;gap:var(--swg-space-md)}
.swg-raster>*,.swg-cq{container-type:inline-size}
.swg-dunkel{--swg-fokus:var(--swg-color-focus-inverse);--swg-hairline:rgb(255 255 255 / 0.2);background:var(--swg-color-surface-dark);color:var(--swg-color-text-inverse)}
.swg-dunkel :is(h1,h2,h3,h4,.swg-h1,.swg-h2,.swg-h3,.swg-h4,strong,a){color:var(--swg-color-text-inverse)}
.swg-lead{font-size:var(--swg-type-size-md);max-width:var(--swg-width-text)}
.swg-meta{font-size:var(--swg-type-size-sm)}
.swg-eyebrow{display:inline-flex;align-items:center;gap:var(--swg-space-sm);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)}
.swg-num{font-variant-numeric:tabular-nums}
/* Gelbe Markierung unter Überschriften (Textmarker aus den Publikationen seit 2023) */
.swg-mark{background:linear-gradient(to top, var(--swg-color-brand-yellow-40) 0.32em, transparent 0.32em);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-inline:0.05em}
.swg-liste{padding-inline-start:1.25rem;display:grid;gap:var(--swg-space-xs)}
.swg-liste-haken{list-style:none;padding:0;display:grid;gap:var(--swg-space-sm)}
.swg-liste-haken li{display:flex;gap:var(--swg-space-sm);align-items:flex-start}
.swg-liste-haken .swg-icon{margin-block-start:0.15em;padding:3px;inline-size:1.375rem;block-size:1.375rem;border-radius:50%;background:var(--swg-color-surface);color:var(--swg-color-text-strong)}

/* ---------- 5. Icons (Sprite ../img/icons.svg) ---------- */
.swg-icon{inline-size:var(--swg-size-icon-sm);block-size:var(--swg-size-icon-sm);flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.swg-icon--md{inline-size:var(--swg-size-icon-md);block-size:var(--swg-size-icon-md)}
.swg-icon--lg{inline-size:var(--swg-size-icon-lg);block-size:var(--swg-size-icon-lg)}
.swg-icon-flaeche{display:inline-grid;place-items:center;inline-size:2.75rem;block-size:2.75rem;flex:none;border-radius:var(--swg-radius-md);background:var(--swg-hover-flaeche);color:var(--swg-color-text-strong)}

/* ---------- 6. Medien und Platzhalter ---------- */
.swg-medium{position:relative;overflow:hidden;aspect-ratio:var(--swg-ratio, 3 / 2);background:var(--swg-color-surface-placeholder);border-radius:inherit}
.swg-medium>img{inline-size:100%;block-size:100%;object-fit:cover;color:var(--swg-color-text-strong);font-size:var(--swg-type-size-sm)}
.swg-medium--quer{--swg-ratio:16 / 9}
.swg-medium--quadrat{--swg-ratio:1}
.swg-platzhalter{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--swg-space-sm);block-size:100%;min-block-size:6rem;padding:var(--swg-space-md);text-align:center;color:var(--swg-color-text-strong);font-size:var(--swg-type-size-sm);background:var(--swg-color-surface-placeholder)}
.swg-platzhalter--rahmen{border:2px dashed var(--swg-color-brand-anthracite-40);border-radius:var(--swg-radius-md);background:var(--swg-color-surface-subtle)}
.swg-platzhalter small{font-size:var(--swg-type-size-xs)}

/* ---------- 7. Badges und Chips ---------- */
.swg-badge{display:inline-flex;align-items:center;gap:0.375rem;min-block-size:1.75rem;padding:0.125rem 0.625rem;border-radius:var(--swg-radius-pill);font-size:var(--swg-type-size-xs);font-weight:var(--swg-type-weight-bold);line-height:1.2;color:var(--swg-color-text-strong);background:var(--swg-color-surface);border:1px solid var(--swg-color-brand-anthracite-40);white-space:nowrap}
.swg-badge--gelb{background:var(--swg-hover-flaeche);border-color:transparent}
.swg-badge--neu{background:var(--swg-color-brand-yellow);border-color:transparent}
.swg-badge--dunkel{background:var(--swg-color-surface-darker);color:var(--swg-color-text-inverse);border-color:transparent}
.swg-badge--live::before,.swg-badge--neu::before{content:"";inline-size:0.5rem;block-size:0.5rem;border-radius:50%;background:var(--swg-color-text-strong)}
.swg-badge--live{background:var(--swg-hover-flaeche);border-color:transparent}
.swg-badge--live::before{background:var(--swg-color-status-live);box-shadow:0 0 0 2px var(--swg-color-text-strong)}
.swg-merkmale{display:flex;flex-wrap:wrap;gap:var(--swg-space-sm);padding:0;list-style:none}
.swg-merkmale li{display:inline-flex;align-items:center;gap:0.375rem;min-block-size:2.25rem;padding:0.25rem 0.875rem;border:1px solid var(--swg-hairline);border-radius:var(--swg-radius-pill);font-size:var(--swg-type-size-sm);font-weight:var(--swg-type-weight-semibold);color:var(--swg-color-text-strong)}

/* ---------- 8. CMP-BUTTON ---------- */
.swg-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--swg-space-sm);min-block-size:var(--swg-size-touch);min-inline-size:var(--swg-size-touch);padding:0.5rem 1.125rem;border:2px solid transparent;border-radius:var(--swg-radius-md);font-weight:var(--swg-type-weight-bold);font-size:var(--swg-type-size-base);line-height:1.25;text-align:center;text-decoration:none;color:var(--swg-color-text-strong);background:transparent;transition:background-color var(--swg-motion-short) ease,border-color var(--swg-motion-short) ease,color var(--swg-motion-short) ease,box-shadow var(--swg-motion-short) ease}
.swg-btn:hover{text-decoration:none}
.swg-btn--primaer{background:var(--swg-color-action);color:var(--swg-color-action-text)}
.swg-btn--primaer:is(:hover,[data-zustand="hover"]){background:var(--swg-aktion-hover)}
.swg-btn--primaer:active{box-shadow:inset 0 2px 0 rgb(51 51 53 / 0.2)}
.swg-btn--sekundaer{background:var(--swg-color-surface);border-color:var(--swg-color-line-strong)}
.swg-btn--sekundaer:is(:hover,[data-zustand="hover"]){background:var(--swg-hover-flaeche);border-color:var(--swg-color-text-strong)}
.swg-btn--tertiaer{padding-inline:var(--swg-space-sm);justify-content:flex-start;text-align:start}
.swg-btn--tertiaer:is(:hover,[data-zustand="hover"]){text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:0.25em}
.swg-btn--tertiaer .swg-icon:last-child{transition:translate var(--swg-motion-short) ease}
.swg-btn--tertiaer:hover .swg-icon:last-child{translate:3px 0}
.swg-btn--invers{color:var(--swg-color-text-inverse);border-color:var(--swg-color-text-inverse)}
.swg-btn--invers:is(:hover,[data-zustand="hover"]){background:rgb(255 255 255 / 0.12)}
.swg-btn--icon{padding:0.5rem}
.swg-btn--block{display:flex;inline-size:100%}
.swg-btn--anruf{flex-direction:row;gap:var(--swg-space-ms);padding:0.75rem 1.5rem;background:var(--swg-color-surface-darker);color:var(--swg-color-text-inverse);text-align:start;box-shadow:var(--swg-shadow-md)}
.swg-btn--anruf .swg-icon{color:var(--swg-color-brand-yellow)}
.swg-btn--anruf small{display:block;font-size:var(--swg-type-size-sm);font-weight:var(--swg-type-weight-semibold)}
.swg-btn--anruf b{display:block;font-size:var(--swg-type-size-2xl);color:inherit;font-variant-numeric:tabular-nums;line-height:1.1;white-space:nowrap}
.swg-btn--anruf:is(:hover,[data-zustand="hover"]){background:var(--swg-color-surface-darkest)}
.swg-btn:is(:disabled,[aria-disabled="true"]){background:var(--swg-color-surface-placeholder);border-color:transparent;color:var(--swg-color-text);cursor:not-allowed;box-shadow:none}
.swg-btn[aria-busy="true"]{cursor:progress}
.swg-btn[aria-busy="true"]::before{content:"";inline-size:1rem;block-size:1rem;border-radius:50%;border:2px solid currentColor;border-inline-end-color:transparent}

/* ---------- 9. CMP-NOTDIENST-LEISTE ---------- */
.swg-notdienstleiste{--swg-fokus:var(--swg-color-focus-inverse);position:sticky;inset-block-start:0;z-index:var(--swg-z-sticky);background:var(--swg-color-surface-darker);color:var(--swg-color-text-inverse);font-size:var(--swg-type-size-sm)}
@supports ((backdrop-filter:blur(8px)) or (-webkit-backdrop-filter:blur(8px))){
  .swg-notdienstleiste{background:rgb(51 51 53 / 0.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
}
.swg-notdienstleiste--statisch{position:relative}
.swg-notdienstleiste__innen{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 var(--swg-space-md);min-block-size:var(--swg-size-touch)}
.swg-notdienstleiste a{display:inline-flex;align-items:center;gap:var(--swg-space-sm);min-block-size:var(--swg-size-touch);color:var(--swg-color-text-inverse);text-decoration:none;font-weight:var(--swg-type-weight-semibold)}
.swg-notdienstleiste a:hover{text-decoration:underline}
.swg-notdienstleiste__nummer{font-variant-numeric:tabular-nums}
.swg-notdienstleiste__nummer .swg-icon{color:var(--swg-color-brand-yellow)}
/* Status nur mit sichtbarem Zeitstempel, nie als Entwarnung; Stand älter als 12 h wird nicht ausgegeben (E5) */
.swg-notdienstleiste__status{display:none;flex:1 1 20rem;min-inline-size:0;padding-block:0.5rem;text-align:end}
.swg-notdienstleiste__stand{white-space:nowrap;font-variant-numeric:tabular-nums}
.swg-notdienstleiste__stand time{font-weight:var(--swg-type-weight-bold)}
@media (min-width:64rem){.swg-notdienstleiste__status{display:block}}

/* ---------- 10. CMP-KOPF ---------- */
.swg-kopf{position:relative;z-index:2;background:var(--swg-color-surface);border-block-end:1px solid var(--swg-hairline)}
.swg-kopf__innen{display:flex;align-items:center;justify-content:space-between;gap:var(--swg-space-md);min-block-size:4.5rem}
.swg-kopf__marke{display:inline-flex;align-items:center;gap:var(--swg-space-ms);min-inline-size:0;min-block-size:var(--swg-size-touch);text-decoration:none;color:var(--swg-color-text-strong);view-transition-name:swg-logo}
.swg-kopf__marke img{inline-size:clamp(2.75rem, 2.4rem + 1vw, 3.25rem);block-size:auto;min-block-size:var(--swg-size-logo-min)}
.swg-kopf__name{display:block;font-weight:var(--swg-type-weight-bold);font-size:var(--swg-type-size-md);line-height:1.15;white-space:nowrap}
.swg-kopf__claim{display:block;font-size:var(--swg-type-size-xs);color:var(--swg-color-text);white-space:nowrap}
.swg-kopf__nav{display:none}
.swg-kopf__nav ul{display:flex;gap:var(--swg-space-xs);padding:0;list-style:none}
.swg-kopf__nav a{display:inline-flex;align-items:center;min-block-size:var(--swg-size-touch);padding-inline:var(--swg-space-ms);font-weight:var(--swg-type-weight-semibold);color:var(--swg-color-text-strong);text-decoration:none;box-shadow:inset 0 -3px 0 transparent;transition:box-shadow var(--swg-motion-short) ease}
.swg-kopf__nav a:is(:hover,[aria-current],[data-zustand="hover"]){box-shadow:inset 0 -3px 0 var(--swg-color-brand-yellow)}
/* Hilfslinks rechts: Kontakt, Suche, Sprache (E3); mobil Suche und Menü, Kontakt und Sprache ab 40rem */
.swg-kopf__aktionen{display:flex;flex:none;align-items:center;gap:var(--swg-space-xs)}
.swg-kopf__menue{padding-inline:0.75rem}
.swg-kopf__kontakt,.swg-kopf__aktionen .swg-sprache{display:none}
.swg-kopf__hilfe{padding-inline:0.625rem;font-weight:var(--swg-type-weight-semibold)}
.swg-kopf__hilfe:hover{text-decoration:underline}
.swg-kopf__suche-text{display:none}
/* Unter 25rem trägt das Logo („SWG“) die Marke; Name und Claim bleiben für Screenreader, damit Suche und Menü Platz haben */
@media (max-width:24.99rem){.swg-kopf__marke>span{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}
@media (min-width:40rem){.swg-kopf__kontakt,.swg-kopf__aktionen .swg-sprache{display:inline-flex}}
@media (min-width:64rem){.swg-kopf__nav{display:block}.swg-kopf__menue{display:none}.swg-kopf__claim{display:none}}
@media (min-width:72rem){.swg-kopf__suche-text{display:inline}.swg-kopf__claim{display:block}}

/* ---------- 11. CMP-MENUE (popover) ---------- */
.swg-menue{--swg-fokus:var(--swg-color-focus-inverse);background:var(--swg-color-surface-darker);color:var(--swg-color-text-inverse);padding:var(--swg-space-md) var(--swg-space-ml) var(--swg-space-xl)}
.swg-menue a{display:flex;align-items:center;min-block-size:var(--swg-size-touch);color:var(--swg-color-text-inverse);text-decoration:none}
.swg-menue a:hover,.swg-menue a[aria-current]{text-decoration:underline;text-decoration-color:var(--swg-color-brand-yellow);text-decoration-thickness:2px}
.swg-menue ul{padding:0;list-style:none}
.swg-menue__kopf{display:flex;align-items:center;justify-content:space-between;margin-block-end:var(--swg-space-sm)}
.swg-menue__kopf p{font-weight:var(--swg-type-weight-bold)}
.swg-menue__gruppe{padding-block:var(--swg-space-md);border-block-start:1px solid rgb(255 255 255 / 0.2)}
.swg-menue__titel{font-size:var(--swg-type-size-sm);letter-spacing:var(--swg-type-tracking-caps);text-transform:uppercase;color:var(--swg-color-text-inverse);margin-block-end:var(--swg-space-xs)}
/* Fünf Hauptpunkte groß (E3), darunter Kontakt, Kaufen, Aktuelles und Sprachen */
.swg-menue__haupt{padding-block:var(--swg-space-xs) var(--swg-space-md)}
.swg-menue__haupt a{justify-content:space-between;gap:var(--swg-space-md);min-block-size:3.25rem;border-block-end:1px solid rgb(255 255 255 / 0.2);font-size:var(--swg-type-size-md);font-weight:var(--swg-type-weight-bold)}
.swg-menue__haupt .swg-icon{color:var(--swg-color-brand-yellow)}
.swg-menue__haupt+.swg-menue__gruppe{border-block-start:0}
.swg-menue--statisch{display:block;border-radius:var(--swg-radius-md);max-inline-size:22rem}
@supports selector(:popover-open){
  .swg-menue[popover]{position:fixed;inset:0 0 0 auto;margin:0;inline-size:min(22rem, 100% - 3rem);block-size:100dvh;max-block-size:100dvh;overflow-y:auto;border:0;box-shadow:-8px 0 32px rgb(51 51 53 / 0.25)}
  .swg-menue[popover]::backdrop{background:rgb(51 51 53 / 0.55)}
}

/* ---------- 12. CMP-BREADCRUMB ---------- */
.swg-pfad{border-block-end:1px solid var(--swg-hairline);font-size:var(--swg-type-size-sm)}
.swg-pfad ol{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--swg-space-xs);padding:0;list-style:none}
.swg-pfad li{display:inline-flex;align-items:center;gap:var(--swg-space-xs)}
.swg-pfad li+li::before{content:"";inline-size:0.4em;block-size:0.4em;margin-inline:0.35em 0.15em;border-block-start:1.5px solid currentColor;border-inline-end:1.5px solid currentColor;rotate:45deg}
.swg-pfad a{display:inline-flex;align-items:center;min-block-size:var(--swg-size-touch);padding-inline:0.25rem;color:var(--swg-color-text);text-decoration:none}
.swg-pfad a:hover{text-decoration:underline;color:var(--swg-color-text-strong)}
.swg-pfad [aria-current]{padding-inline:0.25rem;font-weight:var(--swg-type-weight-bold);color:var(--swg-color-text-strong)}

/* ---------- 13. CMP-SUCHE ---------- */
.swg-suche{container-type:inline-size;position:relative;display:flex;flex-direction:column;gap:var(--swg-space-md);padding:var(--swg-space-ml);background:var(--swg-color-surface);border-radius:var(--swg-radius-md);box-shadow:var(--swg-shadow-lg);transition:box-shadow var(--swg-motion-short) ease,translate var(--swg-motion-short) ease}
.swg-suche:has(:focus-visible){box-shadow:var(--swg-shadow-lg),0 0 0 1px var(--swg-color-brand-anthracite-40)}
.swg-suche__titel{font-size:var(--swg-type-size-xl);letter-spacing:var(--swg-type-tracking-heading)}
.swg-suche__felder{display:grid;gap:var(--swg-space-md);align-items:end}
.swg-suche__zaehler{display:flex;flex-wrap:wrap;align-items:center;gap:var(--swg-space-sm);font-size:var(--swg-type-size-sm)}
.swg-suche--kompakt{box-shadow:var(--swg-shadow-sm);border:1px solid var(--swg-hairline)}
@container (min-width:40rem){
  .swg-suche__felder{grid-template-columns:repeat(3, minmax(0, 1fr)) auto}
  .swg-segment label{flex:none}
  .swg-segment span{padding-inline:var(--swg-space-ms);font-size:var(--swg-type-size-base)}
}
@media (min-width:48rem){.swg-suche{padding:var(--swg-space-lg) var(--swg-space-xl)}}
/* Segmentsteuerung als echte Radiogruppe */
.swg-segment{display:flex;flex-wrap:wrap;gap:0 var(--swg-space-xs);min-inline-size:0;margin:0;padding:0;border:0;border-block-end:1px solid var(--swg-color-line)}
.swg-segment label{position:relative;flex:1 1 auto}
.swg-segment input{position:absolute;opacity:0;inline-size:1px;block-size:1px}
.swg-segment span{display:flex;align-items:center;justify-content:center;text-align:center;min-block-size:var(--swg-size-touch);padding-inline:var(--swg-space-sm);margin-block-end:-1px;border-block-end:3px solid transparent;font-size:var(--swg-type-size-sm);font-weight:var(--swg-type-weight-semibold);color:var(--swg-color-text);cursor:pointer;transition:border-color var(--swg-motion-short) ease,color var(--swg-motion-short) ease}
.swg-segment span:hover{color:var(--swg-color-text-strong);border-block-end-color:var(--swg-color-brand-anthracite-40)}
.swg-segment input:checked+span{color:var(--swg-color-text-strong);font-weight:var(--swg-type-weight-bold);border-block-end-color:var(--swg-color-brand-yellow)}
.swg-segment input:focus-visible+span{outline:3px solid var(--swg-fokus);outline-offset:-3px;border-radius:var(--swg-radius-sm)}
/* Hero mit überlappender Suchkarte; kein Text auf dem Foto */
.swg-hero__bild{--swg-ratio:4 / 3;max-block-size:62vh;inline-size:100%;view-transition-name:swg-hero}
.swg-hero__bild::after{content:"";position:absolute;inset:auto 0 0;block-size:45%;background:linear-gradient(to top, rgb(51 51 53 / 0.45), rgb(51 51 53 / 0));pointer-events:none}
.swg-hero .swg-suche{margin-block-start:var(--swg-space-hero-overlap)}
@media (min-width:48rem){.swg-hero__bild{--swg-ratio:21 / 8}}

/* ---------- 14. CMP-WEICHE (E11: zwei Links zwischen zwei statischen Fassungen der Startseite; nichts wird
   ausgeblendet oder per CSS umsortiert, die Reihenfolge steht im Quelltext jeder Fassung) ---------- */
.swg-weiche{display:flex;flex-direction:column;align-items:center;gap:var(--swg-space-sm)}
.swg-weiche__wahl{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--swg-space-ms);margin:0;padding:0;list-style:none}
.swg-weiche__ansicht{font-size:var(--swg-type-size-sm);color:var(--swg-color-text-strong)}
.swg-weiche__ansicht a{display:inline-flex;align-items:center;min-block-size:var(--swg-size-touch);padding-inline:var(--swg-space-xs);font-weight:var(--swg-type-weight-bold)}
/* Chip: als Link (Weiche, aria-current) oder als Radio (Filter, :checked) */
.swg-chip{position:relative;display:inline-flex;text-decoration:none}
.swg-chip input{position:absolute;opacity:0;inline-size:1px;block-size:1px}
.swg-chip span{display:inline-flex;align-items:center;gap:var(--swg-space-sm);min-block-size:var(--swg-size-touch);padding:0.5rem 1.125rem;border:1px solid var(--swg-color-line-input);border-radius:var(--swg-radius-pill);background:var(--swg-color-surface);font-weight:var(--swg-type-weight-semibold);color:var(--swg-color-text-strong);cursor:pointer;transition:background-color var(--swg-motion-short) ease,border-color var(--swg-motion-short) ease}
.swg-chip:hover span,.swg-chip[data-zustand="hover"] span{border-color:var(--swg-color-text-strong)}
:is(.swg-chip input:checked+span,.swg-chip[aria-current] span){background:var(--swg-hover-flaeche);border-color:var(--swg-color-brand-yellow);box-shadow:inset 0 0 0 1px var(--swg-color-brand-yellow)}
:is(.swg-chip input:checked+span,.swg-chip[aria-current] span)::after{content:"";inline-size:0.5rem;block-size:0.85rem;margin-inline-start:0.125rem;border-block-end:2px solid currentColor;border-inline-end:2px solid currentColor;rotate:45deg;translate:0 -2px}
.swg-chip input:focus-visible+span{outline:3px solid var(--swg-fokus);outline-offset:2px}
a.swg-chip:is(:focus-visible,[data-zustand="fokus"]){outline:none}
a.swg-chip:is(:focus-visible,[data-zustand="fokus"]) span{outline:3px solid var(--swg-fokus);outline-offset:2px}

/* ---------- 15. CMP-SERVICE-KACHEL ---------- */
.swg-kachel{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--swg-space-ms);block-size:100%;padding:var(--swg-space-md) var(--swg-space-md) var(--swg-space-ml);background:var(--swg-color-surface);border:1px solid var(--swg-hairline);border-radius:var(--swg-radius-md);box-shadow:var(--swg-shadow-sm);color:var(--swg-color-text);text-decoration:none;transition:box-shadow var(--swg-motion-short) ease,translate var(--swg-motion-short) ease,border-color var(--swg-motion-short) ease}
.swg-kachel:is(:hover,[data-zustand="hover"]){border-color:var(--swg-color-brand-yellow);box-shadow:var(--swg-shadow-md);translate:0 var(--swg-motion-lift);text-decoration:none}
.swg-kachel .swg-icon-flaeche{background:var(--swg-color-surface-subtle)}
.swg-kachel>span:not(.swg-icon-flaeche){min-inline-size:0;overflow-wrap:break-word;hyphens:auto}
.swg-kachel__titel{display:block;font-weight:var(--swg-type-weight-bold);font-size:var(--swg-type-size-md);line-height:var(--swg-type-leading-tight);color:var(--swg-color-text-strong)}
.swg-kachel__text{display:block;font-size:var(--swg-type-size-sm)}
.swg-kachel__pfeil{display:none}
.swg-kachel--notdienst{background:var(--swg-hover-flaeche);border-color:transparent}
.swg-kachel--notdienst .swg-icon-flaeche{background:var(--swg-color-surface)}
.swg-kachel--liste{flex-direction:row;align-items:center;padding:var(--swg-space-md) var(--swg-space-ml);box-shadow:none}
.swg-kachel--liste .swg-kachel__pfeil{display:block;margin-inline-start:auto;color:var(--swg-color-text-strong)}
@container (min-width:16rem){
  .swg-kachel{flex-direction:row;align-items:center;gap:var(--swg-space-md);padding:var(--swg-space-ml) var(--swg-space-ml)}
}

/* ---------- 16. CMP-ANGEBOT-KARTE und CMP-MELDUNG-KARTE (gemeinsame Kartenbasis) ---------- */
.swg-angebot,.swg-meldung{container-type:inline-size;position:relative;display:flex;flex-direction:column;block-size:100%;overflow:hidden;background:var(--swg-color-surface);border:1px solid var(--swg-hairline);border-radius:var(--swg-radius-md);box-shadow:var(--swg-shadow-sm);transition:box-shadow var(--swg-motion-short) ease,translate var(--swg-motion-short) ease,border-color var(--swg-motion-short) ease}
.swg-angebot:is(:hover,[data-zustand="hover"]),.swg-meldung:is(:hover,[data-zustand="hover"]){box-shadow:var(--swg-shadow-md);translate:0 var(--swg-motion-lift)}
.swg-angebot:has(.swg-badge--neu){border-color:var(--swg-color-line-accent);box-shadow:var(--swg-shadow-sm),0 0 0 1px var(--swg-color-line-accent)}
.swg-angebot>.swg-medium,.swg-meldung>.swg-medium{border-radius:0}
.swg-angebot__badges{position:absolute;inset-block-start:var(--swg-space-ms);inset-inline-start:var(--swg-space-ms);display:flex;flex-wrap:wrap;gap:var(--swg-space-xs);z-index:1}
.swg-angebot__inhalt,.swg-meldung__inhalt{display:flex;flex-direction:column;gap:var(--swg-space-sm);flex:1;padding:var(--swg-space-md) var(--swg-space-ml) var(--swg-space-ml)}
.swg-angebot__ort{display:flex;align-items:center;gap:0.375rem;font-size:var(--swg-type-size-xs);font-weight:var(--swg-type-weight-semibold);color:var(--swg-color-text-strong)}
.swg-angebot__titel,.swg-meldung__titel{font-size:var(--swg-type-size-lg);overflow-wrap:anywhere;hyphens:auto}
.swg-meldung__titel{font-size:var(--swg-type-size-md)}
.swg-angebot__link,.swg-meldung__link{color:inherit;text-decoration:none}
.swg-angebot__link::after,.swg-meldung__link::after{content:"";position:absolute;inset:0;z-index:2;border-radius:var(--swg-radius-md)}
.swg-angebot__link:is(:focus-visible,[data-zustand="fokus"]),.swg-meldung__link:is(:focus-visible,[data-zustand="fokus"]){outline:none}
.swg-angebot__link:is(:focus-visible,[data-zustand="fokus"])::after,.swg-meldung__link:is(:focus-visible,[data-zustand="fokus"])::after{outline:3px solid var(--swg-fokus);outline-offset:-3px}
.swg-angebot:hover .swg-angebot__link,.swg-meldung:hover .swg-meldung__link{text-decoration:underline;text-decoration-thickness:2px}
.swg-angebot__merkmale{font-size:var(--swg-type-size-sm)}
.swg-angebot__daten{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:var(--swg-space-sm);padding-block:var(--swg-space-ms);border-block:1px solid var(--swg-hairline);margin-block-start:auto}
.swg-angebot__daten dt{font-size:var(--swg-type-size-xs)}
.swg-angebot__daten dd{margin:0;font-weight:var(--swg-type-weight-bold);color:var(--swg-color-text-strong);font-variant-numeric:tabular-nums}
.swg-angebot__fuss{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--swg-space-sm)}
.swg-angebot__preis{font-size:var(--swg-type-size-sm);font-variant-numeric:tabular-nums}
.swg-angebot__preis strong{font-size:var(--swg-type-size-lg)}
.swg-angebot__mehr,.swg-meldung__mehr{display:inline-flex;align-items:center;gap:var(--swg-space-sm);min-block-size:var(--swg-size-touch);font-weight:var(--swg-type-weight-bold);color:var(--swg-color-text-strong)}
.swg-angebot--reserviert .swg-medium{filter:grayscale(1)}
/* Übergangsnamen nie per style-Attribut (CSP style-src 'self', E2): je Karte automatisch, sonst kein Übergang */
@supports (view-transition-name:match-element){.swg-angebot>.swg-medium{view-transition-name:match-element}}
@container (min-width:22rem){
  .swg-angebot__inhalt,.swg-meldung__inhalt{padding:var(--swg-space-ml) var(--swg-space-lg) var(--swg-space-lg)}
}
@container (min-width:40rem){
  .swg-angebot--quer{flex-direction:row}
  .swg-angebot--quer>.swg-medium{inline-size:42%;aspect-ratio:auto}
}
.swg-meldung__meta{font-size:var(--swg-type-size-xs)}
.swg-meldung__text{font-size:var(--swg-type-size-sm)}
.swg-meldung__mehr{margin-block-start:auto}
/* Exposé-Kennzahlen */
.swg-kennzahlen{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 7rem), 1fr));gap:var(--swg-space-md);padding:var(--swg-space-md) var(--swg-space-ml);border:1px solid var(--swg-hairline);border-radius:var(--swg-radius-md);box-shadow:var(--swg-shadow-sm)}
.swg-kennzahlen>div{position:relative;min-block-size:2.75rem;padding-inline-start:3.5rem}
.swg-kennzahlen .swg-icon-flaeche{position:absolute;inset-inline-start:0;inset-block-start:50%;translate:0 -50%}
.swg-kennzahlen dt{font-size:var(--swg-type-size-xs)}
.swg-kennzahlen dd{margin:0;font-size:var(--swg-type-size-lg);font-weight:var(--swg-type-weight-bold);color:var(--swg-color-text-strong);font-variant-numeric:tabular-nums}

/* ---------- 17. CMP-FOKUS-BANNER ---------- */
.swg-fokus{display:grid;overflow:hidden;border:1px solid var(--swg-hairline);border-radius:var(--swg-radius-md);background:var(--swg-hover-flaeche)}
.swg-fokus>.swg-medium{border-radius:0}
.swg-fokus__inhalt{display:flex;flex-direction:column;align-items:flex-start;gap:var(--swg-space-md);padding:var(--swg-space-lg) var(--swg-space-ml)}
.swg-fokus__titel{font-size:var(--swg-type-size-xl);letter-spacing:var(--swg-type-tracking-heading)}
.swg-fokus .swg-cluster{margin-block-start:var(--swg-space-sm)}
@container (min-width:44rem){
  .swg-fokus{grid-template-columns:1fr 1fr}
  .swg-fokus>.swg-medium{aspect-ratio:auto;min-block-size:100%}
  .swg-fokus__inhalt{padding:var(--swg-space-xl) var(--swg-space-xl)}
}

/* ---------- 18. CMP-HINWEIS ---------- */
.swg-hinweis{display:flex;gap:var(--swg-space-ms);align-items:flex-start;padding:var(--swg-space-md) var(--swg-space-ml);border-radius:var(--swg-radius-md);border-inline-start:4px solid var(--swg-hinweis-farbe, var(--swg-color-status-info));background:var(--swg-hinweis-flaeche, var(--swg-color-status-info-surface));color:var(--swg-color-text-strong)}
.swg-hinweis>.swg-icon{margin-block-start:0.1em;color:var(--swg-hinweis-farbe, var(--swg-color-status-info));inline-size:var(--swg-size-icon-md);block-size:var(--swg-size-icon-md)}
.swg-hinweis__inhalt{display:flex;flex-direction:column;gap:var(--swg-space-sm);min-inline-size:0}
.swg-hinweis__titel{font-weight:var(--swg-type-weight-bold);font-size:var(--swg-type-size-md)}
.swg-hinweis--erfolg{--swg-hinweis-farbe:var(--swg-color-status-success);--swg-hinweis-flaeche:var(--swg-color-status-success-surface)}
.swg-hinweis--fehler{--swg-hinweis-farbe:var(--swg-color-status-error);--swg-hinweis-flaeche:var(--swg-color-status-error-surface)}
.swg-hinweis--warnung{--swg-hinweis-farbe:var(--swg-color-status-warning);--swg-hinweis-flaeche:var(--swg-color-status-warning-surface);border-inline-start-color:var(--swg-color-brand-yellow)}
.swg-hinweis--gelb{--swg-hinweis-flaeche:var(--swg-hover-flaeche);border-inline-start:0;padding:var(--swg-space-lg)}
.swg-hinweis--fehler a{color:var(--swg-color-status-error)}

/* ---------- 19. CMP-NOTFALL ---------- */
.swg-notfall-kopf{background:var(--swg-hover-flaeche);border-block-end:1px solid var(--swg-hairline);padding-block:clamp(2rem, 1.5rem + 2.5vw, 4rem)}
.swg-notfall-kopf__innen{display:grid;gap:var(--swg-space-lg);align-items:center}
.swg-notfall-kopf__text{display:flex;flex-direction:column;gap:var(--swg-space-md)}
.swg-notfall-kopf__titel{font-size:var(--swg-type-size-3xl);letter-spacing:var(--swg-type-tracking-heading)}
.swg-notfall-kopf .swg-btn--anruf{justify-self:start}
@media (min-width:56rem){.swg-notfall-kopf__innen{grid-template-columns:1fr auto;gap:var(--swg-space-xl)}}
.swg-notfall-kategorie{display:flex;flex-direction:column;gap:var(--swg-space-ms);block-size:100%;padding:var(--swg-space-ml);background:var(--swg-color-surface);border:1px solid var(--swg-hairline);border-radius:var(--swg-radius-md);box-shadow:var(--swg-shadow-sm)}
.swg-notfall-kategorie h3{display:flex;align-items:center;gap:var(--swg-space-ms);font-size:var(--swg-type-size-md)}
.swg-notfall-kategorie ul{padding-inline-start:1.125rem;display:grid;gap:var(--swg-space-sm);font-size:var(--swg-type-size-sm)}
.swg-notfall-kategorie li::marker{color:var(--swg-color-brand-anthracite-60)}
.swg-verhalten{display:flex;flex-direction:column;gap:var(--swg-space-md);block-size:100%;padding:var(--swg-space-ml);background:var(--swg-color-surface);border:1px solid var(--swg-hairline);border-radius:var(--swg-radius-md);box-shadow:var(--swg-shadow-sm)}
.swg-verhalten h3{display:flex;align-items:center;gap:var(--swg-space-ms);font-size:var(--swg-type-size-lg)}
.swg-schritte{counter-reset:schritt;list-style:none;padding:0;display:grid;gap:var(--swg-space-ms)}
.swg-schritte li{counter-increment:schritt;display:grid;grid-template-columns:1.75rem 1fr;gap:var(--swg-space-ms);align-items:start}
.swg-schritte li::before{content:counter(schritt);display:grid;place-items:center;inline-size:1.75rem;block-size:1.75rem;border-radius:50%;background:var(--swg-color-surface-darker);color:var(--swg-color-text-inverse);font-size:var(--swg-type-size-xs);font-weight:var(--swg-type-weight-bold)}
.swg-schritte a{font-weight:var(--swg-type-weight-bold);font-variant-numeric:tabular-nums;white-space:nowrap}
.swg-notdienst-band{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--swg-space-md);padding:var(--swg-space-md) var(--swg-space-ml);border-radius:var(--swg-radius-md);background:var(--swg-color-surface-dark);color:var(--swg-color-text-inverse)}
.swg-notdienst-band__text{display:flex;align-items:center;gap:var(--swg-space-ms)}
.swg-notdienst-band__text .swg-icon{color:var(--swg-color-brand-yellow)}
.swg-notdienst-band__text strong{display:block;color:var(--swg-color-text-inverse);font-size:var(--swg-type-size-md)}
.swg-notdienst-band__text span{font-size:var(--swg-type-size-sm)}
.swg-notdienst-band a{display:inline-flex;align-items:center;gap:var(--swg-space-sm);min-block-size:var(--swg-size-touch);color:var(--swg-color-text-inverse);font-size:var(--swg-type-size-xl);font-weight:var(--swg-type-weight-bold);font-variant-numeric:tabular-nums;text-decoration:none;white-space:nowrap}
.swg-notdienst-band a .swg-icon{color:var(--swg-color-brand-yellow)}
.swg-notdienst-band a:hover{text-decoration:underline}

/* ---------- 20. CMP-FORMFELD ---------- */
.swg-formular{display:flex;flex-direction:column;gap:var(--swg-space-ml)}
.swg-feld{display:flex;flex-direction:column;gap:0.375rem;min-inline-size:0}
.swg-feld__kopf{display:flex;align-items:center;gap:var(--swg-space-xs);min-block-size:1.5rem}
.swg-feld__label,.swg-feld legend{font-size:var(--swg-type-size-sm);font-weight:var(--swg-type-weight-semibold);color:var(--swg-color-text-strong)}
.swg-feld__pflicht{font-weight:var(--swg-type-weight-regular);color:var(--swg-color-text)}
.swg-feld__hilfe{font-size:var(--swg-type-size-sm)}
.swg-feld__fehler{display:flex;gap:var(--swg-space-xs);align-items:flex-start;font-size:var(--swg-type-size-sm);font-weight:var(--swg-type-weight-semibold);color:var(--swg-color-status-error)}
.swg-feld__fehler .swg-icon{margin-block-start:0.1em}
.swg-eingabe{inline-size:100%;min-block-size:3rem;padding:0.625rem 0.875rem;background:var(--swg-color-surface);border:1px solid var(--swg-color-line-input);border-radius:var(--swg-radius-md);color:var(--swg-color-text-strong);font-size:var(--swg-type-size-base);transition:border-color var(--swg-motion-short) ease,box-shadow var(--swg-motion-short) ease}
.swg-eingabe:is(:hover,[data-zustand="hover"]){border-color:var(--swg-color-line-strong)}
.swg-eingabe:focus-visible{outline:3px solid var(--swg-fokus);outline-offset:2px;border-color:var(--swg-color-line-strong)}
.swg-eingabe::placeholder{color:var(--swg-color-text);opacity:1}
.swg-feld:has(.swg-eingabe:not(:placeholder-shown)) .swg-eingabe{border-color:var(--swg-color-line-strong)}
.swg-feld:has(.swg-eingabe:not(:placeholder-shown))>.swg-feld__label{color:var(--swg-color-text-strong)}
select.swg-eingabe{appearance:none;padding-inline-end:2.5rem;background-image:linear-gradient(45deg, transparent 50%, currentColor 50%),linear-gradient(135deg, currentColor 50%, transparent 50%);background-position:calc(100% - 1.25rem) 55%,calc(100% - 0.9rem) 55%;background-size:0.35rem 0.35rem;background-repeat:no-repeat}
textarea.swg-eingabe{min-block-size:7.5rem;max-block-size:24rem;resize:vertical;field-sizing:content}
.swg-eingabe[readonly]{background:var(--swg-hover-flaeche);border-style:dashed;font-variant-numeric:tabular-nums;letter-spacing:0.02em}
.swg-eingabe:disabled{background:var(--swg-color-surface-subtle);border-color:var(--swg-color-brand-anthracite-40);color:var(--swg-color-text);cursor:not-allowed}
.swg-eingabe[type="file"]{padding:0.5rem;min-block-size:var(--swg-size-touch)}
.swg-eingabe[type="file"]::file-selector-button{margin-inline-end:var(--swg-space-ms);min-block-size:2.25rem;padding:0.25rem 0.875rem;border:2px solid var(--swg-color-line-strong);border-radius:var(--swg-radius-md);background:var(--swg-color-surface);font-weight:var(--swg-type-weight-bold);color:var(--swg-color-text-strong);cursor:pointer}
.swg-feld--fehler .swg-eingabe,.swg-eingabe[aria-invalid="true"],.swg-eingabe:user-invalid{border:2px solid var(--swg-color-status-error);background:var(--swg-color-surface)}
.swg-feld--fehler>.swg-feld__label{color:var(--swg-color-status-error)}
.swg-auswahl{display:flex;align-items:flex-start;gap:var(--swg-space-ms);min-block-size:var(--swg-size-touch);padding-block:0.5rem;font-size:var(--swg-type-size-sm);cursor:pointer}
.swg-auswahl input{flex:none;inline-size:1.375rem;block-size:1.375rem;margin:0;accent-color:var(--swg-color-brand-anthracite-dark);cursor:pointer}
.swg-auswahl input:disabled,.swg-auswahl input:disabled+span{cursor:not-allowed;opacity:0.7}
.swg-feld fieldset,fieldset.swg-feld{margin:0;padding:0;border:0;min-inline-size:0}
.swg-feld fieldset legend,fieldset.swg-feld legend{padding:0;margin-block-end:var(--swg-space-xs)}

/* ---------- 21. CMP-INFO-POPOVER ---------- */
.swg-info{display:inline-flex;vertical-align:middle}
.swg-info__knopf{display:inline-grid;place-items:center;inline-size:var(--swg-size-touch);block-size:var(--swg-size-touch);margin:-10px -8px;padding:0;border:0;background:none;color:var(--swg-color-text-strong);border-radius:50%}
.swg-info__knopf .swg-icon{inline-size:1.375rem;block-size:1.375rem;border-radius:50%;transition:background-color var(--swg-motion-short) ease}
.swg-info__knopf:is(:hover,[data-zustand="hover"]) .swg-icon{background:var(--swg-color-brand-yellow)}
.swg-info__text{--swg-fokus:var(--swg-color-focus-inverse);display:block;hyphens:manual;max-inline-size:min(20rem, 100vw - 2rem);margin-block-start:var(--swg-space-xs);padding:var(--swg-space-ms) var(--swg-space-md);border:0;border-radius:var(--swg-radius-md);background:var(--swg-color-surface-darker);color:var(--swg-color-text-inverse);font-size:var(--swg-type-size-sm);font-weight:var(--swg-type-weight-regular);line-height:1.45;text-align:start;box-shadow:var(--swg-shadow-lg)}
.swg-info__text strong{color:var(--swg-color-text-inverse)}
.swg-info__zu{float:inline-end;display:inline-grid;place-items:center;inline-size:var(--swg-size-touch);block-size:var(--swg-size-touch);margin:-0.75rem -1rem 0 0.25rem;border:0;background:none;color:var(--swg-color-text-inverse)}
@supports selector(:popover-open){
  .swg-info__text[popover]{display:none}
  .swg-info__text[popover]:popover-open{display:block;margin:auto}
}
@supports (anchor-name:--a) and (position-area:block-end){
  .swg-info{anchor-scope:--swg-info}
  .swg-info__knopf{anchor-name:--swg-info}
  .swg-info__text[popover]:popover-open{position-anchor:--swg-info;inset:auto;margin:6px 0;position-area:block-end span-inline-end;position-try-fallbacks:flip-block,flip-inline,block-start}
}
.swg-info__text--statisch{display:block;position:static;max-inline-size:20rem}

/* ---------- 22. CMP-GALERIE ---------- */
.swg-galerie{display:flex;flex-direction:column;gap:var(--swg-space-ms)}
.swg-galerie__haupt{--swg-ratio:16 / 10;border-radius:var(--swg-radius-md);view-transition-name:swg-expose-bild}
.swg-galerie__reihe{overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-color:var(--swg-color-brand-yellow) var(--swg-color-surface-placeholder);scrollbar-width:thin;padding-block-end:var(--swg-space-sm);border-radius:var(--swg-radius-sm)}
.swg-galerie__reihe ul{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(6.5rem, 26%, 9.5rem);gap:var(--swg-space-ms);padding:0;list-style:none}
.swg-galerie__reihe li{scroll-snap-align:start}
.swg-galerie__reihe a{display:block;border-radius:var(--swg-radius-md);overflow:hidden}
.swg-galerie__reihe .swg-medium{--swg-ratio:4 / 3}
.swg-galerie__reihe a[aria-current] .swg-medium{outline:3px solid var(--swg-color-brand-yellow);outline-offset:-3px}
.swg-galerie__reihe a:focus-visible{outline-offset:-3px}
.swg-galerie__hinweis{font-size:var(--swg-type-size-xs)}
.swg-karte{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--swg-space-ms);min-block-size:14rem;padding:var(--swg-space-lg);text-align:center;border:1px solid var(--swg-hairline);border-radius:var(--swg-radius-md);background:var(--swg-color-surface-subtle);font-size:var(--swg-type-size-sm)}
.swg-karte p{max-inline-size:28rem}

/* ---------- 23. CMP-KOSTEN-TABELLE ---------- */
.swg-kosten{inline-size:100%;font-variant-numeric:tabular-nums}
.swg-kosten caption{text-align:start;font-weight:var(--swg-type-weight-bold);color:var(--swg-color-text-strong);padding-block-end:var(--swg-space-sm)}
.swg-kosten :is(th,td){padding:var(--swg-space-ms) var(--swg-space-ms);border-block-end:1px solid var(--swg-hairline);text-align:start;vertical-align:middle}
.swg-kosten tr:first-child :is(th,td){border-block-start:1px solid var(--swg-hairline)}
.swg-kosten th{font-weight:var(--swg-type-weight-regular);overflow-wrap:break-word;hyphens:auto}
.swg-kosten td{text-align:end;font-weight:var(--swg-type-weight-bold);color:var(--swg-color-text-strong);white-space:nowrap}
.swg-kosten__summe :is(th,td){background:var(--swg-hover-flaeche);font-weight:var(--swg-type-weight-bold);color:var(--swg-color-text-strong);border-block-end-color:var(--swg-color-brand-yellow)}
.swg-kosten__hinweis{margin-block-start:var(--swg-space-ms);font-size:var(--swg-type-size-sm)}

/* ---------- 24. CMP-ENERGIEAUSWEIS (Klasse nie nur über Farbe) ---------- */
.swg-energie{display:flex;flex-direction:column;gap:var(--swg-space-md);padding:var(--swg-space-ml);border:1px solid var(--swg-hairline);border-radius:var(--swg-radius-md);box-shadow:var(--swg-shadow-sm)}
.swg-energie__kopf{display:flex;align-items:center;gap:var(--swg-space-md)}
.swg-energie__klasse{display:grid;place-items:center;inline-size:3.5rem;block-size:3.5rem;flex:none;border-radius:var(--swg-radius-md);background:var(--swg-color-surface-darker);color:var(--swg-color-text-inverse);font-size:var(--swg-type-size-xl);font-weight:var(--swg-type-weight-bold)}
.swg-energie__wert{font-size:var(--swg-type-size-md);font-weight:var(--swg-type-weight-bold);color:var(--swg-color-text-strong);font-variant-numeric:tabular-nums}
.swg-energie__skala{display:grid;grid-template-columns:repeat(9, minmax(0, 1fr));gap:3px;padding:0;list-style:none}
.swg-energie__skala li{display:grid;place-items:center;min-block-size:2.25rem;border-radius:var(--swg-radius-sm);background:var(--swg-color-surface-subtle);font-size:var(--swg-type-size-xs);font-weight:var(--swg-type-weight-bold);color:var(--swg-color-text-strong);border:1px solid var(--swg-color-line)}
.swg-energie__skala [aria-current]{background:var(--swg-color-surface-darker);color:var(--swg-color-text-inverse);border-color:var(--swg-color-surface-darker);box-shadow:0 0 0 2px var(--swg-color-brand-yellow);position:relative;z-index:1}
.swg-energie__daten{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 8rem), 1fr));gap:var(--swg-space-sm) var(--swg-space-md)}
.swg-energie__daten dt{font-size:var(--swg-type-size-xs)}
.swg-energie__daten dd{margin:0;font-weight:var(--swg-type-weight-bold);color:var(--swg-color-text-strong)}

/* ---------- 25. CMP-ZAHLENBAND ---------- */
.swg-zahlen{container-type:inline-size;background:var(--swg-hover-flaeche);border-block:1px solid var(--swg-hairline);padding-block:clamp(2rem, 1.5rem + 2vw, 3rem)}
.swg-zahlen--hell{background:var(--swg-color-surface)}
.swg-zahlen dl{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:var(--swg-space-lg) var(--swg-space-md);text-align:center}
.swg-zahlen dl>div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:var(--swg-space-xs)}
.swg-zahlen dd{margin:0;font-size:var(--swg-type-size-2xl);font-weight:var(--swg-type-weight-bold);line-height:1.1;color:var(--swg-color-text-strong);font-variant-numeric:tabular-nums;letter-spacing:var(--swg-type-tracking-heading)}
.swg-zahlen dt{font-size:var(--swg-type-size-sm)}
@container (min-width:48rem){.swg-zahlen dl{grid-template-columns:repeat(auto-fit, minmax(0, 1fr))}}

/* ---------- 26. CMP-ANSPRECHPARTNER ---------- */
.swg-kontakt{display:flex;gap:var(--swg-space-md);align-items:flex-start;block-size:100%;padding:var(--swg-space-ml);background:var(--swg-color-surface);border:1px solid var(--swg-hairline);border-radius:var(--swg-radius-md)}
.swg-kontakt__inhalt{display:flex;flex-direction:column;gap:var(--swg-space-xs);min-inline-size:0}
.swg-kontakt__titel{font-size:var(--swg-type-size-md)}
.swg-kontakt__rolle{font-size:var(--swg-type-size-sm)}
.swg-kontakt__wege{display:flex;flex-direction:column;gap:0;margin-block-start:var(--swg-space-xs);padding:0;list-style:none}
.swg-kontakt__wege li{display:flex;align-items:center;gap:var(--swg-space-sm);min-block-size:var(--swg-size-touch);overflow-wrap:anywhere}
.swg-kontakt__wege a{font-weight:var(--swg-type-weight-bold);text-decoration:none;font-variant-numeric:tabular-nums}
.swg-kontakt__wege a:hover{text-decoration:underline}
.swg-kontakt__wege li:not(:has(a)){font-size:var(--swg-type-size-sm);min-block-size:0;padding-block:0.5rem}
.swg-kontakt address{font-style:normal}
.swg-kontakt--kompakt{box-shadow:var(--swg-shadow-sm)}

/* ---------- 27. CMP-STICKY-AKTION ---------- */
.swg-sticky-aktion{position:sticky;inset-block-end:0;z-index:var(--swg-z-sticky);display:flex;align-items:center;justify-content:space-between;gap:var(--swg-space-md);padding:var(--swg-space-ms) var(--swg-space-gutter) calc(var(--swg-space-ms) + env(safe-area-inset-bottom, 0px));background:var(--swg-color-surface);border-block-start:1px solid var(--swg-hairline);box-shadow:0 -4px 16px rgb(51 51 53 / 0.14)}
.swg-sticky-aktion__preis{font-size:var(--swg-type-size-xs);line-height:1.3}
.swg-sticky-aktion__preis strong{display:block;font-size:var(--swg-type-size-lg);font-variant-numeric:tabular-nums}
@media (min-width:64rem){.swg-sticky-aktion:not(.swg-sticky-aktion--immer){display:none}}
html:has(.swg-sticky-aktion){scroll-padding-block-end:6rem}

/* ---------- 28. CMP-FUSS ---------- */
.swg-fuss{--swg-fokus:var(--swg-color-focus-inverse);container-type:inline-size;background:var(--swg-color-surface-darker);color:var(--swg-color-text-inverse);padding-block:var(--swg-space-xl) var(--swg-space-lg);font-size:var(--swg-type-size-sm)}
.swg-fuss a{color:var(--swg-color-text-inverse);text-decoration:none}
.swg-fuss a:hover{text-decoration:underline}
.swg-fuss__raster{display:grid;grid-template-columns:repeat(auto-fit, minmax(min(100%, 10rem), 1fr));gap:var(--swg-space-xl) var(--swg-space-lg);padding-block:var(--swg-space-xl)}
.swg-fuss__marke{display:flex;flex-direction:column;gap:var(--swg-space-ms);grid-column:1 / -1}
.swg-fuss__marke img{inline-size:3.5rem;block-size:auto}
.swg-fuss__marke address{font-style:normal}
.swg-fuss__titel{font-size:var(--swg-type-size-xs);letter-spacing:var(--swg-type-tracking-caps);text-transform:uppercase;color:var(--swg-color-text-inverse);margin-block-end:var(--swg-space-xs)}
.swg-fuss ul{padding:0;list-style:none}
.swg-fuss nav a{display:flex;align-items:center;min-block-size:var(--swg-size-touch)}
.swg-fuss__unten{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--swg-space-md);padding-block-start:var(--swg-space-lg);border-block-start:1px solid rgb(255 255 255 / 0.2)}
.swg-fuss__unten ul{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--swg-space-md)}
.swg-fuss__unten li a{display:inline-flex;align-items:center;gap:var(--swg-space-sm);min-block-size:var(--swg-size-touch)}
.swg-fuss__unten [aria-current]{font-weight:var(--swg-type-weight-bold)}
@container (min-width:60rem){
  .swg-fuss__raster{grid-template-columns:1.2fr repeat(4, 1fr)}
  .swg-fuss__marke{grid-column:auto}
}

/* ---------- 28a. CMP-SPRACHUMSCHALTER ---------- */
.swg-sprache{display:inline-flex;anchor-scope:--swg-sprache}
.swg-sprache__knopf{gap:0.375rem;padding-inline:0.625rem;font-weight:var(--swg-type-weight-semibold);anchor-name:--swg-sprache}
.swg-sprache__liste{display:flex;flex-wrap:wrap;gap:0 var(--swg-space-md);padding:0;margin:0;list-style:none}
.swg-sprache__liste a{display:inline-flex;align-items:center;gap:var(--swg-space-xs);min-block-size:var(--swg-size-touch)}
.swg-sprache__liste [aria-current]{font-weight:var(--swg-type-weight-bold);text-decoration-thickness:2px;text-decoration-color:var(--swg-color-brand-yellow)}
.swg-sprache__popover{margin:auto;padding:var(--swg-space-sm) var(--swg-space-md);border:1px solid var(--swg-hairline);border-radius:var(--swg-radius-md);background:var(--swg-color-surface);box-shadow:var(--swg-shadow-lg)}
.swg-sprache__popover .swg-sprache__liste{flex-direction:column;min-inline-size:11rem}
@supports (anchor-name:--a) and (position-area:block-end){
  .swg-sprache__popover:popover-open{position-anchor:--swg-sprache;inset:auto;margin:6px 0;position-area:block-end span-inline-start;position-try-fallbacks:flip-inline}
}
.swg-sprache__popover--statisch{display:block;position:static;inline-size:max-content}

/* ---------- 28b. CMP-HINWEISZEILE (höchstens eine, nur mit Frist) ---------- */
.swg-hinweiszeile{background:var(--swg-hover-flaeche);border-block-end:1px solid var(--swg-hairline);font-size:var(--swg-type-size-sm);color:var(--swg-color-text-strong)}
.swg-hinweiszeile__innen{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 var(--swg-space-md);padding-block:0.375rem;text-align:center}
.swg-hinweiszeile a{display:inline-flex;align-items:center;gap:var(--swg-space-xs);min-block-size:var(--swg-size-touch);font-weight:var(--swg-type-weight-bold)}

/* ---------- 28c. CMP-FILTERLEISTE und CMP-ANSICHT-UMSCHALTER ---------- */
.swg-filter{container-type:inline-size;display:flex;flex-direction:column;gap:var(--swg-space-md);padding:var(--swg-space-ml);background:var(--swg-color-surface);border:1px solid var(--swg-hairline);border-radius:var(--swg-radius-md);box-shadow:var(--swg-shadow-sm)}
.swg-filter__felder{display:grid;gap:var(--swg-space-md);grid-template-columns:repeat(auto-fit, minmax(min(100%, 11rem), 1fr));align-items:end}
.swg-filter__mehr{border-block:1px solid var(--swg-hairline)}
.swg-filter__mehr>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--swg-space-sm);min-block-size:var(--swg-size-touch);font-weight:var(--swg-type-weight-semibold);color:var(--swg-color-text-strong);cursor:pointer;list-style:none}
.swg-filter__mehr>summary::-webkit-details-marker{display:none}
.swg-filter__mehr>summary .swg-icon{transition:rotate var(--swg-motion-short) ease}
.swg-filter__mehr[open]>summary .swg-icon{rotate:180deg}
.swg-filter__mehr .swg-raster{--swg-raster-min:12rem;gap:0 var(--swg-space-md);padding-block-end:var(--swg-space-sm)}
.swg-filter__fuss{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--swg-space-sm) var(--swg-space-md)}
.swg-filter__treffer{font-variant-numeric:tabular-nums}
.swg-filter__treffer strong{font-size:var(--swg-type-size-lg)}
.swg-filter__aktiv{display:flex;flex-wrap:wrap;gap:var(--swg-space-sm);padding:0;margin:0;list-style:none}
.swg-filter__aktiv a{display:inline-flex;align-items:center;gap:0.375rem;min-block-size:var(--swg-size-touch);padding:0.25rem 0.5rem 0.25rem 0.875rem;border-radius:var(--swg-radius-pill);background:var(--swg-hover-flaeche);color:var(--swg-color-text-strong);font-size:var(--swg-type-size-sm);font-weight:var(--swg-type-weight-semibold);text-decoration:none}
.swg-filter__aktiv a:hover{text-decoration:underline}
.swg-ansicht{display:inline-flex;padding:0.25rem;margin:0;gap:0.25rem;list-style:none;border:1px solid var(--swg-color-line-input);border-radius:var(--swg-radius-md);background:var(--swg-color-surface)}
.swg-ansicht a{display:inline-flex;align-items:center;gap:var(--swg-space-sm);min-block-size:2.5rem;padding-inline:var(--swg-space-ms);border-radius:var(--swg-radius-sm);font-weight:var(--swg-type-weight-semibold);color:var(--swg-color-text-strong);text-decoration:none}
.swg-ansicht a:hover{text-decoration:underline}
.swg-ansicht a[aria-current]{background:var(--swg-color-surface-darker);color:var(--swg-color-text-inverse)}
.swg-ansicht a[aria-current] .swg-icon{color:var(--swg-color-brand-yellow)}
.swg-ansicht a:focus-visible{outline-offset:1px}

/* ---------- 28d. CMP-PARZELLEN (Status mit Text, nie nur Farbe) ---------- */
.swg-parzellen{display:grid;gap:var(--swg-space-lg)}
.swg-parzellen__lageplan{--swg-ratio:16 / 9}
.swg-parzellen__tabelle{overflow-x:auto;border-radius:var(--swg-radius-sm)}
.swg-parzellen table{inline-size:100%;font-size:var(--swg-type-size-sm);font-variant-numeric:tabular-nums}
.swg-parzellen caption{text-align:start;font-weight:var(--swg-type-weight-bold);color:var(--swg-color-text-strong);padding-block-end:var(--swg-space-sm)}
.swg-parzellen :is(th,td){padding:var(--swg-space-sm) 0.375rem;border-block-end:1px solid var(--swg-hairline);text-align:start;white-space:nowrap}
.swg-parzellen thead th{font-size:var(--swg-type-size-xs);font-weight:var(--swg-type-weight-bold);color:var(--swg-color-text-strong);border-block-end-color:var(--swg-color-line-strong)}
.swg-parzellen tbody th{font-weight:var(--swg-type-weight-bold);color:var(--swg-color-text-strong)}
.swg-parzellen tbody tr:target{background:var(--swg-hover-flaeche)}
.swg-parzellen td:nth-child(3){font-weight:var(--swg-type-weight-bold);color:var(--swg-color-text-strong)}
.swg-parzellen tr.swg-parzellen--verkauft :is(th,td){color:var(--swg-color-text)}
@container (min-width:56rem){.swg-parzellen--mit-plan{grid-template-columns:minmax(0, 1fr) minmax(0, 1.2fr);align-items:start}}

/* ---------- 28e. CMP-DOWNLOADS ---------- */
.swg-downloads{display:grid;padding:0;margin:0;list-style:none;border-block-start:1px solid var(--swg-hairline)}
.swg-downloads li{position:relative;display:flex;gap:var(--swg-space-md);align-items:flex-start;padding-block:var(--swg-space-md);border-block-end:1px solid var(--swg-hairline)}
.swg-downloads__inhalt{display:flex;flex-direction:column;gap:0.125rem;min-inline-size:0}
.swg-downloads__link{font-weight:var(--swg-type-weight-bold);overflow-wrap:anywhere}
.swg-downloads__link::after{content:"";position:absolute;inset:0}
.swg-downloads__link:focus-visible{outline:none}
.swg-downloads__link:focus-visible::after{outline:3px solid var(--swg-fokus);outline-offset:-2px;border-radius:var(--swg-radius-sm)}
.swg-downloads li:hover .swg-downloads__link{text-decoration-thickness:2px}
.swg-downloads__format,.swg-downloads__meta{font-size:var(--swg-type-size-sm);font-weight:var(--swg-type-weight-regular);color:var(--swg-color-text)}
.swg-downloads__format{white-space:nowrap}
.swg-downloads__gruppe{font-size:var(--swg-type-size-md);margin-block:var(--swg-space-lg) var(--swg-space-sm)}

/* ---------- 28f. CMP-ZEITPLAN (Meilensteine und Baufortschritt) ---------- */
.swg-zeitplan{display:grid;padding:0;margin:0;list-style:none}
.swg-zeitplan>li{position:relative;display:flex;flex-direction:column;gap:var(--swg-space-xs);padding-inline-start:2.75rem;padding-block-end:var(--swg-space-lg)}
.swg-zeitplan>li::before{content:"";position:absolute;inset-block:0.25rem 0;inset-inline-start:0.8125rem;inline-size:2px;background:var(--swg-color-line)}
.swg-zeitplan>li:last-child::before{display:none}
.swg-zeitplan__punkt{position:absolute;inset-block-start:0;inset-inline-start:0;display:grid;place-items:center;inline-size:1.75rem;block-size:1.75rem;border-radius:50%;border:2px solid var(--swg-color-line-input);background:var(--swg-color-surface);color:var(--swg-color-text-strong)}
.swg-zeitplan__punkt .swg-icon{inline-size:1rem;block-size:1rem}
.swg-zeitplan__zeit{font-size:var(--swg-type-size-sm);font-weight:var(--swg-type-weight-semibold);font-variant-numeric:tabular-nums}
.swg-zeitplan__titel{font-size:var(--swg-type-size-md)}
.swg-zeitplan__status{font-size:var(--swg-type-size-xs);font-weight:var(--swg-type-weight-bold);text-transform:uppercase;letter-spacing:var(--swg-type-tracking-caps);color:var(--swg-color-text-strong)}
.swg-zeitplan__erledigt .swg-zeitplan__punkt{background:var(--swg-color-surface-darker);border-color:var(--swg-color-surface-darker);color:var(--swg-color-text-inverse)}
.swg-zeitplan__erledigt::before{background:var(--swg-color-surface-darker)}
.swg-zeitplan__aktuell .swg-zeitplan__punkt{background:var(--swg-color-brand-yellow);border-color:var(--swg-color-text-strong)}
.swg-zeitplan__geplant .swg-zeitplan__punkt{border-style:dashed}
.swg-zeitplan .swg-medium{max-inline-size:24rem;margin-block-start:var(--swg-space-xs);border-radius:var(--swg-radius-md)}

/* ---------- 28g. CMP-FEHLERSEITE ---------- */
.swg-fehlerseite{display:flex;flex-direction:column;gap:var(--swg-space-lg);max-inline-size:var(--swg-width-medium)}
.swg-fehlerseite__titel{font-size:var(--swg-type-size-3xl);letter-spacing:var(--swg-type-tracking-heading)}
.swg-fehlerseite__suche{display:flex;flex-wrap:wrap;align-items:end;gap:var(--swg-space-sm)}
.swg-fehlerseite__suche .swg-feld{flex:1 1 14rem}

/* ---------- 29. Dunkelmodus: nur Fuß und Notdienst-Leiste leicht abgedunkelt ---------- */
@media (prefers-color-scheme:dark){
  .swg-fuss{background:var(--swg-color-surface-darkest)}
  .swg-notdienstleiste{background:var(--swg-color-surface-darkest)}
  @supports ((backdrop-filter:blur(8px)) or (-webkit-backdrop-filter:blur(8px))){.swg-notdienstleiste{background:rgb(38 38 40 / 0.94)}}
}

/* ---------- 30. Musterseite: Beispielrahmen ---------- */
.swg-beispiel{display:flex;flex-direction:column;gap:var(--swg-space-sm);min-inline-size:0}
.swg-beispiel>figcaption{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)}
.swg-beispiel__flaeche{padding:var(--swg-space-md);border:1px dashed var(--swg-color-brand-anthracite-40);border-radius:var(--swg-radius-md);min-inline-size:0}
.swg-beispiel__flaeche--grau{background:var(--swg-color-surface-subtle)}
.swg-beispiel__flaeche--dunkel{background:var(--swg-color-surface-darker);--swg-fokus:var(--swg-color-focus-inverse)}
.swg-beispiel__flaeche--schmal{max-inline-size:20rem}
.swg-farbe{display:flex;flex-direction:column;gap:var(--swg-space-xs);font-size:var(--swg-type-size-xs)}
.swg-farbe__feld{block-size:3.5rem;border-radius:var(--swg-radius-md);border:1px solid var(--swg-hairline);background:var(--swg-farbe)}
/* Keine style-Attribute (CSP style-src 'self', E2): Farbmuster, Raster und Schatten der Musterseite über Klassen */
.swg-farbe--gelb{--swg-farbe:var(--swg-color-brand-yellow)}
.swg-farbe--gelb-80{--swg-farbe:var(--swg-color-brand-yellow-80)}
.swg-farbe--gelb-60{--swg-farbe:var(--swg-color-brand-yellow-60)}
.swg-farbe--gelb-40{--swg-farbe:var(--swg-color-brand-yellow-40)}
.swg-farbe--gelb-20{--swg-farbe:var(--swg-color-brand-yellow-20)}
.swg-farbe--anthrazit{--swg-farbe:var(--swg-color-brand-anthracite)}
.swg-farbe--anthrazit-80{--swg-farbe:var(--swg-color-brand-anthracite-80)}
.swg-farbe--anthrazit-60{--swg-farbe:var(--swg-color-brand-anthracite-60)}
.swg-farbe--anthrazit-40{--swg-farbe:var(--swg-color-brand-anthracite-40)}
.swg-farbe--anthrazit-20{--swg-farbe:var(--swg-color-brand-anthracite-20)}
.swg-farbe--anthrazit-dunkel{--swg-farbe:var(--swg-color-brand-anthracite-dark)}
.swg-farbe--fehler{--swg-farbe:var(--swg-color-status-error)}
.swg-farbe--erfolg{--swg-farbe:var(--swg-color-status-success)}
.swg-raster--icons{--swg-raster-min:6rem}
.swg-raster--liste{--swg-raster-min:14rem}
.swg-beispiel__schatten--md{box-shadow:var(--swg-shadow-md)}
.swg-beispiel__schatten--lg{box-shadow:var(--swg-shadow-lg)}
.swg-beispiel__innen{padding:var(--swg-space-xl);border-radius:var(--swg-radius-md)}
.swg-beispiel__innen--eng{padding:var(--swg-space-md)}
ul.swg-stack,ol.swg-stack{padding:0;list-style:none}

/* ---------- 31. Bewegung (design/motion.json) ---------- */
@media (prefers-reduced-motion:no-preference){
  /* MOTION-ERSCHEINEN */
  .swg-erscheinen,.swg-sticky-aktion{transition:opacity var(--swg-motion-long) var(--swg-motion-easing-standard),translate var(--swg-motion-long) var(--swg-motion-easing-standard),box-shadow var(--swg-motion-short) ease}
  @starting-style{
    .swg-erscheinen{opacity:0;translate:0 var(--swg-motion-appear-offset)}
    .swg-sticky-aktion{opacity:0;translate:0 100%}
  }
  /* MOTION-EINBLENDEN */
  .swg-menue[popover],.swg-info__text[popover],.swg-sprache__popover[popover]{transition:opacity var(--swg-motion-standard) var(--swg-motion-easing-standard),translate var(--swg-motion-standard) var(--swg-motion-easing-standard),display var(--swg-motion-standard) allow-discrete,overlay var(--swg-motion-standard) allow-discrete}
  .swg-menue[popover]::backdrop{transition:opacity var(--swg-motion-standard) ease,display var(--swg-motion-standard) allow-discrete,overlay var(--swg-motion-standard) allow-discrete}
  @starting-style{
    .swg-menue[popover]:popover-open{translate:100% 0}
    .swg-menue[popover]:popover-open::backdrop{opacity:0}
    .swg-info__text[popover]:popover-open,.swg-sprache__popover[popover]:popover-open{opacity:0;translate:0 -4px}
  }
  .swg-btn[aria-busy="true"]::before{animation:swg-drehen 0.9s linear infinite}
  /* MOTION-SCROLL-EINBLENDUNG */
  @supports (animation-timeline:view()){
    .swg-reveal{animation:swg-reveal var(--swg-motion-easing-linear) both;animation-timeline:view();animation-range:var(--swg-motion-scroll-range)}
  }
}
@keyframes swg-reveal{from{opacity:0.3;translate:0 10px}to{opacity:1;translate:0 0}}
@keyframes swg-drehen{to{rotate:1turn}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:var(--swg-motion-reduced)!important;animation-duration:var(--swg-motion-reduced)!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
  :is(.swg-kachel,.swg-angebot,.swg-meldung):hover{translate:none}
  .swg-reveal{animation:none!important}
}

/* ---------- 32. Druck ---------- */
@media print{
  @page{margin:1.5cm}
  body{color:#000;background:#fff;font-size:11pt}
  .swg-notdienstleiste{position:static;background:none;color:#000;border-block-end:1pt solid #000}
  .swg-notdienstleiste a,.swg-notdienstleiste__nummer .swg-icon{color:#000}
  .swg-notdienstleiste__status,.swg-skip,.swg-kopf__nav,.swg-kopf__aktionen,.swg-menue,.swg-sticky-aktion,.swg-suche,.swg-weiche,.swg-filter,.swg-ansicht,.swg-sprache,.swg-fehlerseite__suche,.swg-info__knopf,.swg-galerie__reihe,.swg-karte,.swg-fuss nav,.swg-fuss__unten{display:none!important}
  .swg-info__text[popover]{display:block!important;position:static;background:none;color:#000;box-shadow:none;padding:0}
  .swg-dunkel,.swg-fuss,.swg-notdienst-band,.swg-btn--anruf{background:none!important;color:#000!important;box-shadow:none!important}
  .swg-dunkel *,.swg-fuss *,.swg-notdienst-band *,.swg-btn--anruf *{color:#000!important}
  .swg-angebot,.swg-meldung,.swg-kachel,.swg-verhalten,.swg-notfall-kategorie,.swg-kontakt,.swg-energie,.swg-kosten tr,.swg-hinweis{break-inside:avoid;box-shadow:none!important;translate:none!important}
  .swg-abschnitt{padding-block:1rem}
  .swg-reveal,.swg-erscheinen{animation:none!important;opacity:1!important;translate:none!important}
  main a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;font-weight:400}
  .swg-angebot__link::after,.swg-meldung__link::after{content:none}
  h2,h3{break-after:avoid}
}
