:root{--text:#1b1f24;--hint:#4b5563;--bg:#fff;--bg2:#f3f6f9;--linie:#cbd5e1;--akzent:#0b5cad;--akzent-dunkel:#083f78;--ok:#1b7f3b;--warn:#9a6700;--rot:#b42318;--fokus:#ffbf47}
@media (prefers-color-scheme:dark){:root{--text:#e7ebf0;--hint:#aab4c0;--bg:#0f1419;--bg2:#161d25;--linie:#3a4653;--akzent:#7fb4ff;--akzent-dunkel:#a9ccff;--ok:#5fcf7f;--warn:#f2c14e;--rot:#ff7b72}}
*{box-sizing:border-box}
html{font-size:106.25%}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;line-height:1.55;color:var(--text);background:var(--bg)}
a{color:var(--akzent)}a:hover{color:var(--akzent-dunkel)}
:focus-visible{outline:3px solid var(--fokus);outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--akzent);color:#fff;padding:.5rem 1rem;z-index:10}.skip:focus{left:1rem;top:1rem}
header.kopf{border-bottom:1px solid var(--linie);background:var(--bg)}
.innen{max-width:62rem;margin:0 auto;padding:0 1rem}
.kopf .innen{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center;justify-content:space-between;min-height:3.6rem}
.marke{font-weight:700;text-decoration:none;color:var(--text);font-size:1.05rem}
nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem 1.1rem}nav a{text-decoration:none}nav a:hover,nav a[aria-current]{text-decoration:underline}
main{padding:1.5rem 0 3rem}
h1{font-size:clamp(1.6rem,3.6vw,2.3rem);line-height:1.2;margin:.2rem 0 .6rem}
h2{font-size:1.4rem;margin:2.2rem 0 .6rem}h3{font-size:1.1rem;margin:1.4rem 0 .4rem}
p,li{max-width:70ch}
.lead{font-size:1.15rem;color:var(--hint)}
.karte{background:var(--bg2);border:1px solid var(--linie);border-radius:.6rem;padding:1.2rem 1.2rem 1.4rem;margin:1rem 0}
.zwei{display:grid;gap:1rem;grid-template-columns:1fr}@media(min-width:48rem){.zwei{grid-template-columns:1fr 1fr}}
.feld{display:flex;flex-direction:column;gap:.3rem;margin:.75rem 0}
label,legend{font-weight:600}
.hinweis{font-size:.9rem;color:var(--hint);font-weight:400}
input,select,textarea{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--linie);border-radius:.4rem;padding:.55rem .65rem;width:100%}
textarea{min-height:5.5rem}
fieldset{border:1px solid var(--linie);border-radius:.6rem;padding:.6rem 1rem 1rem;margin:1.2rem 0}
.knopf{display:inline-block;font:inherit;font-weight:600;background:var(--akzent);color:#fff;border:2px solid var(--akzent);border-radius:.5rem;padding:.65rem 1.2rem;cursor:pointer;text-decoration:none}
.knopf:hover{background:var(--akzent-dunkel);border-color:var(--akzent-dunkel)}
.knopf.zweit{background:transparent;color:var(--akzent)}
.knopf[disabled],.knopf[aria-disabled="true"]{opacity:.55;cursor:not-allowed}
@media (prefers-color-scheme:dark){.knopf{color:#0f1419}.knopf.zweit{color:var(--akzent)}}
.zeile{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.status{margin:.8rem 0;padding:.7rem .9rem;border-radius:.5rem;border:1px solid var(--linie)}
.status[data-art="fehler"]{border-color:var(--rot)}.status[data-art="ok"]{border-color:var(--ok)}
.ampel{display:inline-block;font-weight:700;padding:.15rem .6rem;border-radius:1rem;border:2px solid currentColor}
.ampel.grün{color:var(--ok)}.ampel.gelb{color:var(--warn)}.ampel.rot{color:var(--rot)}
table{border-collapse:collapse;width:100%;margin:.6rem 0}th,td{border:1px solid var(--linie);padding:.5rem;text-align:left;vertical-align:top}th{background:var(--bg2)}
.preis{font-size:1.7rem;font-weight:700}
.check{display:grid;grid-template-columns:auto 1fr;gap:.6rem;align-items:start;font-weight:400;margin:.6rem 0}
.check input{width:1.25rem;height:1.25rem;margin-top:.2rem}
.schritte{counter-reset:s;list-style:none;padding:0}.schritte li{counter-increment:s;position:relative;padding-left:2.4rem;margin:.6rem 0}
.schritte li::before{content:counter(s);position:absolute;left:0;top:0;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--akzent);color:#fff;display:grid;place-items:center;font-weight:700}
footer{border-top:1px solid var(--linie);padding:1.4rem 0;color:var(--hint);font-size:.95rem}
footer ul{list-style:none;padding:0;margin:0 0 .5rem;display:flex;flex-wrap:wrap;gap:.3rem 1.2rem}
.visuell-versteckt{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
details summary{cursor:pointer;font-weight:600}
.vorschau-liste li{margin:.4rem 0}.vorschau-liste .anriss{color:var(--hint);display:block}
