/* Kursusportal — fælles design for alle kurser
   Layout: topbjælke + venstre menu (skjules bag en knap på mobil) + indholdskolonne.
   Hvert kursus har sin egen accentfarve (body[data-kursus]). */
[hidden]{display:none!important}
:root{
  --bg:#F2F6F9;          /* lys baggrund */
  --kort:#FFFFFF;        /* kort og felter */
  --flade:#E8F0F5;       /* rolige flader */
  --navy:#0F2A44;        /* tekst og menu */
  --dis:#4E6378;         /* sekundær tekst */
  --linje:#D5E0E8;
  --turkis:#0B8A8F;      /* hovedfarve */
  --turkis-lys:#D7F0F0;
  --turkis-moerk:#08767A; /* hover */
  --turkis-tekst:#05585C; /* tekst på lys accent */
  --accent-lys:#9FD9DA;   /* lys tekst på mørk baggrund */
  --blaa:#2462A8;
  --god:#1D7A47; --god-lys:#DDF2E5;
  --advar:#B26A00; --advar-lys:#FDF0D8;
  --fejl:#B3392B; --fejl-lys:#FBE3DF;
  --display:"Bricolage Grotesque","Helvetica Neue",Arial,sans-serif;
  --brod:"Instrument Sans","Helvetica Neue",Arial,sans-serif;
  --mono:"DM Mono",ui-monospace,"SF Mono",Menlo,monospace;
  color-scheme:only light;
}
*{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:clip}
body{background:var(--bg);color:var(--navy);font-family:var(--brod);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:var(--blaa)}
button,input,select,textarea{font:inherit;color:inherit}
/* skrivefelter er altid lyse, også når browseren eller computeren står i mørk tilstand */
input:where(:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=submit],[type=button])),select,textarea{background-color:#fff;color:var(--navy);color-scheme:only light}
:focus-visible{outline:3px solid var(--turkis);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--display);line-height:1.15;text-wrap:balance;letter-spacing:-.01em}
h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:800}
h2{font-size:clamp(1.45rem,3vw,1.9rem);font-weight:750}
h3{font-size:1.15rem;font-weight:700}
h4{font-size:1rem;font-weight:700}
p{max-width:70ch}
.dæmpet{color:var(--dis)}
.lille{font-size:.88rem}
code,.kode{font-family:var(--mono);font-size:.88em;background:var(--flade);padding:1px 6px;border-radius:4px}

