/* Portal-Check.de – Markenfarben und Typografie gemäß DESIGN-GUIDE v1.0 (08.11.2026) */
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/inter-regular.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/inter-medium.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/inter-semibold.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/inter-bold.woff2) format("woff2")}
:root{
  --brand-navy:#0A2B50; --brand-blue:#168ED4; --brand-light-blue:#A9DDF8; --brand-orange:#FF8800; --surface:#FFFFFF;
  --bg:#F2F5F8; --panel:var(--surface); --ink:var(--brand-navy); --muted:#4F6072; --rule:#D3DCE6;
  --petrol:var(--brand-navy); --petrol-d:#061C35; --tint:#E8F4FC;
  --r:8px; --r-sm:4px;
  --ok:#1C9B57; --warn:#C98A00; --bad:#CF3B2F; --maint:#4B6BD6; --unk:#9AA5B1; --na:#DDE2E7;
  --sans:"Inter",system-ui,Arial,sans-serif;
  --cond:var(--sans);
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  /* abgeleitete Rollen (hell) */
  --primary:var(--brand-navy); --primary-h:#061C35; --on-primary:#FFFFFF; --link:var(--brand-navy);
  --input-bg:#FFFFFF; --row-line:#EEF1F4; --row-hover:#F5F7F9; --warn-text:#8A5E00; --bad-text:#B5291E;
  --done-bg:#E2F3EA; --error-bg:#FBE7E5; --code-bg:#F4F6F8; --housing:var(--brand-navy);
  --band-bg:var(--brand-navy); --band-text:#FFFFFF; --band-muted:#C7D0D8; --band-btn-bg:#FFFFFF; --band-btn-fg:var(--brand-navy);
  --shadow:rgba(10,43,80,.16);
  color-scheme:light;
}
/* Dunkelmodus: Markenfarben auf Navy-Grund (Guide: Navy als Primärfarbe, Hellblau/Blau als Akzent, Orange sparsam) */
:root[data-theme="dark"]{
  --bg:#061C35; --panel:#0B2A4C; --surface:#0B2A4C; --ink:#EEF4FA; --muted:#A9BCD1; --rule:#1E4A78; --tint:#12395F;
  --primary:var(--brand-light-blue); --primary-h:#CDEBFB; --on-primary:var(--brand-navy); --link:var(--brand-light-blue);
  --input-bg:#08223F; --row-line:#163E66; --row-hover:#10355C; --warn-text:#F2B84B; --bad-text:#FF8A7D;
  --done-bg:#0E3A2B; --error-bg:#43181E; --code-bg:#08223F; --housing:#03111F; --unk:#6F8399; --na:#2A4E74;
  --band-bg:#0A2B50; --band-text:#FFFFFF; --band-muted:#A9BCD1; --band-btn-bg:var(--brand-light-blue); --band-btn-fg:var(--brand-navy);
  --shadow:rgba(0,0,0,.45);
  color-scheme:dark;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme]){
    --bg:#061C35; --panel:#0B2A4C; --surface:#0B2A4C; --ink:#EEF4FA; --muted:#A9BCD1; --rule:#1E4A78; --tint:#12395F;
    --primary:var(--brand-light-blue); --primary-h:#CDEBFB; --on-primary:var(--brand-navy); --link:var(--brand-light-blue);
    --input-bg:#08223F; --row-line:#163E66; --row-hover:#10355C; --warn-text:#F2B84B; --bad-text:#FF8A7D;
    --done-bg:#0E3A2B; --error-bg:#43181E; --code-bg:#08223F; --housing:#03111F; --unk:#6F8399; --na:#2A4E74;
    --band-bg:#0A2B50; --band-text:#FFFFFF; --band-muted:#A9BCD1; --band-btn-bg:var(--brand-light-blue); --band-btn-fg:var(--brand-navy);
    --shadow:rgba(0,0,0,.45);
    color-scheme:dark;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--sans)}
