/* Lokale Schriften — keine externen Font-Anbieter */
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:500;font-display:optional;src:url("fonts/space-grotesk-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:700;font-display:optional;src:url("fonts/space-grotesk-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:optional;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:optional;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:optional;src:url("fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:optional;src:url("fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:optional;src:url("fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2")}

/* radon-check.eu — gemeinsames Stylesheet */
:root{
  --ground:#111A21; --panel:#1A2630; --panel2:#22303B; --line:#2E4150; --line-soft:#243542;
  --ink:#EAF1F5; --dim:#9AB0BC; --dimmer:#6C8290;
  --low:#3F9E8C; --mid:#D9A441; --high:#C8503C; --signal:#E3A83C;
  --display:"Space Grotesk",system-ui,sans-serif;
  --body:"IBM Plex Sans",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65;
  background-image:radial-gradient(ellipse 70% 40% at 50% -8%, #1B2B36 0%, transparent 70%)}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.narrow{max-width:860px}
a{color:var(--signal);text-decoration:none;border-bottom:1px solid rgba(227,168,60,.35)}
a:hover{border-bottom-color:var(--signal)}
:focus-visible{outline:2px solid var(--signal);outline-offset:2px;border-radius:2px}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dimmer)}
h1{font-family:var(--display);font-weight:700;font-size:clamp(28px,4.6vw,42px);line-height:1.1;letter-spacing:-.025em;margin:12px 0 14px}
h2{font-family:var(--display);font-weight:700;font-size:25px;letter-spacing:-.02em;margin:34px 0 14px}
h3{font-family:var(--display);font-weight:500;font-size:18px;margin:26px 0 8px}
p{margin:0 0 14px}
.lede{color:var(--dim);font-size:17px;max-width:64ch}

/* ---- Header / Menü ---- */
.top{border-bottom:1px solid var(--line-soft);position:sticky;top:0;z-index:1000;background:rgba(17,26,33,.92);backdrop-filter:blur(8px)}
.top-in{display:flex;align-items:center;gap:22px;padding:12px 0}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:-.01em;color:var(--ink);border:0;white-space:nowrap}
.dot{width:9px;height:9px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 4px rgba(227,168,60,.15)}
nav.main{display:flex;gap:4px;flex:1;overflow-x:auto;-webkit-overflow-scrolling:touch}
nav.main a{font-size:14.5px;color:var(--dim);border:0;padding:8px 12px;border-radius:8px;white-space:nowrap}
nav.main a:hover{color:var(--ink);background:var(--panel)}
nav.main a[aria-current="page"]{color:var(--ink);background:var(--panel2)}
.kofi{font-family:var(--mono);font-size:12px;padding:7px 12px;border:1px solid var(--line);border-radius:999px;color:var(--dim);white-space:nowrap}
.kofi:hover{color:var(--ink);border-color:var(--signal)}
@media (max-width:760px){.kofi{display:none}}

/* ---- Panels ---- */
.card{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:22px}
.hint{font-size:13.5px;color:var(--dimmer)}
.btn{font-family:var(--body);font-weight:600;font-size:15px;padding:13px 22px;border:0;border-radius:8px;background:var(--signal);color:#161409;cursor:pointer}
.btn:hover{filter:brightness(1.08)}
.btn[disabled]{opacity:.5;cursor:default}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}

/* ---- App-Layout (Startseite) ---- */
.app{display:grid;grid-template-columns:minmax(380px,460px) 1fr;gap:22px;align-items:start;margin-top:26px}
@media (max-width:940px){.app{grid-template-columns:1fr}.map-col{order:-1}}
#map{height:520px;border:1px solid var(--line);border-radius:12px;background:#0D141A}
@media (max-width:940px){#map{height:340px}}
.map-note{margin-top:8px;display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.map-note label{font-size:13px;color:var(--dim);cursor:pointer}

/* ---- Funnel ---- */
.step{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:18px 20px;margin-bottom:14px}
.step[hidden]{display:none}
.step-head{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}
.step-n{font-family:var(--mono);font-size:11px;color:var(--dimmer);letter-spacing:.1em}
.step-q{font-family:var(--display);font-weight:500;font-size:17px;letter-spacing:-.01em}
.opts{display:flex;flex-wrap:wrap;gap:9px}
.opt{font-family:var(--body);font-size:14.5px;padding:10px 15px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--ink);cursor:pointer;transition:border-color .15s}
.opt:hover{border-color:var(--dim)}
.opt[aria-pressed="true"]{border-color:var(--signal);background:rgba(227,168,60,.12)}
.addr-row{display:flex;gap:10px}
.addr-row input{flex:1;min-width:0;font-family:var(--body);font-size:16px;padding:13px 14px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--ink)}
.addr-row input::placeholder{color:var(--dimmer)}

