/* Krigeren Job – frontend (designretningen "Feltrapport").
 *
 * Skrifttyperne ligger i pluginet (assets/fonts, SIL Open Font License), så
 * der hentes intet fra Google og kræves intet samtykke.
 *
 * Farver er tokens på .kj. Accentfarven kommer fra Job → Indstillinger
 * (inline-CSS: .kj{--kj-accent:…}); til lille tekst på lys baggrund gøres den
 * en anelse mørkere, så kontrasten holder.
 *
 * Mørkt tema styres af data-kj-moerk på .kj:
 *  "tema" = mørkt, når temaets egen mørke tilstand er slået til (Bimber: .g1-skinmode)
 *  "auto" = følger den besøgendes enhed
 *  "fra"  = altid lyst
 */

@font-face { font-family: 'KJ Display'; font-weight: 600; font-style: normal; font-display: swap; src: url(../fonts/BarlowCondensed-600.woff2) format('woff2'); }
@font-face { font-family: 'KJ Display'; font-weight: 800; font-style: normal; font-display: swap; src: url(../fonts/BarlowCondensed-800.woff2) format('woff2'); }
@font-face { font-family: 'KJ Brod'; font-weight: 400; font-style: normal; font-display: swap; src: url(../fonts/Barlow-400.woff2) format('woff2'); }
@font-face { font-family: 'KJ Brod'; font-weight: 600; font-style: normal; font-display: swap; src: url(../fonts/Barlow-600.woff2) format('woff2'); }
@font-face { font-family: 'KJ Mono'; font-weight: 500; font-style: normal; font-display: swap; src: url(../fonts/JetBrainsMono-500.woff2) format('woff2'); }