td,th,time,code,.hero-time,.row-meta{font-variant-numeric:tabular-nums}
a{color:var(--link)} a:hover{color:var(--link);text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--brand-blue);outline-offset:2px}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:0;background:var(--primary);color:var(--on-primary);padding:.5rem 1rem;z-index:10}.skip:focus{left:0}
h1,h2,h3{font-family:var(--cond);font-weight:700;letter-spacing:-.015em;line-height:1.15;margin:0 0 .6rem}
h1{font-size:clamp(2rem,4.6vw,3.2rem)}
h2{font-size:1.35rem;margin-top:2.4rem}
p,li{max-width:70ch}
.lead{font-size:1.12rem;color:var(--ink)}
.muted{color:var(--muted);font-size:.92rem}
code{font-family:var(--mono);font-size:.9em}

/* Kopf: helle Fläche; unter 768 px nur Eule, ab 768 px Wort-Bild-Marke (Logo-Leitfaden). Höhen 52/60 px, weil der Schriftzug im PNG nur rund ein Viertel der Bildhöhe einnimmt */
.top{background:var(--surface);color:var(--ink);border-bottom:1px solid var(--rule)}
.top-in{display:flex;align-items:center;justify-content:space-between;gap:8px 24px;min-height:80px;padding-top:10px;padding-bottom:10px;flex-wrap:wrap}
.brand{display:inline-flex;align-items:center;min-width:44px;min-height:44px;padding:4px 0;text-decoration:none}
.brand-full{display:block;width:auto;height:60px;max-width:100%}
.brand-owl{display:none;width:auto;height:36px}
@media (max-width:1023px) and (min-width:768px){.brand-full{height:52px}}
@media (max-width:767px){.brand-full{display:none}.brand-owl{display:block}}
.top nav{display:flex;gap:8px 24px;align-items:center;flex-wrap:wrap;font-size:.95rem;font-weight:500}
.top nav a{color:var(--ink);text-decoration:none;padding:8px 0;border-bottom:2px solid transparent}
.top nav a:hover{color:var(--ink);border-bottom-color:var(--brand-blue)}
.top nav a.nav-cta{color:var(--on-primary);background:var(--primary);padding:8px 16px;border-radius:var(--r);font-weight:600;border:0}
.top nav a.nav-cta:hover{background:var(--primary-h);color:var(--on-primary)}
.crumbs{font-size:.85rem;color:var(--muted);margin:1rem 0 0}
.crumbs a{color:var(--muted)}
main.wrap{padding-bottom:48px}

/* Lampen: das prägende Element */
.lamp{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--unk);box-shadow:inset 0 -2px 0 rgba(0,0,0,.18);vertical-align:-1px;flex:none}
.lamp.st-operational{background:var(--ok)}
.lamp.st-maintenance{background:var(--maint)}
.lamp.st-degraded{background:var(--warn)}
.lamp.st-outage{background:var(--bad);box-shadow:inset 0 -2px 0 rgba(0,0,0,.18),0 0 0 3px rgba(207,59,47,.22)}
.lamp.st-unknown{background:var(--unk)}
.lamp.st-na{background:transparent;border:2px solid var(--na);box-shadow:none}
.lamps{display:inline-flex;gap:5px;padding:5px 6px;background:var(--housing);border-radius:var(--r-sm)}
@media (prefers-reduced-motion:no-preference){
  .lamps .lamp.st-outage{animation:pulse 1.6s ease-in-out infinite}
  @keyframes pulse{50%{box-shadow:inset 0 -2px 0 rgba(0,0,0,.18),0 0 0 5px rgba(207,59,47,.35)}}
}