/* ---- Lage-Panel ---- */
.lage{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:18px 20px;margin-bottom:14px}
.lage[hidden]{display:none}
.lage .ort{font-family:var(--display);font-weight:500;font-size:17px;margin-bottom:4px}
.lage .quelle{font-family:var(--mono);font-size:10.5px;color:var(--dimmer);margin-top:12px}
.tiers{display:grid;gap:8px;margin-top:12px}
.tier{display:flex;gap:10px;align-items:baseline;font-size:14.5px;padding:9px 12px;border-radius:8px;background:var(--panel2);border-left:3px solid var(--dim)}
.tier b{font-family:var(--mono);font-weight:500;white-space:nowrap}
.tier.t-low{border-left-color:var(--low)} .tier.t-mid{border-left-color:var(--mid)} .tier.t-high{border-left-color:var(--high)}

/* ---- Bq-Skala ---- */
.scale{margin:14px 0 4px}
.scale-bar{position:relative;height:10px;border-radius:3px;overflow:visible;
  background:linear-gradient(90deg,var(--low) 0%,var(--low) 26%,var(--mid) 34%,var(--mid) 58%,var(--high) 66%,var(--high) 100%)}
.needle{position:absolute;top:-5px;width:2px;height:20px;background:var(--ink);transform:translateX(-50%);border-radius:1px}
.needle::after{content:attr(data-label);position:absolute;top:-20px;left:50%;transform:translateX(-50%);
  font-family:var(--mono);font-size:11px;color:var(--ink);white-space:nowrap}
.scale-ticks{position:relative;height:40px;margin-top:3px}
.tick{position:absolute;top:0;transform:translateX(-50%);text-align:center}
.tick::before{content:"";display:block;width:1px;height:8px;background:var(--line);margin:0 auto 4px}
.tick b{display:block;font-family:var(--mono);font-size:12px;font-weight:500;color:var(--ink)}
.tick span{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--dimmer);margin-top:1px}
.tick.who b{color:var(--low)} .tick.de b{color:var(--high)}

/* ---- Ergebnis ---- */
.verdict{border:1px solid var(--line);border-left:4px solid var(--dim);border-radius:12px;background:var(--panel);padding:22px;margin-bottom:14px}
.verdict[hidden]{display:none}
.verdict.pflicht{border-left-color:var(--high)}
.verdict.empfehlung{border-left-color:var(--mid)}
.verdict.ok{border-left-color:var(--low)}
.verdict h3{margin:4px 0 10px;font-size:20px;font-weight:700}
.verdict .basis{font-family:var(--mono);font-size:11.5px;color:var(--dimmer);border-top:1px solid var(--line-soft);padding-top:10px;margin-top:14px}
.todo{margin:14px 0 0;padding:0;list-style:none}
.todo li{position:relative;padding-left:24px;margin-bottom:8px;font-size:15px}
.todo li::before{content:"→";position:absolute;left:0;color:var(--signal);font-family:var(--mono)}

/* ---- Anbieter ---- */
.prov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:11px;margin-top:12px}
.prov{border:1px solid var(--line);border-radius:10px;background:var(--panel2);padding:14px 16px;
  display:flex;flex-direction:column;align-items:flex-start}
.prov b{display:block;font-family:var(--display);font-weight:500;font-size:15px;letter-spacing:-.01em;
  margin-bottom:4px;line-height:1.3}
.prov .meta{display:block;font-family:var(--mono);font-size:11px;color:var(--dimmer);line-height:1.5}
.prov .note{display:block;font-size:13px;color:var(--dim);margin-top:8px;line-height:1.45}
.tag{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:4px;margin-bottom:9px;flex-shrink:0}
.tag.labor{background:rgba(63,158,140,.15);color:var(--low)}
.tag.buero{background:rgba(200,80,60,.15);color:var(--high)}

/* ---- Formulare ---- */
.field{margin-bottom:13px}
.field label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-bottom:5px}
.field input,.field textarea,.field select{width:100%;font-family:var(--body);font-size:15px;padding:11px 13px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--ink)}
.field textarea{min-height:84px;resize:vertical}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--dim);margin:14px 0}
.consent input{margin-top:3px}
.form-ok{border:1px solid var(--low);border-radius:10px;padding:14px 16px;color:var(--ink);background:rgba(63,158,140,.1)}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}

/* ---- Inhaltsseiten ---- */
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:12px;overflow:hidden;margin:24px 0}
.fact{background:var(--panel);padding:20px}
.fact b{display:block;font-family:var(--mono);font-size:28px;font-weight:500;letter-spacing:-.02em;margin-bottom:5px}
.fact span{font-size:13.5px;color:var(--dim);line-height:1.5;display:block}
.article{padding:44px 0 20px}
.article p{max-width:70ch}
blockquote{margin:20px 0;padding:14px 18px;border-left:3px solid var(--line);color:var(--dim);font-size:15px;max-width:66ch}
.disclaimer{border:1px dashed var(--line);border-radius:10px;padding:15px 18px;font-size:13.5px;color:var(--dim);margin:26px 0}
.crossref{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0 10px}
.crossref a{font-size:14px;border:1px solid var(--line);border-radius:999px;padding:8px 16px;color:var(--dim)}
.crossref a:hover{color:var(--ink);border-color:var(--signal)}

