/* Hvidvasktjek — Revology */
:root{
  --ink:#14160f;
  --ink-soft:#3a3d33;
  --muted:#6f7264;
  --paper:#fbfaf7;
  --paper-2:#f4f2ec;
  --line:#e3e0d6;
  --line-strong:#cfcbbd;
  --green:#2f4a3a;
  
  --crit:#7c2d2d;
  --hoej:#8a5220;
  --mellem:#6b6438;
  --ok:#2f4a3a;
  --shadow:0 1px 2px rgba(20,22,15,.04),0 8px 24px rgba(20,22,15,.06);
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);
  background:var(--paper);
  color:var(--ink);
  line-height:1.6;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:760px;margin:0 auto;padding:0 24px}
.wrap-wide{max-width:1040px;margin:0 auto;padding:0 24px}

/* ---------- Header ---------- */
header{border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:50}
.hd{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{font-family:var(--serif);font-size:20px;letter-spacing:-.01em;text-decoration:none;color:var(--ink)}
.brand span{color:var(--muted)}
.hd-note{font-size:13px;color:var(--muted);letter-spacing:.02em}

/* ---------- Hero ---------- */
.hero{padding:88px 0 64px;border-bottom:1px solid var(--line)}
.eyebrow{
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);margin-bottom:28px;font-weight:500;
}
h1{
  font-family:var(--serif);font-weight:400;
  font-size:clamp(34px,5.2vw,54px);line-height:1.12;
  letter-spacing:-.02em;margin-bottom:24px;
}
.lede{font-size:19px;color:var(--ink-soft);max-width:56ch;margin-bottom:20px}
.lede strong{font-weight:600;color:var(--ink)}
.hero-meta{
  display:flex;gap:28px;flex-wrap:wrap;margin-top:36px;
  padding-top:28px;border-top:1px solid var(--line);
  font-size:14px;color:var(--muted);
}
.hero-meta div strong{display:block;color:var(--ink);font-size:15px;font-weight:600;margin-bottom:2px}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;background:var(--ink);color:var(--paper);
  border:1px solid var(--ink);padding:14px 30px;border-radius:2px;
  font-size:16px;font-family:var(--sans);cursor:pointer;text-decoration:none;
  transition:opacity .15s ease;
}
.btn:hover{opacity:.86}
.btn:disabled{opacity:.35;cursor:not-allowed}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line-strong)}
.btn-ghost:hover{background:var(--paper-2);opacity:1}
.btn-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:36px}

/* ---------- Scan ---------- */
.scan{padding:56px 0 96px;display:none}
.scan.active{display:block}
.progress-rail{height:2px;background:var(--line);margin-bottom:8px}
.progress-fill{height:2px;background:var(--ink);width:0;transition:width .3s ease}
.progress-meta{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:52px}

.q-del{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}
.q-tekst{font-family:var(--serif);font-size:clamp(24px,3.4vw,32px);line-height:1.25;font-weight:400;letter-spacing:-.015em;margin-bottom:16px}
.q-hjaelp{font-size:15px;color:var(--muted);max-width:54ch;margin-bottom:36px;padding-left:16px;border-left:2px solid var(--line)}

.valg{display:flex;flex-direction:column;gap:10px;max-width:560px}
.valg button{
  text-align:left;background:transparent;border:1px solid var(--line-strong);
  padding:16px 20px;border-radius:2px;font-size:16px;font-family:var(--sans);
  color:var(--ink);cursor:pointer;transition:all .12s ease;line-height:1.4;
}
.valg button:hover{border-color:var(--ink);background:var(--paper-2)}
.valg button.valgt{background:var(--ink);color:var(--paper);border-color:var(--ink)}

.nav-row{display:flex;justify-content:space-between;align-items:center;margin-top:44px;padding-top:24px;border-top:1px solid var(--line)}
.tilbage{background:none;border:none;color:var(--muted);font-size:15px;cursor:pointer;font-family:var(--sans);padding:0}
.tilbage:hover{color:var(--ink)}

