/* Wattvestor Designsystem. Farben aus docs/marke/02_markenauftritt.md */
:root{
--blau:#0F2A3D;--blau2:#16384F;--text:#1E2A32;--grau:#5B6B78;--flaeche:#F4F5F2;--linie:#D9DDD8;--linie2:#E7EAE6;
--gelb:#E8B931;--gelb-h:#FBF3D9;--gruen:#2E7D5B;--ocker:#C98F12;--rot:#B5452F;
/* Abstände: 4er-Raster */
--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;
--r:10px;--r-s:6px;--schatten:0 1px 2px rgba(15,42,61,.06),0 4px 16px rgba(15,42,61,.06);--schatten-h:0 2px 4px rgba(15,42,61,.08),0 12px 32px rgba(15,42,61,.12);
--mono:"IBM Plex Mono",ui-monospace,monospace}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;color:var(--text);background:var(--flaeche);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--blau);text-underline-offset:3px}
.wrap{max-width:1200px;margin:0 auto;padding:0 var(--s5)}
.bsp{background:var(--blau);color:#cfd8de;font-size:13px;text-align:center;padding:6px 12px}
.bsp b{color:var(--gelb)}
/* Kopf */
header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(--linie2)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:var(--s4)}
header img{height:30px}
nav{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s1)}
nav a{color:var(--grau);text-decoration:none;font-size:15px;font-weight:500;padding:8px 12px;border-radius:var(--r-s)}
nav a:hover{color:var(--blau);background:var(--flaeche)}
nav a.akt{color:var(--blau)}
nav form{display:inline;margin-left:var(--s2)}
nav .btn-p{margin-left:var(--s2)}
/* Typo-Skala 1,25 */
h1,h2,h3,h4{color:var(--blau);line-height:1.15;margin:0 0 var(--s3);letter-spacing:-.02em}
h1{font-size:clamp(32px,4.4vw,52px);font-weight:600}
h2{font-size:clamp(26px,2.8vw,34px);font-weight:600}
h3{font-size:19px;font-weight:600;letter-spacing:-.01em}
p{margin:0 0 var(--s4)}
main{padding:var(--s7) 0 var(--s8)}
main.voll{padding:0}
section{padding:var(--s8) 0;border-bottom:1px solid var(--linie)}
.lead{font-size:clamp(17px,1.5vw,20px);color:var(--grau);max-width:700px;line-height:1.55}
.kicker{font-size:13px;color:var(--grau);letter-spacing:.08em;text-transform:uppercase;font-weight:600;margin-bottom:var(--s3)}
.kicker::before{content:"";display:inline-block;width:20px;height:3px;background:var(--gelb);vertical-align:middle;margin-right:10px;border-radius:2px}
.klein{font-size:14px;color:var(--grau)}
.mitte{text-align:center}.mitte .lead{margin-left:auto;margin-right:auto}
/* Buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:var(--r-s);font-weight:600;font-size:15px;text-decoration:none;border:1px solid var(--blau);cursor:pointer;font-family:inherit;line-height:1.2;transition:transform .12s,box-shadow .12s,background .12s}
.btn:hover{transform:translateY(-1px)}
.btn-p{background:var(--blau);color:#fff;box-shadow:inset 0 -3px 0 var(--gelb)}
.btn-p:hover{background:var(--blau2)}
.btn-s{background:#fff;color:var(--blau);border-color:var(--linie)}
.btn-s:hover{border-color:var(--blau)}
.btn-g{background:var(--gelb);color:var(--blau);border-color:var(--gelb)}
.btn-l{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.btn-l:hover{border-color:#fff}
.btn-gross{padding:15px 26px;font-size:16px}
.btn-k{padding:7px 12px;font-size:14px}
.btnreihe{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center}
/* Karten */
.karte{background:#fff;border:1px solid var(--linie2);border-radius:var(--r);padding:var(--s5);box-shadow:var(--schatten)}
.karte>h3:first-child{margin-bottom:var(--s4)}
.karte-kopf{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);margin-bottom:var(--s4)}
.karte-kopf h3{margin:0}
/* Raster */
.drei{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}
.vier{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4)}
.zwei{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5)}
.stapel>*+*{margin-top:var(--s5)}
/* Tabellen */
.kz{width:100%;border-collapse:collapse;font-size:14px}
.kz td,.kz th{padding:11px 12px;border-bottom:1px solid var(--linie2);text-align:left;vertical-align:middle}
.kz th{color:var(--grau);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.05em;background:#FAFBF9}
.kz tr:last-child td{border-bottom:0}
.num,.kz td.num,.kz th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.kz td.num{font-family:var(--mono)}
.kz tr:hover td{background:#FAFBF9}
.kz a{font-weight:500;text-decoration:none}.kz a:hover{text-decoration:underline}
.tabwrap{overflow-x:auto}
/* Tags */
.tag{display:inline-block;font-size:12px;font-weight:600;padding:3px 10px;border-radius:99px;color:#fff;white-space:nowrap;line-height:1.5}
.g{background:var(--gruen)}.o{background:var(--ocker)}.r{background:var(--rot)}
.tag.g{background:#E3F1EA;color:var(--gruen)}.tag.o{background:#FAEFD6;color:#8E6408}.tag.r{background:#F6E1DC;color:var(--rot)}
.tag.n{background:#fff;color:var(--grau);border:1px solid var(--linie)}
.tag.h{background:#fff;color:var(--rot);border:1px solid var(--rot)}
.tag.v{background:#fff;color:var(--ocker);border:1px solid var(--ocker)}
.tag.p{background:var(--gelb);color:var(--blau);font-weight:600}
.status{display:inline-block;padding:3px 10px;border-radius:99px;font-size:12px;background:#E9ECE8;color:var(--text)}
/* Schritte */
.schritte{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s5);counter-reset:s}
.schritte>div{counter-increment:s;background:#fff;border:1px solid var(--linie2);border-radius:var(--r);padding:var(--s5);position:relative}
.schritte>div::before{content:"0" counter(s);display:block;font-family:var(--mono);font-size:14px;color:var(--blau);font-weight:600;background:var(--gelb-h);width:40px;height:40px;line-height:40px;text-align:center;border-radius:50%;margin-bottom:var(--s4)}
/* Formulare */
form .feld{display:flex;flex-direction:column;margin-bottom:var(--s4)}
label{font-size:14px;color:var(--grau);margin-bottom:6px;font-weight:500}
input,select,textarea{font:inherit;padding:10px 12px;min-height:44px;border:1px solid var(--linie);border-radius:var(--r-s);background:#fff;color:var(--text)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gelb);outline-offset:1px;border-color:var(--blau)}
textarea{min-height:90px}
.check{display:flex;gap:8px;align-items:flex-start;font-size:14px;margin-bottom:10px;font-weight:400}
.check input{margin-top:4px}
.filter{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:flex-end;margin:var(--s4) 0 var(--s5)}
.filter .feld{margin:0}
.fehler{color:var(--rot);font-size:14px}
/* Chips und Tabs */
.chips{display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s4) 0}
.chip{padding:8px 14px;border:1px solid var(--linie);border-radius:99px;background:#fff;text-decoration:none;color:var(--text);font-size:14px;font-weight:500}
.chip:hover{border-color:var(--blau)}
.chip.akt{border-color:var(--blau);background:var(--blau);color:#fff}
.chip span{color:var(--grau);margin-left:4px}.chip.akt span{color:#cfd8de}
.tabs{display:flex;gap:var(--s1);flex-wrap:wrap;margin:var(--s4) 0 var(--s6);padding:4px;background:#fff;border:1px solid var(--linie2);border-radius:var(--r);width:fit-content;max-width:100%}
.tabs a{padding:8px 16px;border-radius:var(--r-s);text-decoration:none;color:var(--grau);font-size:14px;font-weight:500}
.tabs a:hover{color:var(--blau);background:var(--flaeche)}
.tabs a.akt{background:var(--blau);color:#fff}
/* Kennzahlen */
.kpi .wert{font-size:30px;font-weight:600;color:var(--blau);font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.2;margin:var(--s2) 0 var(--s1)}
.kpi .wert small{font-size:15px;color:var(--grau);font-weight:500}
.kpi.akz{border-top:3px solid var(--gelb)}
.kpi .ico{width:36px;height:36px;border-radius:8px;background:var(--flaeche);display:grid;place-items:center;margin-bottom:var(--s3)}
.score{font-family:var(--mono);font-weight:600;font-size:18px;color:var(--blau)}
.balken{height:6px;background:var(--linie);border-radius:3px;width:90px;display:inline-block;vertical-align:middle;margin-left:8px}
.balken i{display:block;height:6px;background:var(--blau);border-radius:3px}
.hinweisbox,.infobox{border:1px solid var(--linie2);border-left:4px solid var(--rot);background:#fff;padding:14px 18px;margin:var(--s4) 0;font-size:14px;border-radius:var(--r-s)}
.infobox{border-left-color:var(--gelb)}
/* Seitenkopf für Unterseiten */
.seitenkopf{margin-bottom:var(--s6)}
.seitenkopf h1{margin-bottom:var(--s3)}
.pfad{font-size:14px;color:var(--grau);margin-bottom:var(--s4)}.pfad a{color:var(--grau)}
/* Hero Startseite */
.hero-b{position:relative;color:#fff;background:var(--blau);overflow:hidden}
.hero-b .bild{position:absolute;inset:0;background-size:cover;background-position:center;opacity:1}
.hero-b::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(15,42,61,.95) 0%,rgba(15,42,61,.8) 45%,rgba(15,42,61,.3) 100%)}
.hero-b .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr 1fr;gap:var(--s7);align-items:center;padding-top:var(--s9);padding-bottom:var(--s9)}
.hero-b h1{color:#fff;margin-bottom:var(--s5)}
.hero-b h1 em{font-style:normal;color:var(--gelb)}
.hero-b .lead{color:#D6DEE3}
.hero-b .kicker{color:#C7D2D9}
.hero-b .btnreihe{margin-top:var(--s6)}
.vertrauen{display:flex;flex-wrap:wrap;gap:var(--s5);margin-top:var(--s6);font-size:14px;color:#C7D2D9}
.vertrauen span{display:flex;align-items:center;gap:8px}
.vertrauen svg{flex:none}
.produkt{background:#fff;color:var(--text);border-radius:14px;box-shadow:0 30px 60px rgba(0,0,0,.35);overflow:hidden}
.produkt .leiste{display:flex;gap:6px;padding:10px 14px;background:#F0F2EF;border-bottom:1px solid var(--linie2)}
.produkt .leiste i{width:10px;height:10px;border-radius:50%;background:#D3D8D2}
.produkt .inhalt{padding:var(--s5)}
.produkt .kopf{display:flex;justify-content:space-between;gap:var(--s3);align-items:flex-start;margin-bottom:var(--s4)}
.produkt h3{margin:4px 0 0;font-size:17px}
.produkt .zahlen{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3);margin-bottom:var(--s4)}
.produkt .zahlen div{background:var(--flaeche);border-radius:8px;padding:12px}
.produkt .zahlen b{display:block;font-size:20px;color:var(--blau);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.produkt .zahlen span{font-size:12px;color:var(--grau)}
.skala{position:relative;height:56px;margin:var(--s2) 0 var(--s3)}
.skala .band{position:absolute;top:22px;left:0;right:0;height:10px;border-radius:5px;background:linear-gradient(90deg,#2E7D5B 0%,#7FA65B 35%,#E0B84A 55%,#C98F12 72%,#B5452F 100%)}
.skala .m{position:absolute;top:14px;width:2px;height:26px;background:var(--blau)}
.skala .m span,.skala .p span{position:absolute;white-space:nowrap;font-size:11px;color:var(--grau);transform:translateX(-50%)}
.skala .m span{top:-16px}
.skala .p{position:absolute;top:16px;width:22px;height:22px;margin-left:-11px;border-radius:50%;background:#fff;border:4px solid var(--blau);box-shadow:0 2px 6px rgba(0,0,0,.2)}
.skala .p span{top:26px;left:7px;font-weight:600;color:var(--blau)}
/* Kennzahlenleiste */
.zahlband{background:#fff;border-bottom:1px solid var(--linie)}
.zahlband .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s5);padding-top:var(--s6);padding-bottom:var(--s6)}
.zahlband b{display:block;font-size:34px;color:var(--blau);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}
.zahlband span{font-size:14px;color:var(--grau)}
/* Feature-Karten */
.feature{background:#fff;border:1px solid var(--linie2);border-radius:var(--r);padding:var(--s6);box-shadow:var(--schatten)}
.feature .ico{width:48px;height:48px;border-radius:12px;background:var(--gelb-h);display:grid;place-items:center;margin-bottom:var(--s5)}
.feature p{color:var(--grau);margin:0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--s8);align-items:center}
.split .foto{border-radius:14px;overflow:hidden;aspect-ratio:4/3;box-shadow:var(--schatten-h)}
.split .foto img{width:100%;height:100%;object-fit:cover}
.liste{list-style:none;padding:0;margin:var(--s5) 0}
.liste li{padding-left:32px;position:relative;margin-bottom:var(--s3)}
.liste li::before{content:"";position:absolute;left:0;top:3px;width:20px;height:20px;border-radius:50%;background:#E3F1EA url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%232E7D5B' stroke-width='2'/%3E%3C/svg%3E") center/20px no-repeat}
.typen{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}
.typ{background:#fff;border:1px solid var(--linie2);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--text);box-shadow:var(--schatten);transition:box-shadow .15s,transform .15s;display:flex;flex-direction:column}
.typ:hover{box-shadow:var(--schatten-h);transform:translateY(-2px)}
.typ .typbild,.typ img{width:100%;height:150px;object-fit:cover;display:block}
.typ div{padding:var(--s4) var(--s5) var(--s5)}
.typ h3{margin:0 0 4px}
.cta-band{background:var(--blau);color:#fff;border-radius:16px;padding:var(--s8) var(--s7);display:grid;grid-template-columns:1.3fr 1fr;gap:var(--s7);align-items:center;position:relative;overflow:hidden}
.cta-band h2{color:#fff}
.cta-band p{color:#C7D2D9}
.cta-band::before{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(232,185,49,.35),transparent 70%)}
.cta-band form{position:relative;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--r);padding:var(--s5)}
.cta-band label{color:#C7D2D9}
.cta-band input,.cta-band select{width:100%}
/* Angebotskarten */
.ergebnis{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;margin:var(--s5) 0 var(--s4)}
.raster{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}
.akarte{background:#fff;border:1px solid var(--linie2);border-radius:var(--r);overflow:hidden;box-shadow:var(--schatten);display:flex;flex-direction:column;text-decoration:none;color:var(--text);transition:box-shadow .15s,transform .15s}
.akarte:hover{box-shadow:var(--schatten-h);transform:translateY(-2px)}
.akarte .kopfbild{position:relative}
.akarte .typbild{width:100%;height:120px;display:block}
.akarte .kopfbild .tag{position:absolute;top:12px;left:12px}
.akarte .kopfbild .typname{position:absolute;bottom:10px;left:12px;font-size:12px;font-weight:600;color:var(--blau);background:rgba(255,255,255,.9);padding:2px 8px;border-radius:99px}
.akarte .rumpf{padding:var(--s4) var(--s5) var(--s5);display:flex;flex-direction:column;flex:1}
.akarte h3{font-size:16px;margin:0 0 4px;line-height:1.3}
.akarte .ort{font-size:13px;color:var(--grau);margin-bottom:var(--s4)}
.akarte .werte{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3) var(--s4);margin-top:auto;padding-top:var(--s4);border-top:1px solid var(--linie2)}
.akarte .werte span{display:block;font-size:12px;color:var(--grau)}
.akarte .werte b{font-variant-numeric:tabular-nums;color:var(--blau);font-size:15px}
.akarte .werte b.gross{font-size:20px}
.akarte .fuss{font-size:12px;color:var(--grau);margin-top:var(--s4);display:flex;justify-content:space-between}
.akarte .werte b.abw{background:none}.akarte .werte b.g{color:var(--gruen)}.akarte .werte b.o{color:#8E6408}.akarte .werte b.r{color:var(--rot)}
.umschalter{display:inline-flex;border:1px solid var(--linie);border-radius:var(--r-s);overflow:hidden;background:#fff}
.umschalter a{padding:7px 14px;font-size:14px;text-decoration:none;color:var(--grau);font-weight:500}
.umschalter a.akt{background:var(--blau);color:#fff}
.filterkarte{background:#fff;border:1px solid var(--linie2);border-radius:var(--r);padding:var(--s5);box-shadow:var(--schatten)}
.filterkarte .filter{margin:0}
.filterkarte .chips{margin:0 0 var(--s4)}
/* Detail */
.detailkopf{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--s6);align-items:end;margin-bottom:var(--s5)}
.detailkopf .typbild{width:100%;height:150px;border-radius:var(--r);border:1px solid var(--linie2)}
.meta{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s3)}
.meta span{font-size:13px;background:#fff;border:1px solid var(--linie2);border-radius:99px;padding:4px 12px;color:var(--text)}
/* Dashboard */
.dashkopf{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--s4);flex-wrap:wrap}
.dashkopf h1{font-size:clamp(28px,3vw,38px);margin:0}
.leer{text-align:center;padding:var(--s6) var(--s4);color:var(--grau)}
.leer svg{margin:0 auto var(--s3)}
.dashraster{display:grid;grid-template-columns:2fr 1fr;gap:var(--s5);margin-top:var(--s5)}
/* Fuß */
footer{background:var(--blau);color:#B9C6CE;padding:var(--s8) 0 var(--s6);font-size:14px}
footer a{color:#fff;text-decoration:none;margin-right:18px}
footer a:hover{color:var(--gelb)}
footer .spalten{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:var(--s7)}
footer h4{color:#fff;margin:0 0 var(--s3);font-weight:600;font-size:14px;letter-spacing:.04em;text-transform:uppercase}
footer .links a{display:block;margin:8px 0}
footer .bildnw{margin-top:var(--s5);font-size:12px;color:#8FA1AD}
footer .bildnw a{color:#B9C6CE;margin:0;text-decoration:underline}
.nlform{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center;margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid #2a4458}
.nlform input[type=email]{min-width:260px;border-color:#2a4458;background:#123247;color:#fff}
.nlform .check{max-width:440px;font-size:13px}
/* Preise und Sonstiges */
.preise{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4)}
.preis{background:#fff;border:1px solid var(--linie2);border-radius:var(--r);padding:var(--s5);display:flex;flex-direction:column;box-shadow:var(--schatten)}
.preis.anker{border:2px solid var(--blau);position:relative}
.preis.anker::before{content:"Empfohlen";position:absolute;top:-12px;left:16px;background:var(--gelb);color:var(--blau);font-size:12px;font-weight:600;padding:2px 10px;border-radius:99px}
.preis .betrag{font-size:32px;font-weight:600;color:var(--blau);letter-spacing:-.02em}
.preis ul{padding-left:18px;font-size:14px;flex:1}
.karte-map{height:340px;border-radius:var(--r-s);border:1px solid var(--linie2)}
.premium{border:2px solid var(--gelb)!important}
tr.prem td{background:#fffbea}
pre.mail{white-space:pre-wrap;font-family:inherit;font-size:13px;background:#fafbf9;border:1px solid var(--linie);padding:10px;border-radius:4px;margin:6px 0 0}
.leaflet-container{font-family:inherit}
.leg{background:#fff;padding:8px 10px;border-radius:4px;font-size:12px;line-height:18px;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.leg i{display:inline-block;width:14px;height:10px;margin-right:6px}
.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--s7);align-items:center}
.nur-mobil{display:none}
@media (max-width:1020px){
 .raster,.typen{grid-template-columns:1fr 1fr}
 .hero-b .wrap,.split,.cta-band,.detailkopf,.dashraster{grid-template-columns:1fr}
 .hero-b .wrap{padding-top:var(--s8);padding-bottom:var(--s8)}
 .schritte,.vier,.preise,.zahlband .wrap{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
 .wrap{padding:0 var(--s4)}
 .hero,.drei,.zwei,.vier,.schritte,.preise,.raster,.typen,footer .spalten{grid-template-columns:1fr}
 header{position:static}
 header .wrap{height:auto;flex-direction:column;padding:12px var(--s4);gap:var(--s2)}
 nav{justify-content:center}nav a{padding:6px 8px;font-size:14px}
 section{padding:var(--s7) 0}
 main{padding:var(--s6) 0 var(--s7)}
 .cta-band{padding:var(--s6) var(--s5)}
 .produkt .zahlen{grid-template-columns:1fr 1fr 1fr;gap:8px}.produkt .zahlen div{padding:10px 8px}.produkt .zahlen b{font-size:15px;white-space:nowrap}.produkt .zahlen span{font-size:11px;overflow-wrap:anywhere;hyphens:auto}
 .split{gap:var(--s5)}
 .nur-mobil{display:block}
}
input[type=checkbox],input[type=radio]{min-height:0}input[type=file]{padding:8px}
.zwei{align-items:start}
.split .foto.illu{box-shadow:none;aspect-ratio:auto}
/* Etappe A: Icons, Navigation mobil, Konsistenz */
.icobox{width:40px;height:40px;border-radius:10px;background:var(--gelb-h);display:inline-grid;place-items:center;flex:none}
.karte{overflow-x:auto}
.menu-t{display:none}
.burger{display:none;cursor:pointer;padding:8px;border-radius:var(--r-s)}
.burger span{display:block;width:22px;height:2px;background:var(--blau);margin:5px 0;border-radius:2px}
.seitenkopf .lead{margin-bottom:0}
.seitenkopf.mit-icon{display:flex;gap:var(--s5);align-items:flex-start}
.seitenkopf.mit-icon .icobox{width:56px;height:56px;border-radius:14px}
.toc{position:sticky;top:96px;display:flex;flex-direction:column;gap:2px}
.toc a{padding:8px 12px;border-radius:var(--r-s);text-decoration:none;color:var(--grau);font-size:14px;font-weight:500}
.toc a:hover{background:#fff;color:var(--blau)}
.mit-toc{display:grid;grid-template-columns:220px 1fr;gap:var(--s7);align-items:start}
.mit-toc section:first-child{padding-top:0}
.infografik{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s4);margin:var(--s5) 0}
.infografik>div{background:#fff;border:1px solid var(--linie2);border-radius:var(--r);padding:var(--s4);display:flex;gap:var(--s3);align-items:flex-start}
.infografik b{display:block;color:var(--blau);font-size:15px}
.infografik span{font-size:13px;color:var(--grau)}
.formular-seite{max-width:460px;margin:0 auto}
.formular-seite .karte{padding:var(--s6)}
.formular-seite .btn{width:100%;justify-content:center}
.admin-kopf{display:flex;gap:var(--s3);align-items:center;margin-bottom:var(--s2)}
.preis h3{display:flex;align-items:center;gap:10px}
.kz.karte{display:table;padding:0;overflow:hidden}
@media (max-width:860px){
 header{position:sticky}
 header .wrap{flex-direction:row;height:60px;padding:0 var(--s4)}
 .burger{display:block}
 header nav{display:none;position:absolute;top:60px;left:0;right:0;background:#fff;border-bottom:1px solid var(--linie);flex-direction:column;align-items:stretch;padding:var(--s3) var(--s4) var(--s4);box-shadow:var(--schatten-h)}
 header nav a{padding:12px;font-size:16px}
 header nav .btn-p{margin:8px 0 0;justify-content:center}
 header nav form{margin:8px 0 0}header nav form .btn{width:100%;justify-content:center}
 .menu-t:checked~nav{display:flex}
 .mit-toc{grid-template-columns:1fr}.toc{position:static;flex-direction:row;flex-wrap:wrap}
 .infografik{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
 header .wrap{flex-direction:row;height:60px}
 .infografik{grid-template-columns:1fr}
 .seitenkopf.mit-icon .icobox{display:none}
 .kz td,.kz th{padding:9px 8px}
 .kz.karte{display:block;overflow-x:auto}
 .tabs{width:100%;overflow-x:auto;flex-wrap:nowrap}.tabs a{white-space:nowrap}
 .dashkopf .btnreihe{width:100%}.dashkopf .btnreihe .btn{flex:1;justify-content:center}
 .karte{padding:var(--s4)}
 .karte-map{height:280px}
}
.hero-check{margin-top:var(--s6);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:var(--r);padding:var(--s4) var(--s5) var(--s5);backdrop-filter:blur(4px)}
.hc-titel{font-weight:600;color:#fff;margin-bottom:var(--s3);font-size:15px}
.hc-felder{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:var(--s3);align-items:end}
.hc-felder .feld{margin:0}.hc-felder label{color:#C7D2D9;font-size:13px}
.hc-felder select,.hc-felder input{width:100%;min-width:0}
@media (max-width:720px){.hc-felder{grid-template-columns:1fr 1fr}.hc-felder .feld:first-child,.hc-felder .btn{grid-column:1/-1;justify-content:center}}
.dashraster>*,.zwei>*,.drei>*,.vier>*,.split>*,.detailkopf>*,.mit-toc>*{min-width:0}main li a,.kz td a{overflow-wrap:anywhere}
.filter .feld{flex:1 1 150px}.filter .feld input,.filter .feld select{width:100%}@media (max-width:720px){.filter .feld{flex-basis:100%}.filter>.btn{flex:1;justify-content:center}}
/* Etappe B: Angebotsliste */
.liste-layout{display:grid;grid-template-columns:280px 1fr;gap:var(--s6);align-items:start}
.liste-layout>*{min-width:0}
.seitenfilter{position:sticky;top:92px;max-height:calc(100vh - 110px);overflow:auto}
.seitenfilter .feld{margin-bottom:var(--s4)}
.von-bis{display:grid;grid-template-columns:1fr 1fr;gap:8px}.von-bis input{width:100%;min-width:0}
.seg{display:flex;border:1px solid var(--linie);border-radius:var(--r-s);overflow:hidden;background:#fff}
.seg label{flex:1;margin:0;cursor:pointer}.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:block;text-align:center;padding:9px 4px;font-size:13px;color:var(--grau)}
.seg label+label span{border-left:1px solid var(--linie)}
.seg input:checked+span{background:var(--blau);color:#fff}
.seg input:focus-visible+span{outline:2px solid var(--gelb)}
.raster-3{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.dkarte{height:300px}.dkarte.gross{height:640px}
.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:rgba(232,185,49,.35)}
.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background:#0F2A3D;color:#fff;font-weight:600}
@media (max-width:1020px){.liste-layout{grid-template-columns:1fr}.seitenfilter{position:static;max-height:none}.seitenfilter form{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.seitenfilter form>.btn,.seitenfilter form>p{grid-column:1/-1}}
@media (max-width:720px){.seitenfilter form{grid-template-columns:1fr}.dkarte.gross{height:460px}}
/* Etappe C: Directory */
.a-kopf{display:flex;gap:var(--s3);align-items:center;margin-bottom:var(--s3)}
.a-kopf h3{margin:0}.a-kopf .ort{margin:2px 0 0}
.logo-ph{width:44px;height:44px;border-radius:10px;background:var(--flaeche);display:grid;place-items:center;flex:none}
.logo{width:44px;height:44px;object-fit:contain;border-radius:10px;border:1px solid var(--linie2);background:#fff;flex:none}
.a-typen{min-height:2.6em;margin-bottom:var(--s2)}
.akarte .fuss{align-items:center;gap:8px;flex-wrap:wrap}
.ring{flex:none}.ring svg{display:block}
.anzeigen-block{background:var(--gelb-h);border:1px solid #F0DFA6;border-radius:14px;padding:var(--s5);margin-bottom:var(--s5)}
.anzeige-kopf{margin-bottom:var(--s4)}
.premium-karte{border:2px solid var(--gelb)}
.ab-kopf{display:grid;grid-template-columns:auto 1fr auto;gap:var(--s5);align-items:center;margin-bottom:var(--s5)}
.ab-kopf .logo,.ab-kopf .logo-ph{width:72px;height:72px;border-radius:16px}
.kontaktblock{background:var(--blau);color:#C7D2D9;border:0}.kontaktblock h3{color:#fff}.kontaktblock a{color:#fff}
.person{display:flex;gap:var(--s3);align-items:center;padding:var(--s3) 0;border-bottom:1px solid var(--linie2)}
.person:last-child{border:0}.person .av{width:40px;height:40px;border-radius:50%;background:var(--flaeche);display:grid;place-items:center;font-weight:600;color:var(--blau)}
.krit-balken{height:8px;background:var(--linie2);border-radius:4px;overflow:hidden;min-width:80px}.krit-balken i{display:block;height:100%;background:var(--blau)}
.sterne{color:var(--gelb);letter-spacing:2px;font-size:18px}
.bewertung{padding:var(--s4) 0;border-bottom:1px solid var(--linie2)}.bewertung:last-child{border:0}
.sternwahl{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}
.sternwahl input{position:absolute;opacity:0}.sternwahl label{font-size:28px;color:var(--linie);cursor:pointer;margin:0}
.sternwahl input:checked~label,.sternwahl label:hover,.sternwahl label:hover~label{color:var(--gelb)}
@media (max-width:720px){.ab-kopf{grid-template-columns:auto 1fr}.ab-kopf .ring{grid-column:1/-1}}
.name-ph{font-weight:600;color:var(--blau);font-size:15px;letter-spacing:.02em}.melden summary{cursor:pointer;margin-top:8px;list-style:none;display:inline-flex;gap:6px;align-items:center}
/* Platzhalterbilder je Kategorie mit Logo-Slot */
.a-bild,.ab-bild{position:relative;background:#E6ECEF;overflow:hidden}
.a-bild .katbild{display:block;width:100%;height:120px}
.ab-bild{border-radius:16px;margin-bottom:var(--s5)}.ab-bild .katbild{display:block;width:100%;height:180px}
.logoslot{position:absolute;left:12px;bottom:12px;max-width:70%;min-height:40px;padding:6px 12px;background:#fff;border:1px solid var(--linie,#D9DDD8);border-radius:10px;display:flex;align-items:center;box-shadow:0 2px 8px rgba(15,42,61,.08)}
.logoslot img{max-height:32px;max-width:160px;object-fit:contain}
.logoslot .name-ph{font-size:13px;line-height:1.25;overflow-wrap:anywhere}
.logoslot.gross{left:20px;bottom:20px;min-height:56px;padding:10px 16px}.logoslot.gross img{max-height:44px;max-width:220px}.logoslot.gross .name-ph{font-size:16px}
.person .avatar{flex:none}
@media (max-width:600px){.ab-bild .katbild{height:140px}}
/* Messaging 07: Zahlenzeile mit sechs Werten, Zielgruppen, FAQ */
.zahlband .wrap{grid-template-columns:repeat(6,1fr)}
.zahlband b{font-size:28px}
.vier{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s5)}
.schmal{max-width:820px}
.faq{border-bottom:1px solid var(--linie);padding:var(--s4) 0}
.faq summary{cursor:pointer;font-weight:600;color:var(--blau)}
.faq p{margin:var(--s3) 0 0}
@media (max-width:1100px){.zahlband .wrap{grid-template-columns:repeat(3,1fr)}.vier{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.zahlband .wrap{grid-template-columns:1fr 1fr}.vier{grid-template-columns:1fr}.zahlband b{font-size:24px}}
.tag.bsp-tag{background:#FFF4CC;color:#7A5B00;border:1px dashed #C99A00}.bsp-banner{border-left:4px solid #E8B931;background:#FFF8E0}
/* Stufe D/E */
.galerie{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--s3);margin:var(--s3) 0}
.galerie figure{margin:0}.galerie img{width:100%;height:110px;object-fit:cover;border-radius:10px;border:1px solid var(--linie)}
.chip input{margin-right:4px}
.md h2{font-size:22px;margin-top:32px}.md h3{font-size:18px;margin-top:24px}.md table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}.md td,.md th{border:1px solid var(--linie);padding:6px 10px;font-size:14px}
.md p,.md li{overflow-wrap:anywhere}.artikel{margin:0 auto}
.backend-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--s5);align-items:start}@media (max-width:900px){.backend-layout{grid-template-columns:1fr}}
.backend-layout>*,.backend-layout .zwei>*{min-width:0}.backend-layout input,.backend-layout select,.backend-layout textarea{max-width:100%}
.stand-pruefen{background:#FFE8A3;color:#5C4300;padding:1px 6px;border-radius:4px;font-weight:600;font-size:.9em;white-space:nowrap}
.stand-box{border-left:4px solid #E8B931}
.link-geplant{color:inherit}
.md img{max-width:100%;height:auto;margin:16px 0}