/* ---------- topbjælke ---------- */
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:var(--navy);color:#fff;display:flex;align-items:center;gap:14px;padding:12px clamp(16px,3vw,28px)}
.topbar a.logo{color:#fff;text-decoration:none;font-family:var(--display);font-weight:800;font-size:1.05rem;line-height:1.1}
.topbar a.logo span{display:block;font-family:var(--brod);font-weight:500;font-size:.75rem;color:var(--accent-lys)}
.topbar .spacer{flex:1}
.topbar .toplink{color:#DCEBF3;text-decoration:none;font-weight:600;font-size:.92rem;padding:6px 10px;border-radius:6px}
.topbar .toplink:hover,.topbar .toplink[aria-current]{background:rgba(255,255,255,.12);color:#fff}
.menuknap{display:none;background:rgba(255,255,255,.12);color:#fff;border:none;border-radius:6px;padding:8px 12px;font-weight:700;cursor:pointer}
@media(max-width:999px){.menuknap{display:inline-block}.topbar > .toplink{display:none}}

/* ---------- ramme ---------- */
.ramme{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:calc(100vh - 60px)}
@media(max-width:999px){.ramme{grid-template-columns:1fr}}
.sidemenu{background:var(--kort);border-right:1px solid var(--linje);padding:20px 14px;position:sticky;top:60px;align-self:start;max-height:calc(100vh - 60px);overflow-y:auto}
@media(max-width:999px){.sidemenu{position:fixed;inset:60px 0 0 0;max-height:none;z-index:35;display:none;border-right:none}.sidemenu.åben{display:block}}
.sidemenu h4{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--dis);margin:16px 10px 8px}
.sidemenu h4:first-child{margin-top:0}
.sidemenu a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:var(--navy);text-decoration:none;font-weight:600;font-size:.94rem}
.sidemenu a:hover{background:var(--flade)}
.sidemenu a[aria-current]{background:var(--turkis-lys);color:var(--turkis-tekst)}
.sidemenu a .nr{width:24px;height:24px;border-radius:50%;background:var(--flade);display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;flex:none}
.sidemenu a .prik{margin-left:auto;width:9px;height:9px;border-radius:50%;background:var(--linje);flex:none}
.sidemenu a .prik.igang{background:var(--advar)} .sidemenu a .prik.faerdig{background:var(--god)}
.sidemenu .under-link{padding-left:44px;font-weight:500;font-size:.88rem}

main{padding:clamp(20px,3vw,40px) clamp(16px,3vw,44px) 80px;min-width:0}
.indhold{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:28px}

/* ---------- byggeklodser ---------- */
.kort{background:var(--kort);border:1px solid var(--linje);border-radius:12px;padding:clamp(18px,2.4vw,28px);min-width:0}
.kort > * + *{margin-top:12px}
.kort.flad{background:var(--flade);border-color:transparent}
.etiket{font-family:var(--display);font-weight:700;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--turkis)}
.gitter{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.gitter-2{display:grid;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:800px){.gitter-2{grid-template-columns:1fr}}
.sidehoved{display:flex;flex-direction:column;gap:10px}
.sidehoved .ingress{font-size:1.1rem;color:var(--dis);max-width:65ch}
.mål{list-style:none;display:grid;gap:8px}
.mål li{padding-left:28px;position:relative}
.mål li::before{content:"";position:absolute;left:4px;top:.45em;width:12px;height:12px;border-radius:3px;background:var(--turkis)}
.punkter{padding-left:20px;display:grid;gap:6px}
.chip{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;padding:3px 10px;border-radius:20px;background:var(--flade);color:var(--dis);white-space:nowrap}
.chip.igang{background:var(--advar-lys);color:var(--advar)}
.chip.faerdig{background:var(--god-lys);color:var(--god)}
.chip.fiktiv{background:var(--advar-lys);color:#7A4A00}
.banner{border-radius:10px;padding:12px 16px;font-size:.92rem;display:flex;gap:10px;align-items:flex-start}
.banner b{font-family:var(--display)}
.banner.info{background:var(--turkis-lys);color:var(--turkis-tekst)}
.banner.advar{background:var(--advar-lys);color:#6A4000}
.banner.fejl{background:var(--fejl-lys);color:#7C2318}
.knap{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--turkis);color:#fff;border:none;border-radius:8px;padding:10px 18px;font-weight:700;cursor:pointer;text-decoration:none;font-size:.95rem}
.knap:hover{background:var(--turkis-moerk)}
.knap.sek{background:var(--kort);color:var(--navy);border:1px solid var(--linje)}
.knap.sek:hover{border-color:var(--turkis);color:var(--turkis-tekst)}
.knap.fare{background:var(--fejl)}
.knap.lille{padding:6px 12px;font-size:.85rem}
.knap[disabled]{opacity:.45;cursor:not-allowed}
.knaprad{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.forklaring-boks{background:var(--flade);border-left:4px solid var(--turkis);border-radius:0 8px 8px 0;padding:14px 16px}
.formel{font-family:var(--mono);font-size:.95rem;background:var(--flade);border-radius:8px;padding:12px 14px;overflow-x:auto;white-space:nowrap}
.trin{list-style:none;counter-reset:t;display:grid;gap:6px}
.trin li{counter-increment:t;display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;font-family:var(--mono);font-size:.9rem;align-items:baseline}
.trin li::before{content:counter(t);font-family:var(--display);font-weight:800;color:var(--turkis)}
.trin li span{overflow-x:auto;white-space:nowrap}

/* ---------- formularer ---------- */
.felter{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.felt{display:flex;flex-direction:column;gap:5px;min-width:0}
.felt label{font-weight:700;font-size:.9rem}
.felt small{color:var(--dis);font-size:.8rem}
.felt input,.felt select,.felt textarea,.inp{width:100%;min-width:0;border:1px solid #B9C9D6;border-radius:8px;padding:9px 11px;background:#fff;font-variant-numeric:tabular-nums}
.felt textarea{min-height:90px;resize:vertical}
.felt input[aria-invalid=true],.inp[aria-invalid=true]{border-color:var(--fejl);background:#FFF8F7}
.feltfejl{color:var(--fejl);font-size:.82rem;font-weight:600}

/* ---------- resultater ---------- */
.tal-raekke{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.noegle{background:var(--flade);border-radius:10px;padding:12px 14px}
.noegle span{display:block;font-size:.8rem;color:var(--dis);font-weight:600}
.noegle b{font-family:var(--display);font-weight:800;font-size:1.35rem;font-variant-numeric:tabular-nums}
.noegle.hoved{background:var(--turkis-lys);color:var(--navy);box-shadow:inset 0 0 0 2px var(--turkis)}
.noegle.hoved span{color:var(--turkis-tekst)}
.op{color:var(--god)} .ned{color:var(--fejl)}

/* ---------- tabeller ---------- */
.tabel-ramme{overflow-x:auto;border:1px solid var(--linje);border-radius:10px;background:var(--kort)}
table.tabel{width:100%;border-collapse:collapse;font-size:.92rem;font-variant-numeric:tabular-nums}
.tabel th,.tabel td{padding:9px 12px;border-bottom:1px solid var(--linje);text-align:right;white-space:nowrap}
.tabel th{background:var(--flade);font-weight:700;font-size:.82rem;color:var(--dis)}
.tabel th:first-child,.tabel td:first-child{text-align:left}
.tabel tr:last-child td{border-bottom:none}
.tabel td.tekst{text-align:left;white-space:normal}
.tabel input{width:8.5em;text-align:right;border:1px solid #B9C9D6;border-radius:6px;padding:5px 7px;background:#fff}
.tabel input.bred{width:12em;text-align:left}
.tabel tr.sum td{font-weight:800;border-top:2px solid var(--navy)}

/* ---------- grafer ---------- */
.graf{width:100%;height:auto;display:block}
.graf text{font-family:var(--brod);font-size:11px;fill:var(--dis)}
.graf .gitter{stroke:var(--linje);stroke-width:1}
.graf .akse{stroke:var(--navy);stroke-width:1}
.forklaring{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.85rem;color:var(--dis)}
.forklaring span{display:inline-flex;align-items:center;gap:6px}
.forklaring i{width:12px;height:12px;border-radius:3px;display:inline-block}

/* ---------- opgaver ---------- */
.opgaveliste{display:grid;gap:14px}
.opgave{background:var(--kort);border:1px solid var(--linje);border-radius:12px;padding:18px 20px;display:flex;flex-direction:column;gap:10px}
.opgave__top{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.opgave__nr{font-family:var(--display);font-weight:800;color:var(--turkis)}
.niveau{font-size:.74rem;font-weight:800;padding:2px 8px;border-radius:12px;background:var(--flade);color:var(--dis)}
.niveau.n1{background:#E3F1FB;color:#1C5A93}.niveau.n2{background:var(--turkis-lys);color:var(--turkis-tekst)}.niveau.n3{background:#EDE6FA;color:#5B3DA8}
.opgave__svar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.opgave__svar input{width:11em;border:1px solid #B9C9D6;border-radius:8px;padding:8px 10px;background:#fff;color:var(--navy)}
.opgave__svar textarea{width:100%;min-height:80px;border:1px solid #B9C9D6;border-radius:8px;padding:8px 10px;background:#fff;color:var(--navy)}
.opgave__valg{display:grid;gap:6px}
.opgave__valg label{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border:1px solid var(--linje);border-radius:8px;cursor:pointer}
.opgave__valg label:hover{border-color:var(--turkis)}
.svarfeedback{font-weight:700;font-size:.92rem}
.svarfeedback.rigtig{color:var(--god)} .svarfeedback.forkert{color:var(--fejl)} .svarfeedback.gemt{color:var(--blaa)}
.opgave.besvaret{border-color:#B5DCC5}

/* ---------- moduler på forsiden ---------- */
.modulkort{display:flex;flex-direction:column;gap:12px;background:var(--kort);border:1px solid var(--linje);border-radius:14px;padding:20px}
.modulkort__top{display:flex;gap:14px;align-items:center}
.ikon{width:52px;height:52px;border-radius:12px;background:var(--turkis-lys);display:flex;align-items:center;justify-content:center;flex:none}
.ikon svg{width:30px;height:30px;stroke:var(--turkis-tekst);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.modulkort p{color:var(--dis);font-size:.94rem;flex:1}
.fremdrift{height:8px;background:var(--flade);border-radius:6px;overflow:hidden}
.fremdrift i{display:block;height:100%;background:var(--turkis);border-radius:6px}
.modulkort__bund{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.hero{background:var(--navy);color:#fff;border-radius:16px;padding:clamp(24px,4vw,44px);display:grid;gap:14px;position:relative;overflow:hidden}
.hero p{color:#CFE4EE;font-size:1.1rem}
.hero .etiket{color:var(--accent-lys)}
.hero::after{content:"";position:absolute;right:-60px;bottom:-60px;width:280px;height:280px;border-radius:50%;border:38px solid var(--turkis);opacity:.35;pointer-events:none}
.samlet{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
.badges{display:flex;gap:10px;flex-wrap:wrap}
.badge{display:inline-flex;align-items:center;gap:8px;background:var(--god-lys);color:var(--god);border-radius:20px;padding:5px 12px;font-weight:700;font-size:.85rem}

/* ---------- spil ---------- */
.kurs-tabel td .handel{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;align-items:center;max-width:220px;margin-left:auto}
.kurs-tabel td:last-child{white-space:normal}
.kurs-tabel td .handel input{width:4.6em;padding:5px 6px}
.kurs-tabel td,.kurs-tabel th{padding:8px 8px}
.dagbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.dagtal{font-family:var(--display);font-weight:800;font-size:1.4rem}

/* ---------- etik ---------- */
.argumenter{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:700px){.argumenter{grid-template-columns:1fr}}
.argumenter h4{grid-column:span 1;font-size:.85rem;color:var(--dis)}
.argument{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--linje);border-radius:8px;cursor:pointer;background:#fff;font-size:.93rem}
.argument:has(input:checked){border-color:var(--turkis);background:var(--turkis-lys)}

/* ---------- kursusfarver ---------- */
body[data-kursus="sabbatar"]{--bg:#EEF5FB;--navy:#14304B;--dis:#4F6B85;--turkis:#2470B3;--turkis-lys:#DCEBF8;--turkis-moerk:#1B5A93;--turkis-tekst:#174F82;--accent-lys:#A9D2F3;--linje:#D3E2EF;--flade:#E6F0F9}
body[data-kursus="basisit"]{--bg:#F1F4FB;--navy:#172554;--dis:#4D5B7C;--turkis:#3355CC;--turkis-lys:#DFE6FB;--turkis-moerk:#2843A6;--turkis-tekst:#22398C;--accent-lys:#B7C6F7;--linje:#D6DDEF;--flade:#E8ECF8}

body[data-kursus="ivaerksaetter"]{--bg:#FBF6F2;--navy:#2A2140;--dis:#6B5A62;--turkis:#C2511B;--turkis-lys:#FBE6DA;--turkis-moerk:#A3441A;--turkis-tekst:#8A3A14;--accent-lys:#FFC9A8;--linje:#EADDD3;--flade:#F5ECE5}

/* ---------- login ---------- */
.uden-menu .ramme{grid-template-columns:1fr}
.uden-menu .sidemenu,.uden-menu .menuknap,.uden-menu [data-kun-laerer]{display:none!important}
.login{min-height:72vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:10px 0}
.login__kort{width:min(460px,100%);background:var(--kort);border:1px solid var(--linje);border-radius:16px;padding:clamp(20px,4vw,32px);display:flex;flex-direction:column;gap:14px;box-shadow:0 10px 30px rgba(15,42,68,.08)}
.login__kort h1{font-size:clamp(1.7rem,4vw,2.2rem)}
.login__fod{font-size:.86rem;color:var(--dis);text-align:center;max-width:460px}
.faner{display:grid;grid-template-columns:1fr 1fr;background:var(--flade);border-radius:10px;padding:4px;gap:4px}
.faner button{border:none;background:transparent;padding:9px;border-radius:8px;font-weight:700;cursor:pointer;color:var(--dis)}
.faner button[aria-selected=true]{background:#fff;color:var(--navy);box-shadow:0 1px 3px rgba(15,42,68,.15)}
.loginform{display:flex;flex-direction:column;gap:12px}
.loginform .knap{margin-top:4px}
.loginlinks{display:grid;gap:4px;font-size:.92rem}

/* ---------- bruger i topbjælken ---------- */
.bruger{display:flex;align-items:center;gap:4px;min-width:0}
.topbar button.toplink{background:none;border:none;cursor:pointer;font:inherit;font-weight:600;font-size:.92rem}
.brugernavn{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rolle{font-size:.68rem;background:var(--turkis);color:#fff;border-radius:10px;padding:1px 7px;margin-left:4px;vertical-align:1px}
.gemstatus{font-size:.8rem;color:#BFE8CC;white-space:nowrap;padding:0 6px}
.gemstatus.gemmer{color:#FFE2A8} .gemstatus.fejl{color:#FFC2B8;font-weight:700}
@media(max-width:640px){.brugernavn{display:none}.gemstatus{font-size:.74rem}.topbar a.logo span{display:none}}
.elevbanner{position:sticky;top:58px;z-index:39;background:#FFF0C2;color:#5A3D00;padding:10px clamp(16px,3vw,28px);display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-bottom:1px solid #E8C96A;font-size:.92rem}

/* ---------- lærerens hold ---------- */
.holdkort-gitter{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.holdkort{border:1px solid var(--linje);background:#fff;border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;cursor:pointer;text-align:left;font:inherit;color:var(--navy)}
.holdkort:hover{border-color:var(--turkis)}
.holdkort.valgt{border:2px solid var(--turkis);background:var(--turkis-lys);padding:9px 13px}
.holdkode{font-family:var(--mono);font-size:.85rem;color:var(--dis)}
.holdhoved{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.holdkode-stor{font-family:var(--mono);font-size:clamp(1.3rem,4vw,2rem);font-weight:500;letter-spacing:.08em;background:var(--navy);color:#fff;padding:8px 18px;border-radius:10px;user-select:all}
.prikrække{display:flex;gap:3px;flex-wrap:wrap;max-width:340px}
.mprik{width:16px;height:16px;border-radius:4px;border:1px solid var(--linje);background:linear-gradient(to top,var(--advar) var(--p),var(--flade) var(--p))}
.mprik.faerdig{background:var(--god);border-color:var(--god)}
.mprik.ikke{background:var(--flade)}
.elevtabel td{vertical-align:middle}

/* ---------- slides, tjeklister, logbog ---------- */
.slides-ramme{position:relative;width:100%;aspect-ratio:16/10;border-radius:10px;overflow:hidden;border:1px solid var(--linje);background:var(--flade)}
.slides-ramme iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:700px){.slides-ramme{aspect-ratio:3/4}}
.talfelt{display:inline-flex;align-items:center;gap:6px}
.tjekliste{list-style:none;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.plan{list-style:none;display:grid;gap:6px}
.plan li{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 14px;background:var(--flade);border-radius:10px}
.plan .min{font-family:var(--display);font-weight:800;font-size:1.25rem;color:var(--turkis)}
.plan .min small{font-size:.7rem;font-weight:600;color:var(--dis);margin-left:2px}
.plan .hvad b{display:block}
.plan .hvad span{font-size:.88rem;color:var(--dis)}
@media(max-width:560px){.plan li{grid-template-columns:48px minmax(0,1fr)}.plan li .chip{display:none}}
.logbogskort{border:2px solid var(--god);background:#F6FBF8}
.logbogskort .etiket{color:var(--god)}
.gaetkort{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}

/* ---------- print ---------- */
@media print{
  .topbar,.sidemenu,.knaprad,.ikke-print,.elevbanner,.slides-kort{display:none!important}
  .ramme{display:block} main{padding:0} body{background:#fff}
  .kort{border:none;padding:0 0 12px}
}
.sidemenu .kun-mobil{display:none}
@media(max-width:999px){.sidemenu .kun-mobil{display:flex}}

/* ---------- mini iværksætter ---------- */
.ordsky{display:flex;flex-wrap:wrap;gap:8px 10px;margin-top:14px;align-items:center;min-height:40px}
.ordsky .ord{border:none;background:var(--turkis-lys);color:var(--turkis-tekst);border-radius:20px;padding:4px 14px;font-family:var(--display);font-weight:700;cursor:pointer}
.ordsky .ord:hover{text-decoration:line-through}
.google{background:#fff;border:1px solid var(--linje);border-radius:12px;padding:14px 18px;font-family:Arial,Helvetica,sans-serif;max-width:640px}
.google .g-url{font-size:.82rem;color:#202124}
.google .g-titel{font-size:1.2rem;color:#1a0dab;margin:2px 0;line-height:1.3}
.google .g-tekst{font-size:.88rem;color:#4d5156;line-height:1.5}

/* ---------- selvevaluering (10 prikker) ---------- */
.udsagnsliste{list-style:none;display:grid;gap:18px}
.udsagn__top{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.udsagn__v{font-family:var(--display);white-space:nowrap;color:var(--turkis)}
.dots{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;margin-top:8px}
.dot{position:relative;display:flex;justify-content:center;cursor:pointer}
.dot input{position:absolute;opacity:0;inset:0;cursor:pointer}
.dot span{width:100%;max-width:40px;aspect-ratio:1;border-radius:50%;border:2px solid var(--linje);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:var(--dis);background:#fff}
.dot input:checked + span{background:var(--turkis);border-color:var(--turkis);color:#fff}
.dot input:focus-visible + span{outline:3px solid var(--turkis);outline-offset:2px}
.dot.foer span{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--dis);border-style:dashed}
.ender{display:flex;justify-content:space-between;font-size:.78rem;color:var(--dis);margin-top:4px}