/* ---------- Resultat ---------- */
.resultat{padding:56px 0 96px;display:none}
.resultat.active{display:block}
.score-kort{border:1px solid var(--line-strong);padding:44px;background:#fff;box-shadow:var(--shadow);margin-bottom:56px}
.score-top{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:20px}
.score-tal{font-family:var(--serif);font-size:64px;line-height:1;letter-spacing:-.03em}
.score-af{font-size:15px;color:var(--muted)}
.badge{
  display:inline-block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  padding:6px 12px;border-radius:2px;font-weight:600;
}
.badge.kritisk{background:#f6e9e9;color:var(--crit)}
.badge.alvorlig{background:#f8efe3;color:var(--hoej)}
.badge.delvis{background:#f3f2e4;color:var(--mellem)}
.badge.solid{background:#e9f0ea;color:var(--ok)}
.score-tekst{font-size:17px;color:var(--ink-soft);max-width:60ch;margin-top:12px}

.sek-titel{font-family:var(--serif);font-size:26px;font-weight:400;letter-spacing:-.015em;margin-bottom:8px}
.sek-under{font-size:15px;color:var(--muted);margin-bottom:32px}

/* Findings */
.fund{border-top:1px solid var(--line);padding:28px 0}
.fund:last-child{border-bottom:1px solid var(--line)}
.fund-top{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.fund-alvor{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;padding:4px 9px;border-radius:2px}
.fund-alvor.kritisk{background:#f6e9e9;color:var(--crit)}
.fund-alvor.hoej{background:#f8efe3;color:var(--hoej)}
.fund-alvor.mellem{background:#f3f2e4;color:var(--mellem)}
.fund-titel{font-size:18px;font-weight:600;letter-spacing:-.01em}
.fund-hjemmel{font-size:13px;color:var(--muted);font-family:var(--serif);font-style:italic;margin-bottom:10px}
.fund-tekst{font-size:16px;color:var(--ink-soft);max-width:64ch}
.laast{filter:blur(5px);user-select:none;pointer-events:none}

/* Gate */
.gate{border:1px solid var(--line-strong);background:#fff;padding:40px;margin:48px 0;box-shadow:var(--shadow)}
.gate h3{font-family:var(--serif);font-size:24px;font-weight:400;margin-bottom:10px;letter-spacing:-.015em}
.gate p.g-lede{font-size:16px;color:var(--muted);margin-bottom:28px;max-width:56ch}
.felt{margin-bottom:18px}
.felt label{display:block;font-size:14px;font-weight:500;margin-bottom:7px}
.felt .kraev{color:var(--crit)}
.felt input{
  width:100%;padding:13px 15px;border:1px solid var(--line-strong);
  border-radius:2px;font-size:16px;font-family:var(--sans);background:var(--paper);color:var(--ink);
}
.felt input:focus{outline:none;border-color:var(--ink);background:#fff}
.felt-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.samtykke{
  display:flex;gap:12px;align-items:flex-start;margin:26px 0 8px;
  padding:18px;background:var(--paper-2);border:1px solid var(--line);border-radius:2px;
}
.samtykke input{margin-top:4px;width:17px;height:17px;flex-shrink:0;accent-color:var(--ink)}
.samtykke label{font-size:14px;color:var(--ink-soft);line-height:1.55}
.retslig{font-size:13px;color:var(--muted);margin-top:14px;line-height:1.6}
.fejl{color:var(--crit);font-size:14px;margin-top:12px;display:none}
.fejl.vis{display:block}

/* Tilbud */
.tilbud{border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:44px;margin-top:64px}
.tilbud .eyebrow{color:rgba(251,250,247,.55)}
.tilbud h3{font-family:var(--serif);font-size:30px;font-weight:400;margin-bottom:16px;letter-spacing:-.02em;color:var(--paper)}
.tilbud p{color:rgba(251,250,247,.78);max-width:56ch;margin-bottom:12px;font-size:16px}
.tilbud ul{list-style:none;margin:24px 0}
.tilbud li{padding:9px 0 9px 26px;position:relative;color:rgba(251,250,247,.85);font-size:15px;border-bottom:1px solid rgba(251,250,247,.1)}
.tilbud li:before{content:"—";position:absolute;left:0;color:rgba(251,250,247,.45)}
.pris{display:flex;align-items:baseline;gap:12px;margin:28px 0 4px}
.pris-tal{font-family:var(--serif);font-size:42px;letter-spacing:-.02em;color:var(--paper)}
.pris-note{font-size:14px;color:rgba(251,250,247,.55)}
.btn-lys{background:var(--paper);color:var(--ink);border-color:var(--paper)}

/* Footer */
footer{border-top:1px solid var(--line);padding:44px 0 64px;margin-top:80px;font-size:14px;color:var(--muted)}
footer a{color:var(--ink-soft)}
.disclaimer{font-size:13px;line-height:1.65;max-width:70ch;margin-top:18px;color:var(--muted)}

@media(max-width:640px){
  body{font-size:16px}
  .hero{padding:60px 0 48px}
  .score-kort,.gate,.tilbud{padding:28px 22px}
  .felt-row{grid-template-columns:1fr}
  .score-tal{font-size:52px}
}

/* --- Tilføjelser til flerbranche-versionen --- */
.udenfor-titel{font-family:var(--serif);font-size:30px;font-weight:400;letter-spacing:-.02em;margin:14px 0 18px;line-height:1.2}
.sektor-net{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:44px}
.sektor-kort{background:var(--paper);padding:28px 24px;text-decoration:none;color:var(--ink);display:block;transition:background .15s ease}
.sektor-kort:hover{background:#fff}
.sektor-kort .nr{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.sektor-kort h3{font-family:var(--serif);font-size:21px;font-weight:400;letter-spacing:-.015em;margin-bottom:7px}
.sektor-kort p{font-size:13.5px;color:var(--muted);line-height:1.55}
.sektor-kort .tilsyn{font-size:12px;color:var(--muted);margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.paragraf-note{font-size:13px;color:var(--muted);margin-top:22px;padding-left:16px;border-left:2px solid var(--line);line-height:1.6}
.brodkrumme{font-size:13px;color:var(--muted);padding:22px 0 0}
.brodkrumme a{color:var(--muted)}

/* --- Rent resultat + bro til hovedproduktet --- */
.rent-blok{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;margin-bottom:8px}
.rent-blok p{font-size:16px;color:var(--ink-soft);max-width:64ch;margin-bottom:14px}
.rent-blok p:last-child{margin-bottom:0}
.bro{border-top:1px solid var(--line);margin-top:34px;padding-top:26px}
.bro p{font-size:15px;color:var(--muted);max-width:60ch}
.bro a{color:var(--ink)}

/* --- Dokumentation for gennemgang --- */
.dok-blok{border:1px solid var(--line-strong);background:#fff;padding:34px;margin-top:26px}
.dok-hoved{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.dok-blok h3{font-family:var(--serif);font-size:23px;font-weight:400;letter-spacing:-.015em;margin-bottom:22px}
.dok-tabel{width:100%;border-collapse:collapse;margin-bottom:24px;font-size:15px}
.dok-tabel td{padding:9px 0;border-bottom:1px solid var(--line);vertical-align:top}
.dok-tabel td:first-child{color:var(--muted);width:42%}
.dok-blok p{font-size:15px;color:var(--ink-soft);margin-bottom:14px;max-width:66ch}
.dok-blok ol{margin:0 0 14px 20px;font-size:15px;color:var(--ink-soft)}
.dok-blok ol li{padding:4px 0}
.dok-blok ol em{color:var(--muted);font-family:var(--serif)}
.dok-fine{font-size:13px!important;color:var(--muted)!important;border-top:1px solid var(--line);padding-top:16px;margin-top:20px}

/* --- Print: kun dokumentationen med --- */
@media print{
  header,footer,.hero,.scan,.tilbud,.sek-titel,.sek-under,#r-fund,.rent-blok,
  .disclaimer,.btn-row,.score-kort,.gate>h3,.gate>.g-lede,.bro{display:none!important}
  body{background:#fff}
  .gate{border:none;box-shadow:none;padding:0;margin:0}
  .dok-blok{border:1px solid #999;padding:28px;margin:0;page-break-inside:avoid}
  .wrap{max-width:none;padding:0}
}
