/* SG deep Bridge · Design 2.0
   Modern und ruhig (Anmutung pekta.eu), klare Datenkarten (Salesforce), FDP-Farben als Akzent.
   Schrift kommt vom Theme; Zahlen tabellarisch. Alle Farben als Variablen – das Theme kann sie überschreiben. */
:root{
  --sg-gelb:#ffed00; --sg-magenta:#e5007d; --sg-cyan:#009ee3; --sg-tuerkis:#00abae;
  --sg-ink:var(--ink,#16161a); --sg-text:var(--ink,#2b2d33); --sg-grau:var(--ink-2,#5d6170); --sg-linie:#e6e4de; --sg-flaeche:var(--flaeche,#f6f5f1); --sg-karte:#fff;
  --sg-gut:#1f7a43; --sg-gut-bg:#e8f5ec; --sg-schlecht:#b4232f; --sg-schlecht-bg:#fdecee; --sg-offen-bg:#f1f0eb;
  --sg-r:14px; --sg-r-klein:8px;
  --sg-schatten:0 1px 2px rgba(22,22,26,.04),0 10px 28px -14px rgba(22,22,26,.18);
  --sg-schatten-hoch:0 2px 4px rgba(22,22,26,.05),0 18px 40px -16px rgba(22,22,26,.26);
}
.sg-seite{max-width:1180px;margin:0 auto;padding:36px 20px 80px;color:var(--sg-text);font-family:inherit;font-variant-numeric:tabular-nums}
.sg-seite h1,.sg-thema h1{font-size:clamp(32px,5.4vw,58px);line-height:1.04;margin:8px 0 14px;font-weight:800;letter-spacing:-.025em;color:var(--sg-ink);overflow-wrap:anywhere}
.sg-seite h1 em,.sg-h2 em,.sg-box h2 em{font-style:italic;font-weight:600;color:var(--sg-magenta)}
.sg-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sg-grau);margin:0 0 4px}
.sg-kicker::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sg-gelb);box-shadow:0 0 0 2px var(--sg-ink) inset}
.sg-box h2 .sg-kicker{display:flex}
.sg-meta{font-size:14px;color:var(--sg-grau);margin:0 0 6px}
.sg-einleitung{font-size:clamp(17px,2vw,20px);line-height:1.55;max-width:60ch;margin:0 0 30px;color:var(--sg-grau)}
.sg-krumen{font-size:13px;color:var(--sg-grau);margin-bottom:18px}.sg-krumen a{color:inherit;text-decoration:none}.sg-krumen a:hover{color:var(--sg-magenta)}

