/*
Theme Name: SPD Waltrop
Description: Block-Theme für den SPD Stadtverband Waltrop – Farben, Schrift, Kopf-/Fußbereich und fertige Seitenvorlagen nach dem Website-Entwurf.
Version: 1.6.1
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: spd-waltrop
License: GPLv2 or later
*/
:root{--rot:#e3000f;--schwarz:#111;--grau:#444;--hellgrau:#f5f4f3;--linie:#ddd}
body{margin:0;-webkit-font-smoothing:antialiased}
main.wp-block-group{margin-top:0}
.wp-site-blocks>*{margin-block-start:0}
img{max-width:100%;height:auto}
p,li{text-wrap:pretty}

/* Abschnitte */
.spd-section{padding-top:80px;padding-bottom:88px}
.spd-section.spd-grau{background:var(--hellgrau)}
.spd-inner>*+*{margin-top:36px}
.spd-head{gap:14px!important;max-width:860px}
.spd-head>*{margin:0}
.spd-intro{font-size:var(--wp--preset--font-size--large);line-height:1.55;color:var(--grau);max-width:820px}
.has-weiss-color .spd-intro,.has-weiss-color .spd-meta,.has-weiss-color .spd-kicker{color:#fff}
.spd-kicker{font-weight:800;font-size:14px;letter-spacing:2px;text-transform:uppercase;color:var(--rot)}
.spd-zwischentitel{margin-top:48px!important}
.spd-h-klein{font-size:22px!important;margin-top:24px!important}
.spd-text>*{margin:0}
@media (max-width:700px){.spd-section{padding-top:48px;padding-bottom:56px}}

/* Roter Balken */
.wp-block-separator.spd-balken{width:64px;height:10px;border:0;background:var(--rot);opacity:1;margin:0!important}
.has-rot-background-color .wp-block-separator.spd-balken{background:#fff}

/* Startfläche */
.spd-hero{position:relative;overflow:hidden}
.spd-hero a{color:#fff}
.spd-hero-herz{width:120px;margin:0 0 24px!important}
.spd-hero-titel{font-size:clamp(56px,9vw,120px)!important;line-height:.95!important;letter-spacing:-2px}
.spd-mark{background:#fff;color:var(--rot);padding:0 .14em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.spd-btn-weiss .wp-block-button__link{background:#fff!important;color:var(--rot)!important}
.spd-btn-weiss .wp-block-button__link:hover{background:var(--schwarz)!important;color:#fff!important}
.spd-btn-rand .wp-block-button__link{background:transparent!important;color:#fff!important;box-shadow:inset 0 0 0 3px #fff}
.spd-btn-rand .wp-block-button__link:hover{background:#fff!important;color:var(--rot)!important}
.spd-muster-rechts{background-image:url(assets/images/muster-linien.png)!important;background-repeat:repeat-y!important;background-position:right top!important;background-size:150px auto!important;padding-right:180px}
@media (max-width:900px){.spd-muster-rechts{background-size:40px auto!important;padding-right:56px}}

/* Label ("Kasten-Effekt") */
.spd-label{display:inline-block;align-self:flex-start;background:var(--schwarz);color:#fff;padding:6px 14px;font-weight:800;font-size:15px;text-transform:uppercase;letter-spacing:.5px;margin:0;width:fit-content}
.spd-label-rot{background:var(--rot)}
.has-rot-background-color .spd-label{background:#fff;color:var(--rot)}

/* Kästen */
.spd-kasten{background:var(--hellgrau);border-top:8px solid var(--rot);padding:28px;gap:12px!important}
.spd-kasten>*{margin:0}
.spd-kasten-weiss{background:#fff;color:var(--schwarz)}
.spd-kasten-weiss a{color:var(--rot)}
.spd-kasten-schwarz{background:var(--schwarz);color:#fff;border-top-color:var(--rot)}
.spd-mehr a{font-weight:800}
.spd-icon{width:56px;margin:0!important}

/* Bild + Text nebeneinander */
.spd-split{gap:56px!important;align-items:center}
.spd-split-text{gap:16px!important}
.spd-split-text>*{margin:0}

/* Personen */
.spd-foto img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;display:block}
.spd-foto{margin:0!important}
.spd-foto-hero img{aspect-ratio:4/5;max-height:640px;border:8px solid #fff}
.spd-foto-folgt{aspect-ratio:4/5;background:var(--hellgrau);display:flex!important;align-items:center;justify-content:center;color:#888;font-weight:700;text-transform:uppercase;font-size:13px}
.spd-person{gap:8px!important}
.spd-person>*{margin:0}
.spd-person h3{font-size:20px}
.spd-meta-rot{color:var(--rot);font-weight:700;font-size:15px;margin:0}
.spd-meta{color:var(--grau);font-size:15px;margin:0}
.spd-klein{font-size:15px;line-height:1.5}
.spd-grau-text{color:var(--grau)}
.spd-vorstand-liste{gap:0!important;border-top:2px solid var(--schwarz)}
.spd-vorstand-zeile{gap:32px!important;padding:24px 0;border-bottom:1px solid var(--linie)}
.spd-foto-gross{width:220px;flex:0 0 220px}
.spd-vorstand-text{gap:10px!important}
.spd-vorstand-text>*{margin:0}
.spd-name-gross{font-size:28px!important}
@media (max-width:600px){.spd-foto-gross{width:100%;flex-basis:100%}}
.spd-ag-logo img{background:var(--rot);aspect-ratio:1/1;object-fit:contain;width:100%}
.spd-ag-logo,.spd-ag-logo-gross{margin:0!important}
.spd-ag-logo-gross img{background:var(--rot);aspect-ratio:1/1;object-fit:contain;max-width:360px;width:100%;border:6px solid #fff}
.spd-zurueck a{font-weight:800}

/* Lebenslauf / Steckbrief */
.spd-cv{gap:0!important;border-top:2px solid var(--schwarz)}
.spd-cv-zeile{display:grid!important;grid-template-columns:140px minmax(0,1fr);gap:20px;padding:14px 0;border-bottom:1px solid var(--linie)}
.spd-cv-zeile>*{margin:0!important}
.spd-cv-jahr{font-weight:800;color:var(--rot)}
.spd-themen{gap:0!important;border-top:2px solid var(--schwarz)}
.spd-thema{gap:4px!important;padding:16px 0;border-bottom:1px solid var(--linie)}
.spd-thema>*{margin:0}
.spd-thema h3{font-size:19px}
@media (max-width:600px){.spd-cv-zeile{grid-template-columns:1fr;gap:4px}}

/* Termine */
.spd-termine{gap:0!important;border-top:2px solid var(--schwarz)}
.spd-termin{gap:20px!important;padding:18px 0;border-bottom:1px solid var(--linie);align-items:center!important}
.spd-datum{background:var(--rot);color:#fff;width:80px;min-width:80px;height:80px;justify-content:center;align-items:center!important;gap:0!important}
.spd-datum>*{margin:0;line-height:1}
.spd-datum-tag{font-size:28px;font-weight:800}
.spd-datum-monat{font-size:13px;text-transform:uppercase;font-weight:700;letter-spacing:1px}
.spd-termin-text{gap:4px!important}
.spd-termin-text>*{margin:0}
.spd-termin h3{font-size:19px;text-transform:none;font-weight:700}

/* Projekte mit Status */
.spd-projekt{border:1px solid var(--linie);padding:26px;gap:10px!important;background:#fff}
.spd-projekt>*{margin:0}
.spd-projekt-kopf{gap:12px!important;align-items:center!important}
.spd-projekt-kopf>*{margin:0}
.spd-status{font-size:12px;font-weight:800;text-transform:uppercase;padding:4px 10px;letter-spacing:.5px;white-space:nowrap}
.spd-status-umgesetzt{background:var(--rot);color:#fff}
.spd-status-in-umsetzung{background:var(--schwarz);color:#fff}
.spd-status-geplant{background:#fff;color:var(--schwarz);box-shadow:inset 0 0 0 2px var(--schwarz)}

/* Listen + Programm-Kapitel */
.spd-liste{padding-left:20px}
.spd-liste li{margin-bottom:6px}
.spd-liste li::marker{color:var(--rot)}
.spd-liste-spalten{columns:2 320px;column-gap:48px}
.spd-kapitel-liste{gap:0!important;border-top:2px solid var(--schwarz)}
.spd-kapitel{border-bottom:1px solid var(--linie);padding:0}
.spd-kapitel summary{cursor:pointer;font-weight:800;font-size:22px;text-transform:uppercase;padding:22px 0;list-style:none;display:flex;justify-content:space-between;gap:16px}
.spd-kapitel summary::-webkit-details-marker{display:none}
.spd-kapitel summary::after{content:"+";color:var(--rot);font-size:28px;line-height:1}
.spd-kapitel[open] summary::after{content:"–"}
.spd-kapitel>*:not(summary){margin:0 0 20px}

/* Kopfbereich */
.spd-header{padding-top:14px;padding-bottom:14px;position:sticky;top:0;z-index:50}
.spd-header-inner{align-items:center!important;gap:24px!important}
.spd-logo{margin:0!important}
.spd-logo img{height:52px;width:auto}
.spd-nav{font-weight:700;font-size:16px;text-transform:uppercase;letter-spacing:.5px;gap:4px 22px!important}
.spd-nav a{color:#fff!important}
.spd-nav .wp-block-navigation-item__content{padding:6px 0;border-bottom:3px solid transparent}
.spd-nav .current-menu-item>.wp-block-navigation-item__content,.spd-nav .wp-block-navigation-item__content:hover{border-bottom-color:#fff}
.spd-nav .wp-block-navigation__submenu-container{background:#fff!important;color:var(--schwarz)!important;border:0!important;box-shadow:0 8px 24px rgba(0,0,0,.15);min-width:240px!important;padding:8px 0}
.spd-nav .wp-block-navigation__submenu-container a{color:var(--schwarz)!important;padding:10px 18px!important;border:0!important}
.spd-nav .wp-block-navigation__submenu-container a:hover{color:var(--rot)!important}
.spd-nav .wp-block-navigation__responsive-container.is-menu-open{background:var(--rot)!important;color:#fff!important}
.spd-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{background:transparent!important;box-shadow:none}
.spd-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a{color:#fff!important}
.spd-nav .wp-block-navigation__responsive-container-open svg,.spd-nav .wp-block-navigation__responsive-container-close svg{fill:#fff}

/* Fußbereich */
.spd-welle{margin:0!important;line-height:0}
.spd-welle img{width:100%;display:block}
.spd-footer{padding-top:48px;padding-bottom:32px;margin-top:0!important}
.spd-footer a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.spd-footer a:hover{color:#fff;opacity:.8}
.spd-footer-titel{font-weight:800;text-transform:uppercase;font-size:15px;margin-bottom:4px}
.spd-footer-claim{font-weight:800;font-size:22px;text-transform:uppercase}
.spd-footer .spd-logo img{height:56px}
.spd-footer-unten{border-top:1px solid rgba(255,255,255,.6);padding-top:20px;font-size:14px}
.spd-footer-unten>*{margin:0}

/* Instagram-Feed (Smash Balloon) */
#sb_instagram .sbi_header_text,#sb_instagram .sb_instagram_header{display:none}
#sb_instagram #sbi_load .sbi_load_btn,#sb_instagram .sbi_follow_btn a{background:var(--rot)!important;border-radius:0!important;text-transform:uppercase;font-weight:800}

/* ===== Korrekturen 1.0.1 ===== */
/* Abschnitte immer volle Breite, Inhalt mittig max. 1240 px */
.entry-content>.spd-section,.wp-block-post-content>.spd-section,.spd-section.alignfull{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:0!important;box-sizing:border-box;padding-left:24px;padding-right:24px}
.spd-inner,.spd-section>.alignwide{max-width:1240px!important;width:100%;margin-left:auto!important;margin-right:auto!important}
body{overflow-x:hidden}
/* Raster: Spalten gleichmäßig über die ganze Breite, Kästen gleich hoch */
.spd-inner .is-layout-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))!important;align-items:stretch!important;gap:28px!important}
.spd-inner .is-layout-grid>*{height:100%;box-sizing:border-box;margin:0!important}
.spd-inner .is-layout-grid>.spd-person{height:auto}
.spd-split.is-layout-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr))!important;align-items:center!important;gap:56px!important}
.spd-kasten .wp-block-buttons{margin-top:auto!important;padding-top:8px}
/* Platzhalter "Foto folgt" so groß wie ein Foto */
.spd-foto-folgt{width:100%;box-sizing:border-box}
.spd-foto-gross.spd-foto-folgt{width:220px}
.spd-person .spd-label{font-size:12px;padding:4px 10px}

/* ===== v1.1 – an Entwurf angeglichen ===== */
.spd-oben{align-items:start!important}
.spd-unten{align-items:end!important}
.spd-dunkel{color:#333!important}
.spd-grau-text{color:var(--grau)}
.spd-hellgrau-text{color:#ddd!important}
.spd-kicker-weiss{color:#fff!important}
.spd-kicker-hell{color:#ff5560!important;font-weight:700}
.spd-titel-gross{font-size:clamp(40px,5vw,64px)!important;line-height:1!important}
.spd-hero-text{font-size:21px;line-height:1.5;max-width:520px;margin:0}

/* Startseite */
.spd-hero-start{padding-top:72px!important;padding-bottom:24px!important}
.spd-hero-grid{gap:40px!important;align-items:center}
.spd-hero-links{gap:28px!important}
.spd-hero-titel{font-size:clamp(56px,8.5vw,120px)!important;line-height:.92!important;letter-spacing:-2px}
.spd-hero-titel .spd-mark{display:inline-block;margin-top:10px;padding:4px 18px 0;line-height:1}
.spd-hero-herz{margin:0 auto!important;max-width:500px;width:100%;justify-self:center}
.spd-hero-herz img{width:100%;height:auto}
.spd-quick-leiste{padding:0 24px}
.spd-quick-leiste .spd-inner{max-width:1240px;margin:0 auto}
.spd-quick-leiste .wp-block-group.is-layout-grid{gap:16px}
.spd-quick{background:var(--hellgrau);border-top:8px solid var(--rot);padding:24px;gap:6px!important;position:relative;transition:background .15s}
.spd-quick>*{margin:0}
.spd-quick-titel{font-weight:800;font-size:21px;text-transform:uppercase}
.spd-quick-titel a{color:var(--schwarz)}
.spd-quick-titel a::after{content:"";position:absolute;inset:0}
.spd-quick-text{font-size:16px;line-height:1.4}
.spd-quick:hover{background:var(--rot);color:#fff}
.spd-quick:hover a{color:#fff}
.spd-kopfzeile{gap:12px!important;align-items:flex-end!important}
.spd-bild-muster{position:relative;padding:0 28px 28px 0}
.spd-bild-muster::before{content:"";position:absolute;right:0;bottom:0;width:70%;height:70%;background:url(assets/images/muster-diagonal-breit.png) 0 0/220px auto repeat}
.spd-bild-muster figure{position:relative;margin:0}
.spd-bild-muster img{max-height:560px}
.spd-zahlen{gap:32px!important}
.spd-zahl-box{gap:0!important}
.spd-zahl-box>*{margin:0}
.spd-zahl{font-weight:800;font-size:48px;line-height:1.1;color:var(--rot)}
.spd-zahl-schwarz{color:var(--schwarz)}
.spd-trennliste{gap:0!important;border-top:2px solid var(--schwarz)}
.spd-liste-zeile{padding:18px 0;border-bottom:1px solid var(--linie);gap:16px!important}
.spd-liste-zeile>*{margin:0}
.spd-liste-titel{font-weight:700;font-size:19px}
.spd-status-rand{flex:none;font-weight:700;font-size:13px;letter-spacing:.5px;text-transform:uppercase;padding:5px 10px;border:2px solid var(--rot);color:var(--rot);white-space:nowrap}

/* Bürgermeister */
.spd-hero-bm{padding-top:72px!important;padding-bottom:72px!important}
.spd-titel-bm{font-size:clamp(48px,6vw,80px)!important;line-height:.95!important;letter-spacing:-1.5px;text-transform:none!important}
.spd-foto-bm img{aspect-ratio:4/5;max-height:640px;object-fit:cover;object-position:50% 20%;border-bottom:10px solid var(--rot)}
.spd-kasten-6{border-top-width:6px}
.spd-fig{font-weight:800;font-size:40px;line-height:1;color:var(--rot);margin:0}
.spd-karten-titel{font-size:21px!important;text-transform:none!important}
.spd-icon{width:52px}
.spd-icon img{width:52px;height:52px;object-fit:contain}
.spd-rot-flaeche .spd-kasten-weiss{color:var(--schwarz)}
.spd-ohne-oben{padding-top:0!important}
.spd-rahmen{border:2px solid var(--schwarz);padding:48px clamp(24px,5vw,56px);gap:48px!important}
.spd-h-mittel{font-size:34px!important;text-transform:none!important}
.spd-cv-duenn{border-top:1px solid var(--linie)}
.spd-cv-fein{padding:12px 0;gap:16px}
.spd-cv-key{font-weight:700}

/* Programm */
.spd-muster-rechts{background-image:none!important;padding-right:calc(clamp(40px,10vw,150px) + 32px)!important;position:relative;overflow:hidden}
.spd-muster-rechts::after{content:"";position:absolute;top:0;right:0;bottom:0;width:clamp(40px,10vw,150px);background:url(assets/images/muster-linien.png) left center/auto 160px repeat;border-left:8px solid #fff}
.spd-titel-prog{font-size:clamp(48px,6vw,84px)!important;line-height:1!important;letter-spacing:-1.5px}
.spd-titel-prog .spd-mark{display:inline-block;padding:6px 18px 0}
.spd-tabs>*+*{margin-top:32px}
.spd-tab-leiste{gap:8px!important}
.spd-tab-leiste>*{margin:0}
.spd-tab-btn{cursor:pointer;background:#fff;color:var(--schwarz);border:2px solid var(--schwarz);padding:10px 18px;font-weight:800;font-size:16px;text-transform:uppercase;user-select:none}
.spd-tab-btn:hover{border-color:var(--rot);color:var(--rot)}
.spd-tab-btn.ist-aktiv{background:var(--rot);border-color:var(--rot);color:#fff}
.spd-tab-panels{border-top:2px solid var(--schwarz);padding-top:40px}
.spd-tab-panel{display:none}
.spd-tab-panel.ist-aktiv{display:block}
.editor-styles-wrapper .spd-tab-panel{display:block;margin-bottom:48px}
.spd-tab-panel .spd-split{gap:48px!important}
.spd-icon-gross{width:84px;margin:0!important}
.spd-icon-gross img{width:84px;height:84px;object-fit:contain}
.spd-kapitel-label{align-self:flex-start;background:var(--rot);color:#fff;font-weight:800;font-size:clamp(28px,3.5vw,44px);line-height:1;text-transform:uppercase;padding:8px 16px 4px;margin:0}
.spd-kapitel-sub{font-size:clamp(24px,2.6vw,32px)!important;line-height:1.1!important}
.spd-quadrat-liste{list-style:none;padding:0;margin:0}
.spd-quadrat-liste li{position:relative;padding:14px 0 14px 30px;border-bottom:1px solid var(--linie);margin:0;line-height:1.55;color:#222}
.spd-quadrat-liste li::before{content:"";position:absolute;left:0;top:21px;width:14px;height:14px;background:var(--rot)}
.spd-zitat-sektion{padding-top:64px!important;padding-bottom:64px!important}
.spd-zitat-box>*{margin:0 0 16px}
.spd-zitat{font-weight:800;font-size:clamp(28px,4vw,52px);line-height:1.05;text-transform:uppercase;text-wrap:balance}
.spd-zitat .spd-mark{display:inline-block;padding:6px 16px 2px;line-height:1}
.spd-zitat-autor{font-weight:700;font-size:18px}
.spd-label-h2{align-self:flex-start;background:var(--schwarz);color:#fff;font-size:30px!important;padding:8px 16px;width:fit-content;margin:0}
.spd-filter-leiste{gap:8px!important;margin-top:28px!important}
.spd-filter-leiste>*{margin:0}
.spd-filter-label{font-weight:700;font-size:15px;margin-right:8px!important}
.spd-filter-btn{cursor:pointer;background:#fff;color:var(--schwarz);border:2px solid var(--schwarz);padding:8px 16px;font-weight:700;font-size:15px;user-select:none}
.spd-filter-btn.ist-aktiv{background:var(--schwarz);color:#fff}
.spd-projekte{gap:20px!important;margin-top:28px!important}
.spd-projekt{gap:12px!important}
.spd-bereich{font-weight:700;font-size:14px;color:#666;text-transform:uppercase;letter-spacing:1px;margin:0}
.spd-status-geplant{box-shadow:none;border:2px solid var(--schwarz);padding:2px 8px}
.spd-fortschritt{height:6px;background:#eee;margin-top:auto}
.spd-fortschritt span{display:block;height:6px;background:var(--rot)}
.spd-projekt>.spd-fortschritt{margin-top:auto}

/* Fraktion – Ausschüsse */
.spd-ausschuesse{padding-top:56px!important;padding-bottom:56px!important}
.spd-ausschuesse .spd-inner>*+*{margin-top:28px}
.spd-zwischen{font-weight:800;font-size:20px;text-transform:uppercase;margin-bottom:0!important}
.spd-gap-20{gap:20px!important;align-items:start}
.spd-ausschuss{background:#fff;border-top:8px solid var(--rot);padding:22px 24px;gap:12px!important;min-width:0}
.spd-ausschuss>*{margin:0}
.spd-ausschuss-kopf{gap:4px!important}
.spd-ausschuss-kopf>*{margin:0}
.spd-badge{align-self:flex-start;background:var(--schwarz);color:#fff;font-weight:800;font-size:13px;letter-spacing:1px;padding:3px 8px;text-transform:uppercase;width:fit-content}
.spd-ausschuss-name{font-size:19px!important;line-height:1.25!important;text-transform:none!important;overflow-wrap:anywhere;hyphens:auto}
.spd-mitglieder{gap:0!important;border-top:1px solid var(--linie)}
.spd-mitglied-zeile{gap:12px!important;padding:8px 0;border-bottom:1px solid #eee}
.spd-mitglied-zeile>*{margin:0}
.spd-mitglied{font-weight:700;font-size:16px}
.spd-mitglied-notiz{color:#666;text-align:right;font-size:14px}
.spd-gremien{gap:0 40px!important}
.spd-gremium{margin:0!important;padding:12px 0 12px 22px;border-bottom:1px solid #d8d8d8;font-size:17px;position:relative}
.spd-gremium::before{content:"";position:absolute;left:0;top:19px;width:10px;height:10px;background:var(--rot)}

/* ===== v1.2 ===== */
.wp-block-group.is-layout-grid:has(> .spd-kasten-6){grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1000px){.wp-block-group.is-layout-grid:has(> .spd-kasten-6){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.wp-block-group.is-layout-grid:has(> .spd-kasten-6){grid-template-columns:1fr}}
.spd-mitte{align-items:center!important}
.spd-titel-person{font-size:clamp(48px,6.5vw,92px)!important;line-height:.95!important;letter-spacing:-1.5px}
.spd-titel-person .spd-mark{display:inline-block;margin-top:8px;padding:4px 16px 0;line-height:1}
.spd-bild-muster-hero{padding:0 22px 22px 0;max-width:460px;width:100%;justify-self:center}
.spd-bild-muster-hero::before{background:url(assets/images/muster-diagonal.png) 0 0/180px auto repeat}
.spd-bild-muster-hero .spd-foto-hero img{border:0;aspect-ratio:4/5;object-fit:cover;object-position:center 18%}
.spd-kreis-liste{gap:28px!important}
.spd-kreis-person{gap:24px!important;align-items:center!important}
.spd-kreis-foto{margin:0!important;flex:none;width:clamp(140px,18vw,220px)}
.spd-kreis-foto img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-bottom:6px solid var(--schwarz);display:block;background:var(--rot)}
.spd-kreis-text{gap:10px!important}
.spd-kreis-text>*{margin:0}
.spd-kreis-name{font-size:clamp(24px,3vw,34px)!important;line-height:1!important}

/* v1.2.1 – 3er-Raster erzwingen (überschreibt WordPress-Layoutregel im Frontend) */
body .wp-site-blocks .is-layout-grid:has(> .spd-kasten-6){grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media (max-width:1000px){body .wp-site-blocks .is-layout-grid:has(> .spd-kasten-6){grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:640px){body .wp-site-blocks .is-layout-grid:has(> .spd-kasten-6){grid-template-columns:1fr!important}}

/* v1.2.2 – Bürgermeister-Titel wie Landtag/Bundestag */
.spd-titel-bm{font-size:clamp(48px,6.5vw,92px)!important;text-transform:uppercase!important}
.spd-titel-bm .spd-mark-weiss{display:inline-block;margin-top:8px;background:#fff;color:var(--rot);padding:4px 16px 0;line-height:1}

/* ===== v1.3 ===== */
.spd-mail{margin:0;font-size:15px;font-weight:700;overflow-wrap:anywhere}
.spd-mail a{color:var(--schwarz);text-decoration:underline;text-decoration-color:var(--rot);text-underline-offset:3px}
.spd-mail a:hover{color:var(--rot)}
.spd-antraege-sek .spd-inner>*+*{margin-top:28px}
.spd-jahr-leiste{gap:8px!important}
.spd-jahr-leiste>*{margin:0}
.spd-jahr-btn{cursor:pointer;background:#fff;color:var(--schwarz);border:2px solid var(--schwarz);padding:8px 16px;font-weight:700;font-size:15px;user-select:none}
.spd-jahr-btn.ist-aktiv{background:var(--schwarz);color:#fff}
.spd-antraege{gap:0!important;border-top:2px solid var(--schwarz)}
.spd-antrag{gap:8px 14px!important;padding:16px 0;border-bottom:1px solid var(--linie);flex-wrap:wrap!important}
.spd-antrag>*{margin:0}
.spd-antrag-datum{font-weight:700;color:var(--rot);width:110px;flex:none}
.spd-antrag-typ{font-weight:800;font-size:13px;letter-spacing:1px;text-transform:uppercase;background:var(--schwarz);color:#fff;padding:3px 8px}
.spd-antrag-titel{font-weight:700;font-size:18px;line-height:1.35;flex:1 1 280px}
.spd-antrag-prog{font-weight:700;font-size:13px;letter-spacing:1px;text-transform:uppercase;border:2px solid var(--rot);color:var(--rot);padding:1px 8px}
.editor-styles-wrapper .spd-jahr-btn{cursor:text}
.spd-transp-sek{padding-top:0!important}
.spd-transp-box{background:var(--schwarz);color:#fff;border-left:14px solid var(--rot);padding:48px clamp(24px,5vw,56px);gap:32px!important;align-items:center}
.spd-transp-titel{font-size:clamp(34px,4vw,52px)!important;color:#fff}
.spd-transp-titel .spd-mark{display:inline-block;padding:4px 14px 0}
.spd-transp-text{font-size:19px;line-height:1.55;margin:0}
.spd-btn-rot .wp-block-button__link{background:var(--rot)!important;color:#fff!important;border-radius:0;font-weight:800;text-transform:uppercase}
.spd-btn-rot .wp-block-button__link:hover{background:#fff!important;color:var(--rot)!important}
.spd-hero-vorstand{padding-top:72px!important;padding-bottom:0!important}
.spd-vorstand-hero-text{padding-bottom:72px}
.spd-bild-muster-links{position:relative;padding:0 0 28px 28px}
.spd-bild-muster-links::before{content:"";position:absolute;left:0;bottom:0;width:60%;height:75%;background:url(assets/images/muster-diagonal-breit.png) 0 0/180px auto repeat}
.spd-vorstand-gruppe{position:relative;margin:0!important}
.spd-vorstand-gruppe img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;object-position:center 35%;border:8px solid #fff;border-bottom:0}
.spd-ohne-unten{padding-bottom:0!important}
.spd-aufgaben{gap:20px!important}
.spd-aufgabe:hover{background:var(--hellgrau);color:inherit}
.spd-aufgabe .spd-quick-titel{font-size:20px!important;margin:0}
.spd-antr-kopf{margin:0!important;padding-top:12px;border-top:1px solid var(--linie);font-weight:800;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--rot)}
.spd-antr-zeile{margin:0!important;font-size:15px;line-height:1.4}
.spd-kapitel-leiste{gap:8px!important;margin-top:12px!important}
.spd-kapitel-leiste>*{margin:0}
.spd-kapitel-btn{cursor:pointer;background:#fff;color:var(--schwarz);border:2px solid var(--schwarz);padding:8px 16px;font-weight:700;font-size:15px;user-select:none}
.spd-kapitel-btn.ist-aktiv{background:var(--rot);border-color:var(--rot);color:#fff}

/* v1.4.1 – Schnellzugriff-Kacheln: volle Breite, 4 nebeneinander */
body .wp-site-blocks .spd-quick-leiste>.spd-inner{max-width:1240px!important;width:100%!important;margin-left:auto!important;margin-right:auto!important}
body .wp-site-blocks .spd-quick-leiste .is-layout-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;max-width:none!important;margin-top:24px!important}
@media (max-width:900px){body .wp-site-blocks .spd-quick-leiste .is-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:520px){body .wp-site-blocks .spd-quick-leiste .is-layout-grid{grid-template-columns:1fr!important}}

/* v1.5.0 – Wahlbezirksfinder */
.spd-finder-innen{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:22px}
.spd-finder-innen>*{margin:0!important}
.spd-finder-icon img{width:72px;height:72px;object-fit:contain}
.spd-finder-titel{font-size:clamp(40px,5.5vw,72px)!important;line-height:1.05!important;letter-spacing:-1px;text-transform:uppercase;color:#fff}
.spd-finder-text{font-size:20px;line-height:1.5}
.spd-finder-quelle{font-size:13px;opacity:.9}
.spd-finder{display:flex;flex-direction:column;gap:0;color:var(--schwarz)}
.spd-finder [hidden]{display:none!important}
.spd-finder-feld{display:flex;background:#fff;border:3px solid var(--schwarz)}
.spd-finder-input{flex:1;min-width:0;border:0;outline:none;padding:18px 20px;font:inherit;font-size:19px;color:var(--schwarz);background:#fff}
.spd-finder-btn{background:var(--schwarz);color:#fff;padding:18px 22px;font-weight:800;font-size:17px;display:flex;align-items:center}
.spd-finder-liste{background:#fff;border:3px solid var(--schwarz);border-top:0;display:flex;flex-direction:column}
.spd-finder-liste button{all:unset;cursor:pointer;padding:14px 20px;border-top:1px solid #eee;display:flex;justify-content:space-between;gap:12px;font-size:17px;font-weight:700;color:var(--schwarz)}
.spd-finder-liste button:hover,.spd-finder-liste button:focus{background:#f5f4f3}
.spd-finder-bez{font-weight:400;color:#666}
.spd-finder-hinweis{color:#fff;font-size:17px;margin-top:16px}
.spd-finder-hn{background:#fff;padding:24px;margin-top:22px;border-top:8px solid var(--schwarz);display:flex;flex-direction:column;gap:14px}
.spd-finder-hn p{margin:0;font-size:18px;line-height:1.5}
.spd-finder-hn-zeile{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.spd-finder-hn-input{width:220px;max-width:100%;border:3px solid var(--schwarz);outline:none;padding:14px 16px;font:inherit;font-size:19px;background:#fff;color:var(--schwarz)}
.spd-finder-fehler{color:var(--rot);font-weight:700;font-size:16px}
.spd-finder-ergebnis{background:#fff;margin-top:22px;border-top:8px solid var(--schwarz)}
.spd-finder-kopf{padding:28px 32px;display:flex;flex-direction:column;gap:8px;border-bottom:2px solid var(--schwarz)}
.spd-finder-gehoert{font-size:16px;color:#555}
.spd-finder-nr{font-weight:800;font-size:clamp(36px,5vw,52px);color:var(--rot);line-height:1;text-transform:uppercase}
.spd-finder-lokal{font-size:17px;color:#333}
.spd-finder-personen{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.spd-finder-person{padding:24px 32px;display:flex;gap:18px;align-items:center}
.spd-finder-person+.spd-finder-person{border-left:1px solid #ddd}
.spd-finder-foto{width:104px;aspect-ratio:4/5;flex:none;background:var(--rot) center top/cover no-repeat}
.spd-finder-person-text{display:flex;flex-direction:column;gap:6px;min-width:0}
.spd-finder-person-text strong{font-size:21px;font-weight:800}
.spd-finder-person-text a{color:var(--rot)!important;font-weight:700;font-size:16px;word-break:break-all}
.spd-finder-label{background:var(--rot);color:#fff;font-weight:800;font-size:13px;letter-spacing:1px;text-transform:uppercase;padding:4px 8px;align-self:flex-start}
.spd-finder-label-schwarz{background:var(--schwarz)}
@media (max-width:640px){.spd-finder-person+.spd-finder-person{border-left:0;border-top:1px solid #ddd}.spd-finder-btn{display:none}}

/* v1.5.1 – Steckbrief im Vorstand */
body .wp-site-blocks .spd-vorstand-text{flex:1 1 320px!important;min-width:0}
body .wp-site-blocks .spd-steckbrief{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px;border-top:2px solid var(--schwarz);width:100%;align-self:stretch;margin-top:8px!important}
.spd-steck-item{padding-top:12px}
.spd-steck-item>*{margin:0!important}
.spd-steck-k{font-weight:700;font-size:13px!important;letter-spacing:1.5px;text-transform:uppercase;color:var(--rot)}
.spd-steck-v{font-size:18px!important;line-height:1.4;color:var(--schwarz)}
@media (max-width:700px){body .wp-site-blocks .spd-steckbrief{grid-template-columns:1fr}}

/* v1.5.2 – Schwarze Leiste, Kopfbereich volle Breite, Handy-Menü, Trödelmarkt */
header.wp-block-template-part{position:sticky;top:-40px;z-index:60}
body.admin-bar header.wp-block-template-part{top:-8px}
.spd-header{position:static!important;padding-top:12px!important;padding-bottom:12px!important;border-bottom:1px solid rgba(255,255,255,.35)}
.spd-topbar{background:var(--schwarz);color:#fff;font-size:14px;height:40px;display:flex;align-items:center}
.spd-topbar a{color:#fff!important;text-decoration:none}
.spd-topbar-inner,.spd-header-inner{max-width:1240px!important;width:100%!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box}
.spd-topbar-inner{gap:24px!important;align-items:center!important}
.spd-topbar-inner p{margin:0!important;white-space:nowrap}
.spd-topbar-rechts{gap:20px!important;align-items:center!important}
.spd-topbar-btn a{background:var(--rot);padding:6px 12px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;display:inline-block}
.spd-topbar-btn a:hover{background:#fff;color:var(--rot)!important}
.spd-logo img{height:54px!important}
@media (max-width:900px){.spd-topbar-adresse,.spd-topbar-mail{display:none}.spd-topbar-inner{justify-content:flex-end!important}}
@media (max-width:600px){
 .spd-header-inner{gap:12px!important}
 .spd-logo img{height:44px!important}
 .spd-nav .wp-block-navigation__responsive-container-open{margin-right:0;padding:8px 0}
 .spd-nav .wp-block-navigation__responsive-container.is-menu-open{padding:20px 24px!important}
 .spd-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{align-items:flex-start!important;padding-top:56px!important}
 .spd-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{align-items:flex-start!important;gap:6px!important;width:100%}
 .spd-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{width:100%;align-items:flex-start!important}
 .spd-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{padding:10px 0!important;font-size:20px}
 .spd-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{padding:0 0 6px 16px!important;border-left:3px solid #fff!important;margin-left:0!important}
 .spd-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a{padding:8px 0!important;font-size:16px}
}
.spd-troedel-hero{padding-top:72px!important;padding-bottom:80px!important;overflow:hidden}
.spd-troedel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:48px;align-items:center}
.spd-troedel-grid>*{margin:0!important}
.spd-troedel-links{gap:20px!important}
.spd-troedel-links>*{margin:0!important}
.spd-troedel-titel{font-size:clamp(44px,6vw,84px)!important;line-height:.98!important;letter-spacing:-1.5px;text-transform:uppercase;color:#fff}
.spd-stoerer{background:#fff;color:var(--schwarz);transform:rotate(-4deg);padding:32px 36px;box-shadow:10px 10px 0 var(--schwarz);width:min(100%,400px);justify-self:center;box-sizing:border-box}
.spd-stoerer>*{margin:0!important}
.spd-stoerer-k{font-weight:800;font-size:15px!important;letter-spacing:2px;text-transform:uppercase;color:var(--rot)!important;margin-bottom:4px!important}
.spd-stoerer-v{font-weight:800;font-size:clamp(24px,2.8vw,32px)!important;line-height:1.1;text-transform:uppercase;color:var(--schwarz)!important}
.spd-stoerer-gross{font-size:clamp(30px,3.6vw,42px)!important;line-height:1}
.spd-stoerer-linie{border:0!important;height:3px!important;background:var(--rot)!important;margin:22px 0!important;width:100%;opacity:1}
.spd-anmelden{gap:22px!important;align-items:flex-start!important}
.spd-anmelden>*{margin:0!important}
.spd-anmelden-titel{font-size:clamp(40px,5.5vw,72px)!important;line-height:1!important;text-transform:uppercase}
.spd-btn-gross .wp-block-button__link{background:var(--rot)!important;color:#fff!important;padding:20px 30px!important;font-weight:800;font-size:19px;text-transform:uppercase;letter-spacing:.5px;border-radius:0!important}
.spd-btn-gross .wp-block-button__link:hover{background:var(--schwarz)!important}
.spd-anmelden-kontakt{font-size:17px;color:var(--grau)}
.spd-anmelden-kontakt a{font-weight:800;color:var(--schwarz)!important}

/* v1.5.8 – Button ohne Link wirkt als Hinweis (z. B. „Anmeldung ab Januar“) */
.wp-block-button .wp-block-button__link:not([href]){background:transparent!important;color:var(--schwarz)!important;border:3px solid var(--schwarz)!important;cursor:default;padding:17px 27px!important}
.wp-block-button .wp-block-button__link:not([href]):hover{background:transparent!important}
.spd-steckbrief:empty{display:none}

/* Fotogalerie (z. B. Jusos in Aktion) */
.spd-titel-balken::before{content:"";display:block;width:64px;height:10px;background:var(--rot);margin-bottom:12px}
.spd-galerie.wp-block-gallery{gap:20px!important}
.spd-galerie .wp-block-image img{aspect-ratio:4/3;object-fit:cover;border-radius:0}
@media (max-width:900px){.spd-galerie.wp-block-gallery .wp-block-image{width:calc(50% - 10px)!important}}
@media (max-width:520px){.spd-galerie.wp-block-gallery .wp-block-image{width:100%!important}}

/* v1.6.0 – Bildunterschriften unter Galeriefotos statt über dem Bild */
.spd-galerie.wp-block-gallery .wp-block-image{flex-direction:column!important;align-self:flex-start}
.spd-galerie.wp-block-gallery .wp-block-image figcaption.wp-element-caption{position:static!important;background:none!important;color:var(--grau,#444)!important;font-size:15px!important;line-height:1.45;text-align:left!important;padding:10px 0 0!important;margin:0!important;max-height:none!important;text-shadow:none!important;overflow:visible!important}
.spd-galerie.wp-block-gallery .wp-block-image figcaption.wp-element-caption::before{display:none}
.spd-galerie.wp-block-gallery .wp-block-image img{height:auto!important;flex:none!important}

/* v1.6.1 – Fotoraster mit Bildunterschrift (ersetzt Galerie) */
.spd-fotoraster{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))!important;gap:20px!important}
.spd-fotoraster>*{margin:0!important}
.spd-foto-karte img{display:block;width:100%!important;height:auto!important;aspect-ratio:4/3;object-fit:cover}
.spd-foto-karte figcaption.wp-element-caption{display:block!important;font-size:15px!important;line-height:1.45;color:#444!important;text-align:left!important;margin:10px 0 0!important;padding:0!important}
