/* ============================================================
   wandbefund.de — Design-System (Startseite)
   Farbsystem codiert die Diagnose:
   warme Töne = trockener Putz · kühles Schiefer = Feuchtigkeit
   ============================================================ */
:root{
  --kalk:#FBFAF7;      /* Kalkanstrich — Basis */
  --putz:#EBE4D9;      /* trockener Putz — Sektionen */
  --putz-tief:#DDD3C4;
  --ink:#201D1A;       /* warmes Fastschwarz */
  --ink-60:#6B635B;
  --ziegel:#B44E2C;    /* Ziegel — Akzent, aus dem Logo */
  --ziegel-tief:#9E4126;
  --ziegel-hell:#D9917C;
  --feucht:#43565C;    /* Feuchte — kühler Gegenpol */
  --feucht-tief:#2E3C41;
  --gelb:#C99A2E;
  --linie:#DAD3C8;
  --r:10px;
}
*{margin:0;padding:0;box-sizing:border-box}
[hidden]{display:none!important}   /* darf nie von Klassen-Regeln überschrieben werden */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:'Manrope',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-weight:300;
  color:var(--ink);background:var(--kalk);
  font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
b,strong{font-weight:800}
a{color:inherit}
img,svg{max-width:100%}
:focus-visible{outline:2.5px solid var(--ziegel);outline-offset:3px;border-radius:3px}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11.5px;letter-spacing:.07em;text-transform:uppercase}

/* Skip-Link (Barrierefreiheit) */
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--ink);color:#fff;
  padding:10px 16px;border-radius:var(--r);text-decoration:none}
.skip:focus{left:8px}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:inherit;font-size:15px;font-weight:500;border:0;cursor:pointer;
  padding:13px 22px;border-radius:var(--r);text-decoration:none;transition:transform .12s ease,background .15s ease}
.btn:active{transform:translateY(1px)}
.btn--pri{background:var(--ziegel);color:#fff}
.btn--pri:hover{background:var(--ziegel-tief)}
.btn--sec{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--linie)}
.btn--sec:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn--sm{padding:10px 16px;font-size:14px}

/* ---------- Kopfzeile ---------- */
.top{position:sticky;top:0;z-index:50;background:rgba(251,250,247,.93);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--linie)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:66px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}
.brand .mark{width:30px;height:30px;flex:none;color:var(--ink)}
.brand .wm{font-size:20px;letter-spacing:-.02em;font-weight:500}
.brand .wm span{font-weight:800}
.nav{display:flex;align-items:center;gap:26px;font-size:15px}
.nav a:not(.btn){text-decoration:none;color:var(--ink-60)}
.nav a:not(.btn):hover{color:var(--ink)}

/* Mobiles Menü (CSS-only, ohne JS bedienbar) */
.burger{display:none;flex-direction:column;gap:5px;padding:10px;cursor:pointer;border-radius:8px}
.burger span{display:block;width:24px;height:2px;background:var(--ink);border-radius:2px;transition:.2s}
.navtoggle:focus-visible + .burger{outline:2.5px solid var(--ziegel);outline-offset:2px}

/* ---------- Hero ---------- */
.hero{padding:76px 0 0}
.hero .grid{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center}
.hero h1{font-weight:800;font-size:clamp(36px,4.6vw,58px);line-height:1.04;letter-spacing:-.03em}
.hero h1 em{font-style:normal;color:var(--ziegel)}
.hero .lead{margin-top:20px;font-size:19px;color:var(--ink-60);max-width:30em}
.hero .cta{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}
.hero .trust{margin-top:22px;color:var(--ink-60);font-size:14px}
.hero .hero-verz{margin-top:10px;font-size:14.5px}
.hero .hero-verz a{color:var(--ziegel);font-weight:500;text-decoration:none;border-bottom:1px solid var(--ziegel-hell)}
.hero .hero-verz a:hover{border-bottom-color:var(--ziegel)}

.figur{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:0 18px 50px rgba(46,60,65,.18)}
.figur svg{display:block;width:100%;height:auto}
.figur .note{position:absolute;right:14px;top:16px;background:rgba(251,250,247,.94);
  border-radius:6px;padding:7px 11px;color:var(--ink)}