.kj {
	--kj-a: var(--kj-accent, #ff0036);
	--kj-a-tekst: color-mix(in srgb, var(--kj-a) 86%, #000);
	--kj-a-paa: #fff;
	--kj-bg: #fff;
	--kj-flade: #f9f9f9;
	--kj-linje: #e6e6e6;
	--kj-tekst: #000;
	--kj-svag: #666;
	--kj-advarsel: #9a5b00;
	--kj-oliven: #3d4a2f;
	--kj-display: 'KJ Display', 'Arial Narrow', 'Helvetica Neue', sans-serif;
	--kj-brod: 'KJ Brod', 'Helvetica Neue', Arial, sans-serif;
	--kj-mono: 'KJ Mono', ui-monospace, 'SF Mono', Menlo, monospace;
	background: var(--kj-bg);
	color: var(--kj-tekst);
	font: 400 17px/1.55 var(--kj-brod);
	-webkit-font-smoothing: antialiased;
}

/* Mørke tokens – samme sæt i alle tre tilfælde. */
.g1-skinmode .kj[data-kj-moerk="tema"],
.kj[data-kj-moerk="moerk"] {
	--kj-a-tekst: var(--kj-a);
	--kj-bg: #000; --kj-flade: #111; --kj-linje: #333; --kj-tekst: #fff; --kj-svag: #999; --kj-advarsel: #f2b84b;
	color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
	.kj[data-kj-moerk="auto"] {
		--kj-a-tekst: var(--kj-a);
		--kj-bg: #000; --kj-flade: #111; --kj-linje: #333; --kj-tekst: #fff; --kj-svag: #999; --kj-advarsel: #f2b84b;
		color-scheme: dark;
	}
}

/* Nulstil det vigtigste fra temaet inde i vores komponenter. */
.kj *, .kj *::before, .kj *::after { box-sizing: border-box; }
.kj h1, .kj h2, .kj h3 { color: inherit; font-family: var(--kj-display); letter-spacing: normal; margin: 0; text-transform: uppercase; text-wrap: balance; }
.kj p { margin: 0; }
.kj a { color: inherit; text-decoration: none; box-shadow: none; }
.kj ul { list-style: none; margin: 0; padding: 0; }
.kj li { margin: 0; }
.kj img { max-width: 100%; height: auto; }
.kj :focus-visible { outline: 2px solid var(--kj-a); outline-offset: 3px; }
.kj .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
.kj-js .kj-uden-js { display: none; }

.kj-ramme { max-width: 1180px; margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
.kj-lbl { font: 500 12px/1.4 var(--kj-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--kj-svag); }

/* Hero: overskrift og store tal */
.kj-hero { display: grid; gap: 20px; padding-block: 32px 24px; }
.kj-hero h1 { font-weight: 800; font-size: clamp(42px, 8.5vw, 96px); line-height: .9; }
.kj-intro { max-width: 60ch; color: var(--kj-svag); font-size: 18px; }
.kj-tal { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 2px solid var(--kj-tekst); }
.kj-tal div { padding: 12px 12px 0 0; display: grid; gap: 2px; align-content: start; }
.kj-tal div + div { border-left: 1px solid var(--kj-linje); padding-left: 12px; }
.kj-tal b { font: 800 clamp(40px, 8vw, 72px)/1 var(--kj-display); font-variant-numeric: tabular-nums; }

/* Søgning og filtre */
.kj-filtre { display: grid; gap: 14px; }
.kj-soeg { display: flex; align-items: center; gap: 10px; background: var(--kj-flade); border: 1px solid var(--kj-linje); padding: 0 14px; margin: 0; }
.kj-soeg:focus-within { border-color: var(--kj-a); }
.kj-soeg > span[aria-hidden] { font-family: var(--kj-mono); color: var(--kj-a-tekst); }
.kj .kj-soeg input { flex: 1; min-width: 0; background: none; border: 0; box-shadow: none; color: var(--kj-tekst); font: 500 16px var(--kj-mono); padding: 14px 0; margin: 0; outline: none; height: auto; }
.kj-filterboks { border: 1px solid var(--kj-linje); background: var(--kj-flade); }
.kj-filterboks summary { list-style: none; cursor: pointer; padding: 12px 14px; display: flex; justify-content: space-between; font: 500 13px var(--kj-mono); text-transform: uppercase; letter-spacing: .06em; }
.kj-filterboks summary::-webkit-details-marker { display: none; }
.kj-filterboks summary::after { content: '+'; color: var(--kj-a-tekst); }
.kj-filterboks[open] summary::after { content: '−'; }
.kj-grupper { display: grid; gap: 16px; align-items: start; padding: 4px 14px 16px; }
@media (min-width: 760px) { .kj-grupper { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1020px) { .kj-grupper { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.kj-gruppe { border: 0; margin: 0; padding: 0; min-width: 0; display: grid; gap: 8px; }
.kj-gruppe legend { padding: 0; margin-bottom: 8px; }
/* Filternes overskrifter (Fagområde, Region …) i brødteksten, som introen. */
.kj-gruppe legend.kj-lbl { font: 600 16px/1.4 var(--kj-brod); text-transform: none; letter-spacing: 0; color: var(--kj-tekst); }
.kj-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.kj-chip { position: relative; display: inline-flex; align-items: center; gap: 6px; font: 500 12px/1 var(--kj-mono); text-transform: uppercase; letter-spacing: .05em; border: 1px solid var(--kj-linje); background: var(--kj-bg); color: var(--kj-tekst); padding: 10px 10px; cursor: pointer; margin: 0; min-height: 36px; }
/* Temaer styler ofte input[type=checkbox] kraftigt; derfor den høje specificitet. */
.kj .kj-chip input[type="checkbox"] { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; margin: 0; padding: 0; border: 0; opacity: 0; appearance: none; -webkit-appearance: none; cursor: pointer; }
.kj-chip:hover { border-color: var(--kj-tekst); }
.kj-chip:focus-within { outline: 2px solid var(--kj-a); outline-offset: 2px; }
.kj-chip small { opacity: .6; font-size: 11px; font-variant-numeric: tabular-nums; }
/* Mørkere udgave af accenten bag den lille hvide tekst, så kontrasten holder. */
.kj-chip:has(input:checked) { background: var(--kj-a-tekst); border-color: var(--kj-a-tekst); color: var(--kj-a-paa); }
.g1-skinmode .kj[data-kj-moerk="tema"] .kj-chip:has(input:checked) { background: color-mix(in srgb, var(--kj-a) 86%, #000); }
.kj-chip--tom { opacity: .45; }
.kj-adresse { display: flex; gap: 6px 12px; flex-wrap: wrap; align-items: baseline; }
.kj-adresse code { font: 500 13px var(--kj-mono); color: var(--kj-a-tekst); word-break: break-all; background: none; padding: 0; }
.kj-nulstil { font: 500 12px var(--kj-mono); text-transform: uppercase; color: var(--kj-svag) !important; text-decoration: underline !important; }
.kj-knap-lille { display: inline-block; font: 500 12px/1 var(--kj-mono); text-transform: uppercase; letter-spacing: .06em; background: none; color: var(--kj-tekst); border: 1px solid var(--kj-linje); padding: 10px 12px; cursor: pointer; }
.kj-knap-lille:hover { border-color: var(--kj-a); }

/* Liste og højre kolonne */
.kj-indhold { display: grid; gap: 32px; padding-block: 8px 64px; }
@media (min-width: 980px) { .kj-indhold { grid-template-columns: minmax(0, 1fr) 300px; } }
.kj-hoved { min-width: 0; }
.kj-hoved[aria-busy="true"] { opacity: .55; transition: opacity .15s; }
.kj-liste-hoved { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; border-bottom: 2px solid var(--kj-tekst); padding-bottom: 8px; }
.kj-liste-hoved h2 { font-weight: 800; font-size: 28px; line-height: 1; }

.kj-linje { border-bottom: 1px solid var(--kj-linje); }
.kj-linje > a { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 14px; padding: 18px 0; align-items: start; }
.kj-linje > a:hover h3 { color: var(--kj-a-tekst); }
.kj-linje h3 { font-weight: 600; font-size: clamp(22px, 3.2vw, 28px); line-height: 1.05; margin-bottom: 6px; }
.kj-linje p { margin-top: 6px; color: var(--kj-svag); font-size: 15px; }
.kj-linje--frem { border-top: 2px solid var(--kj-a); }
.kj-linje--ekstern h3 { font-size: 22px; }
.kj-linje .kj-foto { grid-column: 1 / -1; aspect-ratio: 16 / 6; }
.kj-foto { overflow: hidden; max-width: 100%; background: var(--kj-flade); }
.kj-foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.kj-meta { display: flex; flex-wrap: wrap; gap: 4px 12px; font: 500 12px var(--kj-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--kj-svag); }
.kj-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.kj-tag { font: 500 11px/1 var(--kj-mono); text-transform: uppercase; letter-spacing: .06em; border: 1px solid var(--kj-linje); padding: 5px 7px; }
.kj-tag--ny { background: var(--kj-tekst); color: var(--kj-bg); border-color: var(--kj-tekst); }
.kj-tag--frem { border-color: var(--kj-a); color: var(--kj-a-tekst); }
.kj-tag--sik { border-style: dashed; }
.kj-nedtael { text-align: right; display: grid; gap: 2px; min-width: 64px; }
.kj-nedtael b { font: 800 40px/1 var(--kj-display); font-variant-numeric: tabular-nums; }
.kj-nedtael--snart b, .kj-nedtael--snart .kj-lbl { color: var(--kj-advarsel); }
@media (max-width: 599px) {
	.kj-linje > a { grid-template-columns: 40px minmax(0, 1fr); gap: 12px; }
	.kj-linje > a > .kj-logo { width: 40px; height: 40px; }
	.kj-linje p { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
	.kj-nedtael { grid-column: 2; display: flex; gap: 6px; align-items: baseline; text-align: left; }
	.kj-nedtael b { font-size: 22px; }
	.kj-tal .kj-lbl { overflow-wrap: anywhere; }
}
.kj-logo { display: block; width: 48px; height: 48px; object-fit: contain; background: #fff; border: 1px solid var(--kj-linje); }
.kj-logo--tekst { display: grid; place-items: center; background: var(--kj-tekst); color: var(--kj-bg); font: 800 18px/1 var(--kj-display); border: 0; }
.kj-skille { padding: 28px 0 8px; display: flex; gap: 12px; align-items: center; }
.kj-skille::after { content: ''; flex: 1; border-top: 1px dashed var(--kj-linje); }

.kj-tom { border: 1px solid var(--kj-linje); padding: 24px; display: grid; gap: 14px; margin-top: 16px; }
.kj-tom h3 { font-weight: 800; font-size: 32px; line-height: 1; }
.kj-knap { display: inline-flex; align-items: center; gap: 10px; justify-self: start; background: var(--kj-a); color: var(--kj-a-paa) !important; font: 800 20px/1 var(--kj-display); text-transform: uppercase; letter-spacing: .03em; padding: 16px 22px; border: 0; cursor: pointer; }
.kj-knap:hover { filter: brightness(1.08); }
.kj-knap--sekundaer { background: transparent; color: var(--kj-tekst) !important; border: 1px solid var(--kj-tekst); }
.kj-salg { font: 500 13px var(--kj-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--kj-svag); padding-top: 20px; }
.kj-salg a { color: var(--kj-a-tekst); }

.kj-side-kolonne { display: grid; gap: 16px; align-content: start; }
.kj-boks { border: 1px solid var(--kj-linje); background: var(--kj-flade); padding: 16px; display: grid; gap: 10px; }
.kj-boks h2 { font-weight: 800; font-size: 24px; line-height: 1; }
.kj-boks p { font-size: 15px; color: var(--kj-svag); }
.kj-boks .kj-knap { font-size: 17px; padding: 12px 16px; }

/* Enkeltside */
.kj-enkelt { display: grid; gap: 22px; align-content: start; padding-top: 24px; }
.kj-tilbage { justify-self: start; }
.kj-enkelt h1 { font-weight: 800; font-size: clamp(38px, 7vw, 72px); line-height: .92; }
.kj-enkelt > .kj-foto { aspect-ratio: 16 / 7; }
.kj-firma { display: flex; align-items: center; gap: 12px; font-weight: 600; font-size: 18px; }
.kj-firma .kj-logo { width: 56px; height: 56px; }
.kj-fakta { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); border-top: 2px solid var(--kj-tekst); border-left: 1px solid var(--kj-linje); margin: 0; }
.kj-fakta div { border-right: 1px solid var(--kj-linje); border-bottom: 1px solid var(--kj-linje); padding: 10px 12px; display: grid; gap: 4px; }
.kj-fakta dd { margin: 0; font: 600 20px/1.1 var(--kj-display); text-transform: uppercase; }
.kj-fakta .kj-snart dd { color: var(--kj-advarsel); }
.kj-broed { max-width: 68ch; display: grid; gap: 1em; }
.kj-broed ul { list-style: square; padding-left: 20px; }
.kj-broed a { color: var(--kj-a-tekst); text-decoration: underline; }
.kj-note { border-left: 3px solid var(--kj-linje); padding-left: 12px; color: var(--kj-svag); }
.kj-ansoeg-boks { display: grid; gap: 10px; padding: 20px; background: var(--kj-flade); border: 1px solid var(--kj-linje); }
.kj-profil { font: 500 13px var(--kj-mono); text-transform: uppercase; color: var(--kj-a-tekst) !important; }
.kj-udloebet { border: 2px solid var(--kj-tekst); padding: 16px; display: grid; gap: 4px; }
.kj-udloebet p { font: 800 28px/1 var(--kj-display); text-transform: uppercase; }
.kj-lignende { display: grid; gap: 12px; padding-top: 16px; }

/* I temaets layout (Bimber m.fl.): temaet styrer bredde og margener. */
.kj--tema { background: transparent; }
.kj--tema .kj-ramme, .kj-tema-hero .kj-ramme { max-width: none; padding-left: 0; padding-right: 0; }
.kj--tema .kj-hero { padding-top: 8px; }
.kj--tema .kj-hoved { padding-top: 0; }
.kj-ekstra { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); margin-top: 32px; }
.kj-tema-raekke { display: grid; gap: 32px; max-width: 1180px; margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
.kj-tema-hero { max-width: 1180px; margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
/* Bimber: rækken centreres og begrænses af temaet selv – kun den generiske polstring fjernes. */
.kj-tema-hero.g1-row { max-width: none; padding-left: 0; padding-right: 0; margin-left: auto; margin-right: auto; }
@media (min-width: 980px) { .kj-tema-raekke { grid-template-columns: minmax(0, 1fr) 300px; } }
.kj-tema-hoved, .kj-tema-sidebar { min-width: 0; }

/* Jobagent */
.kj-jobagent form { display: grid; gap: 10px; }
.kj-jobagent__valg { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.kj-jobagent .kj-chip { padding: 8px; min-height: 0; font-size: 11px; }
.kj-jobagent .kj-soeg input { padding: 10px 0; font-size: 15px; }
.kj-jobagent .kj-knap { justify-self: stretch; justify-content: center; font-size: 18px; padding: 12px; }
.kj-jobagent__note { font-size: 12px; color: var(--kj-svag); }
.kj-jobagent__note a { text-decoration: underline; }
.kj-jobagent__svar:empty { display: none; }
.kj-jobagent__svar { font-weight: 600; }
.kj-skjult { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Operative stillinger */
.kj-tag--op { background: var(--kj-oliven, #3d4a2f); border-color: var(--kj-oliven, #3d4a2f); color: #fff; }
.kj-logo--maerke { object-fit: contain; background: transparent; border: 0; }
.kj-enhed { display: flex; align-items: center; gap: 14px; }
.kj-enhed .kj-maerke { width: 72px; height: auto; display: block; }
.kj-enhed > span { display: grid; gap: 2px; }
.kj-enhed strong { font: 600 22px/1.1 var(--kj-display); text-transform: uppercase; }
.kj-enhed a { text-decoration: underline; text-underline-offset: 3px; }
.kj-kravprofil { display: grid; gap: 12px; }
.kj-kravprofil .kj-fakta dd { font: 600 16px/1.35 var(--kj-brod); text-transform: none; overflow-wrap: anywhere; }
.kj-fakta dd { overflow-wrap: anywhere; }
.kj-paa-maerke { margin-top: 32px; display: grid; gap: 12px; }

/* Virksomhedsprofil */
.kj-profil-top { display: flex; align-items: center; gap: 20px; }
.kj-profil-top .kj-logo { width: 96px; height: 96px; }
.kj-profil-links { display: flex; flex-wrap: wrap; gap: 8px; }
.kj-firma a { text-decoration: underline; text-underline-offset: 3px; }

/* Salgsside */
.kj-pakker { display: grid; gap: 16px; padding-block: 8px 32px; }
@media (min-width: 820px) { .kj-pakker { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.kj-pakke-kort { border: 1px solid var(--kj-linje); border-top: 2px solid var(--kj-tekst); padding: 20px; display: grid; gap: 10px; align-content: start; }
.kj-pakke-kort--frem { border-top-color: var(--kj-a); }
.kj-pakke-kort h2 { font-weight: 800; font-size: 40px; line-height: 1; }
.kj-pris b { font: 800 44px/1 var(--kj-display); font-variant-numeric: tabular-nums; }
.kj-pris span { font: 500 12px var(--kj-mono); text-transform: uppercase; color: var(--kj-svag); }
.kj-punkter { display: grid; gap: 6px; }
.kj .kj-punkter li { padding-left: 18px; position: relative; font-size: 16px; }
.kj-punkter li::before { content: ''; position: absolute; left: 0; top: .6em; width: 8px; height: 2px; background: var(--kj-a); }
.kj-tilkoeb, .kj-eksempel { display: grid; gap: 12px; margin-bottom: 32px; }
.kj-boks--kontakt code { font: 500 13px var(--kj-mono); background: none; padding: 0; }

/* Rapport til kunden (admin og kundens link) */
.kj-rapport-ramme { padding-block: 24px 48px; }
.kj-rapport-side { display: grid; gap: 24px; }
.kj-rapport-side h1 { font-weight: 800; font-size: clamp(36px, 6vw, 64px); line-height: .95; }
.kj-rapport-side h2.kj-lbl { font-family: var(--kj-mono); font-size: 12px; text-transform: uppercase; margin-bottom: 8px; border-bottom: 2px solid var(--kj-tekst); padding-bottom: 6px; }
.kj-tal--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 700px) { .kj-tal--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.kj-tal--4 div:nth-child(3) { border-left: 0; padding-left: 0; }
@media (min-width: 700px) { .kj-tal--4 div:nth-child(3) { border-left: 1px solid var(--kj-linje); padding-left: 12px; } }
.kj-sammenligning { border-left: 3px solid var(--kj-a); padding: 4px 0 4px 12px; font-size: 18px; }
.kj-graf { display: block; width: 100%; height: auto; }
.kj-graf__soejle { fill: var(--kj-tekst); }
.kj-graf__klik { fill: var(--kj-a); }
.kj-graf__akse { stroke: var(--kj-linje); }
.kj-graf__tekst { fill: var(--kj-svag); font: 500 10px var(--kj-mono); }
.kj-tabel-ramme { overflow-x: auto; }
.kj-tabel { width: 100%; border-collapse: collapse; font-size: 15px; }
.kj-tabel th { text-align: left; font: 500 11px var(--kj-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--kj-svag); border-bottom: 1px solid var(--kj-tekst); padding: 8px 8px 8px 0; }
.kj-tabel td { border-bottom: 1px solid var(--kj-linje); padding: 10px 8px 10px 0; vertical-align: top; }
.kj-tal-celle { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.kj-rapport-nav { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; margin-bottom: 24px; }
.kj-rapport-nav form { display: flex; gap: 8px; align-items: center; }
.kj-rapport-fod { border-top: 1px solid var(--kj-linje); padding-top: 12px; text-transform: none; letter-spacing: 0; }
@media print {
	.kj-uden-print { display: none !important; }
	.kj-rapport-side { gap: 16px; }
	.kj-graf__soejle { fill: #000; }
}

/* Forespørgsel på salgssiden */
.kj-salgsindhold { display: grid; gap: 40px; }
@media (min-width: 980px) { .kj-salg-side .kj-indhold { grid-template-columns: minmax(0, 760px); } }
.kj-forespoergsel { display: grid; gap: 14px; }
.kj-formular { display: grid; gap: 14px; }
@media (min-width: 700px) { .kj-formular { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kj-formular__raekke--hel, .kj-formular__samtykke, .kj-formular .kj-knap { grid-column: 1 / -1; } }
.kj-formular__raekke { display: grid; gap: 6px; }
.kj-formular__raekke label { font: 500 12px var(--kj-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--kj-svag); }
.kj .kj-formular input[type="text"], .kj .kj-formular input[type="email"], .kj .kj-formular input[type="tel"], .kj .kj-formular textarea { width: 100%; background: var(--kj-flade); border: 1px solid var(--kj-linje); border-radius: 0; color: var(--kj-tekst); font: 400 16px var(--kj-brod); padding: 12px; margin: 0; box-shadow: none; }
.kj .kj-formular input:focus, .kj .kj-formular textarea:focus { border-color: var(--kj-a); outline: 2px solid var(--kj-a); outline-offset: 0; }
.kj-formular__samtykke { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--kj-svag); }
.kj-formular__samtykke input { margin-top: 4px; width: 18px; height: 18px; flex: none; }
.kj-formular__samtykke a { text-decoration: underline; }
.kj-fejl { border-left: 3px solid var(--kj-a); padding-left: 12px; font-weight: 600; }

/* 300×250-modul */
.kj-modul { width: 300px; height: 250px; max-width: 100%; border: 1px solid var(--kj-linje); display: grid; grid-template-rows: auto 1fr auto; overflow: hidden; }
.kj-modul__hoved { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px; border-bottom: 2px solid var(--kj-a); }
.kj-modul__hoved b { font: 800 18px/1 var(--kj-display); text-transform: uppercase; }
.kj-modul ul { overflow: hidden; }
.kj-modul li:nth-child(n+5) { display: none; } /* 4 hele linjer; rækkefølgen blandes i JS. */
.kj-modul li a { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 10px; padding: 8px 12px; border-bottom: 1px solid var(--kj-linje); align-items: center; }
.kj-modul li a:hover strong { color: var(--kj-a-tekst); }
.kj-modul .kj-logo { width: 32px; height: 32px; font-size: 13px; }
.kj-modul strong { font: 600 16px/1.05 var(--kj-display); text-transform: uppercase; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kj-modul small { display: block; font: 500 10px/1.3 var(--kj-mono); text-transform: uppercase; color: var(--kj-svag); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kj-modul__alle { display: block; padding: 9px 12px; font: 500 11px var(--kj-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--kj-a-tekst) !important; border-top: 1px solid var(--kj-linje); }

@media (prefers-reduced-motion: reduce) { .kj-hoved[aria-busy="true"] { transition: none; } }