/* Startseite */
.hero{padding:2.6rem 0 1.4rem}
.hero h1{margin-bottom:.8rem}
.hero-state{font-size:1.15rem;margin:0 0 1.2rem;padding-left:.9rem;border-left:5px solid var(--ok)}
.hero-state.is-bad{border-color:var(--bad)}
.hero-time{display:block;font-size:.88rem;color:var(--muted)}
/* Startseite: Störungsanteil als Ringdiagramm und IP-Adresse */
.hero-panels{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;margin:0 0 24px}
.donut-card{display:flex;align-items:center;gap:24px;margin:0;padding:16px 24px;background:var(--panel);border:1px solid var(--rule);border-left:6px solid var(--ok);border-radius:var(--r)}
.donut-card.is-bad{border-left-color:var(--bad)}
.donut{flex:none;width:132px;height:132px}
.donut-track{fill:none;stroke:var(--row-line);stroke-width:14}
.donut-seg{fill:none;stroke-width:14}
.seg-outage{stroke:var(--bad);background:var(--bad)}.seg-degraded{stroke:var(--warn);background:var(--warn)}.seg-maintenance{stroke:var(--maint);background:var(--maint)}
.seg-operational{stroke:var(--ok);background:var(--ok)}.seg-unknown{stroke:var(--unk);background:var(--unk)}
.donut-n{font:700 36px/1 var(--sans);fill:var(--ink)}
.donut-sub{font:500 10px/1 var(--sans);fill:var(--muted)}
.donut-card figcaption{min-width:0}
.donut-state{margin:0 0 8px;font-size:1.05rem;font-weight:600;line-height:1.4}
.donut-legend{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0 0 8px;padding:0;list-style:none;font-size:.88rem;color:var(--muted)}
.donut-legend li{display:flex;align-items:center;gap:6px}
.donut-legend li[hidden]{display:none}
.donut-legend b{color:var(--ink)}
.donut-legend .dot{width:10px;height:10px;border-radius:50%}
.ip-card{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:16px 24px;background:var(--panel);border:1px solid var(--rule);border-left:6px solid var(--brand-blue);border-radius:var(--r);color:var(--ink);text-decoration:none;min-width:0}
.ip-card:hover{border-color:var(--brand-blue);color:var(--ink)}
.ip-card-label{font-size:.88rem;font-weight:600;color:var(--muted)}
.ip-card-ip{font-family:var(--mono);font-weight:700;font-size:clamp(1.3rem,2.6vw,1.9rem);line-height:1.2;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.ip-card-more{font-size:.92rem;font-weight:600;color:var(--link);text-decoration:underline;text-underline-offset:3px}
@media (max-width:767px){.hero-panels{grid-template-columns:1fr}.donut-card{padding:16px;gap:16px}.donut{width:108px;height:108px}}
.find input{width:100%;max-width:560px;font:inherit;font-size:1.05rem;padding:.75rem .9rem;border:1px solid var(--rule);border-radius:var(--r);background:var(--input-bg);color:var(--ink)}
.legend{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;align-items:center;font-size:.88rem;color:var(--muted);margin:1rem 0 0}
.alerts h2{margin-top:1rem}
.alert-list{list-style:none;padding:0;margin:0;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.alert a{display:block;padding:.8rem 1rem;background:var(--panel);border:1px solid var(--rule);border-left:6px solid var(--warn);border-radius:var(--r);text-decoration:none;color:var(--ink)}
.alert.st-outage a{border-left-color:var(--bad)}
.alert strong{font-family:var(--cond);font-size:1.15rem;margin-right:.5rem}
.alert-status{font-weight:600}
.alert-src{display:block;font-size:.88rem;color:var(--muted)}
.board{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.2rem;margin-top:1.6rem}
.panel{background:var(--panel);border:1px solid var(--rule);border-radius:6px;padding:.4rem 0 .2rem}
.panel h2{font-size:1rem;margin:.5rem 1rem .4rem;color:var(--muted);font-weight:600}
.rows{list-style:none;margin:0;padding:0}
.row{max-width:none}
.row a{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.8rem;padding:.55rem 1rem;color:var(--ink);text-decoration:none;border-top:1px solid var(--row-line)}
.row a:hover{background:var(--row-hover)}
.row-name{font-weight:600}
.row-status{font-size:.85rem;color:var(--muted)}
.row.st-degraded .row-status,.row.st-maintenance .row-status{color:var(--warn-text);font-weight:600}
.row.st-outage .row-status{color:var(--bad-text);font-weight:700}
.rows-compact{background:var(--panel);border:1px solid var(--rule);border-radius:6px}
.find-empty{margin-top:1rem}
.cta-band{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;margin-top:2.6rem;padding:1.4rem 1.6rem;background:var(--band-bg);color:var(--band-text);border-radius:var(--r)}
.cta-band h2{margin:0 0 .3rem}
.cta-band p{margin:0;color:var(--band-muted)}
.btn{display:inline-block;font:inherit;font-weight:600;padding:.65rem 1.1rem;border-radius:var(--r);border:2px solid var(--primary);background:var(--primary);color:var(--on-primary);text-decoration:none;cursor:pointer}
.btn:hover{background:var(--primary-h);border-color:var(--primary-h);color:var(--on-primary)}
.cta-band .btn{background:var(--band-btn-bg);color:var(--band-btn-fg);border-color:var(--band-btn-bg)}
.btn-ghost{background:transparent;color:var(--link);border-color:var(--link)}
.btn-ghost:hover{background:var(--primary);color:var(--on-primary)}

/* Dienstseite */
.svc-head{padding:1.8rem 0 .4rem}
.verdict{font-size:1.25rem;margin:0;padding:.7rem 1rem;background:var(--panel);border:1px solid var(--rule);border-left:6px solid var(--ok);border-radius:var(--r)}
.verdict strong{font-family:var(--cond);font-size:1.5rem;margin-right:.3rem}
.verdict.is-bad{border-left-color:var(--bad)} .verdict.is-warn{border-left-color:var(--warn)} .verdict.is-na{border-left-color:var(--unk)}
.sources{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.2rem}
.source{background:var(--panel);border:1px solid var(--rule);border-top:5px solid var(--unk);border-radius:var(--r);padding:.9rem 1rem}
.source.st-operational{border-top-color:var(--ok)} .source.st-degraded{border-top-color:var(--warn)} .source.st-outage{border-top-color:var(--bad)} .source.st-maintenance{border-top-color:var(--maint)} .source.st-na{border-top-color:var(--na)}
.source h2{font-size:1rem;margin:0 0 .4rem;display:flex;gap:.5rem;align-items:center;color:var(--muted)}
.source-status{font-family:var(--cond);font-size:1.4rem;font-weight:700;margin:0}
.source-summary{margin:.3rem 0 0}
.source-meta{font-size:.85rem;color:var(--muted);margin:.5rem 0 0}
.note{margin-top:.8rem;padding:.6rem .9rem;background:var(--tint);border-radius:var(--r);font-size:.92rem}
.block{margin-top:.5rem}
.inc-list,.hist{list-style:none;padding:0;margin:0}
.inc-list li{display:flex;gap:.6rem;align-items:baseline;flex-wrap:wrap;padding:.4rem 0;border-bottom:1px solid var(--rule)}
.strip{display:block;width:100%;height:34px;background:var(--panel);border:1px solid var(--rule);border-radius:var(--r);padding:3px}
.strip rect{fill:var(--na)}
.strip rect.st-operational{fill:var(--ok)} .strip rect.st-degraded{fill:var(--warn)} .strip rect.st-outage{fill:var(--bad)} .strip rect.st-unknown{fill:var(--unk)}
.strip-axis{display:flex;justify-content:space-between;font-size:.78rem;color:var(--muted);margin:.2rem 0 .4rem;max-width:none}
.bars{display:block;width:100%;height:70px;background:var(--panel);border:1px solid var(--rule);border-radius:var(--r);padding:4px}
.bars rect{fill:var(--brand-blue)}
.report{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:.6rem}
.report .muted{flex:1 1 280px}
.hp{position:absolute;left:-9999px}
.done{padding:.6rem .9rem;background:var(--done-bg);border-left:5px solid var(--ok);border-radius:var(--r)}
.error{padding:.6rem .9rem;background:var(--error-bg);border-left:5px solid var(--bad);border-radius:var(--r)}
.hist li{display:grid;grid-template-columns:auto 10.5rem 1fr;gap:.2rem .8rem;align-items:baseline;padding:.55rem 0;border-bottom:1px solid var(--rule);max-width:none}
.hist .hist-meta{grid-column:3;font-size:.85rem;color:var(--muted)}
.hist-when{font-size:.9rem;color:var(--muted)}
.hist li.is-open .hist-what{font-weight:600}
.ads{margin-top:2rem;padding:1rem 1.2rem;background:var(--panel);border:1px dashed var(--rule);border-radius:6px}
.ads h2{margin-top:0;font-size:1.1rem}
.ad-label{font-family:var(--sans);font-size:.72rem;font-weight:600;color:var(--muted);border:1px solid var(--rule);border-radius:var(--r-sm);padding:.05rem .35rem;vertical-align:middle;margin-left:.4rem}
.ads ul{padding-left:1.1rem}

/* Formulare */
.sub-form{background:var(--panel);border:1px solid var(--rule);border-radius:6px;padding:1.2rem 1.4rem;margin-top:1rem}
fieldset{border:0;padding:0;margin:0 0 1rem}
legend{font-family:var(--cond);font-weight:700;font-size:1.2rem;margin-bottom:.4rem}
.pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.6rem 1.4rem}
.pick-h{font-size:.85rem;color:var(--muted);font-weight:600;margin:.4rem 0 .2rem}
.pick-item{display:flex;gap:.5rem;align-items:center;padding:.15rem 0;cursor:pointer}
.pick-item input,.check input{width:1.1rem;height:1.1rem;accent-color:var(--primary)}
.field{display:block;font-weight:600;margin:1rem 0}
.field input{display:block;width:100%;max-width:420px;font:inherit;font-weight:400;padding:.6rem .7rem;border:1px solid var(--rule);border-radius:var(--r);margin-top:.3rem}
.check{display:flex;gap:.6rem;align-items:flex-start;margin:1rem 0;font-size:.95rem}
.check input{margin-top:.25rem;flex:none}
.message{padding:3rem 0}

/* Inhaltsseiten */
.explain{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.2rem}
.explain section{background:var(--panel);border:1px solid var(--rule);border-radius:6px;padding:1rem 1.1rem}
.explain h2{margin-top:0;display:flex;gap:.5rem;align-items:center}
.keylist{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.4rem}
.keylist li{display:flex;gap:.5rem;align-items:center}
.tablewrap{overflow-x:auto}
.srctable{width:100%;border-collapse:collapse;background:var(--panel);font-size:.92rem}
.srctable th,.srctable td{text-align:left;padding:.5rem .7rem;border-bottom:1px solid var(--rule)}
.srctable th{font-family:var(--cond);font-size:.95rem}

/* Fuß */
.foot{background:var(--surface);border-top:1px solid var(--rule);color:var(--muted);font-size:.88rem;padding:32px 0 24px}
.foot-brand{display:inline-block;margin-bottom:8px}.foot-brand img{display:block;height:52px;width:auto}
.foot a{color:var(--ink)}
.foot p{margin:.3rem 0}
.foot-links a{margin-right:1rem;color:var(--ink)}

@media (max-width:820px){
  .sources,.explain{grid-template-columns:1fr}
  .board{grid-template-columns:1fr}
  .hist li{grid-template-columns:auto 1fr}
  .hist .hist-what,.hist .hist-meta{grid-column:2}
  .row a{grid-template-columns:1fr auto;}
  .row-status{display:none}
}

/* Netzwerkwerkzeuge */
.ip-hero{padding:2rem 0 1rem}
.ip-big{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.ip-big output{font-family:var(--mono);font-size:clamp(1.6rem,5vw,3rem);font-weight:700;letter-spacing:-.01em;background:var(--band-bg);color:#fff;padding:.4rem .9rem;border-radius:var(--r);word-break:break-all}
.ip-kind{font-size:1.1rem;margin-top:.6rem}
.btn-small{padding:.4rem .8rem;font-size:.9rem}
.facts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1rem;margin-top:1rem}
.facts{background:var(--panel);border:1px solid var(--rule);border-radius:6px;padding:1rem 1.2rem}
.facts h2{margin-top:0;font-size:1.15rem}
.facts dl{display:grid;grid-template-columns:minmax(9rem,40%) 1fr;gap:.35rem .9rem;margin:0}
.facts dt{color:var(--muted);font-size:.9rem}
.facts dd{margin:0;word-break:break-word}
.iptest{display:flex;gap:2rem;flex-wrap:wrap;font-size:1.05rem}
.inline-form{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.6rem}
.inline-form input{flex:1 1 260px;max-width:520px;font:inherit;padding:.6rem .7rem;border:1px solid var(--rule);border-radius:var(--r)}
.prose h3{font-size:1.1rem;margin-top:1.4rem}
.dns-form{background:var(--panel);border:1px solid var(--rule);border-radius:6px;padding:1rem 1.2rem;margin-top:1rem}
.dns-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end}
.dns-row .field{margin:0}
.dns-row .grow{flex:1 1 280px}
.dns-row .grow input{max-width:none}
.field select{display:block;font:inherit;padding:.6rem .7rem;border:1px solid var(--rule);border-radius:var(--r);margin-top:.3rem;background:var(--input-bg);color:var(--ink)}
.modes{display:flex;gap:.4rem 1.4rem;flex-wrap:wrap;margin:1rem 0}
.modes label{display:flex;gap:.4rem;align-items:center;cursor:pointer}
.result{margin-top:1.4rem}
.result h2{margin-top:0}
.dnstable{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--rule);font-size:.93rem;margin:.6rem 0}
.dnstable th,.dnstable td{text-align:left;vertical-align:top;padding:.5rem .7rem;border-bottom:1px solid var(--rule)}
.dnstable th{font-family:var(--cond)}
code.val{word-break:break-all}
.tag{display:inline-block;font-size:.75rem;border:1px solid var(--rule);border-radius:var(--r-sm);padding:0 .35rem;color:var(--muted)}
.ns-h{font-family:var(--sans);font-size:1rem;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:1.2rem}
.chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.chips a{display:inline-block;padding:.3rem .7rem;border:1px solid var(--rule);border-radius:var(--r);background:var(--panel);text-decoration:none;font-weight:600;font-size:.9rem}
.chips a[aria-current]{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}
.typelist{display:grid;grid-template-columns:12rem 1fr;gap:.3rem 1rem}
.typelist dd{margin:0}
.checks{list-style:none;padding:0;display:grid;gap:.8rem}
.check-item{background:var(--panel);border:1px solid var(--rule);border-radius:6px;padding:.9rem 1.1rem;max-width:none}
.check-item h3{display:flex;gap:.6rem;align-items:center;margin:0 0 .4rem;font-size:1.1rem}
.check-item p{margin:.3rem 0}
.block-code{display:block;background:var(--code-bg);padding:.4rem .6rem;border-radius:var(--r);margin:.3rem 0}
@media (max-width:820px){.typelist{grid-template-columns:1fr}.typelist dd{margin-bottom:.5rem}.dnstable{font-size:.85rem}}

