/* Schriften liegen lokal auf dem eigenen Server (kein Google-Abruf, DSGVO-freundlich) */
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/ibm-plex-sans-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/source-serif-4-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/source-serif-4-latin-700-normal.woff2) format("woff2")}


/* Layout: Ratgeber-Portal – Kopf mit Rubriken, Artikel-Hero mit Kurzfazit-Box, zweispaltiger Artikel mit mitlaufendem Inhaltsverzeichnis, nüchterne Vergleichstabellen */
:root{
  --bg:#ffffff; --tint:#f3f5f1; --tint2:#e8ece4;
  --ink:#141c17; --muted:#56605a; --line:#dfe3dc; --line-strong:#c5ccc2;
  --brand:#1d5a3a; --brand-ink:#ffffff; --brand-soft:#e6f0e9;
  --mark:#f2b632; --mark-ink:#241a02; --mark-soft:#fdf3d7;
  --good:#23794a; --bad:#b24a33;
  --head:"Source Serif 4", Georgia, "Times New Roman", serif;
  --sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#101512; --tint:#161d18; --tint2:#1d261f;
  --ink:#e6ebe6; --muted:#a0aaa3; --line:#28322b; --line-strong:#38443b;
  --brand:#7cc79a; --brand-ink:#0b1a11; --brand-soft:#17291e;
  --mark:#f2b632; --mark-ink:#241a02; --mark-soft:#2e2510;
  --good:#7cd09c; --bad:#ee8f7a;
  color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#101512; --tint:#161d18; --tint2:#1d261f;
  --ink:#e6ebe6; --muted:#a0aaa3; --line:#28322b; --line-strong:#38443b;
  --brand:#7cc79a; --brand-ink:#0b1a11; --brand-soft:#17291e;
  --mark:#f2b632; --mark-ink:#241a02; --mark-soft:#2e2510;
  --good:#7cd09c; --bad:#ee8f7a;
  color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 80px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
a{color:var(--brand)}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--mark);outline-offset:2px}
h1,h2,h3{font-family:var(--head);font-weight:700;line-height:1.2;text-wrap:balance;margin:0;letter-spacing:-.01em}
h1{font-size:clamp(2rem,4.4vw,3.1rem)}
h2{font-size:clamp(1.5rem,2.8vw,2rem)}
h3{font-size:1.2rem;font-weight:600}
p{margin:0}
.label{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--muted)}

/* Hinweisleiste */
.topbar{background:var(--ink);color:var(--bg);font-size:.8rem}
.topbar .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 20px;padding-block:7px}
.topbar span{opacity:.85}
.topbar b{color:var(--mark)}

/* Kopf */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--bg)}
header.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
header.site .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 28px;padding-block:14px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.logo svg{flex:none}
.logo b{font-family:var(--head);font-size:1.4rem;line-height:1;letter-spacing:-.01em}
nav.main{display:flex;flex-wrap:wrap;gap:4px 24px;font-size:.93rem;font-weight:600}
nav.main a{color:var(--ink);text-decoration:none;padding-block:4px;border-bottom:2px solid transparent}
nav.main a:hover,nav.main a.on{border-color:var(--brand)}

/* Artikelkopf */
.lead-area{background:var(--tint);border-bottom:1px solid var(--line)}
.lead-area .wrap{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:48px;padding-block:36px 48px;align-items:start}
.crumbs{font-size:.83rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px}
.crumbs a{color:var(--muted)}
.headline{display:flex;flex-direction:column;gap:18px;min-width:0}
.intro{font-size:1.14rem;color:var(--muted);max-width:60ch}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;font-size:.88rem;color:var(--muted);padding-top:16px;border-top:1px solid var(--line-strong)}
.meta .person{display:flex;align-items:center;gap:10px;color:var(--ink)}
.avatar{width:40px;height:40px;border-radius:50%;background:var(--brand);color:var(--brand-ink);display:grid;place-items:center;font-family:var(--head);font-weight:700;flex:none}
.meta .item{display:flex;align-items:center;gap:6px}
.meta svg{flex:none}
.check{display:inline-flex;align-items:center;gap:6px;background:var(--brand-soft);color:var(--brand);font-weight:600;padding:3px 10px;border-radius:999px;font-size:.8rem}