.figur .note strong{display:block;font-family:'Manrope';font-size:15px;font-weight:800;
  letter-spacing:0;text-transform:none;margin-top:2px}

/* ---------- Feuchtehorizont-Trenner ---------- */
.horizont{display:block;width:100%;height:56px;margin-bottom:-1px;color:var(--feucht-tief)}
.horizont path{fill:currentColor}

/* ---------- Abschnitte ---------- */
.sec{padding:78px 0}
.sec--putz{background:var(--putz)}
h2{font-weight:800;font-size:clamp(26px,3vw,36px);letter-spacing:-.02em;line-height:1.1}
.kicker{display:block;margin-bottom:12px;color:var(--ziegel)}
.sub{color:var(--ink-60);margin-top:12px;max-width:44em}

.nass{background:var(--feucht-tief);color:#EDE9E3;padding:12px 0 78px}
.nass h2{color:#fff}
.nass .kicker{color:var(--ziegel-hell)}
.nass .sub{color:#B9C2C5}

/* Symptomkarten */
.karten{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px}
.karte{background:#3B4C52;border-radius:var(--r);padding:22px;text-decoration:none;
  color:inherit;display:block;transition:background .15s ease}
.karte:hover{background:#455860}
.karte .sig{display:block;height:74px;border-radius:6px;margin-bottom:16px;overflow:hidden}
.karte .sig svg{width:100%;height:100%}
.karte h3{font-size:18px;font-weight:800;color:#fff}
.karte p{font-size:14.5px;color:#B9C2C5;margin-top:6px}
.karte .go{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11.5px;letter-spacing:.06em;
  color:var(--ziegel-hell);margin-top:14px;display:block}

/* Ablauf */
.schritte{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:44px;
  counter-reset:s;list-style:none}
.schritt{counter-increment:s;position:relative;padding-top:26px;border-top:2px solid var(--ink)}
.schritt::before{content:counter(s,decimal-leading-zero);position:absolute;top:-30px;left:0;
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;color:var(--ziegel)}
.schritt h3{font-size:19px;font-weight:800}
.schritt p{color:var(--ink-60);font-size:15.5px;margin-top:7px}
.sec--putz .cta{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}

/* ---------- Fußzeile ---------- */
.foot{background:var(--ink);color:#A79E94;padding:52px 0 40px;font-size:14.5px}
.foot .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px}
.foot a{text-decoration:none;display:block;padding:3px 0;color:#A79E94}
.foot a:hover{color:#fff}
.brand--foot{color:#fff;margin-bottom:12px}
.brand--foot .mark{color:#fff}
.brand--foot .wm{color:#fff}
.foot-lead{max-width:30em}
.foot-h{color:#fff;font-size:13px;font-weight:800;margin-bottom:9px;letter-spacing:.02em}
.foot .klar{margin-top:34px;padding-top:20px;border-top:1px solid #3A342E;font-size:13.5px;line-height:1.65}
.foot .klar strong{color:#fff}

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .hero .grid,.foot .cols{grid-template-columns:1fr}
  .karten,.schritte{grid-template-columns:1fr}
  .hero{padding-top:40px}
  .sec{padding:54px 0}

  /* Nav einklappen */
  .burger{display:flex}
  .nav{position:absolute;top:66px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
    background:var(--kalk);border-bottom:1px solid var(--linie);padding:8px 20px 18px;
    box-shadow:0 12px 24px rgba(32,29,26,.08);
    max-height:0;overflow:hidden;visibility:hidden;transition:max-height .25s ease}
  .nav a{padding:13px 4px;border-bottom:1px solid var(--linie)}
  .nav a.btn{margin-top:12px;padding:13px 18px;border-bottom:0;justify-content:center}
  .navtoggle:checked ~ .nav{max-height:80vh;visibility:visible}
  .navtoggle:checked + .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .navtoggle:checked + .burger span:nth-child(2){opacity:0}
  .navtoggle:checked + .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
  html{scroll-behavior:auto}
}
/* ============================================================
   RATGEBER + UI-KIT-Komponenten
   ============================================================ */

/* Breadcrumb */
.krumen{font-size:13.5px;color:var(--ink-60);padding:22px 0}
.krumen a{text-decoration:none}
.krumen a:hover{color:var(--ziegel)}

/* Artikel-Layout */
.art{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:44px;padding:8px 0 80px;align-items:start}
.art h1{font-size:clamp(30px,3.6vw,42px);font-weight:800;letter-spacing:-.03em;line-height:1.1}
.meta{display:flex;gap:18px;color:var(--ink-60);margin:16px 0 26px;align-items:center;flex-wrap:wrap}
.text p{margin:15px 0;font-size:17.5px;line-height:1.72}
.text p.intro{font-size:19px;color:var(--ink)}
.text h2{font-size:25px;margin:38px 0 4px;letter-spacing:-.02em;scroll-margin-top:84px}
.text ul{margin:14px 0 14px 4px;list-style:none}
.text li{padding-left:22px;position:relative;margin:8px 0;font-size:17px}
.text li::before{content:"";position:absolute;left:2px;top:11px;width:7px;height:7px;border-radius:50%;background:var(--ziegel)}
.text a:not(.btn){color:var(--ziegel);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.text a:not(.btn):hover{text-decoration-thickness:2px}

/* Warnbox */
.warn{background:#FCF3EF;border-left:3px solid var(--ziegel);border-radius:0 var(--r) var(--r) 0;padding:18px 20px;margin:26px 0}
.warn b{display:block;margin-bottom:5px}
.warn p{font-size:15.5px;color:var(--ink-60);margin:0}

/* Inline-Tool-Block */
.inline-tool{background:var(--feucht-tief);color:#fff;border-radius:14px;padding:26px;margin:32px 0}
.inline-tool h3{font-size:21px;font-weight:800;margin-bottom:7px}
.inline-tool p{color:#B9C2C5;font-size:15.5px;margin-bottom:18px}

/* Abgrenzungstabelle (Spricht dafür / dagegen) */
.abgrenzung{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:26px 0}
.ab-col{background:#fff;border:1px solid var(--linie);border-radius:var(--r);padding:18px 20px}
.ab-col h4{font-size:14px;font-weight:800;margin-bottom:10px}
.ab-col ul{list-style:none;margin:0}
.ab-col li{padding-left:24px;position:relative;margin:8px 0;font-size:15.5px}
/* Marker neu setzen UND den geerbten Punkt aus .text li::before neutralisieren */
.ab-col li::before{position:absolute;left:0;top:0;font-weight:800;
  width:auto;height:auto;background:none;border-radius:0}
.ab-col li.ja::before{content:"✓";color:var(--gruen)}
.ab-col li.nein::before{content:"✕";color:var(--rot)}

/* Kostentabelle */
.kosten{margin:26px 0}
.kosten table{width:100%;border-collapse:collapse;border:1px solid var(--linie);border-radius:var(--r);overflow:hidden}
.kosten th,.kosten td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--linie);font-size:16px}
.kosten thead th{background:var(--putz);font-weight:800;font-size:12px}
.kosten th.mono,.kosten td.mono{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:13px;white-space:nowrap}
.kosten tbody tr:last-child td{border-bottom:0}
.kosten-vorbehalt{font-size:13px;color:var(--ink-60);margin-top:10px;line-height:1.6}

/* Vergleichsbild-Paar */
.vergleich{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:26px 0}
.vg{margin:0}
.vg-bild{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--feucht)}
.vg-bild svg{display:block;width:100%;height:100%}
.vg figcaption{font-size:14px;color:var(--ink-60);margin-top:9px}

/* FAQ */
.faq{margin:14px 0}
.faq-item{border-bottom:1px solid var(--linie);padding:4px 0}
.faq-item summary{font-weight:800;font-size:17px;padding:12px 0;cursor:pointer;list-style:none;position:relative;padding-right:28px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:4px;top:10px;font-weight:800;color:var(--ziegel);font-size:20px}
.faq-item[open] summary::after{content:"–"}
.faq-a{padding:0 0 14px;color:var(--ink-60);font-size:16px;line-height:1.65}

/* Weiterlesen */
.weiterlesen{list-style:none;margin:14px 0}
.weiterlesen li{padding:0;border-bottom:1px solid var(--linie)}
.weiterlesen li::before{content:none}          /* kein Prosa-Punkt in dieser Liste */
.text .weiterlesen a{display:block;padding:12px 2px;color:var(--ink);text-decoration:none;font-weight:500}
.text .weiterlesen a:hover{color:var(--ziegel);text-decoration:none}

/* Aside-Boxen */
aside{position:sticky;top:86px}
.box{background:#fff;border:1px solid var(--linie);border-radius:14px;padding:20px;margin-bottom:16px}
.box--putz{background:var(--putz);border-color:var(--putz-tief)}
.box-h{font-size:13px;font-weight:800;margin-bottom:12px}
.box ol{list-style:none;counter-reset:t;font-size:14.5px}
.box ol li{counter-increment:t;padding:6px 0 6px 26px;position:relative;border-bottom:1px solid var(--linie)}
.box ol li:last-child{border-bottom:0}
.box ol li::before{content:counter(t);position:absolute;left:0;top:6px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;color:var(--ziegel)}
.box a{text-decoration:none;color:var(--ink)}
.box a:hover{color:var(--ziegel)}
.box--putz p{font-size:15px;color:var(--ink-60)}

/* Ratgeber-Übersicht */
.ratgeber-kopf{padding:6px 0 10px;max-width:52em}
.ratgeber-kopf h1{font-size:clamp(30px,3.6vw,42px);font-weight:800;letter-spacing:-.03em;line-height:1.1}
.ratgeber-kopf .sub{margin-top:14px}
.ratgeber-kopf a{color:var(--ziegel)}
.cluster{padding:26px 0}
.cluster>h2{font-size:22px;margin-bottom:18px}
.karten-hell{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.karte-hell{display:block;background:#fff;border:1px solid var(--linie);border-radius:14px;padding:20px;text-decoration:none;color:inherit;transition:border-color .15s ease,transform .12s ease}
.karte-hell:hover{border-color:var(--ink-60)}
.karte-hell .mono{display:block;color:var(--ziegel);margin-bottom:8px}
.karte-hell h3{font-size:18px;font-weight:800;letter-spacing:-.01em}
.karte-hell p{font-size:14.5px;color:var(--ink-60);margin-top:6px}
.karte-hell .go{display:block;margin-top:12px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11.5px;letter-spacing:.06em;color:var(--ziegel)}

/* 404 */
.fehler{padding:70px 0 90px;max-width:40em}
.fehler h1{font-size:clamp(28px,4vw,44px);font-weight:800;letter-spacing:-.02em;margin:6px 0 10px}
.fehler .cta{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}

@media(max-width:900px){
  .art{grid-template-columns:1fr;gap:26px}
  .abgrenzung,.vergleich{grid-template-columns:1fr}
  .karten-hell{grid-template-columns:1fr}
  aside{position:static}
}

/* ============================================================
   FORMULARE (global)
   ============================================================ */
.feld{display:block;margin-bottom:12px}
.feld>span{display:block;font-size:14px;font-weight:500;margin-bottom:5px}
.feld input:not([type=checkbox]),.feld textarea,
.anfrage input:not([type=checkbox]),.anfrage textarea{width:100%;padding:12px 14px;
  border:1.5px solid var(--linie);border-radius:var(--r);font:inherit;font-size:15px;background:var(--kalk);color:var(--ink)}
.feld textarea{resize:vertical;min-height:74px}
.feld input:focus,.feld textarea:focus{outline:2.5px solid var(--ziegel);outline-offset:1px;border-color:transparent}
.feld-reihe{display:flex;gap:12px}
.feld-reihe>*{flex:1}
.feld--plz{max-width:130px;flex:none}
.feld-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--ink-60);line-height:1.5;margin:6px 0 12px}
.feld-check input{margin-top:3px;flex:none}
.feld-check a{color:var(--ziegel)}
.feld-gruppe{border:0;padding:0;margin:6px 0 12px}
.feld-gruppe legend{font-size:14px;font-weight:500;margin-bottom:8px}
.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
.feld-check--chip{background:var(--kalk);border:1px solid var(--linie);border-radius:var(--r);padding:9px 12px;margin:0;align-items:center}
.feld-check--chip:has(:checked){border-color:var(--ziegel);background:#FCF3EF;color:var(--ink)}
.feld-fehler{display:block;color:var(--rot);font-size:13.5px;margin-top:5px}
.feld-fehler--box{background:#FBEDEA;border-radius:var(--r);padding:12px 14px;margin-bottom:14px}
.form-fuss{font-size:13px;color:var(--ink-60);margin-top:10px}
.erfolg{background:#EAF1EA;border-left:3px solid var(--gruen);border-radius:0 var(--r) var(--r) 0;
  padding:14px 18px;margin:18px 0;font-size:15px}
.erfolg b{color:var(--gruen)}

/* Textseiten (Recht/Transparenz) */
.prose{max-width:46em;padding:8px 0 80px}
.prose h1{font-size:clamp(28px,3.4vw,40px);font-weight:800;letter-spacing:-.02em;line-height:1.12}
.prose .stand{color:var(--ink-60);margin:8px 0 4px}
.hinweis-inline{color:var(--ink-60);font-style:italic}

/* ============================================================
   VERZEICHNIS
   ============================================================ */
.land-liste,.stadt-liste{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:8px}
.land-kachel,.stadt-kachel{display:flex;flex-direction:column;gap:3px;background:#fff;border:1px solid var(--linie);
  border-radius:var(--r);padding:16px 18px;text-decoration:none;color:var(--ink)}
.land-kachel strong,.stadt-kachel strong{font-weight:800}
.land-kachel span,.stadt-kachel span{font-size:14px;color:var(--ink-60)}
.land-kachel--live:hover,.stadt-kachel--live:hover{border-color:var(--ink-60)}
.land-kachel--bald,.stadt-kachel--bald{opacity:.55}
.land-kachel .go,.karte-hell .go{color:var(--ziegel);font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11.5px;letter-spacing:.06em;margin-top:6px}
.seite-cta{border-radius:14px;padding:28px;margin:34px 0 10px}
.seite-cta .inner{max-width:40em}
.seite-cta h2{font-size:22px}
.seite-cta p{color:var(--ink-60);margin:8px 0 16px}
.tool-hint{color:var(--ink-60);font-size:15px;margin-top:10px}
.tool-hint a,.stadt-lokaltext a{color:var(--ziegel)}

/* Betriebs-Kacheln (Liste) */
.b-liste{display:grid;gap:12px;margin-top:6px}
.b-karte{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;background:#fff;
  border:1px solid var(--linie);border-radius:14px;padding:18px 20px;text-decoration:none;color:var(--ink)}
.b-karte:hover{border-color:var(--ink-60)}
.logo-b{width:52px;height:52px;border-radius:12px;background:var(--putz);display:flex;align-items:center;
  justify-content:center;font-weight:800;font-size:17px;color:var(--feucht);flex:none;overflow:hidden}
.logo-b img{width:100%;height:100%;object-fit:contain;border-radius:inherit}
.b-name{font-size:17px;font-weight:800;display:block}
.b-art{font-size:14px;color:var(--ink-60);display:block;margin-top:2px}
.b-karte .sterne{display:block;margin-top:6px}
.b-karte .tags{margin:8px 0 0}
.b-kpi{color:var(--ink-60);white-space:nowrap;align-self:start}
.sterne{font-size:14.5px}
.sterne .s{color:var(--gelb);letter-spacing:1px}
.sterne .q{color:var(--ink-60)}
.tags{display:flex;flex-wrap:wrap;gap:7px}
.tag{font-size:13px;background:var(--putz);border-radius:100px;padding:5px 12px;color:var(--ink)}
.badge{display:inline-flex;align-items:center;gap:5px;background:#EAF1EA;color:var(--gruen);
  font-size:12.5px;font-weight:500;padding:4px 11px;border-radius:100px;margin-left:8px;vertical-align:2px}
.sammel-anfrage{background:#fff;border:1px solid var(--linie);border-radius:14px;padding:24px;max-width:640px}
.sammel-anfrage .sub{margin:4px 0 16px}

/* ============================================================
   BETRIEBSPROFIL
   ============================================================ */
.profil{display:grid;grid-template-columns:1.55fr 1fr;gap:30px;padding:8px 0 70px;align-items:start}
.karte-b{background:#fff;border:1px solid var(--linie);border-radius:14px;padding:28px}
.pkopf{display:flex;gap:18px;align-items:flex-start}
.pkopf .logo-b{width:60px;height:60px;font-size:19px;flex:none}
.pkopf>div:not(.logo-b){flex:1;min-width:0}             /* nur der Textblock, nicht das Logo */
.pkopf h1{font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1.2;
  display:flex;flex-wrap:wrap;align-items:center;gap:9px}
.pkopf .b-leistung{color:var(--ink-60);font-size:15px;margin-top:6px}
.pkopf .sterne{margin-top:12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pkopf .badge{margin-left:0;vertical-align:0}
.karte-b .tags{margin:22px 0 24px}
.kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--linie);
  border:1px solid var(--linie);border-radius:var(--r);overflow:hidden;margin-bottom:26px}
.kpi>div{background:#fff;padding:15px 18px}
.kpi .mono{color:var(--ink-60);display:block;margin-bottom:5px}
.kpi b{font-size:18px;font-weight:800}
.fakten{margin:18px 0 4px;border-top:1px solid var(--linie);padding-top:4px}
.fakten>div{display:flex;gap:14px;padding:8px 0;border-bottom:1px solid var(--linie);align-items:baseline}
.fakten dt{flex:0 0 150px;color:var(--ink-60)}
.fakten dd{margin:0;font-size:15px}
.fakten dd a{color:var(--ziegel);text-decoration:none;border-bottom:1px solid var(--ziegel-hell)}
.fakten dd a:hover{border-bottom-color:var(--ziegel)}
@media(max-width:560px){.fakten>div{flex-direction:column;gap:2px}.fakten dt{flex:none}}
.profil-text{color:var(--ink-60);font-size:15.5px;line-height:1.66;margin-bottom:24px;
  padding-bottom:24px;border-bottom:1px solid var(--linie)}
.karte-h{font-size:16px;font-weight:800;margin-bottom:10px}
.zus{border-left:3px solid var(--feucht);padding-left:16px;margin:6px 0 4px}
.zus p{font-size:15.5px;color:var(--ink-60);line-height:1.6}
.zus .quelle{font-size:12.5px;margin-top:10px;opacity:.8}
.claim{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
  margin-top:24px;padding-top:18px;border-top:1px solid var(--linie);font-size:13.5px;color:var(--ink-60)}
.claim a{color:var(--ziegel);font-weight:500}
.anfrage{background:#fff;border:1px solid var(--linie);border-radius:14px;padding:22px;position:sticky;top:86px}
.anfrage h2{font-size:19px;font-weight:800}
.anfrage-sub{font-size:14px;color:var(--ink-60);margin:5px 0 16px}
.anfrage .alt{margin-top:16px;padding-top:16px;border-top:1px solid var(--linie);font-size:14px;color:var(--ink-60)}
.anfrage .alt a{color:var(--ziegel);font-weight:500}

/* ============================================================
   FÜR FACHBETRIEBE
   ============================================================ */
.fb-hero{padding:12px 0 24px;max-width:52em}
.fb-hero h1{font-size:clamp(28px,3.6vw,42px);font-weight:800;letter-spacing:-.03em;line-height:1.1}
.fb-hero .lead{margin-top:14px;font-size:18px;color:var(--ink-60)}
.fb-vorteile{list-style:none;margin:20px 0 0}
.fb-vorteile li{padding-left:28px;position:relative;margin:9px 0;font-size:16px}
.fb-vorteile li::before{content:"✓";position:absolute;left:0;color:var(--gruen);font-weight:800}
.fb-form-wrap{background:#fff;border:1px solid var(--linie);border-radius:14px;padding:28px;max-width:680px;margin-bottom:70px}
.fb-form-wrap h2{font-size:22px;font-weight:800}
.fb-form-wrap .sub{color:var(--ink-60);margin:6px 0 4px}
.fb-form{margin-top:16px}

/* ============================================================
   WANDBEFUND-TOOL
   ============================================================ */
.tool{max-width:660px;margin:0 auto;padding:36px 0 90px}
.tool-kopf h1{font-size:clamp(28px,4vw,40px);font-weight:800;letter-spacing:-.02em;line-height:1.1;margin-top:6px}
.tool-kopf .sub{color:var(--ink-60);margin-top:12px}
.tool-form{margin-top:26px}
.frage{border:0;padding:0;margin:0 0 30px}
.frage legend{font-size:19px;font-weight:800;letter-spacing:-.01em;line-height:1.25;margin-bottom:4px}
.frage .hilfe{color:var(--ink-60);font-size:15px;margin-bottom:10px}
.opt{display:block;background:#fff;border:1.5px solid var(--linie);border-radius:var(--r);
  padding:14px 16px;margin-top:9px;cursor:pointer;transition:border-color .12s ease,background .12s ease}
.opt:hover{border-color:var(--ink-60)}
.opt:has(:checked){border-color:var(--ziegel);background:#FCF3EF}
.opt input{margin-right:10px}
.opt b{font-weight:500;font-size:16px}
.opt span{display:block;color:var(--ink-60);font-size:14px;margin-top:3px;margin-left:26px}
.foto-buttons{display:flex;gap:10px;flex-wrap:wrap;margin-top:2px}
.foto-buttons .btn{cursor:pointer}
.foto-buttons .btn svg{width:18px;height:18px;flex:none}
.foto-cam{display:none}                          /* Kamera-Button nur auf Touch-Geräten */
@media (pointer:coarse){.foto-cam{display:inline-flex}}
.foto-liste{list-style:none;margin:12px 0 0;display:grid;gap:6px}
.foto-liste li{font-size:14px;color:var(--ink);background:var(--putz);border-radius:8px;
  padding:9px 12px;display:flex;justify-content:space-between;gap:10px;align-items:center}
.foto-liste li span{color:var(--ink-60);font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;white-space:nowrap}
.hygro .feld{margin:0}
.disc{font-size:13px;color:var(--ink-60);margin-top:16px;line-height:1.6}

/* Befund-Karte */
.befund{background:#fff;border:1px solid var(--linie);border-radius:14px;overflow:hidden}
.befund .kopf{padding:26px;border-bottom:1px solid var(--linie);display:flex;gap:20px;align-items:flex-start}
.befund h1{font-size:24px;font-weight:800;letter-spacing:-.01em}
.befund .kopf p{color:var(--ink-60);font-size:15.5px;margin-top:8px}
.ampel{width:66px;flex:none;text-align:center}
.ampel .geh{background:var(--ink);border-radius:12px;padding:7px;display:flex;flex-direction:column;gap:6px;align-items:center}
.ampel .l{width:22px;height:22px;border-radius:50%;background:#3B3630;display:block}
.ampel .l.an--rot{background:var(--rot);box-shadow:0 0 0 4px rgba(168,54,42,.25)}
.ampel .l.an--gelb{background:var(--gelb);box-shadow:0 0 0 4px rgba(201,154,46,.25)}
.ampel .l.an--gruen{background:var(--gruen);box-shadow:0 0 0 4px rgba(76,122,78,.25)}
.ampel .txt{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;letter-spacing:.04em;margin-top:8px;display:block}
.ampel .txt--rot{color:var(--rot)}.ampel .txt--gelb{color:var(--gelb)}.ampel .txt--gruen{color:var(--gruen)}
.werte{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--linie)}
.werte>div{padding:16px 20px;border-right:1px solid var(--linie)}
.werte>div:last-child{border-right:0}
.werte .mono{color:var(--ink-60);display:block;margin-bottom:5px}
.werte b{font-size:16px;font-weight:800}
.befund .rumpf{padding:26px}
.hyp{margin-bottom:20px}
.hyp .zeile{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.hyp b{font-size:17px}
.hyp .p{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11.5px;color:var(--ziegel);white-space:nowrap}
.hyp p{color:var(--ink-60);font-size:15px;margin-top:5px}
.verdeckt{filter:blur(5px);user-select:none;pointer-events:none;opacity:.8}
.tun{background:var(--putz);border-radius:var(--r);padding:18px 20px;margin-top:6px}
.tun-h{font-size:14px;font-weight:800;margin-bottom:9px}
.tun ul{list-style:none;font-size:15px}
.tun li{padding-left:22px;position:relative;margin:6px 0}
.tun li::before{position:absolute;left:0;font-weight:800}
.tun li.ja::before{content:"✓";color:var(--gruen)}
.tun li.nein::before{content:"✕";color:var(--rot)}
.profi-zeile,.kosten-zeile{font-size:14.5px;color:var(--ink-60);margin-top:14px;line-height:1.6}
.profi-zeile b,.kosten-zeile b{color:var(--ink)}
.gate{background:var(--feucht-tief);color:#fff;padding:24px 26px}
.gate h2{font-size:18px;font-weight:800;margin-bottom:6px;color:#fff}
.gate>p{color:#B9C2C5;font-size:14.5px;margin-bottom:16px}
.gate .feld input{margin-bottom:0}
.gate .feld-check{color:#B9C2C5}
.gate .feld-check a{color:var(--ziegel-hell)}
.gate .btn{margin-top:14px}
.tool-neu{text-align:center;margin-top:22px}
.tool-neu a{color:var(--ink-60)}

/* ============================================================
   CONSENT-BANNER
   ============================================================ */
.js-only{display:none}
.js .js-only{display:inline-flex}
.foot-link-btn{background:none;border:0;color:#A79E94;font:inherit;font-size:14.5px;padding:3px 0;cursor:pointer;text-align:left}
.foot-link-btn:hover{color:#fff}

.cbar{position:fixed;z-index:80;left:16px;right:16px;bottom:16px;display:flex;justify-content:center;
  animation:cbar-up .3s ease}
.cbar[hidden],.cbar--zu{display:none}
.cbar-inner{width:100%;max-width:760px;background:#fff;border:1px solid var(--linie);border-radius:14px;
  box-shadow:0 14px 44px rgba(32,29,26,.24);padding:22px 24px}
.cbar-text h2{font-size:18px;font-weight:800}
.cbar-text p{font-size:14.5px;color:var(--ink-60);margin-top:6px;line-height:1.55}
.cbar-text a{color:var(--ziegel)}
.cbar-optionen{margin:16px 0 2px;border-top:1px solid var(--linie);padding-top:14px;display:grid;gap:14px}
.cbar-opt{display:flex;justify-content:space-between;align-items:center;gap:18px}
.cbar-opt-txt b{display:block;font-size:15px}
.cbar-opt-txt span{display:block;font-size:13.5px;color:var(--ink-60);margin-top:2px}
.cbar-aktionen{display:flex;gap:10px;align-items:center;margin-top:16px;flex-wrap:wrap}
.cbar-link{background:none;border:0;color:var(--ink-60);font:inherit;font-size:14px;cursor:pointer;
  text-decoration:underline;text-underline-offset:2px;padding:8px 6px;margin-left:auto}
.cbar-link:hover{color:var(--ink)}
@keyframes cbar-up{from{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}

/* Schalter */
.switch{position:relative;display:inline-block;width:46px;height:27px;flex:none}
.switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.slider{position:absolute;inset:0;background:var(--putz-tief);border-radius:100px;transition:background .15s ease}
.slider::before{content:"";position:absolute;width:21px;height:21px;left:3px;top:3px;background:#fff;
  border-radius:50%;transition:transform .15s ease;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.switch input:checked+.slider{background:var(--ziegel)}
.switch input:checked+.slider::before{transform:translateX(19px)}
.switch input:disabled+.slider{opacity:.55}
.switch input:focus-visible+.slider{outline:2.5px solid var(--ziegel);outline-offset:2px}

@media(max-width:560px){
  .cbar{left:0;right:0;bottom:0}
  .cbar-inner{border-radius:14px 14px 0 0}
  .cbar-aktionen{gap:8px}
  .cbar-aktionen .btn{flex:1 1 auto;justify-content:center}
  .cbar-link{margin-left:0;flex-basis:100%;text-align:center}
}

@media(max-width:900px){
  .profil{grid-template-columns:1fr;gap:22px}
  .anfrage{position:static}
  .b-karte{grid-template-columns:auto 1fr;gap:12px}
  .b-kpi{grid-column:1/-1}
  .check-grid{grid-template-columns:1fr}
  .kpi{grid-template-columns:1fr}
  .werte{grid-template-columns:1fr}
  .werte>div{border-right:0;border-bottom:1px solid var(--linie)}
}

@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
  html{scroll-behavior:auto}
}
@media print{
  .top,.foot,.horizont,.burger,aside,.inline-tool,.gate{display:none}
  body{background:#fff;color:#000}
}