/* Karten und Kästen */
.sg-box{background:var(--sg-karte);border:1px solid var(--sg-linie);border-radius:var(--sg-r);padding:22px 24px;box-shadow:var(--sg-schatten);margin:0 0 24px}
.sg-box h2{font-size:21px;margin:0 0 12px;line-height:1.25;color:var(--sg-ink);letter-spacing:-.01em}
.sg-drei{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:26px 0}
.sg-drei .sg-box{margin:0}
@media(max-width:900px){.sg-drei{grid-template-columns:minmax(0,1fr)}}
.sg-text p:first-child{margin-top:0}.sg-text p:last-child{margin-bottom:0}
.sg-lesen{font-size:18px;line-height:1.7;max-width:68ch;margin:20px 0 30px}
.sg-mein{background:linear-gradient(180deg,#fffde6 0,#fff 60%);border-color:#efe7a6}

/* Abstimmung */
.sg-gross{font-size:28px;font-weight:800;margin:2px 0 12px;letter-spacing:-.01em}
.sg-gross.erg-gut{color:var(--sg-gut)}.sg-gross.erg-schlecht{color:var(--sg-schlecht)}
.sg-stimmen{display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--sg-offen-bg);margin:6px 0 10px;gap:2px}
.sg-stimmen i{display:block}.sg-stimmen .ja{background:var(--sg-gut)}.sg-stimmen .nein{background:var(--sg-schlecht)}.sg-stimmen .enth{background:#c9c7c0}
.sg-votum-gross{display:inline-flex;align-items:center;gap:10px;font-size:26px;font-weight:800;padding:8px 18px;border-radius:12px;margin:2px 0 14px}
.votum-ja{background:var(--sg-gelb);color:var(--sg-ink)}.votum-nein{background:var(--sg-ink);color:#fff}.votum-enth{background:var(--sg-offen-bg);color:var(--sg-ink)}.votum-anders{background:var(--sg-offen-bg)}

/* Marken (Pills) */
.sg-marke{display:inline-flex;align-items:center;font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;margin:0 6px 0 0;white-space:nowrap;line-height:1.5;background:var(--sg-offen-bg);color:var(--sg-text)}
.sg-marke.erg-gut{background:var(--sg-gut-bg);color:var(--sg-gut)}.sg-marke.erg-schlecht{background:var(--sg-schlecht-bg);color:var(--sg-schlecht)}
.sg-marke.votum-ja{background:var(--sg-gelb);color:var(--sg-ink)}.sg-marke.votum-nein{background:var(--sg-ink);color:#fff}

/* Listen und Karten */
.sg-liste{display:grid;gap:14px}.sg-raster{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.sg-karte{display:grid;gap:6px;align-content:start;background:var(--sg-karte);border:1px solid var(--sg-linie);border-radius:var(--sg-r);padding:16px 18px;color:var(--sg-text);text-decoration:none;box-shadow:var(--sg-schatten);transition:box-shadow .18s,transform .18s,border-color .18s}
.sg-karte:hover,.sg-karte:focus-visible{box-shadow:var(--sg-schatten-hoch);transform:translateY(-2px);border-color:#d9d6cc}
.sg-karte-kopf{display:flex;gap:10px;justify-content:space-between;align-items:center;font-size:12.5px;color:var(--sg-grau)}
.sg-karte strong{font-size:17px;line-height:1.35;color:var(--sg-ink);letter-spacing:-.005em}
.sg-kurz{font-size:14.5px;line-height:1.5;color:var(--sg-grau)}
.sg-typ{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--sg-magenta)}
.sg-marken{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}
.sg-h2{font-size:24px;margin:34px 0 14px;color:var(--sg-ink);letter-spacing:-.015em}.sg-h2 small{font-size:13px;color:var(--sg-grau);font-weight:600;background:var(--sg-offen-bg);border-radius:999px;padding:2px 9px;margin-left:6px;vertical-align:middle}

/* Themen */
.sg-position{position:relative;background:var(--sg-karte);border:1px solid var(--sg-linie);border-radius:var(--sg-r);padding:22px 26px 22px 30px;font-size:19px;line-height:1.6;max-width:76ch;margin:8px 0 26px;box-shadow:var(--sg-schatten);overflow:hidden}
.sg-position::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--sg-gelb)}
.sg-position p{margin:6px 0 0}
.sg-schritte{border-top:4px solid var(--sg-cyan)}
.sg-raster-2{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:36px}
@media(max-width:860px){.sg-raster-2{grid-template-columns:minmax(0,1fr)}}
.sg-raster-2 aside{position:sticky;top:24px;align-self:start}
.sg-chronik{list-style:none;padding:0;margin:0;position:relative}
.sg-chronik::before{content:"";position:absolute;left:5px;top:6px;bottom:6px;width:2px;background:var(--sg-linie)}
.sg-chronik li{padding:0 0 16px 24px;position:relative;font-size:15px;line-height:1.4}
.sg-chronik li::before{content:"";position:absolute;left:0;top:5px;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--sg-magenta)}
.sg-chronik time{font-size:12.5px;color:var(--sg-grau);display:block}
.sg-chronik .sg-typ{margin-right:6px}
.sg-chronik a{color:var(--sg-ink);text-decoration:none;font-weight:600}.sg-chronik a:hover{color:var(--sg-magenta)}
.sg-themen{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 24px}
.sg-thema-chip{display:inline-flex;font-size:13.5px;font-weight:600;border-radius:999px;padding:5px 14px;text-decoration:none;color:var(--sg-ink);background:#fff8a8;border:1px solid #efe58a}
.sg-thema-chip:hover{background:var(--sg-gelb)}
.sg-themen-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.sg-thema-kachel{display:grid;gap:8px;align-content:start;background:var(--sg-karte);border:1px solid var(--sg-linie);border-radius:var(--sg-r);padding:20px 22px;text-decoration:none;color:var(--sg-text);box-shadow:var(--sg-schatten);position:relative;overflow:hidden;transition:box-shadow .18s,transform .18s}
.sg-thema-kachel::after{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--sg-gelb),var(--sg-magenta),var(--sg-cyan))}
.sg-thema-kachel strong{font-size:21px;color:var(--sg-ink);letter-spacing:-.01em}
.sg-thema-kachel em{font-size:12.5px;color:var(--sg-grau);font-style:normal}
.sg-thema-kachel:hover{box-shadow:var(--sg-schatten-hoch);transform:translateY(-2px)}

/* Kennzahlen (Salesforce-Kacheln) */
.sg-zahlen{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0 0 24px}
.sg-zahlen div{background:var(--sg-karte);border:1px solid var(--sg-linie);border-radius:var(--sg-r);padding:16px 18px;box-shadow:var(--sg-schatten)}
.sg-zahlen b{display:block;font-size:32px;line-height:1.05;color:var(--sg-ink);letter-spacing:-.02em}
.sg-zahlen span{font-size:13px;color:var(--sg-grau)}
.sg-zahlen .ja{border-top:4px solid var(--sg-gelb)}.sg-zahlen .nein{border-top:4px solid var(--sg-ink)}
@media(max-width:760px){.sg-zahlen{grid-template-columns:repeat(2,minmax(0,1fr))}.sg-zahlen div:first-child{grid-column:1/-1}}

/* Filter */
.sg-filter{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:0 0 22px;padding:14px 16px;background:var(--sg-flaeche);border-radius:var(--sg-r)}
.sg-filter label{display:grid;gap:4px;font-size:12px;font-weight:600;color:var(--sg-grau);text-transform:uppercase;letter-spacing:.06em}
.sg-filter select{font:inherit;font-size:15px;text-transform:none;letter-spacing:0;padding:8px 34px 8px 12px;border:1px solid #d6d3ca;background:#fff;color:var(--sg-ink);border-radius:var(--sg-r-klein);min-width:130px}
.sg-filter button{font:inherit;font-size:15px;font-weight:700;padding:9px 18px;border:0;border-radius:999px;background:var(--sg-ink);color:#fff;cursor:pointer}
.sg-filter button:hover{background:var(--sg-magenta)}

/* Abstimmungsliste */
.sg-abst-liste{display:grid;gap:12px}
.sg-abst-zeile{display:grid;grid-template-columns:112px minmax(0,1fr);gap:18px;padding:16px 18px;background:var(--sg-karte);border:1px solid var(--sg-linie);border-radius:var(--sg-r);box-shadow:var(--sg-schatten)}
.sg-abst-zeile h3{font-size:18px;margin:2px 0 6px;line-height:1.35;letter-spacing:-.005em}.sg-abst-zeile h3 a{color:var(--sg-ink);text-decoration:none}.sg-abst-zeile h3 a:hover{color:var(--sg-magenta)}
.sg-abst-votum{align-self:start;text-align:center;font-weight:800;font-size:16px;padding:12px 6px;border-radius:12px}
.sg-warum{margin:0;font-size:15px;line-height:1.5;color:var(--sg-grau)}.sg-warum b{color:var(--sg-ink)}
@media(max-width:560px){.sg-abst-zeile{grid-template-columns:minmax(0,1fr);gap:8px}.sg-abst-votum{justify-self:start;padding:6px 14px}}

/* Quellen, Herkunft, Navigation */
.sg-quellen ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.sg-quellen li{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.sg-quellen a,.sg-tabelle a{color:var(--sg-ink);font-weight:600;text-decoration-color:var(--sg-magenta);text-underline-offset:3px}
.sg-quellen code,.sg-tabelle code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;background:var(--sg-offen-bg);padding:2px 7px;border-radius:6px;color:var(--sg-grau)}
.sg-herkunft{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--sg-grau);background:var(--sg-flaeche);border-radius:var(--sg-r-klein);padding:10px 14px;margin-top:28px}
.sg-herkunft::before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--sg-gut);color:#fff;font-size:12px;font-weight:800;flex:none}
.sg-mehr{margin:20px 0 0}.sg-mehr a{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--sg-ink);text-decoration:none;border-bottom:2px solid var(--sg-gelb);padding-bottom:2px}.sg-mehr a:hover{border-color:var(--sg-magenta)}
.sg-leer{color:var(--sg-grau);background:var(--sg-flaeche);border-radius:var(--sg-r);padding:18px 20px}
.sg-reiter{display:inline-flex;gap:4px;flex-wrap:wrap;margin:0 0 20px;padding:4px;background:var(--sg-flaeche);border-radius:999px}
.sg-reiter a{padding:7px 16px;border-radius:999px;text-decoration:none;color:var(--sg-grau);font-weight:600;font-size:14.5px}.sg-reiter a.an{background:#fff;color:var(--sg-ink);box-shadow:var(--sg-schatten)}

/* Projekte */
.sg-projekte{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}
.sg-balken{display:block;height:8px;border-radius:999px;background:var(--sg-offen-bg);margin-top:8px;overflow:hidden}.sg-balken i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--sg-magenta),var(--sg-cyan))}