/* Kurzfazit-Box */
.verdict{background:var(--bg);border:1px solid var(--line-strong);border-radius:8px;overflow:hidden;box-shadow:0 12px 32px rgba(20,28,23,.08)}
.verdict header{background:var(--brand);color:var(--brand-ink);padding:14px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.verdict header h2{font-size:1.15rem;color:inherit}
.verdict header span{font-size:.78rem;opacity:.85}
.pick{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;padding:16px 20px;border-bottom:1px solid var(--line);align-items:center}
.pick:last-of-type{border-bottom:0}
.pick .thumb{width:64px;height:64px;border-radius:6px;background:var(--tint);border:1px solid var(--line);display:grid;place-items:center;color:var(--brand)}
.pick .award{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pick.top .award{color:var(--brand)}
.pick h3{font-size:1.02rem;font-family:var(--sans);font-weight:700;line-height:1.3}
.pick a{font-size:.86rem;font-weight:700;text-decoration:none}
.pick a:hover{text-decoration:underline}
.verdict footer{background:var(--tint);padding:10px 20px;font-size:.75rem;color:var(--muted)}

/* Artikel + Seitenleiste */
.article .wrap{display:grid;grid-template-columns:240px minmax(0,1fr);gap:56px;padding-block:56px}
aside.toc{position:sticky;top:calc(env(safe-area-inset-top,0px) + 88px);align-self:start;display:flex;flex-direction:column;gap:24px;min-width:0}
.toc nav{display:flex;flex-direction:column;border-left:2px solid var(--line)}
.toc nav a{color:var(--muted);text-decoration:none;font-size:.9rem;padding:6px 0 6px 14px;margin-left:-2px;border-left:2px solid transparent;line-height:1.35}
.toc nav a:hover{color:var(--ink)}
.toc nav a.on{color:var(--brand);border-color:var(--brand);font-weight:600}
.toc .mini{background:var(--tint);border-radius:8px;padding:16px;font-size:.84rem;color:var(--muted);display:flex;flex-direction:column;gap:8px}
.toc .mini b{color:var(--ink)}
.content{display:flex;flex-direction:column;gap:64px;min-width:0}
.content section{display:flex;flex-direction:column;gap:20px;min-width:0}
.content section > p{max-width:68ch}
.content .sub{color:var(--muted);max-width:68ch}

/* Rechner */
.calc{border:1px solid var(--line-strong);border-radius:8px;overflow:hidden}
.calc-in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.calc-left{padding:24px;display:flex;flex-direction:column;gap:14px;background:var(--tint);border-right:1px solid var(--line)}
.calc-left label{font-weight:700}
.count{font-family:var(--head);font-size:3.4rem;font-weight:700;line-height:1;color:var(--brand);font-variant-numeric:tabular-nums}
.count small{font-family:var(--sans);font-size:.95rem;color:var(--muted);font-weight:500;margin-left:6px}
.calc input[type=range]{width:100%;accent-color:var(--brand);height:28px}
.scale{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted);margin-top:-10px}
.calc-left .type{font-size:.9rem;border-top:1px solid var(--line-strong);padding-top:14px}
.calc-left .type b{display:block;color:var(--ink)}
.calc-right{display:grid;grid-template-columns:1fr 1fr}
.res{padding:20px 22px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:2px;min-width:0}
.res:nth-child(2n){border-right:0}
.res:nth-child(n+3){border-bottom:0}
.res b{font-family:var(--head);font-size:1.75rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.15}
.res span{font-size:.84rem;color:var(--muted)}
.res em{font-style:normal;font-size:.75rem;color:var(--muted)}
.calc-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid var(--line);background:var(--bg)}
.calc-foot p{font-size:.82rem;color:var(--muted);max-width:52ch}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--mark);color:var(--mark-ink);text-decoration:none;font-weight:700;font-size:.95rem;padding:11px 18px;border-radius:6px;border:1px solid color-mix(in srgb,var(--mark) 80%,#000);transition:filter .15s ease}
.btn:hover{filter:brightness(1.05)}
.btn.line{background:transparent;color:var(--brand);border-color:var(--brand)}
.btn svg{flex:none}

/* Produkt-Steckbriefe */
.product{border:1px solid var(--line);border-radius:8px;display:grid;grid-template-columns:220px minmax(0,1fr);overflow:hidden}
.product.top{border:2px solid var(--brand)}
.product .media{background:var(--tint);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;color:var(--brand);border-right:1px solid var(--line);position:relative}
.product .media svg{width:100%;max-width:160px;height:auto}
.product .badge{position:absolute;top:0;left:0;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;background:var(--ink);color:var(--bg);border-bottom-right-radius:6px}
.product.top .badge{background:var(--brand);color:var(--brand-ink)}
.product .info{padding:24px;display:flex;flex-direction:column;gap:16px;min-width:0}
.product .title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px}
.product .title p{font-size:.9rem;color:var(--muted)}
.scores{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px 0;border-block:1px solid var(--line)}
.score{display:flex;flex-direction:column;gap:6px;min-width:0}
.score span{font-size:.76rem;color:var(--muted);line-height:1.2}
.bar{display:flex;gap:3px}
.bar i{flex:1;height:6px;border-radius:2px;background:var(--tint2)}
.bar i.f{background:var(--brand)}
.pc{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pc ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:.92rem}
.pc li{display:grid;grid-template-columns:18px 1fr;gap:8px;align-items:start}
.pc li svg{margin-top:.3em}
.pc .plus svg{color:var(--good)}
.pc .minus svg{color:var(--bad)}
.pc h4{margin:0 0 6px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.product .act{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.product .act small{font-size:.75rem;color:var(--muted)}

/* Tabellen */
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px}
table{border-collapse:collapse;width:100%;min-width:640px;font-size:.93rem}
caption{text-align:left;padding:12px 16px;font-size:.82rem;color:var(--muted);caption-side:bottom;border-top:1px solid var(--line)}
th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top}
thead th{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--tint);font-weight:700}
tbody th{font-weight:700}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}
tr.best th,tr.best td{background:var(--brand-soft)}
.pill{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--brand);color:var(--brand-ink);padding:2px 8px;border-radius:999px;margin-top:4px}
td a{font-weight:700;white-space:nowrap}
.yes{color:var(--good);font-weight:700}
.no{color:var(--bad);font-weight:700}