.tool-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.tool-list li{max-width:none}
.tool-list a{display:block;height:100%;padding:1rem 1.1rem;background:var(--panel);border:1px solid var(--rule);border-radius:6px;text-decoration:none;color:var(--ink)}
.tool-list a:hover{border-color:var(--ink)}
.tool-list strong{display:block;font-family:var(--cond);font-size:1.2rem}
.tool-list span{color:var(--muted);font-size:.92rem}

/* Wünsche */
.small-check{flex-basis:100%;margin:.2rem 0 0;font-size:.85rem}
.wish-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:1.6rem;align-items:start;margin-top:1rem}
.wish-grid .sub-form{margin-top:0}
.wish-grid h2{margin-top:0}
.field textarea{display:block;width:100%;font:inherit;font-weight:400;padding:.6rem .7rem;border:1px solid var(--rule);border-radius:var(--r);margin-top:.3rem;resize:vertical}
.field-error{color:var(--bad);font-size:.9rem;margin:-.6rem 0 .8rem;font-weight:600}
.wish-list{list-style:none;padding:0;margin:0;display:grid;gap:.7rem}
.wish{background:var(--panel);border:1px solid var(--rule);border-radius:6px;padding:.8rem 1rem;max-width:none}
.wish-head{display:flex;gap:.55rem;align-items:center;margin:0}
.wish-meta{color:var(--muted);font-size:.88rem;margin:.2rem 0 0 1.4rem}
.support{margin:.5rem 0 0 1.4rem}
.support summary{cursor:pointer;color:var(--link);font-weight:600}
.support .muted{font-size:.82rem}
@media (max-width:820px){.wish-grid{grid-template-columns:1fr}}
.offer{margin:1.6rem 0;padding:1.1rem 1.3rem;background:var(--panel);border:1px solid var(--rule);border-left:6px solid var(--brand-blue);border-radius:var(--r);max-width:44rem}
.offer h2{margin:0 0 .4rem;font-size:1.25rem}
.offer form{display:flex;gap:.8rem 1rem;align-items:center;flex-wrap:wrap;margin-top:.6rem}
.offer .muted{flex:1 1 240px}
main > h1:first-child{margin-top:1.8rem}
/* Sprachumschalter: Flaggen-Dropdown */
.langs{position:relative;font-size:.85rem}
.langs summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;color:var(--ink);font-weight:600;min-height:44px;padding:0 12px;border:1px solid var(--rule);border-radius:var(--r)}
.langs summary::-webkit-details-marker{display:none}
.langs summary::after{content:"";width:.4rem;height:.4rem;border:solid var(--muted);border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-2px);margin-left:.15rem}
.langs[open] summary::after{transform:rotate(-135deg) translateY(-1px)}
.langs summary:hover,.langs[open] summary{border-color:var(--brand-blue)}
.langs summary:focus-visible{outline:3px solid var(--brand-blue);outline-offset:2px}
.langs img{display:block;width:20px;height:14px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px var(--rule)}
.langs ul{position:absolute;right:0;top:calc(100% + .35rem);z-index:20;margin:0;padding:.3rem;list-style:none;min-width:11rem;background:var(--panel);border:1px solid var(--rule);border-radius:6px;box-shadow:0 8px 24px var(--shadow)}
.langs ul a{display:flex;align-items:center;gap:.6rem;min-height:44px;padding:0 .6rem;border-radius:var(--r);color:var(--ink);text-decoration:none;font-weight:500}
.langs ul a img{box-shadow:0 0 0 1px var(--rule)}
.langs ul a:hover,.langs ul a:focus-visible{background:var(--tint)}
.langs ul a[aria-current]{font-weight:700}
.langs ul a[aria-current]::after{content:"";margin-left:auto;width:.35rem;height:.65rem;border:solid var(--link);border-width:0 2px 2px 0;transform:rotate(45deg)}
@media (max-width:1023px){.top .top-tools{order:2;margin-left:auto}.top nav{order:3;width:100%;gap:4px 20px}}
.nav-home{display:none}
.menu-owl{display:block;height:36px;width:auto}
.menu-btn{display:none;align-items:center;gap:12px;min-height:44px;padding:4px 12px 4px 6px;font:inherit;font-weight:600;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:var(--r);cursor:pointer}
.menu-btn:hover{border-color:var(--brand-blue)}
.menu-ico,.menu-ico::before,.menu-ico::after{display:block;width:18px;height:2px;background:currentColor;border-radius:1px;position:relative}
.menu-ico::before,.menu-ico::after{content:"";position:absolute;left:0}.menu-ico::before{top:-6px}.menu-ico::after{top:6px}
.menu-btn[aria-expanded="true"] .menu-ico{background:transparent}
.menu-btn[aria-expanded="true"] .menu-ico::before{top:0;transform:rotate(45deg)}.menu-btn[aria-expanded="true"] .menu-ico::after{top:0;transform:rotate(-45deg)}
@media (max-width:767px){
  .js .brand{display:none}
  .js .menu-btn{display:inline-flex;order:1}
  .js .top .top-tools{order:3;margin-left:auto}
  .js .top nav .nav-home{display:block}
  .js .top nav{order:4;display:none;flex-direction:column;align-items:stretch;gap:0;padding:8px 0 4px;border-top:1px solid var(--rule)}
  .js .top nav.is-open{display:flex}
  .js .top nav a{padding:12px 0;font-size:1rem;border-bottom:1px solid var(--rule)}
  .js .top nav a.nav-cta{margin-top:12px;text-align:center;padding:12px 16px;border-bottom:0}
}
@media (max-width:767px){.top-in{min-height:64px;padding-top:10px;padding-bottom:10px}.top nav{font-size:.9rem;gap:0 16px}.top nav a.nav-cta{padding:6px 12px}}
/* Herstellerlogos */
.svc-logo{flex:none;width:20px;height:20px;display:inline-grid;place-items:center}
.svc-logo.logo-lg{width:36px;height:36px}
.svc-mono{border-radius:5px;color:#fff;font:700 .62rem/1 var(--sans);letter-spacing:.02em}
.svc-mono.logo-lg{font-size:1.05rem;border-radius:8px}
.mono-0{background:#4E5D6C}.mono-1{background:#0E6B78}.mono-2{background:#6A5A8C}.mono-3{background:#7A5C3E}.mono-4{background:#3F6B4F}.mono-5{background:#8C4A5A}
.row-name{display:flex;align-items:center;gap:.6rem;min-width:0}
.svc-head h1{display:flex;align-items:center;gap:.75rem}
input,select,textarea{background:var(--input-bg);color:var(--ink)}
/* Logos je Farbschema */
.on-light{display:contents}.on-dark{display:none}
:root[data-theme="dark"] .on-light{display:none}
:root[data-theme="dark"] .on-dark{display:contents}
@media (prefers-color-scheme:dark){:root:not([data-theme]) .on-light{display:none}:root:not([data-theme]) .on-dark{display:contents}}
/* Dienstlogos im Dunkelmodus auf heller Plakette, damit dunkle Logos sichtbar bleiben */
:root[data-theme="dark"] img.svc-logo{background:#fff;border-radius:4px;padding:2px;box-sizing:border-box}
@media (prefers-color-scheme:dark){:root:not([data-theme]) img.svc-logo{background:#fff;border-radius:4px;padding:2px;box-sizing:border-box}}
:root[data-theme="dark"] img.svc-logo.logo-lg{padding:4px;border-radius:8px}
/* Farbschema-Auswahl */
.themes{position:relative;font-size:.85rem}
.themes summary{display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;cursor:pointer;list-style:none;color:var(--ink);border:1px solid var(--rule);border-radius:var(--r)}
.themes summary::-webkit-details-marker{display:none}
.themes summary:hover,.themes[open] summary{border-color:var(--brand-blue)}
.themes svg{width:20px;height:20px;flex:none}
.themes .ic{display:none}
:root[data-theme-pref="light"] .themes summary .ic-light,:root[data-theme-pref="dark"] .themes summary .ic-dark,:root[data-theme-pref="auto"] .themes summary .ic-auto,:root:not([data-theme-pref]) .themes summary .ic-auto{display:block}
.themes ul{position:absolute;right:0;top:calc(100% + .35rem);z-index:20;margin:0;padding:.3rem;list-style:none;min-width:12rem;background:var(--panel);border:1px solid var(--rule);border-radius:var(--r);box-shadow:0 8px 24px var(--shadow)}
.themes ul button{display:flex;align-items:center;gap:.6rem;width:100%;min-height:44px;padding:0 .6rem;font:inherit;font-weight:500;color:var(--ink);background:none;border:0;border-radius:var(--r-sm);cursor:pointer;text-align:left}
.themes ul button .ic{display:block}
.themes ul button:hover,.themes ul button:focus-visible{background:var(--tint)}
.themes ul button[aria-pressed="true"]{font-weight:700}
.themes ul button[aria-pressed="true"]::after{content:"";margin-left:auto;width:.35rem;height:.65rem;border:solid var(--link);border-width:0 2px 2px 0;transform:rotate(45deg)}
:root:not([data-theme-pref]) .themes{display:none}
.top-tools{display:flex;gap:8px;align-items:center}