/* Dokumente */
.sg-tabelle{width:100%;border-collapse:separate;border-spacing:0;font-size:15px;background:var(--sg-karte);border:1px solid var(--sg-linie);border-radius:var(--sg-r);overflow:hidden;box-shadow:var(--sg-schatten)}
.sg-tabelle th{text-align:left;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--sg-grau);background:var(--sg-flaeche);padding:12px 14px;border-bottom:1px solid var(--sg-linie)}
.sg-tabelle td{border-bottom:1px solid var(--sg-linie);padding:12px 14px;vertical-align:top}.sg-tabelle tr:last-child td{border-bottom:0}
@media(max-width:640px){.sg-tabelle thead{display:none}.sg-tabelle tr{display:block;border-bottom:1px solid var(--sg-linie);padding:8px 0}.sg-tabelle td{display:block;border:0;padding:3px 14px}}

/* Termine */
.sg-termine{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.sg-termine li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:center;background:var(--sg-karte);border:1px solid var(--sg-linie);border-radius:var(--sg-r);padding:12px 16px;box-shadow:var(--sg-schatten)}
.sg-termine strong a{color:var(--sg-ink);text-decoration:none}.sg-termine strong a:hover{color:var(--sg-magenta)}
.sg-tag{text-align:center;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:var(--sg-gelb);border-radius:12px;padding:7px 0;color:var(--sg-ink)}
.sg-tag b{display:block;font-size:24px;line-height:1;letter-spacing:-.02em}
.sg-termine span{font-size:14px;color:var(--sg-grau)}.sg-termine em{display:inline-block;font-size:12px;font-style:normal;font-weight:600;color:var(--sg-gut);background:var(--sg-gut-bg);border-radius:999px;padding:1px 9px;margin-top:4px}