/* Checkliste */
.criteria{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;margin:0;padding:0;list-style:none}
.criteria li{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:16px 0;border-top:1px solid var(--line)}
.criteria li span.n{font-family:var(--head);font-weight:700;color:var(--brand);font-size:1.2rem;line-height:1.3}
.criteria b{display:block}
.criteria p{font-size:.92rem;color:var(--muted)}

/* Hinweis */
.note{display:grid;grid-template-columns:auto 1fr;gap:14px;background:var(--mark-soft);border-left:4px solid var(--mark);padding:16px 20px;border-radius:0 8px 8px 0;font-size:.95rem}
.note svg{color:var(--ink);margin-top:2px}

/* FAQ */
.faq{border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:18px;font-weight:600;font-size:1.03rem}
summary::-webkit-details-marker{display:none}
summary::after{content:"";width:10px;height:10px;border-right:2px solid var(--brand);border-bottom:2px solid var(--brand);transform:rotate(45deg) translate(-3px,-3px);transition:transform .2s ease;flex:none}
details[open] summary::after{transform:rotate(225deg)}
details p{padding-bottom:18px;color:var(--muted);max-width:68ch}

/* Fazit + Autor */
.fazit{background:var(--brand);color:var(--brand-ink);border-radius:8px;padding:28px;display:flex;flex-direction:column;gap:12px}
.fazit h2{color:inherit}
.fazit p{opacity:.92;max-width:64ch}
.fazit .btn{align-self:flex-start;margin-top:6px}
.author{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;border:1px solid var(--line);border-radius:8px;padding:24px}
.author .avatar{width:64px;height:64px;font-size:1.6rem}
.author div{display:flex;flex-direction:column;gap:6px;min-width:0}
.author span{font-size:.85rem;color:var(--muted)}
.author p{font-size:.95rem;color:var(--muted)}

