/* ============================================================
   INDFØDSRETSPRØVEN · TRÆNER — design tokens
   Palette: Papir #F6F4EE · Felt #FFFFFF · Blæk #22242B
            Dannebrog #C8102E · Godkendt #1E7F4F · Linje #D9D6CC
   Type:    Archivo (display) · Source Sans 3 (body) · IBM Plex Mono (tal/ur)
   ============================================================ */

:root{
  --papir:#F6F4EE;
  --felt:#FFFFFF;
  --blaek:#22242B;
  --note:#6E7076;
  --linje:#D9D6CC;
  --linje-blaek:#22242B;
  --rod:#C8102E;
  --rod-dyb:#9C0B22;
  --groen:#1E7F4F;
  --gul:#B98900;
  --gul-lys:#FBF3DC;
  --rod-lys:#FBEBED;
  --groen-lys:#EAF4EE;
  --skygge:0 1px 0 rgba(34,36,43,.08), 0 8px 24px -18px rgba(34,36,43,.35);
  --radius:4px;
  --disp:"Archivo","Segoe UI",system-ui,sans-serif;
  --body:"Source Sans 3","Segoe UI",system-ui,sans-serif;
  --mono:"IBM Plex Mono","SFMono-Regular",Consolas,monospace;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
body{
  margin:0;
  background:var(--papir);
  background-image:linear-gradient(rgba(34,36,43,.028) 1px, transparent 1px);
  background-size:100% 34px;
  color:var(--blaek);
  font-family:var(--body);
  font-size:17px;
  line-height:1.55;
}
a{color:inherit}
button{font:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--rod);outline-offset:2px;border-radius:2px}

.wrap{max-width:1060px;margin:0 auto;padding:0 20px 80px}

/* ---------- Masthead (prøvehæfte cover) ---------- */
.masthead{
  border-bottom:3px solid var(--blaek);
  padding:34px 0 18px;
  margin-bottom:28px;
}
.mast-eyebrow{
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--note);
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
}
.mast-eyebrow .dot{color:var(--rod)}
.masthead h1{
  font-family:var(--disp);
  font-weight:800;
  font-size:clamp(30px,5.4vw,54px);
  letter-spacing:-.015em;
  line-height:1.02;
  margin:.28em 0 .18em;
  text-transform:uppercase;
}
.masthead h1 .thin{font-weight:500;color:var(--note)}
.mast-sub{max-width:70ch;color:var(--note);margin:0}
.mast-rule{
  margin-top:16px;
  font-family:var(--mono);font-size:12.5px;
  display:flex;gap:22px;flex-wrap:wrap;color:var(--blaek);
}
.mast-rule b{color:var(--rod)}

/* ---------- Section headers ---------- */
.sec-h{
  display:flex;align-items:baseline;gap:14px;
  margin:38px 0 14px;
}
.sec-h h2{
  font-family:var(--disp);font-weight:700;font-size:21px;
  text-transform:uppercase;letter-spacing:.02em;margin:0;
}
.sec-h .kode{font-family:var(--mono);font-size:12px;color:var(--rod);letter-spacing:.1em}
.sec-h .line{flex:1;border-top:1px solid var(--linje)}