/* ---- Footer ---- */
footer{border-top:1px solid var(--line-soft);margin-top:56px;padding:30px 0 46px;color:var(--dimmer);font-size:13.5px}
footer a{color:var(--dim)}
.feedback-box{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:18px 20px;margin-bottom:26px;font-size:14.5px;color:var(--dim);max-width:none}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ---- Abbildungen ---- */
figure{margin:26px 0;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:18px 18px 14px}
figure svg{display:block;width:100%;height:auto}
figcaption{font-family:var(--mono);font-size:12px;color:var(--dimmer);margin-top:10px}
.prov .plink{display:inline-block;font-family:var(--mono);font-size:12.5px;
  margin-top:auto;padding-top:12px;border-bottom:0;color:var(--signal)}
.prov .plink:hover{text-decoration:underline}



/* ---- Locale-Umschalter: schlicht "AT | DE" ---- */
.locale{position:relative;flex-shrink:0}
.locale summary{list-style:none;cursor:pointer;user-select:none;
  display:flex;align-items:center;gap:7px;padding:6px 10px;
  font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;color:var(--dim);
  border:1px solid transparent;border-radius:7px}
.locale summary::-webkit-details-marker{display:none}
.locale summary::marker{content:""}
.locale summary:hover{color:var(--ink);border-color:var(--line)}
.locale[open] summary{color:var(--ink);border-color:var(--line);background:var(--panel)}
.locale summary i{font-style:normal;color:var(--dimmer);font-size:12px}

.locale-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:1200;min-width:198px;
  background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:6px;
  box-shadow:0 14px 34px rgba(0,0,0,.5)}
.lm-group{font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--dimmer);margin:8px 9px 4px}
.lm-group:first-child{margin-top:4px}
.locale-menu a,.locale-menu .lm-soon{display:flex;align-items:center;gap:10px;
  padding:8px 9px;border-radius:6px;font-size:14.5px;line-height:1.2;
  color:var(--dim);border:0;text-decoration:none}
.locale-menu a:hover{background:var(--panel2);color:var(--ink)}
.locale-menu a[aria-current="true"]{color:var(--ink)}
.locale-menu a[aria-current="true"]::after{content:"✓";margin-left:auto;
  color:var(--signal);font-family:var(--mono);font-size:11.5px}
.locale-menu img{border-radius:2px;flex-shrink:0;display:block}
.locale-menu .lm-soon{color:var(--dimmer);cursor:default}
.locale-menu .lm-soon em{font-style:normal;font-family:var(--mono);font-size:9.5px;
  letter-spacing:.12em;text-transform:uppercase;margin-left:auto}

/* ---- Hinweisleiste bei abweichender Herkunft ---- */
.locale-hint{position:fixed;left:0;right:0;bottom:0;z-index:1500;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  background:var(--panel2);border-top:1px solid var(--line);
  padding:10px 24px;font-size:14px;color:var(--dim);
  box-shadow:0 -8px 24px rgba(0,0,0,.35)}
.locale-hint img{border-radius:2px;flex-shrink:0}
.locale-hint .lh-go{color:var(--signal);border-bottom:1px solid rgba(227,168,60,.4);white-space:nowrap}
.locale-hint .lh-x{margin-left:auto;background:none;border:0;color:var(--dimmer);
  font-size:20px;line-height:1;cursor:pointer;padding:0 4px}
.locale-hint .lh-x:hover{color:var(--ink)}
@media (max-width:560px){.locale-hint{font-size:13px;padding:9px 16px}}

/* ---- Landing-Seiten ---- */
.crumb{font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--dimmer);margin:0 0 6px}
.crumb a{color:var(--dim);border:0}
.crumb a:hover{color:var(--ink)}
.crumb span{color:var(--ink)}

table.rank{width:100%;border-collapse:collapse;margin:14px 0 6px;font-size:15px}
table.rank th{text-align:left;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--dimmer);font-weight:400;padding:0 10px 8px 0;
  border-bottom:1px solid var(--line)}
table.rank td{padding:9px 10px 9px 0;border-bottom:1px solid var(--line-soft);vertical-align:baseline}
table.rank td.num{font-family:var(--mono);text-align:right;white-space:nowrap;width:1%}
table.rank tr:last-child td{border-bottom:0}
table.rank .tag{margin:0}

.gemliste{font-size:14.5px;line-height:2;color:var(--dimmer);max-width:none}
.gemliste a{color:var(--dim)}
.gemliste a:hover{color:var(--ink)}
.gemliste .hint{font-family:var(--mono);font-size:11px}

/* zweite, unauffällige Marke auf der Bq-Skala (Bundesvergleich) */
.scale-bar .mark{position:absolute;top:-3px;width:1px;height:16px;background:var(--dimmer);transform:translateX(-50%)}
.scale-bar .mark::after{content:attr(data-label);position:absolute;top:-17px;left:50%;transform:translateX(-50%);
  font-family:var(--mono);font-size:10px;color:var(--dimmer);white-space:nowrap}