/* Fuß */
footer{background:var(--tint);border-top:1px solid var(--line);font-size:.88rem;color:var(--muted)}
footer .wrap{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;padding-block:48px 28px}
footer h4{margin:0 0 10px;color:var(--ink);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
footer a{color:var(--muted);text-decoration:none}
footer a:hover{color:var(--ink);text-decoration:underline}
footer .brand{display:flex;flex-direction:column;gap:12px;max-width:36ch}
footer .legal{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;font-size:.8rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}

@media (max-width:1000px){
  .article .wrap{grid-template-columns:1fr;gap:32px;padding-block:40px}
  aside.toc{position:static}
  .toc .mini{display:none}
  .toc nav{flex-direction:row;flex-wrap:wrap;border-left:0;gap:8px}
  .toc nav a{border:1px solid var(--line);border-radius:999px;padding:5px 12px;margin:0;font-size:.85rem}
  .toc nav a.on{border-color:var(--brand)}
}
@media (max-width:860px){
  .lead-area .wrap{grid-template-columns:1fr;gap:32px;padding-block:28px 36px}
  .calc-in{grid-template-columns:1fr}
  .calc-left{border-right:0;border-bottom:1px solid var(--line)}
  .product{grid-template-columns:1fr}
  .product .media{border-right:0;border-bottom:1px solid var(--line);padding-block:36px 24px}
  .product .media svg{max-width:140px}
  footer .wrap{grid-template-columns:1fr 1fr}
  footer .brand{grid-column:1/-1}
}
@media (max-width:560px){
  .scores{grid-template-columns:1fr 1fr}
  .pc,.criteria{grid-template-columns:1fr}
  .res{padding:16px}
  .res b{font-size:1.45rem}
  nav.main{gap:2px 16px;font-size:.88rem}
  .topbar .hide-s{display:none}
}


/* ---------- Ergänzungen für die mehrseitige Website ---------- */
.skip{position:absolute;left:-9999px;top:0;background:var(--mark);color:var(--mark-ink);padding:8px 14px;z-index:50;font-weight:700}
.skip:focus{left:16px;top:16px}
nav.main a[aria-current=page]{border-color:var(--brand)}
.todo{background:#ffe08a;color:#3a2a00;padding:0 4px;border-radius:3px;font-weight:600;font-style:normal}
.lead-area.single .wrap{grid-template-columns:minmax(0,1fr)}
.lead-area.single .intro{max-width:70ch}

/* Startseite */
.hero{background:var(--tint);border-bottom:1px solid var(--line)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:48px;padding-block:56px 64px;align-items:center}
.hero .txt{display:flex;flex-direction:column;gap:18px}
.hero h1{font-size:clamp(2.1rem,4.8vw,3.4rem)}
.hero .intro{font-size:1.18rem}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.hero .art{margin:0}
.hero .art img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:10px;box-shadow:0 16px 40px rgba(20,28,23,.18)}
.sec{padding-block:64px}
.sec + .sec{padding-top:0}
.sec-head{display:flex;flex-direction:column;gap:8px;margin-bottom:28px;max-width:70ch}
.sec-head p{color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.card{border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;color:var(--ink);background:var(--bg);transition:border-color .15s ease,transform .15s ease}
.card:hover{border-color:var(--brand);transform:translateY(-2px)}
.card .pic{background:var(--tint);color:var(--brand);display:grid;place-items:center;padding:28px;border-bottom:1px solid var(--line)}
.card .pic svg{width:100%;max-width:150px;height:auto}
.card .body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.card h3{font-size:1.25rem}
.card p{color:var(--muted);font-size:.95rem}
.card .more{margin-top:auto;color:var(--brand);font-weight:700;font-size:.92rem}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;counter-reset:s;border-top:1px solid var(--line)}
.steps li{list-style:none;padding:20px 20px 4px 0;display:flex;flex-direction:column;gap:6px}
.steps li::before{counter-increment:s;content:counter(s);font-family:var(--head);font-weight:700;font-size:1.6rem;color:var(--brand)}
.steps b{font-size:1.02rem}
.steps p{color:var(--muted);font-size:.93rem}
.steps{margin:0;padding:0}
.trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.trust div{border-top:3px solid var(--brand);padding-top:14px;display:flex;flex-direction:column;gap:6px}
.trust p{color:var(--muted);font-size:.95rem}

/* Fließtext-Seiten (Recht, Über mich) */
.prose{max-width:760px;padding-block:48px 72px;display:flex;flex-direction:column;gap:16px}
.prose h1{margin-bottom:8px}
.prose h2{font-size:1.45rem;margin-top:28px}
.prose h3{font-size:1.1rem;margin-top:12px}
.prose p,.prose li{color:var(--ink)}
.prose ul{margin:0;padding-left:22px;display:grid;gap:6px}
.prose .muted{color:var(--muted);font-size:.92rem}
.prose address{font-style:normal;line-height:1.7}

/* Ausstattungsliste */
.kit{border:1px solid var(--line);border-radius:8px;overflow:hidden}
.kit li{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 20px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}
.kit li:last-child{border-bottom:0}
.kit ul{margin:0;padding:0}
.kit b{display:block}
.kit p{font-size:.9rem;color:var(--muted)}
.kit .tag{font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand);margin-left:6px}
.kit a{font-weight:700;white-space:nowrap}

.notfound{padding-block:96px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}

@media (max-width:860px){
  .hero .wrap{grid-template-columns:1fr;padding-block:36px 44px;gap:24px}
  .hero .art{order:-1}
  .cards,.trust{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .steps{grid-template-columns:1fr}
  .kit li{grid-template-columns:1fr}
  header.site .wrap{padding-block:10px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}html{scroll-behavior:auto}}
.foto{margin:0 0 8px}
.foto img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:10px}
.foto figcaption{margin-top:8px;font-size:.88rem;color:var(--muted)}