/* ---------- Exam list (form table) ---------- */
.eksamensliste{border:1px solid var(--blaek);background:var(--felt);box-shadow:var(--skygge)}
.eks-row{
  display:grid;
  grid-template-columns:120px 1fr auto auto;
  gap:14px;align-items:center;
  padding:13px 18px;
  border-bottom:1px solid var(--linje);
}
.eks-row:last-child{border-bottom:0}
.eks-row:hover{background:#FCFBF7}
.eks-dato{font-family:var(--mono);font-weight:600;font-size:15px}
.eks-meta{font-size:14.5px;color:var(--note)}
.eks-meta b{color:var(--blaek);font-weight:600}
.eks-best{font-family:var(--mono);font-size:13px;color:var(--note);white-space:nowrap}
.eks-best .ok{color:var(--groen);font-weight:600}
.eks-best .nej{color:var(--rod);font-weight:600}

/* ---------- Buttons ---------- */
.btn{
  font-family:var(--disp);font-weight:700;font-size:14px;
  letter-spacing:.05em;text-transform:uppercase;
  border:2px solid var(--blaek);
  background:var(--felt);color:var(--blaek);
  padding:9px 18px;border-radius:var(--radius);
  transition:transform .08s ease, background .12s ease;
}
.btn:hover{background:var(--blaek);color:var(--papir)}
.btn:active{transform:translateY(1px)}
.btn.primar{background:var(--blaek);color:var(--papir)}
.btn.primar:hover{background:var(--rod);border-color:var(--rod)}
.btn.rod{border-color:var(--rod);color:var(--rod)}
.btn.rod:hover{background:var(--rod);color:#fff}
.btn.lille{padding:6px 12px;font-size:12.5px}
.btn.spog{border-style:dashed;border-width:1.5px;text-transform:none;letter-spacing:0;font-family:var(--body);font-weight:600}
/* Faner (fx konto: Log ind / Opret konto / Glemt): den valgte skal skille sig tydeligt ud */
.k-tabs .btn{color:var(--note);border-color:var(--linje)}
.k-tabs .btn:hover{color:var(--papir);border-color:var(--blaek)}
.k-tabs .btn.aktiv{background:var(--rod);border-color:var(--rod);color:#fff}
.k-tabs .btn.aktiv:hover{background:var(--rod-dyb);border-color:var(--rod-dyb);color:#fff}

/* ---------- Generator panel ---------- */
.gen-panel{
  border:1px solid var(--blaek);
  border-left:6px solid var(--rod);
  background:var(--felt);
  box-shadow:var(--skygge);
  padding:22px 24px;
  display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;
}
.gen-panel h3{font-family:var(--disp);font-size:19px;margin:0 0 6px;text-transform:uppercase;letter-spacing:.02em}
.gen-panel p{margin:0;color:var(--note);font-size:15.5px;max-width:64ch}
.gen-mix{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.mix-chip{
  font-family:var(--mono);font-size:12px;
  border:1px solid var(--linje);background:var(--papir);
  padding:4px 10px;border-radius:999px;color:var(--blaek);
}
.mix-chip b{color:var(--rod)}

/* ---------- Options row (settings) ---------- */
.indstilling{display:flex;align-items:center;gap:10px;margin:14px 2px 4px;font-size:15px;color:var(--note)}
.indstilling input{width:18px;height:18px;accent-color:var(--rod)}

/* ---------- History ---------- */
.hist-tabel{width:100%;border-collapse:collapse;background:var(--felt);border:1px solid var(--linje);font-size:15px}
.hist-tabel th{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
  text-align:left;color:var(--note);padding:9px 14px;border-bottom:2px solid var(--blaek);
}
.hist-tabel td{padding:9px 14px;border-bottom:1px solid var(--linje)}
.hist-tabel tr:last-child td{border-bottom:0}
.tom{color:var(--note);font-style:italic;padding:16px;border:1px dashed var(--linje);background:var(--felt)}

/* ============================================================
   EXAM MODE
   ============================================================ */
.ur-strip{
  position:sticky;top:0;z-index:50;
  background:var(--papir);
  border-bottom:2px solid var(--blaek);
  padding:10px 0;
}
.ur-inner{
  max-width:1060px;margin:0 auto;padding:0 20px;
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
}
.ur-id{font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--note)}
.ur-tid{
  font-family:var(--mono);font-weight:600;font-size:26px;letter-spacing:.04em;
  padding:2px 14px;border:2px solid var(--blaek);background:var(--felt);
  min-width:118px;text-align:center;font-variant-numeric:tabular-nums;
}
.ur-tid.lav{border-color:var(--rod);color:var(--rod);animation:puls 1s steps(2,start) infinite}
@keyframes puls{50%{background:var(--rod-lys)}}
.ur-tid.uendelig{color:var(--note);border-style:dashed}
.ur-status{font-family:var(--mono);font-size:13px;color:var(--note)}
.ur-spacer{flex:1}

.eks-layout{display:grid;grid-template-columns:1fr 250px;gap:26px;margin-top:26px}
@media (max-width:980px){.eks-layout{grid-template-columns:1fr}}

/* Question card */
.sp-kort{
  background:var(--felt);
  border:1px solid var(--blaek);
  box-shadow:var(--skygge);
  padding:26px 28px 22px;
}
.sp-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.sp-nr{
  font-family:var(--mono);font-weight:600;font-size:15px;
  border:2px solid var(--blaek);padding:2px 10px;background:var(--papir);
}
.sp-sektion{
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  padding:3px 9px;border-radius:999px;border:1px solid var(--linje);color:var(--note);
}
.sp-sektion.akt{border-color:var(--gul);color:var(--gul);background:var(--gul-lys)}
.sp-sektion.vaerdi{border-color:var(--rod);color:var(--rod);background:var(--rod-lys)}
.sp-tekst{font-size:19.5px;font-weight:600;line-height:1.45;margin:0 0 20px}

.valg{display:flex;flex-direction:column;gap:10px}
.valg-knap{
  display:flex;align-items:flex-start;gap:14px;
  text-align:left;width:100%;
  border:1.5px solid var(--linje);
  background:var(--felt);
  padding:13px 16px;border-radius:var(--radius);
  font-size:17px;line-height:1.45;
  transition:border-color .1s ease, background .1s ease;
}
.valg-knap:hover{border-color:var(--blaek)}
.valg-knap.valgt{border-color:var(--blaek);background:var(--papir);border-width:2px;padding:12.5px 15.5px}
.boks{
  font-family:var(--mono);flex:0 0 auto;
  width:26px;height:26px;margin-top:1px;
  border:2px solid var(--blaek);border-radius:2px;
  display:grid;place-items:center;
  font-size:17px;font-weight:600;line-height:1;
  background:var(--felt);
}
.valg-knap.valgt .boks::before{content:"✕"}
.valg-bogstav{font-family:var(--mono);font-weight:600;flex:0 0 22px;margin-top:1px;color:var(--note)}
.valg-knap.valgt .valg-bogstav{color:var(--blaek)}

.sp-nav{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}
.sp-nav .spacer{flex:1}
.flag-knap.aktiv{background:var(--gul-lys);border-color:var(--gul);color:var(--gul)}

/* Overview grid */
.oversigt{
  background:var(--felt);border:1px solid var(--linje);
  padding:16px;align-self:start;position:sticky;top:76px;
}
.oversigt h4{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--note);margin:0 0 10px;
}
.o-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.o-celle{
  aspect-ratio:1;border:1.5px solid var(--linje);background:var(--felt);
  font-family:var(--mono);font-size:12.5px;border-radius:2px;
  display:grid;place-items:center;padding:0;
}
.o-celle.besvaret{background:var(--blaek);color:var(--papir);border-color:var(--blaek)}
.o-celle.flag{box-shadow:inset 0 0 0 2px var(--gul)}
.o-celle.nu{outline:2.5px solid var(--rod);outline-offset:1px}
.o-legend{margin-top:12px;font-size:12.5px;color:var(--note);display:grid;gap:5px}
.o-legend span{display:inline-flex;align-items:center;gap:7px}
.l-dot{width:12px;height:12px;border:1.5px solid var(--linje);display:inline-block;border-radius:2px}
.l-dot.fyldt{background:var(--blaek);border-color:var(--blaek)}
.l-dot.gult{box-shadow:inset 0 0 0 2px var(--gul)}

/* Modal */
.modal-bag{position:fixed;inset:0;background:rgba(34,36,43,.45);display:grid;place-items:center;z-index:100;padding:20px}
.modal{
  background:var(--felt);border:2px solid var(--blaek);box-shadow:var(--skygge);
  max-width:460px;width:100%;padding:26px 28px;
}
.modal h3{font-family:var(--disp);text-transform:uppercase;font-size:19px;margin:0 0 10px}
.modal p{margin:0 0 18px;color:var(--note)}
.modal .rk{display:flex;gap:10px;justify-content:flex-end}

/* ============================================================
   RESULTS
   ============================================================ */
.res-hoved{
  display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center;
  background:var(--felt);border:1px solid var(--blaek);box-shadow:var(--skygge);
  padding:34px 36px;margin-top:26px;
}
@media (max-width:760px){.res-hoved{grid-template-columns:1fr;justify-items:start}}
.stempel{
  font-family:var(--mono);font-weight:700;
  font-size:clamp(22px,3.6vw,34px);letter-spacing:.14em;text-transform:uppercase;
  border:4px double var(--groen);color:var(--groen);
  padding:14px 26px;transform:rotate(-5deg);
  border-radius:6px;
  mask-image:radial-gradient(circle at 30% 20%, black 96%, transparent 100%);
  user-select:none;white-space:nowrap;
}
.stempel.nej{border-color:var(--rod);color:var(--rod)}
.res-score{font-family:var(--mono);font-size:clamp(34px,5vw,52px);font-weight:600;line-height:1;margin:0}
.res-score small{font-size:.45em;color:var(--note);font-weight:400}
.res-regel{color:var(--note);margin:8px 0 0;font-size:15.5px;max-width:60ch}
.res-regel b{color:var(--blaek)}

/* Miss budget */
.budget{margin-top:26px;background:var(--felt);border:1px solid var(--linje);padding:20px 24px}
.budget h3, .analyse h3, .anbefal h3, .gennemgang-h h3{
  font-family:var(--disp);text-transform:uppercase;letter-spacing:.02em;
  font-size:17px;margin:0 0 12px;
}
.slots{display:flex;gap:7px;flex-wrap:wrap}
.slot{
  width:30px;height:30px;border:2px solid var(--blaek);border-radius:3px;
  display:grid;place-items:center;font-family:var(--mono);font-weight:700;
}
.slot.brugt{background:var(--rod-lys);border-color:var(--rod);color:var(--rod)}
.slot.brugt::before{content:"✕"}
.slot.over{background:var(--rod);color:#fff}
.slot.over::before{content:"✕"}
.budget .fork{font-size:14.5px;color:var(--note);margin:10px 0 0}
.budget .fork b{color:var(--rod)}
.v-gate{margin-top:14px;padding-top:14px;border-top:1px dashed var(--linje)}

/* Section + topic analysis */
.analyse{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media (max-width:860px){.analyse{grid-template-columns:1fr}}
.a-boks{background:var(--felt);border:1px solid var(--linje);padding:20px 24px}
.a-raek{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--linje)}
.a-raek:last-child{border-bottom:0}
.a-navn{font-size:15.5px}
.a-navn small{display:block;color:var(--note);font-size:13px}
.a-tal{font-family:var(--mono);font-size:15px;white-space:nowrap}
.a-tal.svag{color:var(--rod);font-weight:600}
.a-tal.ok{color:var(--groen)}
.a-bar{grid-column:1/-1;height:7px;background:var(--papir);border:1px solid var(--linje);border-radius:99px;overflow:hidden}
.a-bar i{display:block;height:100%;background:var(--blaek)}
.a-bar i.svag{background:var(--rod)}
.a-bar i.god{background:var(--groen)}

/* Recommendations */
.anbefal{margin-top:22px;background:var(--felt);border:1px solid var(--blaek);border-left:6px solid var(--rod);padding:22px 26px;box-shadow:var(--skygge)}
.anbefal ol{margin:0;padding-left:22px;display:grid;gap:12px}
.anbefal li{font-size:15.5px}
.anbefal li b{font-family:var(--disp)}
.anbefal .para{font-family:var(--mono);font-size:12px;color:var(--rod);letter-spacing:.06em}

/* Review */
.gennemgang-h{display:flex;align-items:center;gap:14px;margin:34px 0 14px;flex-wrap:wrap}
.filterrk{display:flex;gap:8px;flex-wrap:wrap}
.filterrk .btn.aktiv{background:var(--blaek);color:var(--papir)}
.g-kort{background:var(--felt);border:1px solid var(--linje);padding:18px 22px;margin-bottom:12px}
.g-kort.forkert{border-left:5px solid var(--rod)}
.g-kort.rigtig{border-left:5px solid var(--groen)}
.g-top{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.g-nr{font-family:var(--mono);font-weight:600;font-size:13.5px}
.g-tekst{font-weight:600;margin:0 0 12px;font-size:16.5px}
.g-valg{display:grid;gap:6px}
.g-o{display:flex;gap:10px;align-items:flex-start;font-size:15.5px;padding:6px 10px;border-radius:3px;border:1px solid transparent}
.g-o .gb{font-family:var(--mono);flex:0 0 20px;color:var(--note)}
.g-o.korrekt{background:var(--groen-lys);border-color:var(--groen)}
.g-o.dinfejl{background:var(--rod-lys);border-color:var(--rod)}
.g-o .mrk{font-family:var(--mono);font-size:12px;margin-left:auto;white-space:nowrap}
.g-o.korrekt .mrk{color:var(--groen)}
.g-o.dinfejl .mrk{color:var(--rod)}
.g-note{margin:10px 0 0;font-size:14px;color:var(--note);border-top:1px dashed var(--linje);padding-top:8px}
.g-note b{color:var(--blaek)}

.res-knapper{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}

/* Footer */
.bund{margin-top:60px;border-top:3px solid var(--blaek);padding-top:16px;font-size:13.5px;color:var(--note)}
.bund b{color:var(--blaek)}

@media (max-width:640px){
  .eks-row{grid-template-columns:1fr auto;grid-template-rows:auto auto}
  .eks-dato{grid-column:1}
  .eks-best{grid-row:2;grid-column:1}
  .gen-panel{grid-template-columns:1fr}
  .oversigt{position:static}
}

/* ---------- Sprogvælger (DA / EN, js/i18n.js) ---------- */
.lang-switch{display:inline-flex;border:1.5px solid var(--linje);border-radius:999px;overflow:hidden;vertical-align:middle}
.lang-btn{
  font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.06em;
  border:0;background:var(--felt);color:var(--note);
  padding:3px 9px;line-height:1.6;
}
.lang-btn+.lang-btn{border-left:1px solid var(--linje)}
.lang-btn.aktiv{background:var(--blaek);color:var(--papir)}
.lang-btn:not(.aktiv):hover{color:var(--blaek)}

/* ---------- Installér-bjælke (mobil, js/install-prompt.js) ---------- */
#pt-install{
  position:fixed;left:12px;right:12px;bottom:12px;z-index:200;
  background:var(--felt);border:2px solid var(--blaek);border-radius:8px;
  box-shadow:0 8px 30px -10px rgba(34,36,43,.5);
  padding:14px 16px;
  display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;
  animation:pt-inst-op .28s ease;
}
@keyframes pt-inst-op{from{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}
#pt-install::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:6px;
  background:var(--rod);border-radius:6px 0 0 6px;
}
.pt-inst-tekst{display:grid;gap:3px;flex:1 1 220px;min-width:0}
.pt-inst-tekst b{font-family:var(--disp);font-size:14.5px;text-transform:uppercase;letter-spacing:.02em}
.pt-inst-tekst span{font-size:14px;color:var(--note);line-height:1.45}
.pt-inst-tekst span b{font-family:var(--body);text-transform:none;letter-spacing:0;color:var(--blaek)}
.pt-inst-knapper{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pt-inst-ja{
  font-family:var(--disp);font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;
  border:2px solid var(--rod);background:var(--rod);color:#fff;
  padding:8px 16px;border-radius:var(--radius);
}
.pt-inst-ja:hover{background:var(--rod-dyb);border-color:var(--rod-dyb)}
.pt-inst-luk{
  font-family:var(--body);font-weight:600;font-size:13px;
  border:1.5px dashed var(--linje);background:var(--felt);color:var(--note);
  padding:8px 12px;border-radius:var(--radius);
}
.pt-inst-luk:hover{border-color:var(--blaek);color:var(--blaek)}
@media (max-width:420px){
  #pt-install{flex-direction:column;align-items:stretch}
  .pt-inst-knapper{justify-content:flex-end}
}

/* ============================================================
   FÆLLES TOPBJÆLKE + SIDEFOD (chrome.js)
   ============================================================ */
.topbar{
  position:sticky;top:0;z-index:60;
  display:flex;align-items:center;gap:10px;
  padding:8px 20px;
  background:rgba(246,244,238,.92);
  -webkit-backdrop-filter:saturate(1.3) blur(8px);backdrop-filter:saturate(1.3) blur(8px);
  border-bottom:1.5px solid var(--linje);
}
.tb-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--blaek);min-width:0;margin-right:4px}
.tb-logo{width:30px;height:30px;flex:0 0 auto;border:1.5px solid var(--blaek);border-radius:5px;overflow:hidden;box-shadow:var(--skygge)}
.tb-logo svg{display:block;width:100%;height:100%}
.tb-word{font-family:var(--disp);font-weight:800;font-size:17px;letter-spacing:-.01em;text-transform:uppercase;line-height:1;white-space:nowrap}
.tb-word b{color:var(--rod);font-weight:800}

/* Hovedmenu (de fire trænersider) */
.tb-links{display:flex;align-items:center;gap:2px;margin-left:auto}
.tb-links a{
  font-family:var(--disp);font-weight:600;font-size:13px;letter-spacing:.01em;text-transform:uppercase;
  color:var(--blaek);text-decoration:none;padding:8px 11px;border-radius:6px;white-space:nowrap;line-height:1;
}
.tb-links a:hover{background:var(--felt)}
.tb-links a.aktiv{color:var(--rod)}

.tb-actions{display:flex;align-items:center;gap:6px}
.tb-ico{
  display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:6px;
  border:1px solid transparent;background:transparent;color:var(--blaek);text-decoration:none;
}
.tb-ico:hover{background:var(--felt);border-color:var(--linje)}
.tb-ico svg{width:20px;height:20px}
.tb-sep{width:1px;height:22px;background:var(--linje);margin:0 2px}
.topbar .lang-switch{vertical-align:middle}
.tb-burger{display:none}

/* Sammenklap til hamburger-menu på smalle skærme / mobil */
@media (max-width:920px){
  .tb-links{
    position:absolute;top:100%;left:0;right:0;z-index:59;
    flex-direction:column;align-items:stretch;gap:0;margin:0;
    background:var(--felt);border-bottom:1.5px solid var(--blaek);box-shadow:var(--skygge);
    display:none;
  }
  .tb-links.open{display:flex}
  .tb-links a{padding:15px 22px;border-radius:0;border-bottom:1px solid var(--linje);font-size:15px}
  .tb-actions{margin-left:auto}
  .tb-burger{display:inline-flex}
}
@media (max-width:560px){ .tb-word{display:none} .topbar{padding:8px 14px} .tb-ico{width:36px;height:36px} .tb-sep{display:none} }

.sitefoot{
  border-top:1.5px solid var(--linje);margin-top:48px;padding:22px 20px;
  background:var(--felt);font-family:var(--mono);font-size:12.5px;color:var(--note);
}
.sitefoot .in{max-width:1060px;margin:0 auto;display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;justify-content:space-between}
.sitefoot .fl{display:flex;flex-wrap:wrap;gap:8px 18px}
.sitefoot a{color:var(--note);text-decoration:none;border-bottom:1px solid var(--linje)}
.sitefoot a:hover{color:var(--blaek);border-color:var(--blaek)}

/* ============================================================
   SITESØGNING (search.js)
   ============================================================ */
.ss-overlay{position:fixed;inset:0;z-index:100;display:none}
.ss-overlay.aaben{display:block}
.ss-back{position:absolute;inset:0;background:rgba(34,36,43,.42)}
.ss-panel{
  position:relative;max-width:620px;margin:8vh auto 0;
  background:var(--felt);border:2px solid var(--blaek);border-radius:10px;
  box-shadow:var(--skygge);overflow:hidden;max-height:80vh;display:flex;flex-direction:column;
}
.ss-top{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1.5px solid var(--linje)}
.ss-top svg{width:20px;height:20px;color:var(--note);flex:0 0 auto}
.ss-input{flex:1;font:inherit;border:0;outline:0;background:transparent;font-size:18px;color:var(--blaek)}
.ss-esc{font-family:var(--mono);font-size:11px;border:1px solid var(--linje);border-radius:4px;padding:2px 6px;color:var(--note)}
.ss-results{overflow:auto;padding:6px}
.ss-item{display:block;text-decoration:none;color:inherit;padding:11px 12px;border-radius:6px;border:1px solid transparent}
.ss-item:hover,.ss-item.sel{background:var(--papir);border-color:var(--linje)}
.ss-item .tag{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--rod)}
.ss-item h4{margin:2px 0 3px;font-family:var(--disp);font-size:15px}
.ss-item p{margin:0;font-size:13px;color:var(--note)}
.ss-empty{padding:24px 16px;color:var(--note);text-align:center}
.ss-results mark{background:var(--gul-lys);color:inherit;padding:0 1px;border-radius:2px}

/* ============================================================
   SUPPORT-BOT (support-widget.js)
   ============================================================ */
.sb-bubble{
  position:fixed;right:18px;bottom:18px;z-index:90;
  width:56px;height:56px;border-radius:50%;
  background:var(--rod);color:#fff;border:0;box-shadow:var(--skygge);
  display:flex;align-items:center;justify-content:center;
}
.sb-bubble svg{width:26px;height:26px}
.sb-bubble:hover{background:var(--rod-dyb)}
.sb-bubble.skjul{display:none}
.sb-panel{
  position:fixed;right:18px;bottom:18px;z-index:91;
  width:min(380px,calc(100vw - 36px));max-height:min(640px,calc(100vh - 100px));
  background:var(--felt);border:2px solid var(--blaek);border-radius:12px;
  box-shadow:var(--skygge);display:none;flex-direction:column;overflow:hidden;
}
.sb-panel.aaben{display:flex}
.sb-head{background:var(--blaek);color:#fff;padding:13px 15px;display:flex;align-items:center;gap:10px}
.sb-head .sb-logo{width:32px;height:32px;flex:0 0 auto;border-radius:6px;overflow:hidden}
.sb-head .sb-logo svg{display:block;width:100%;height:100%}
.sb-head h3{margin:0;font-family:var(--disp);font-size:16px}
.sb-head p{margin:1px 0 0;font-size:11.5px;color:#ffffffb0}
.sb-x{margin-left:auto;background:transparent;border:0;color:#fff;font-size:22px;line-height:1;padding:0 4px}
.sb-body{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:9px;background:var(--papir)}
.sb-msg{max-width:86%;padding:9px 12px;border-radius:13px;font-size:14.5px;line-height:1.45}
.sb-msg.bot{background:var(--felt);border:1px solid var(--linje);border-bottom-left-radius:3px;align-self:flex-start}
.sb-msg.user{background:var(--rod);color:#fff;border-bottom-right-radius:3px;align-self:flex-end}
.sb-msg a{color:var(--rod);font-weight:600}
.sb-msg.user a{color:#fff}
.sb-chips{display:flex;flex-wrap:wrap;gap:7px;padding:0 14px 12px;background:var(--papir)}
.sb-chip{font:inherit;font-size:13px;background:var(--felt);border:1px solid var(--linje);border-radius:999px;padding:6px 12px;color:var(--blaek);text-align:left}
.sb-chip:hover{border-color:var(--rod);color:var(--rod)}
.sb-foot{display:flex;gap:8px;padding:10px;border-top:1.5px solid var(--linje);background:var(--felt)}
.sb-in{flex:1;font:inherit;padding:9px 12px;border:1.5px solid var(--linje);border-radius:8px;background:var(--papir);min-width:0}
.sb-in:focus{outline:2px solid var(--rod);outline-offset:1px}
.sb-send{background:var(--rod);color:#fff;border:0;border-radius:8px;padding:0 14px;font-weight:600}
.sb-send:hover{background:var(--rod-dyb)}
@media (max-width:460px){
  .sb-panel{right:10px;left:10px;width:auto;bottom:10px;max-height:calc(100vh - 90px)}
  .sb-bubble{right:14px;bottom:14px}
}