:focus-visible{outline:3px solid var(--sg-cyan);outline-offset:2px}
@media (prefers-reduced-motion:reduce){.sg-karte,.sg-thema-kachel{transition:none}.sg-karte:hover,.sg-thema-kachel:hover{transform:none}}
/* 0.9.0: Zeitstrahl, Sitzplan, Treemap, Karte */
.sg-zeitstrahl{margin:0 0 14px;overflow-x:auto}.sg-zeitstrahl svg{display:block;min-width:420px}
.sg-sitzplan-box{margin:10px 0}.sg-sitzplan{max-width:100%;height:auto;color:inherit}
.sg-sitzplan-legende{display:flex;flex-wrap:wrap;gap:10px;font-size:.8rem;margin:4px 0 0}.sg-sitzplan-legende i,.sg-treemap-legende i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:4px;vertical-align:-1px}
.sg-treemap{position:relative;width:100%;border-radius:8px;overflow:hidden;background:var(--sg-offen-bg,#f1f0ea)}
.sg-treemap .tm-k{position:absolute;overflow:hidden;padding:6px 8px;border-radius:4px;text-decoration:none;color:#0B2A3E;line-height:1.2;transition:filter .15s}.sg-treemap .tm-k:hover{filter:brightness(.94)}
.sg-treemap-legende{display:flex;flex-wrap:wrap;gap:12px;font-size:.8rem;opacity:.85;margin:6px 0 0}.l-gruen{background:hsl(145 55% 55%)}.l-rot{background:hsl(4 70% 60%)}.l-grau{background:#e2e1db}
.sg-karte{position:relative;border-radius:10px;overflow:hidden;background:#e9eef2}.sg-karte-hinweis{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;gap:10px}
.sg-karte-hinweis p{max-width:460px;margin:0;font-size:.9rem}.sg-karte-laden{background:#003A5E;color:#fff;border:0;border-radius:999px;padding:10px 18px;font-weight:600;cursor:pointer}

/* Kachel-Mosaik (sg_themenkacheln / sg_pressekacheln) */
.sg-kacheln{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:170px;grid-auto-flow:dense;gap:10px;margin:1rem 0}
.sg-kachel{position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:18px 20px;border-radius:14px;text-decoration:none;overflow:hidden;color:#0B2A3E;min-width:0;transition:transform .15s,box-shadow .15s}
.sg-kachel:hover{transform:translateY(-3px);box-shadow:0 14px 30px -16px rgba(0,0,0,.45)}
.sg-kachel.g2{grid-column:span 2;grid-row:span 2}.sg-kachel.b2{grid-column:span 2}.sg-kachel.h2{grid-row:span 2}
.sg-kachel-z{font:800 clamp(30px,4vw,48px)/1 "Inter",system-ui,sans-serif;letter-spacing:-.03em}.sg-kachel.g2 .sg-kachel-z{font-size:clamp(48px,6.5vw,80px)}
.sg-kachel-zl{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;opacity:.75;margin:2px 0 10px}
.sg-kachel-t{font:800 clamp(15px,1.5vw,20px)/1.1 "Inter",system-ui,sans-serif;text-transform:uppercase;letter-spacing:-.01em;margin:0 0 6px;overflow-wrap:anywhere;color:inherit}.sg-kachel.g2 .sg-kachel-t{font-size:clamp(22px,2.4vw,32px)}
.sg-kachel-h{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;opacity:.85;margin-bottom:10px}
.sg-kachel-l{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;border-bottom:2px solid currentColor;align-self:flex-start;padding-bottom:2px}
.sg-kachel.f-gelb{background:#FFED00;color:#0B2A3E}.sg-kachel.f-magenta{background:#E5007D;color:#fff}.sg-kachel.f-dunkel{background:#003A5E;color:#fff}.sg-kachel.f-cyan{background:#009EE3;color:#fff}.sg-kachel.f-gruen{background:#1f6f4a;color:#fff}
@media(max-width:900px){.sg-kacheln{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px}.sg-kachel.g2{grid-row:span 1}.sg-kachel.h2{grid-row:span 1}}
@media(max-width:520px){.sg-kacheln{grid-template-columns:minmax(0,1fr)}.sg-kachel.g2,.sg-kachel.b2{grid-column:span 1}}
