/* =====================================================================
   Ny klinik - onboarding (v4, skjult, noindex)
   To versioner: wow (standard, alt på navy) og ?model=regulaer (betaling,
   MitID, faglighed, team og kollega i hvide kort med sitets almindelige
   styling). Komponenterne skrives med --nk-*; de hvide kort remapper
   tokens (.nk:not(.nk--wow) .nk-pay).
   Kun tokens - eneste undtagelse er MitID-blå (se MitID-blokken).
   Bevidst ingen <main>: design-system.css giver main > :first-child topluft.
   Layout: body er en kolonne på 100dvh. Scenen ruller selv; bunden (trin
   + logo) står fast nederst og kan aldrig ligge oven på indholdet.
   Op til match centreres trinene lodret; fra match står titlen samme sted.
   Overgange: det gamle trin (en klon, .nk-ghost) glider op og toner ud,
   mens det nye glider op på samme sted og toner ind - kun transform og
   opacity, én easing. Tilbage kører samme bevægelse nedad.
   ===================================================================== */

html[data-cvi="2026"]:has(body.nk) { height: 100%; overflow: hidden; }
html[data-cvi="2026"] body.nk {
  /* farver */
  --nk-void: color-mix(in srgb, var(--pc-primary) 42%, var(--pc-ink));
  --nk-line: var(--pc-on-navy-line);
  --nk-line-hi: color-mix(in srgb, var(--pc-dark-accent) 62%, transparent);
  --nk-text: var(--pc-surface);
  --nk-head: var(--nk-text);
  --nk-soft: var(--pc-on-dark-soft);
  --nk-dim: color-mix(in srgb, var(--pc-on-dark-soft) 66%, transparent);
  --nk-accent: var(--pc-dark-accent);
  --nk-fill: color-mix(in srgb, var(--pc-surface) 7%, transparent);
  --nk-fill-hi: color-mix(in srgb, var(--pc-surface) 11%, transparent);
  --nk-taken: color-mix(in srgb, var(--pc-dark-accent) 30%, transparent);
  --nk-bad: var(--nk-text);
  --nk-ring: var(--pc-focus-ring-dark);
  --nk-btn-bg: var(--pc-surface);
  --nk-btn-ink: var(--pc-primary);
  --nk-btn-hover: var(--pc-accent-soft);
  /* typeskala - højst fire størrelser pr. skærm */
  --nk-title: clamp(36px, min(5.4vw, 9vh), 72px);
  --nk-t-display: var(--nk-title);
  --nk-t-answer: clamp(var(--text-4xl), min(3vw, 5.6vh), var(--text-7xl));
  --nk-t-body: clamp(var(--text-lg), 1.5vw, var(--text-3xl));
  --nk-t-small: var(--text-sm);
  /* rytme */
  --nk-gap: var(--space-8);          /* kontrol -> kontrol/knap */
  --nk-gap-first: var(--space-10);   /* titel -> første kontrol */
  --nk-pair: var(--space-2);         /* par (kicker/titel, felt/fejl) */
  --nk-gap-fine: var(--space-4);     /* knap -> finprint */
  --nk-col: min(100%, calc(var(--space-30) * 4));
  --nk-field-h: var(--space-12);
  --nk-seat: var(--space-12);
  /* ramme */
  --nk-gutter: max(clamp(var(--space-4), 4vw, var(--space-12)), env(safe-area-inset-left), env(safe-area-inset-right));
  --nk-bar-h: var(--space-16);    /* topbaren */
  --nk-steps-h: var(--space-10);  /* trinene under den */
  --nk-top-h: calc(var(--nk-bar-h) + var(--nk-steps-h));
  --nk-center-top: calc(var(--nk-top-h) + var(--space-4));
  --nk-anchor: calc(var(--nk-top-h) + clamp(var(--space-6), 8vh, var(--space-16)));
  --nk-logo-h: var(--space-12);
  --nk-foot-gap: var(--space-8);
  --nk-foot-pad: var(--space-5);
  --nk-help-w: calc(var(--space-30) * 2);
  --nk-card-px: var(--space-8);
  --nk-o-px: var(--space-1);
  /* bevægelse */
  --nk-ease: var(--pc-ease-soft);
  --nk-dur: 560ms;
  --nk-move: var(--space-7);
  --nk-dy-in: var(--nk-move);
  --nk-dy-out: calc(var(--nk-move) * -1);
  margin: 0;
  display: flex; flex-direction: column;
  height: 100vh; height: 100dvh; overflow: hidden;
  color: var(--nk-text);
  background-color: var(--nk-void);
  background-image: var(--pc-navy-light-side), var(--pc-navy-base);
  background-attachment: fixed;
  font-family: var(--font-primary);
  -webkit-font-smoothing: antialiased;
}
html[data-cvi="2026"] body.nk.is-back { --nk-dy-in: calc(var(--nk-move) * -1); --nk-dy-out: var(--nk-move); }

.nk .nk-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.nk .nk-i { width: 1em; height: 1em; flex: none; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.nk button { font: inherit; color: inherit; }
.nk [hidden] { display: none !important; }
.nk .nk-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* ---------- Top: Tilbage + svar (venstre), hotline (højre) ---------- */
.nk .nk-trail {
  position: fixed; z-index: 5; left: var(--nk-gutter); right: calc(var(--nk-gutter) + var(--nk-help-w)); top: var(--space-3);
  display: flex; align-items: center; gap: var(--space-2);
}
.nk .nk-back {
  display: inline-flex; align-items: center; gap: var(--space-2); flex: none;
  min-height: var(--pc-control); padding: 0 var(--space-2) 0 0; border: 0; background: none; cursor: pointer;
  font-size: var(--nk-t-small); font-weight: 500; color: var(--nk-text);
}
.nk .nk-back .nk-i { font-size: var(--text-lg); transition: transform 320ms var(--nk-ease); }
.nk .nk-back:hover { color: var(--nk-accent); }
.nk .nk-back:hover .nk-i { transform: translateX(-3px); }
.nk .nk-back:focus-visible { outline: none; box-shadow: var(--pc-focus-ring-dark); border-radius: var(--space-1); }
.nk .nk-trail__chips { display: inline-flex; flex-wrap: wrap; align-items: center; column-gap: var(--space-3); min-width: 0; }
.nk .nk-back + .nk-trail__chips::before {
  content: ""; align-self: center; width: var(--pc-hairline); height: var(--space-6);
  margin-right: var(--space-1); background: var(--nk-line);
  opacity: 0; transition: opacity var(--nk-dur) var(--nk-ease);
}
.nk .nk-back + .nk-trail__chips.has-chips::before { opacity: 1; }
.nk .nk-chip {
  position: relative; display: inline-flex; align-items: center; min-height: var(--pc-control);
  padding: 0; border: 0; background: none; cursor: pointer; white-space: nowrap;
  font-size: var(--nk-t-small); color: var(--nk-soft);
  text-decoration: underline; text-decoration-color: var(--nk-line-hi); text-underline-offset: 4px;
}
.nk .nk-chip + .nk-chip::before {
  content: ""; position: absolute; left: calc(var(--space-3) / -2 - 2px); top: 50%;
  width: 3px; height: 3px; border-radius: var(--radius-pill); background: var(--nk-line-hi);
}
.nk .nk-chip:hover { color: var(--nk-text); text-decoration-color: currentColor; }
.nk .nk-chip:focus-visible { outline: none; box-shadow: var(--pc-focus-ring-dark); border-radius: var(--space-1); }
.nk .nk-trail .is-entering { animation: nk-in var(--nk-dur) var(--nk-ease) both; }
.nk .nk-trail .is-leaving { animation: nk-out-y var(--nk-dur) var(--nk-ease) forwards, nk-out-o calc(var(--nk-dur) * 0.45) var(--nk-ease) forwards; pointer-events: none; }

/* Hotline: altid til stede, stille - hele linjen er et tel:-link */
.nk .nk-help {
  position: fixed; z-index: 6; top: var(--space-3); right: var(--nk-gutter);
  display: inline-flex; align-items: center; gap: var(--space-2); min-height: var(--pc-control);
  border-radius: var(--space-1); font-size: var(--nk-t-small); color: var(--nk-dim); text-decoration: none; white-space: nowrap;
  transition: color var(--pc-dur) ease;
}
.nk .nk-help .nk-i { font-size: var(--text-md); }
.nk .nk-help__num { color: var(--nk-soft); font-variant-numeric: tabular-nums; transition: color var(--pc-dur) ease; }
.nk .nk-help__short { display: none; }
.nk .nk-help:hover, .nk .nk-help:hover .nk-help__num { color: var(--nk-text); }
.nk .nk-help:focus-visible { outline: none; box-shadow: var(--pc-focus-ring-dark); }

/* ---------- Scene: ruller selv; centreret op til match, top-ankret derefter ---------- */
.nk .nk-stage {
  position: relative; z-index: 3; flex: 1 1 auto; min-height: 0; box-sizing: border-box;
  display: flex; flex-direction: column; align-items: center;
  padding: var(--nk-center-top) var(--nk-gutter) var(--space-6);
  overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain;
  scrollbar-width: thin; scrollbar-color: var(--nk-line-hi) transparent;
}
.nk .nk-stage::before, .nk .nk-stage::after { content: ""; flex: 1 0 0; }
/* Indhold, der rulles op, forsvinder blødt før topbaren og trinene - aldrig ind under dem (Morten 8/11: "det clasher") */
.nk .nk-stage {
  -webkit-mask-image: linear-gradient(to bottom, transparent var(--nk-top-h), var(--pc-ink) calc(var(--nk-top-h) + var(--space-4)));
  mask-image: linear-gradient(to bottom, transparent var(--nk-top-h), var(--pc-ink) calc(var(--nk-top-h) + var(--space-4)));
}
body.nk.is-anchored .nk-stage { padding-top: var(--nk-anchor); }
body.nk.is-anchored .nk-stage::before { flex-grow: 0; }

/* ---------- Bund: trin over logo, fast nederst ---------- */
.nk .nk-foot {
  position: relative; z-index: 4; flex: none;
  display: grid; justify-items: center; gap: var(--nk-foot-gap);
  padding: var(--space-3) var(--nk-gutter) calc(var(--nk-foot-pad) + env(safe-area-inset-bottom));
}
body.nk.is-card .nk-foot { display: none; }
body.nk.is-colleague .nk-progress { display: none; }
/* Trinene: fast øverst under topbaren (Morten 8/11) */
.nk .nk-steps { position: fixed; z-index: 5; left: 0; right: 0; top: calc(var(--nk-bar-h) + var(--space-1) * 1.25);  /* 5 px ned (Morten 9/11) */ display: flex; justify-content: center; padding: 0 var(--nk-gutter); pointer-events: none; }
html[data-cvi="2026"] body.nk:is(.is-card, .is-colleague) { --nk-steps-h: 0px; }
body.nk:is(.is-card, .is-colleague) .nk-steps { display: none; }
/* Startskærmen (trin 0, Morten 8/11): logo i stedet for Tilbage; ingen trin, sprog eller chat før flowet går i gang */
html[data-cvi="2026"] body.nk.is-start { --nk-steps-h: 0px; }
body.nk.is-start :is(.nk-trail, .nk-steps, .nk-chat, .nk-foot-logo) { display: none !important; }  /* sprogvælgeren står også på startskærmen (Morten 13/11) */
.nk .nk-progress {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5);  /* to trin (Morten 10/11) */
  width: min(100%, calc(var(--space-30) * 3.5)); margin: 0; padding: 0; list-style: none;
}
.nk .nk-progress li { display: grid; gap: var(--space-3); min-width: 0; }
.nk .nk-progress__bar { position: relative; display: block; height: calc(var(--pc-hairline) * 2); border-radius: var(--radius-pill); background: var(--nk-line); }
.nk .nk-progress__bar i {
  position: absolute; inset: 0; border-radius: inherit; background: var(--nk-accent);
  transform: scaleX(var(--fill, 0)); transform-origin: left center; transition: transform var(--nk-dur) var(--nk-ease);
}
/* Prikken for enden af fyldet i det aktuelle trin */
.nk .nk-progress__nib {
  position: absolute; inset: 0; pointer-events: none; opacity: 0;
  transform: translateX(calc(var(--fill, 0) * 100%));
  transition: transform var(--nk-dur) var(--nk-ease), opacity var(--nk-dur) var(--nk-ease);
}
.nk .nk-progress__nib::before {
  content: ""; position: absolute; left: calc(var(--space-1) * -0.75); top: 50%;
  width: calc(var(--space-1) * 1.5); height: calc(var(--space-1) * 1.5); margin-top: calc(var(--space-1) * -0.75);
  border-radius: var(--radius-pill); background: var(--nk-text);
}
.nk .nk-progress li.is-current .nk-progress__nib { opacity: 1; }
.nk .nk-progress__label {
  display: flex; align-items: center; gap: var(--space-2); min-width: 0; white-space: nowrap;
  font-size: var(--nk-t-small); line-height: 1.4; color: var(--nk-dim);
  transition: color var(--nk-dur) var(--nk-ease);
}
.nk .nk-progress__n { display: inline-grid; place-items: center; min-width: 1ch; font-variant-numeric: tabular-nums; }
.nk .nk-progress__n > * { grid-area: 1 / 1; transition: opacity var(--nk-dur) var(--nk-ease), transform var(--nk-dur) var(--nk-ease); }
.nk .nk-progress__ok { color: var(--nk-accent); stroke-width: 2.2; opacity: 0; transform: scale(0.5); }
.nk .nk-progress li.is-done .nk-progress__label { color: var(--nk-soft); }
.nk .nk-progress li.is-done .nk-progress__num { opacity: 0; transform: scale(0.5); }
.nk .nk-progress li.is-done .nk-progress__ok { opacity: 1; transform: none; }
.nk .nk-progress li.is-current .nk-progress__label { color: var(--nk-text); font-weight: 500; animation: nk-step-in var(--nk-dur) var(--nk-ease) both; }
.nk .nk-progress li.is-current .nk-progress__num { color: var(--nk-accent); }
@keyframes nk-step-in { from { opacity: 0.35; transform: translateY(var(--space-1)); } }
.nk .nk-foot-logo { display: block; line-height: 0; opacity: 0.9; border-radius: var(--space-1); }
.nk .nk-foot-logo img { height: var(--nk-logo-h); width: auto; }
.nk .nk-foot-logo:hover { opacity: 1; }
.nk .nk-foot-logo:focus-visible { outline: none; opacity: 1; box-shadow: var(--pc-focus-ring-dark); }

/* ---------- Overgang mellem trin: ét glid, overlappende, kun transform + opacity ---------- */
.nk .nk-ghost { position: fixed; inset: 0; z-index: 3; pointer-events: none; overflow: hidden; }
.nk .nk-ghost > * {
  position: absolute; margin: 0 !important; box-sizing: border-box;
  animation: nk-out-y var(--nk-dur) var(--nk-ease) forwards, nk-out-o calc(var(--nk-dur) * 0.45) var(--nk-ease) forwards;
}
body.nk.is-entering .nk-stage > *, body.nk.is-entering .nk-foot.is-new { animation: nk-in var(--nk-dur) var(--nk-ease) both; }
@keyframes nk-in { from { opacity: 0; transform: translateY(var(--nk-dy-in)); } }
@keyframes nk-out-y { to { transform: translateY(var(--nk-dy-out)); } }
@keyframes nk-out-o { to { opacity: 0; } }
@keyframes nk-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes nk-pop { from { opacity: 0; transform: scale(0.8); } to { opacity: 1; transform: none; } }
@keyframes nk-spin { to { transform: rotate(360deg); } }

/* ---------- Overskrifter: én tydelig titel pr. skærm ---------- */
.nk .nk-q { display: grid; justify-items: center; text-align: center; max-width: 980px; }
.nk :is(.nk-q__title, .nk-title) {
  margin: 0; font-size: var(--nk-t-display); line-height: var(--lh-tight);
  font-weight: 500; letter-spacing: -0.03em; color: var(--nk-head); text-wrap: balance;
}
.nk :is(.nk-q__title, .nk-title, .nk-match__plan):focus { outline: none; }
.nk :is(.nk-q__title, .nk-title, .nk-tailor__title, .nk-match__plan) em { font-style: normal; color: var(--nk-accent); }

/* ---------- Valg: store ord med hårfin understregning (kun de indledende spørgsmål) ---------- */
.nk .nk-opts {
  display: flex; flex-wrap: wrap; justify-content: center; align-items: center;
  gap: var(--space-3) var(--space-10); box-sizing: border-box; width: 100%; max-width: 1000px; margin: var(--space-12) auto 0;
}
.nk .nk-o {
  position: relative; display: inline-flex; align-items: center; max-width: 100%;
  margin: 0; padding: var(--space-2) var(--nk-o-px);
  background: none; border: 0; border-radius: var(--space-1);
  color: var(--nk-text); text-align: left; cursor: pointer;
  transition: opacity 360ms var(--nk-ease);
}
.nk .nk-o:focus-visible { outline: none; box-shadow: var(--nk-ring); }
.nk .nk-o__label {
  font-size: var(--nk-t-answer); font-weight: 400; line-height: 1.12; letter-spacing: -0.02em; padding-bottom: var(--space-1);
  /* to understregninger: en hårfin, der viser at ordet kan vælges, og en, der tegnes ved hover */
  background-image: linear-gradient(currentColor, currentColor), linear-gradient(var(--nk-line-hi), var(--nk-line-hi));
  background-size: 0% 1px, 100% 1px; background-position: 100% 100%, 0 100%; background-repeat: no-repeat;
  transition: color 320ms var(--nk-ease), background-size 520ms var(--nk-ease);
}
.nk .nk-o:is(.is-focus, [aria-pressed="true"]) .nk-o__label { color: var(--nk-accent); background-size: 100% 1px, 100% 1px; background-position: 0 100%, 0 100%; }
@media (hover: hover) {
  .nk .nk-o:hover .nk-o__label { color: var(--nk-accent); background-size: 100% 1px, 100% 1px; background-position: 0 100%, 0 100%; }
}
.nk .nk-opts.has-pick .nk-o[aria-pressed="false"] { opacity: 0.3; }
/* Kliniktyperne står som ord i rækker - den lodrette liste udgik (Morten 11/11); 5 px mindre end de øvrige valg (Morten 10/11) */
@media (min-width: 600px) {
  body.nk[data-step="fag"] .nk-stage > .nk-opts .nk-o__label { font-size: calc(var(--nk-t-answer) - var(--space-1) * 1.25); }
}
/* Stille sidste valg ("Anden kliniktype", "Jeg behandler ikke selv", "Andet") */
.nk .nk-o--quiet { flex-basis: 100%; justify-content: center; margin-top: var(--space-2); }
.nk .nk-o--quiet .nk-o__label { font-size: var(--text-md); letter-spacing: 0; color: var(--nk-soft); }
.nk .nk-o--quiet:is(.is-focus, [aria-pressed="true"]) .nk-o__label { color: var(--nk-text); }
@media (hover: hover) { .nk .nk-o--quiet:hover .nk-o__label { color: var(--nk-text); } }
/* Flere valg (hverdag): lille flueben, og Fortsæt toner ind ved første valg */
.nk .nk-o__check {
  position: absolute; left: calc(100% - var(--space-1)); top: 50%; margin-top: calc(var(--space-2) * -1);
  font-size: var(--text-lg); color: var(--nk-accent); stroke-width: 2; opacity: 0; transform: scale(0.5);
  transition: opacity 240ms var(--nk-ease), transform 320ms var(--nk-ease);
}
.nk .nk-o[aria-pressed="true"] .nk-o__check { opacity: 1; transform: none; }
.nk .nk-next {
  display: flex; justify-content: center; margin-top: var(--space-10);
  visibility: hidden; opacity: 0; transform: translateY(var(--space-2));
  transition: opacity 320ms var(--nk-ease), transform 420ms var(--nk-ease), visibility 0s linear 420ms;
}
.nk .nk-next.is-on { visibility: visible; opacity: 1; transform: none; transition-delay: 0s; }

/* Samtidig: pladser som prikker over ordet - forvarsel om pladserne på team-skærmen */
.nk .nk-opts--seats { align-items: flex-start; gap: var(--space-8) clamp(var(--space-12), 9vw, var(--space-30)); margin-top: var(--space-16); }
.nk .nk-o--seats { flex-direction: column; align-items: center; gap: var(--space-5); padding: var(--space-3); }
.nk .nk-dots { display: flex; gap: var(--space-2); }
.nk .nk-dots i {
  box-sizing: border-box; width: var(--space-6); height: var(--space-6); border-radius: var(--radius-pill);
  border: calc(var(--pc-hairline) * 1.5) solid var(--nk-line-hi); background: transparent;
  transition: background-color 280ms var(--nk-ease), border-color 280ms var(--nk-ease);
}
/* cirklerne fyldes samtidig - ingen optælling (Morten 8/11) */
.nk .nk-o--seats .nk-o__label { padding-bottom: 0; background-image: none; color: var(--nk-dim); }
.nk .nk-o--seats:is(.is-focus, [aria-pressed="true"]) .nk-dots i { background: var(--nk-accent); border-color: var(--nk-accent); }
.nk .nk-o--seats.is-focus .nk-o__label { color: var(--nk-text); }
.nk .nk-o--seats[aria-pressed="true"] .nk-o__label { color: var(--nk-accent); }
@media (hover: hover) {
  .nk .nk-o--seats:hover .nk-dots i { background: var(--nk-accent); border-color: var(--nk-accent); }
  .nk .nk-o--seats:hover .nk-o__label { color: var(--nk-text); }
  .nk .nk-o--seats[aria-pressed="true"]:hover .nk-o__label { color: var(--nk-accent); }
}

/* ---------- Skræddersyning ---------- */
.nk .nk-tailor { display: grid; justify-items: center; text-align: center; }
.nk .nk-tailor__title { margin: 0; max-width: 18ch; font-size: clamp(30px, 4vw, 52px); line-height: var(--lh-heading); font-weight: 500; letter-spacing: -0.025em; text-wrap: balance; }
.nk .nk-tailor__line { width: min(280px, 60vw); height: 2px; margin: var(--space-8) 0 0; border-radius: var(--radius-pill); background: var(--nk-line); overflow: hidden; }
.nk .nk-tailor__line i { display: block; width: 100%; height: 100%; background: var(--nk-accent); transform: scaleX(0); transform-origin: left center; }
.nk .nk-tailor.is-running .nk-tailor__line i { animation: nk-grow var(--nk-tailor-ms, 1600ms) var(--nk-ease) both; }
@keyframes nk-grow { to { transform: scaleX(1); } }

/* ---------- Sektioner fra match og frem: én kolonne, én rytme ---------- */
.nk .nk-paywrap { display: flex; justify-content: center; width: 100%; }
.nk .nk-sec {
  display: flex; flex-direction: column; align-items: center; gap: var(--nk-gap);
  box-sizing: border-box; width: min(100%, calc(var(--space-30) * 8)); text-align: center;
}
.nk .nk-kicker { margin: 0 0 calc(var(--nk-pair) - var(--nk-gap)); font-size: var(--nk-t-body); line-height: 1.4; color: var(--nk-dim); text-wrap: balance; }
/* Kickeren står over ankeret, så titlen står samme sted på hver skærm */
body.nk.is-anchored:not(.is-card) .nk-sec > .nk-kicker:first-child { margin-top: calc((var(--nk-t-body) * 1.4 + var(--nk-pair)) * -1); }
.nk .nk-sec > .nk-title { margin-bottom: calc(var(--nk-gap-first) - var(--nk-gap)); }
.nk .nk-sec > .nk-opts { margin: calc(var(--space-12) - var(--nk-gap-first)) 0 0; }
.nk .nk-sec > .nk-next { margin-top: calc(var(--space-10) - var(--nk-gap)); }
.nk .nk-body { margin: 0; max-width: 48ch; font-size: var(--nk-t-body); line-height: 1.5; color: var(--nk-soft); text-wrap: balance; }
.nk .nk-body strong { font-weight: 500; color: var(--nk-text); }
.nk .nk-lead { margin: calc(var(--nk-pair) - var(--nk-gap-first)) 0 calc(var(--nk-gap-first) - var(--nk-gap)); }
.nk .nk-err { margin: calc(var(--nk-pair) - var(--nk-gap)) 0 0; font-size: var(--nk-t-small); color: var(--nk-bad); }

/* Match: planen er øjeblikkets største ord */
.nk .nk-match__plan {
  margin: 0 0 calc(var(--nk-gap-first) - var(--nk-gap)); font-size: clamp(56px, min(7.6vw, 13vh), 96px); line-height: 0.98;
  font-weight: 500; letter-spacing: -0.045em; color: var(--nk-head);
}

/* ---------- Pakke (Morten 10/11): priserne og anbefalingen lige efter kliniktypen ----------
   Bud "Fokus" (Morten 11/11): CORE og PRO side om side (mobil: under hinanden), BASIC som en stille linje under dem.
   Det anbefalede kort er forvalgt og det lyseste på siden - hvidt og løftet; det andet er glas. Kortet: navn, prisen
   pr. licens pr. md. - stort ved årlig betaling, under den ved månedlig - og hvad pakken giver. */
.nk .nk-plans { box-sizing: border-box; width: min(100%, calc(var(--space-30) * 6)); min-width: 0; margin: 0; padding: 0; border: 0; }
.nk .nk-plans__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.nk .nk-plan {
  position: relative; display: flex; flex-direction: column; align-items: flex-start; box-sizing: border-box;
  padding: var(--space-6) var(--space-8); border-radius: var(--pc-radius-card); text-align: left; cursor: pointer;
  background: color-mix(in srgb, var(--pc-surface) 5%, transparent); box-shadow: inset 0 0 0 var(--pc-hairline) var(--nk-line);
  transition: background-color 0.45s var(--nk-ease), box-shadow 0.45s var(--nk-ease), translate 0.45s var(--nk-ease);
}
.nk .nk-plan__input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.nk .nk-plan__head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3); width: 100%; }  /* "Anbefalet til ..." kan gå på ny linje på mobil */
.nk .nk-plan__radio {
  flex: none; display: grid; place-items: center; box-sizing: border-box; width: var(--space-5); height: var(--space-5);
  border-radius: var(--radius-pill); box-shadow: inset 0 0 0 calc(var(--pc-hairline) * 1.5) var(--nk-line-hi);
  transition: background-color var(--pc-dur) ease, box-shadow var(--pc-dur) ease;
}
.nk .nk-plan__radio::after {
  content: ""; width: var(--space-2); height: var(--space-2); border-radius: var(--radius-pill); background: var(--pc-primary);
  transform: scale(0); transition: transform var(--pc-dur) var(--nk-ease);
}
.nk .nk-plan:has(.nk-plan__input:checked) .nk-plan__radio { background: var(--nk-accent); box-shadow: none; }
.nk .nk-plan:has(.nk-plan__input:checked) .nk-plan__radio::after { transform: none; }
.nk .nk-plan__name { font-size: var(--text-3xl); font-weight: 500; line-height: var(--lh-snug); color: var(--nk-text); white-space: nowrap; }
.nk .nk-plan__name em { font-style: normal; color: var(--nk-accent); }  /* CORE og PRO i lyseblåt (Morten 10/11) */
.nk .nk-plan__tag {  /* "Anbefalet til ..." sidder på kortets overkant, så priserne flugter; lyseblå på alle kort, så den popper (Morten 10/11) */
  position: absolute; top: 0; left: var(--space-6); transform: translateY(-50%); margin: 0; padding: var(--space-1) var(--space-3); border-radius: var(--radius-pill);
  background: var(--pc-dark-accent); color: var(--pc-primary); font-size: var(--text-xs); font-weight: 500; line-height: 1.3; white-space: nowrap;
}
.nk .nk-plan__price { display: flex; align-items: baseline; gap: var(--space-1); margin-top: var(--space-5); line-height: 1; color: var(--nk-text); }
.nk .nk-plan__price b { font-size: var(--text-7xl); font-weight: 500; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.nk .nk-plan__unit { font-size: var(--text-lg); color: var(--nk-soft); }
.nk .nk-plan__per { margin-top: var(--space-2); font-size: var(--text-md); line-height: 1.4; color: var(--nk-text); }
.nk .nk-plan__alt { margin-top: var(--space-1); font-size: var(--text-md); line-height: 1.4; color: var(--nk-dim); font-variant-numeric: tabular-nums; }
/* Funktionerne: fluebenene rykkes ind (Morten 3/11, --pc-list-indent) */
.nk .nk-plan__feats {
  display: grid; gap: var(--space-2); align-self: stretch; margin-top: var(--space-4); padding: var(--space-4) 0 0 var(--pc-list-indent);
  border-top: var(--pc-hairline) solid var(--nk-line);
}
.nk .nk-plan__feat { display: flex; align-items: flex-start; gap: var(--space-2); font-size: var(--text-md); line-height: 1.4; color: var(--nk-soft); }
.nk .nk-plan__feat .nk-i { flex: none; width: var(--space-4); height: var(--space-4); margin-top: calc((1.4em - var(--space-4)) / 2); color: var(--nk-accent); stroke-width: 2; }
/* Pakke-trinnets overskrift er lidt mindre - skærmen bærer to prisoversigter */
.nk .nk-pakke > .nk-title { font-size: clamp(36px, min(4.4vw, 7vh), 60px); }
/* "Til fysioterapi" står under overskriften i hvid skrift (Morten 10/11) */
.nk .nk-plan__for { margin: 0 0 calc(var(--nk-gap-first) - var(--nk-gap)); font-size: var(--nk-t-body); line-height: 1.4; color: var(--nk-text); }
/* Opret klinikken (Morten 10/11): aftalerne og "Intet kreditkort" står ved startknappen, nu hvor MitID-trinnet udgik */
.nk .nk-om .nk-agree--klinik { max-width: none; margin: 0; }
.nk .nk-om .nk-agree__err { margin: calc(var(--space-2) * -1) 0 0; text-align: left; }
.nk .nk-om > .nk-klinik__free { justify-self: center; margin: 0; font-size: var(--text-md); }
.nk .nk-om > .nk-klinik__why { justify-self: center; }
/* Kampagnekoden ved priserne */
.nk .nk-plans__code { margin-top: calc(var(--space-2) - var(--nk-gap)); }
/* Sekundær knap med streg (startskærmens videomøde) */
.nk .nk-btn.nk-btn--line { background: transparent; color: var(--nk-text); border-color: var(--nk-line-hi); }  /* .nk-btn står senere i filen - derfor to klasser */
.nk .nk-btn.nk-btn--line:hover { border-color: var(--nk-text); }
.nk .nk-btn.nk-btn--line:focus-visible { outline: none; box-shadow: var(--nk-ring); }
/* Popup: "Du sendes videre til MitID" - kun et signal, ingen knapper (Morten 10/11) */
.nk-dialog {
  box-sizing: border-box; width: min(calc(100% - var(--space-8)), calc(var(--space-30) * 3.5)); padding: var(--space-10) var(--space-8);
  border: 0; border-radius: var(--pc-radius-card); background: var(--pc-surface); color: var(--pc-ink); box-shadow: var(--pc-shadow-lift-hover);
  font-family: var(--font-primary); text-align: center;
  position: fixed; inset: 0; margin: auto; height: fit-content;  /* design-system nulstiller dialogens margin */
}
.nk-dialog[open] { display: grid; justify-items: center; gap: var(--space-5); }
.nk-dialog::backdrop { background: color-mix(in srgb, var(--pc-primary) 70%, transparent); backdrop-filter: blur(var(--space-1)); }
.nk .nk-dialog .nk-dialog__spin { display: inline-block; width: var(--space-8); height: var(--space-8); border-width: 3px; color: var(--pc-accent); }
.nk-dialog__h { margin: 0; font-size: var(--text-5xl); font-weight: 500; line-height: var(--lh-snug); letter-spacing: -0.02em; color: var(--pc-primary); text-wrap: balance; }
.nk-dialog__h em { font-style: normal; color: var(--pc-accent); }
/* Book gratis videomøde på startskærmen: sekundær knap med kundeteamets ansigter */
.nk .nko-book { gap: var(--space-3); padding: 0 var(--space-4) 0 var(--space-6); }  /* portrætterne til højre, som pilen på startknappen (Morten 10/11) */
.nk .nko-book .nk-chat__team > * { width: var(--space-6); height: var(--space-6); box-shadow: 0 0 0 2px var(--nk-void); }  /* mindre portrætter i knappen (Morten 10/11) */
.nk .nko-book .nk-chat__team > * + * { margin-left: calc(var(--space-1) * -1.5); }
.nk .nko-book .nk-chat__s { font-size: var(--text-xs); }
/* Gratis i 30 dage: grønt som på startskærmen og prøven (Morten 8/11) */
.nk .nk-plans__free {
  --nk-free: color-mix(in oklch, var(--pc-ok) 45%, white);
  display: inline-flex; align-items: center; gap: var(--space-2); margin: calc(var(--space-5) - var(--nk-gap)) 0 0;
  font-size: var(--text-lg); font-weight: 500; line-height: 1.3; color: var(--nk-free);
}
@supports (color: oklch(from red l c h)) { .nk .nk-plans__free { --nk-free: oklch(from var(--pc-ok) 0.82 calc(c + 0.08) h); } }
.nk .nk-plans__free .nk-i { width: var(--space-5); height: var(--space-5); stroke-width: 2.2; }
/* Bredere kort på computer, så funktionerne står på én linje; lave skærme (fx bærbar 1470 x 800) får en strammere
   rytme, så knappen står over folden */
@media (min-width: 600px) {
  .nk .nk-plans { width: min(100%, calc(var(--space-30) * 6.5)); }
  .nk .nk-plans__list { gap: var(--space-5); }
}
@media (min-width: 900px) { .nk .nk-plan { padding: var(--space-6); } }
@media (min-width: 600px) and (max-height: 880px) {
  .nk .nk-pakke > .nk-title { font-size: clamp(32px, 6vh, 48px); }
  .nk .nk-plan__for { font-size: var(--text-2xl); margin-bottom: calc(var(--space-6) - var(--nk-gap)); }
  .nk .nk-plan { padding: var(--space-5) var(--space-8); }
  .nk .nk-plan__price { margin-top: var(--space-4); }
  .nk .nk-plan__price b { font-size: var(--text-6xl); }
  .nk .nk-plan__feats { gap: var(--space-1); margin-top: var(--space-3); padding-top: var(--space-3); }
  .nk .nk-plans__free { margin-top: calc(var(--space-4) - var(--nk-gap)); }
  .nk .nk-pakke > .nk-btn { margin-top: calc(var(--space-5) - var(--nk-gap)); }
}
@media (max-width: 599px) {
  .nk .nk-plans { width: 100%; }
  .nk .nk-plans__list { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .nk .nk-plan { padding: var(--space-5) var(--space-8); }
  .nk .nk-plan.is-rec { order: -1; }  /* mobil: det anbefalede kort først */
  .nk .nk-plan__price { margin-top: var(--space-3); }
  .nk .nk-plan__feats { gap: var(--space-1); margin-top: var(--space-4); padding-top: var(--space-4); }
  .nk .nk-plan__price b { font-size: var(--text-6xl); }
  .nk .nk-plan__per { margin-top: var(--space-1); }
  .nk .nk-plan__alt { margin-top: 0; }
  .nk .nk-plans__free { margin-top: calc(var(--space-4) - var(--nk-gap)); }
  .nk .nk-pakke .nk-btn { width: 100%; }
}

/* ---------- Links, stille rækker og finprint ---------- */
.nk .nk-link {
  position: relative; padding: 0; border: 0; border-radius: 2px; background: none; cursor: pointer;
  font-size: var(--nk-t-small); color: var(--nk-dim);
  text-decoration: underline; text-decoration-color: var(--nk-line-hi); text-decoration-thickness: var(--pc-hairline); text-underline-offset: 4px;
  transition: color var(--pc-dur) ease, text-decoration-color var(--pc-dur) ease;
}
.nk .nk-link::after { content: ""; position: absolute; inset: calc((100% - var(--pc-control)) / 2) calc(var(--space-2) * -1); }
.nk .nk-link:hover { color: var(--nk-text); text-decoration-color: currentColor; }
.nk .nk-link:focus-visible { outline: none; box-shadow: var(--nk-ring); }
.nk .nk-quiet {
  display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--space-1) var(--space-3);
  margin: 0; font-size: var(--nk-t-small); color: var(--nk-dim);
}
.nk .nk-quiet > :not([hidden]) ~ :not([hidden])::before {
  content: "·"; display: inline-block; margin-right: var(--space-3); color: var(--nk-dim); text-decoration: none;
}
.nk .nk-quiet__lock { display: inline-flex; align-items: center; gap: var(--space-1); }
.nk .nk-quiet__lock .nk-i { font-size: var(--text-md); }
.nk .nk-btn + .nk-quiet, .nk .nk-btn + .nk-fine { margin-top: calc(var(--nk-gap-fine) - var(--nk-gap)); }
.nk .nk-fine { margin: calc(var(--nk-gap-fine) - var(--nk-gap)) 0 0; max-width: 60ch; font-size: var(--text-xs); line-height: 1.5; color: var(--nk-dim); text-wrap: balance; }
.nk .nk-fine a { color: inherit; text-decoration: underline; text-decoration-color: var(--nk-line); text-underline-offset: 3px; }
.nk .nk-fine a:hover { color: var(--nk-text); text-decoration-color: currentColor; }

/* ---------- Knapper (v3: 600, stort begyndelsesbogstav, standardstørrelse) ---------- */
.nk .nk-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  min-height: var(--space-12); padding: 0 var(--space-6);
  border-radius: var(--radius-pill); border: var(--pc-hairline) solid transparent;
  font-size: var(--text-lg); font-weight: 600; letter-spacing: 0; text-transform: none;
  cursor: pointer; text-decoration: none;
  transition: background-color var(--pc-dur) ease, border-color var(--pc-dur) ease, color var(--pc-dur) ease;
}
.nk .nk-btn .nk-i { font-size: var(--text-2xl); }
.nk .nk-btn--light { background: var(--nk-btn-bg); color: var(--nk-btn-ink); }
.nk .nk-btn--light:hover { background: var(--nk-btn-hover); }
.nk .nk-btn--light:focus-visible { outline: none; box-shadow: var(--nk-ring); }
.nk .nk-btn:disabled { opacity: var(--pc-disabled-opacity); cursor: default; }
.nk .nk-btn--light:disabled:hover { background: var(--nk-btn-bg); }
.nk .nk-spin {
  display: none; width: var(--space-4); height: var(--space-4); border-radius: var(--radius-pill);
  border: 2px solid color-mix(in srgb, currentColor 30%, transparent); border-top-color: currentColor;
  animation: nk-spin 800ms linear infinite;
}
.nk .nk-btn__ok { display: none; }
.nk .nk-btn.is-loading .nk-spin { display: inline-block; }
.nk .nk-btn.is-done .nk-btn__ok { display: inline-block; animation: nk-pop 320ms var(--nk-ease) both; }
.nk .nk-btn.is-loading, .nk .nk-btn.is-done { pointer-events: none; }

/* ---------- Felter: ét tydeligt felt overalt - udfyldt, hårfin kant, afrundet ---------- */
.nk :is(.nk-ask__input, .nk-field input, .nk-inline) {
  box-sizing: border-box; width: 100%; min-width: 0; min-height: var(--nk-field-h);
  border: var(--pc-hairline) solid var(--nk-line-hi); border-radius: var(--pc-radius-field);
  background: var(--nk-fill); color: var(--nk-text);
  transition: border-color var(--pc-dur) ease, box-shadow var(--pc-dur) ease, background-color var(--pc-dur) ease;
}
.nk :is(.nk-ask__input, .nk-field input, .nk-inline input) { font: inherit; color: var(--nk-text); caret-color: var(--nk-accent); }
.nk :is(.nk-ask__input, .nk-field input, .nk-inline input)::placeholder { color: var(--nk-dim); opacity: 1; }
.nk :is(.nk-ask__input, .nk-field input):hover, .nk .nk-inline:hover { border-color: var(--nk-accent); }
.nk :is(.nk-ask__input, .nk-field input):focus, .nk .nk-inline:focus-within { outline: none; border-color: var(--nk-accent); box-shadow: var(--nk-ring); background-color: var(--nk-fill-hi); }
.nk :is(.nk-ask__input, .nk-field input)[aria-invalid="true"], .nk .nk-inline.is-invalid { border-color: var(--nk-bad); }
/* Autoudfyldning (Safari, Chrome, password-managere): browserens lyseblå/gule flade males over med feltets egen farve,
   ellers står hvid tekst på lys flade (Morten 8/11: "fejl i styling") */
html[data-cvi="2026"] body.nk { --nk-field-solid: color-mix(in srgb, var(--pc-surface) 8%, var(--pc-primary)); }
.nk:not(.nk--wow) .nk-pay { --nk-field-solid: var(--pc-surface); }
.nk :is(.nk-ask__input, .nk-field input, .nk-inline input):is(:-webkit-autofill, :-webkit-autofill:hover) {
  -webkit-text-fill-color: var(--nk-text); caret-color: var(--nk-text);
  box-shadow: inset 0 0 0 100vmax var(--nk-field-solid); transition: background-color 600000s 0s;
}
.nk :is(.nk-ask__input, .nk-field input):-webkit-autofill:focus { box-shadow: inset 0 0 0 100vmax var(--nk-field-solid), var(--nk-field-ring, var(--nk-ring)); }
/* Felt med indbygget handling (Tilføj, Anvend) */
.nk .nk-inline { display: flex; align-items: center; gap: var(--space-2); padding: 0 var(--space-1) 0 var(--space-4); }
.nk .nk-inline input { flex: 1; min-width: 0; height: calc(var(--nk-field-h) - var(--pc-hairline) * 2); padding: 0; border: 0; outline: none; background: none; font-size: var(--nk-t-body); }
.nk .nk-inline__btn {
  flex: none; min-height: calc(var(--nk-field-h) - var(--space-2) - var(--pc-hairline) * 2); padding: 0 var(--space-4);
  border: 0; border-radius: calc(var(--pc-radius-field) - var(--space-1)); cursor: pointer;
  background: var(--nk-fill-hi); color: var(--nk-text); font-size: var(--nk-t-small); font-weight: 600;
  transition: background-color var(--pc-dur) ease, color var(--pc-dur) ease;
}
.nk .nk-inline__btn:hover { background: var(--nk-btn-bg); color: var(--nk-btn-ink); }
.nk .nk-inline__btn:focus-visible { outline: none; box-shadow: var(--nk-ring); }

/* Kontakt som samtale: ét stort felt ad gangen */
.nk .nk-ask { display: grid; justify-items: center; gap: var(--nk-gap); width: min(100%, calc(var(--space-30) * 5)); margin-top: var(--nk-gap-first); }
.nk .nk-ask__input {
  min-height: calc(var(--nk-t-answer) * 1.25 + var(--space-8)); padding: 0 var(--space-6);
  font-size: var(--nk-t-answer); font-weight: 400; letter-spacing: -0.015em; text-align: center;
}
.nk .nk-ask .nk-err { margin-top: calc(var(--nk-pair) - var(--nk-gap)); }

/* ---------- Interval: én tydelig vælger (samme familie i wow og regulær) ---------- */
.nk .nk-seg {
  --seg-track: transparent; --seg-edge: var(--nk-line-hi); --seg-on: var(--nk-accent); --seg-on-shadow: none;
  --seg-on-ink: var(--pc-primary); --seg-off-ink: var(--nk-soft); --seg-save: var(--nk-accent); --seg-save-on: var(--pc-primary);
  position: relative; isolation: isolate; display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-1);
  box-sizing: border-box; width: min(100%, calc(var(--space-30) * 3)); margin: 0; padding: var(--space-1);
  border-radius: var(--radius-pill); background: var(--seg-track); box-shadow: inset 0 0 0 var(--pc-hairline) var(--seg-edge);
}
.nk .nk-seg::before {
  content: ""; position: absolute; z-index: -1; top: var(--space-1); bottom: var(--space-1); left: var(--space-1);
  width: calc((100% - var(--space-1) * 3) / 2); border-radius: var(--radius-pill);
  background: var(--seg-on); box-shadow: var(--seg-on-shadow); transition: transform 360ms var(--nk-ease);
}
.nk .nk-seg:has(> :last-child[aria-checked="true"])::before { transform: translateX(calc(100% + var(--space-1))); }
.nk .nk-seg button {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); white-space: nowrap;
  min-height: var(--space-10); padding: 0 var(--space-4); border: 0; border-radius: var(--radius-pill); background: none; cursor: pointer;
  font-size: var(--text-lg); font-weight: 500; color: var(--seg-off-ink); transition: color 240ms var(--nk-ease);
}
.nk .nk-seg button:hover { color: var(--nk-text); }
.nk .nk-seg button[aria-checked="true"] { color: var(--seg-on-ink); }
.nk .nk-seg button:focus-visible { outline: none; box-shadow: var(--nk-ring); }
.nk .nk-seg__save { font-size: var(--nk-t-small); font-weight: 500; color: var(--seg-save); transition: color 240ms var(--nk-ease); }
.nk .nk-seg [aria-checked="true"] .nk-seg__save { color: var(--seg-save-on); }

/* ---------- Kortfelter: én kompakt række ---------- */
.nk .nk-card {
  display: grid; grid-template-columns: 2fr 1fr 1fr; gap: var(--space-3);
  width: min(100%, calc(var(--space-30) * 4 + var(--space-20))); text-align: left;
}
.nk .nk-field { display: grid; gap: var(--space-2); min-width: 0; }
.nk .nk-field > span { font-size: var(--nk-t-small); color: var(--nk-dim); }
.nk .nk-field input { padding: 0 var(--space-4); font-size: var(--nk-t-body); letter-spacing: 0.03em; font-variant-numeric: tabular-nums; }

/* ---------- Kampagnekode ---------- */
.nk .nk-code { margin: 0; font-size: var(--nk-t-small); color: var(--nk-soft); }
.nk .nk-code strong { font-weight: 500; letter-spacing: 0.04em; color: var(--nk-accent); }
.nk .nk-codefield { width: min(100%, calc(var(--space-30) * 2 + var(--space-16))); }
.nk .nk-codefield input { text-transform: uppercase; letter-spacing: 0.06em; }
.nk .nk-codefield input::placeholder { text-transform: none; letter-spacing: 0; }
/* På prøven står koden under knappen og linjen om betaling */
.nk .nk-proeve > :is(.nk-code, .nk-codefield, .nk-link) { margin-top: calc(var(--nk-gap-fine) - var(--nk-gap)); }
.nk .nk-proeve > .nk-btn + .nk-codeslot { margin-top: calc(var(--nk-gap-fine) - var(--nk-gap)); }

/* ---------- MitID-vinduet (begge versioner): opbygget som MitID-login - tekst-ordmærke,
   BRUGER-ID, Fortsæt og godkend i appen. Ingen officielle logoer. Ét indre gitter
   (--mid-pad), samme lille radius på vindue, felt og knap; de tre tilstande deler
   samme celle, så vinduet aldrig skifter størrelse. ---------- */
.nk .nk-mid {
  --nk-mitid-blue: #0060e6; /* MitID-blå - bevidst undtagelse fra token-reglen (Morten 2026-11-05) */
  --mid-pad: var(--space-6);
  --mid-r: var(--space-1);
  --mid-h: var(--space-12);
  box-sizing: border-box; width: min(100%, calc(var(--space-30) * 3)); overflow: hidden; text-align: left;
  background: var(--pc-surface); color: var(--pc-ink); border-radius: var(--mid-r);
}
.nk .nk-mid__bar {
  display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3);
  padding: var(--space-4) var(--mid-pad); border-bottom: var(--pc-hairline) solid var(--pc-line);
}
.nk .nk-mid__brand { font-size: var(--text-3xl); font-weight: 500; line-height: 1; letter-spacing: -0.02em; color: var(--pc-ink); }
.nk .nk-mid__svc { font-size: var(--text-xs); line-height: 1; color: var(--pc-muted); }
.nk .nk-mid__body { display: grid; padding: var(--mid-pad); }
.nk .nk-mid__step { grid-area: 1 / 1; display: grid; align-content: start; visibility: hidden; }
.nk .nk-mid[data-state="idle"] .nk-mid__form,
.nk .nk-mid[data-state="wait"] .nk-mid__app,
.nk .nk-mid[data-state="ok"] .nk-mid__ok { visibility: visible; }
.nk .nk-mid__label { margin-bottom: var(--space-2); font-size: var(--text-xs); font-weight: 500; line-height: 1.4; letter-spacing: 0.06em; text-transform: uppercase; color: var(--pc-muted); }
.nk .nk-mid__input {
  box-sizing: border-box; width: 100%; height: var(--mid-h); padding: 0 var(--space-3);
  border: var(--pc-hairline) solid var(--pc-control-line); border-radius: var(--mid-r);
  font: inherit; font-size: var(--text-lg); color: var(--pc-ink); background: var(--pc-surface);
}
.nk .nk-mid__input:focus { outline: none; border-color: var(--nk-mitid-blue); box-shadow: 0 0 0 var(--pc-hairline) var(--nk-mitid-blue); }
.nk .nk-mid__btn {
  box-sizing: border-box; width: 100%; height: var(--mid-h); margin-top: var(--space-4);
  border: 0; border-radius: var(--mid-r); cursor: pointer;
  background: var(--nk-mitid-blue); color: var(--pc-surface); font-size: var(--text-lg); font-weight: 600;
  transition: background-color var(--pc-dur) ease;
}
.nk .nk-mid__btn:hover { background: color-mix(in srgb, var(--nk-mitid-blue) 86%, var(--pc-ink)); }
.nk .nk-mid__btn:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--pc-surface), 0 0 0 4px var(--nk-mitid-blue); }
.nk .nk-mid__links { display: flex; justify-content: space-between; gap: var(--space-4); margin: var(--space-4) 0 0; }
.nk .nk-mid__link {
  padding: 0; border: 0; background: none; cursor: pointer; border-radius: 2px;
  font-size: var(--text-sm); line-height: 1.4; color: var(--nk-mitid-blue); text-decoration: underline; text-underline-offset: 3px;
}
.nk .nk-mid__link:hover { text-decoration-thickness: 2px; }
.nk .nk-mid__link:focus-visible { outline: none; box-shadow: 0 0 0 2px var(--nk-mitid-blue); }
.nk .nk-mid__app, .nk .nk-mid__ok { align-content: center; justify-items: center; gap: var(--space-1); text-align: center; }
.nk .nk-mid__app strong, .nk .nk-mid__ok strong { font-size: var(--text-lg); font-weight: 500; color: var(--pc-ink); }
.nk .nk-mid__app > span:not(.nk-ring), .nk .nk-mid__ok > span:not(.nk-okmark) { font-size: var(--text-sm); color: var(--pc-muted); }
.nk .nk-mid__app .nk-mid__link { margin-top: var(--space-3); }
.nk .nk-ring, .nk .nk-okmark { box-sizing: border-box; width: var(--mid-h); height: var(--mid-h); margin-bottom: var(--space-3); border-radius: var(--radius-pill); }
.nk .nk-ring { border: 3px solid color-mix(in srgb, var(--nk-mitid-blue) 16%, transparent); border-top-color: var(--nk-mitid-blue); animation: nk-spin 900ms linear infinite; }
.nk .nk-okmark { display: grid; place-items: center; border: calc(var(--pc-hairline) * 1.5) solid var(--nk-mitid-blue); color: var(--nk-mitid-blue); font-size: var(--text-4xl); }
.nk .nk-okmark .nk-i { stroke-width: 2; }
.nk .nk-mid[data-state="ok"] .nk-okmark { animation: nk-pop 420ms var(--nk-ease) both; }

/* ---------- Team: pladserne er helten - de fyldes op ---------- */
.nk .nk-seats { display: grid; justify-items: center; gap: var(--space-3); }
.nk .nk-seats__row { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-3); margin: 0; padding: 0; list-style: none; }
.nk .nk-seats__row > li {
  box-sizing: border-box; display: grid; place-items: center; width: var(--nk-seat); height: var(--nk-seat);
  border-radius: var(--radius-pill); font-size: var(--text-lg); font-weight: 500; line-height: 1;
}
.nk .nk-seats__row > li.is-you { background: var(--nk-accent); color: var(--pc-primary); }
.nk .nk-seats__row > li.is-taken { background: var(--nk-taken); color: var(--nk-text); }
.nk .nk-seats__row > li.is-new { animation: nk-pop 420ms var(--nk-ease) both; }
.nk .nk-seats__free {
  display: grid; place-items: center; box-sizing: border-box; width: 100%; height: 100%; padding: 0;
  border: var(--pc-hairline) solid var(--nk-line-hi); border-radius: inherit; background: none; cursor: pointer;
  color: var(--nk-dim); font-size: var(--text-xl);
  transition: border-color var(--pc-dur) ease, color var(--pc-dur) ease, background-color var(--pc-dur) ease;
}
.nk .nk-seats__free:hover { border-color: var(--nk-accent); color: var(--nk-accent); background: var(--nk-fill); }
.nk .nk-seats__free:disabled { cursor: default; color: var(--nk-dim); border-color: var(--nk-line-hi); background: none; }
.nk .nk-seats__text { display: inline-flex; align-items: center; gap: var(--space-2); margin: 0; font-size: var(--nk-t-body); line-height: 1.4; color: var(--nk-soft); }
.nk .nk-seats__ok { display: none; color: var(--nk-accent); stroke-width: 2; }
.nk .nk-seats.is-full .nk-seats__ok { display: inline-block; }
.nk .nk-invite { display: grid; gap: var(--space-2); width: var(--nk-col); margin: 0; }
.nk .nk-invite .nk-err { margin: 0; }
/* Inviterede: små mærker under feltet - aldrig noget, der ligner et felt */
.nk .nk-tags {
  display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-2);
  width: var(--nk-col); margin: calc(var(--space-3) - var(--nk-gap)) 0 0; padding: 0; list-style: none;
}
.nk .nk-tag {
  display: inline-flex; align-items: center; gap: var(--space-2); max-width: 100%; height: var(--space-8);
  box-sizing: border-box; padding: 0 var(--space-1); border: var(--pc-hairline) solid var(--nk-line); border-radius: var(--radius-pill);
  font-size: var(--nk-t-small); color: var(--nk-soft);
}
.nk .nk-tag__dot { display: grid; place-items: center; flex: none; width: var(--space-6); height: var(--space-6); border-radius: var(--radius-pill); background: var(--nk-taken); color: var(--nk-text); font-size: var(--text-xs); font-weight: 500; }
.nk .nk-tag__mail { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nk .nk-tag__x {
  display: grid; place-items: center; flex: none; width: var(--space-6); height: var(--space-6); padding: 0;
  border: 0; border-radius: var(--radius-pill); background: none; cursor: pointer; color: var(--nk-dim); font-size: var(--text-md);
}
.nk .nk-tag__x:hover { background: var(--nk-fill-hi); color: var(--nk-text); }
.nk .nk-tag__x:focus-visible { outline: none; box-shadow: var(--nk-ring); }

/* Licenserne som én liste (Morten 8/11: "rodet, mangler hierarki"): overskrift med tal, så en række pr. bruger */
.nk .nk-lic { width: var(--nk-col); text-align: left; }
.nk .nk-lic__head {
  display: flex; justify-content: space-between; gap: var(--space-4); margin: 0; padding-bottom: var(--space-2);
  border-bottom: var(--pc-hairline) solid var(--nk-line); font-size: var(--nk-t-small); line-height: 1.4; color: var(--nk-dim);
}
.nk .nk-lic__list { margin: 0; padding: 0; list-style: none; }
.nk .nk-lic__row { display: flex; align-items: center; gap: var(--space-3); min-height: var(--space-12); border-bottom: var(--pc-hairline) solid var(--nk-line); }
.nk .nk-lic__dot { display: grid; place-items: center; flex: none; width: var(--space-8); height: var(--space-8); border-radius: var(--radius-pill); background: var(--nk-taken); color: var(--nk-text); font-size: var(--text-sm); font-weight: 500; }
.nk .nk-lic__row.is-you .nk-lic__dot { background: var(--nk-accent); color: var(--pc-primary); }
.nk .nk-lic__who { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--text-md); color: var(--nk-text); }
.nk .nk-lic__tag { flex: none; font-size: var(--nk-t-small); color: var(--nk-dim); }
/* Felter pr. ledig licens (Morten 9/11): samme række-rytme som listen; prikken er stiplet, til e-mailen er gyldig */
.nk .nk-lic__fields { display: grid; }
.nk .nk-lic__fields:empty { display: none; }
.nk .nk-lic__field {
  display: grid; grid-template-columns: var(--space-8) minmax(0, 1fr) var(--pc-control); align-items: center; column-gap: var(--space-3); row-gap: var(--space-1);
  padding: var(--space-2) 0; border-bottom: var(--pc-hairline) solid var(--nk-line);
}
.nk .nk-lic__field > .nk-lic__dot { font-size: var(--text-sm); color: var(--nk-text); }
.nk .nk-lic__field > .nk-lic__dot.is-empty { background: none; box-shadow: inset 0 0 0 var(--pc-hairline) var(--nk-line-hi); }
.nk .nk-lic__field input { min-height: calc(var(--nk-field-h) - var(--space-2)); letter-spacing: 0; font-variant-numeric: normal; }
.nk .nk-lic__field > .nk-lic__err { grid-column: 2 / -1; margin: 0; font-size: var(--nk-t-small); color: var(--nk-bad); }
.nk .nk-lic__x { display: grid; place-items: center; width: var(--pc-control); height: var(--pc-control); padding: 0; border: 0; border-radius: var(--radius-pill); background: none; color: var(--nk-dim); cursor: pointer; transition: color var(--pc-dur) ease, background-color var(--pc-dur) ease; }
.nk .nk-lic__x:hover { color: var(--nk-text); background: var(--nk-fill); }
.nk .nk-lic__x:focus-visible { outline: none; box-shadow: var(--nk-ring); }
.nk .nk-lic__x .nk-i { width: var(--space-5); height: var(--space-5); }
.nk .nk-lic__add { display: inline-block; margin-top: var(--space-4); }
.nk .nk-lic__add[hidden] { display: none; }

/* Klinikken: navn med forslag fra CVR + e-mail (Morten 8/11) */
.nk .nk-om { display: grid; gap: var(--space-5); width: var(--nk-col); margin: 0 auto; text-align: left; }
.nk .nk-om .nk-field > label { font-size: var(--nk-t-small); color: var(--nk-soft); }
.nk .nk-om .nk-field input { letter-spacing: 0; font-variant-numeric: normal; }
.nk .nk-om .nk-err { margin: 0; }
.nk .nk-om > .nk-btn { justify-self: center; margin-top: var(--space-2); }
.nk .nk-combo { position: relative; }
/* Forslagene står i flowet som rækker - samme sprog som listerne i resten af flowet, intet lag oven på felterne (Morten 8/11: "grim drop down") */
.nk .nk-combo__list { margin: 0; padding: 0; list-style: none; border-top: var(--pc-hairline) solid var(--nk-line); }
.nk .nk-combo__opt {
  display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); padding: var(--space-3) var(--space-1);
  border-bottom: var(--pc-hairline) solid var(--nk-line); cursor: pointer; transition: color var(--pc-dur) ease;
}
.nk .nk-combo__opt b { min-width: 0; font-weight: 400; font-size: var(--nk-t-body); color: var(--nk-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; transition: color var(--pc-dur) ease; }
.nk .nk-combo__opt span { flex: none; font-size: var(--nk-t-small); color: var(--nk-dim); }
/* ægte CVR-svar (Morten 12/11): navnet på første linje, adresse og CVR under - navnet klippes aldrig */
.nk .nk-combo__opt { flex-direction: column; align-items: flex-start; gap: var(--space-1); }
.nk .nk-combo__opt b { white-space: normal; }
.nk .nk-combo__opt span { flex: initial; }
/* listen flyder som et panel lige under feltet (Morten 12/11: "det duer ikke, at den står og hopper og at man ikke
   kan scrolle"): intet under feltet flytter sig, panelet ruller selv (højst ca. 4 rækker), og siden ruller ikke med */
.nk .nk-combo__list {
  position: absolute; z-index: 6; left: 0; right: 0; top: 100%;
  max-height: calc((var(--space-12) + var(--space-5)) * 4); overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
  padding: var(--space-1) 0; border: var(--pc-hairline) solid var(--nk-line-hi); border-radius: var(--pc-radius-card);
  background: color-mix(in srgb, var(--pc-surface) 16%, var(--pc-primary));  /* blå, lidt lysere end feltet, så den ses som en dropdown (Morten 12-13/11) */
  box-shadow: 0 var(--space-6) var(--space-12) calc(var(--space-2) * -1) color-mix(in srgb, black 55%, transparent);
  scrollbar-width: thin; scrollbar-color: var(--nk-line-hi) transparent;
}
.nk .nk-combo__list .nk-combo__opt { padding: var(--space-3) var(--space-4); }
.nk .nk-combo__list .nk-combo__opt:last-child { border-bottom: 0; }
.nk .nk-combo__list .nk-combo__opt.is-act, .nk .nk-combo__list .nk-combo__opt:hover { background: color-mix(in oklch, var(--nk-accent) 12%, transparent); box-shadow: none; padding-left: var(--space-4); }
.nk .nk-combo__list::-webkit-scrollbar { width: var(--space-2); }
.nk .nk-combo__list::-webkit-scrollbar-thumb { background: var(--nk-line-hi); border-radius: var(--pc-radius-pill); border: calc(var(--space-1) / 2) solid transparent; background-clip: padding-box; }
.nk .nk-combo__opt:hover b, .nk .nk-combo__opt.is-act b { color: var(--nk-accent); }
.nk .nk-combo__opt.is-act { box-shadow: inset 2px 0 0 var(--nk-accent); padding-left: var(--space-3); }
.nk .nk-combo__hit { display: flex; align-items: center; gap: var(--space-2); margin: 0; font-size: var(--nk-t-small); color: var(--nk-soft); }
.nk .nk-combo__hit .nk-i { flex: none; color: var(--nk-accent); stroke-width: 2.2; }
.nk .nk-combo__hit:not([hidden]) + .nk-combo__help { display: none; }
.nk .nk-combo__help { margin: 0; font-size: var(--nk-t-small); color: var(--nk-dim); }
.nk .nk-om .nk-optin { margin: 0; }
@media (max-width: 599px) { .nk .nk-om > .nk-btn { justify-self: stretch; } }

/* ---------- Toast ---------- */
.nk .nk-toast {
  position: fixed; z-index: 7; left: 50%; top: calc(var(--nk-top-h) + var(--space-2)); transform: translateX(-50%);
  max-width: min(520px, calc(100vw - var(--space-8)));
  padding: var(--space-3) var(--space-5); border-radius: var(--pc-radius-box);
  background: var(--pc-surface); color: var(--pc-ink); box-shadow: var(--pc-shadow-lift);
  font-size: var(--text-base); text-align: center; text-wrap: balance; animation: nk-fade 240ms ease both;
}

/* =====================================================================
   Regulær (?model=regulaer): de samme komponenter i et hvidt kort -
   tokens remappes til sitets lyse værdier. Venstrestillet, knap i fuld
   bredde, fire størrelser: titel 4xl, fremhævet lg/500, brød md, lille sm.
   ===================================================================== */
.nk:not(.nk--wow) .nk-paywrap { max-width: calc(var(--pc-w-stack) - var(--space-12)); }
.nk:not(.nk--wow) .nk-pay {
  --nk-text: var(--pc-ink); --nk-head: var(--pc-primary); --nk-soft: var(--pc-muted); --nk-dim: var(--pc-muted);
  --nk-line: var(--pc-line); --nk-line-hi: var(--pc-control-line); --nk-accent: var(--pc-accent);
  --nk-fill: var(--pc-surface); --nk-fill-hi: var(--pc-surface); --nk-taken: var(--pc-accent-soft); --nk-bad: var(--pc-bad);
  --nk-ring: var(--pc-focus-ring);
  --nk-btn-bg: var(--pc-primary); --nk-btn-ink: var(--pc-primary-ink); --nk-btn-hover: var(--pc-primary-hover);
  --nk-t-display: var(--text-4xl); --nk-t-answer: var(--text-xl); --nk-t-body: var(--text-md);
  --nk-gap: var(--space-5); --nk-gap-first: var(--space-5); --nk-pair: var(--space-1);
  --nk-field-h: var(--pc-control); --nk-seat: var(--space-10); --nk-col: 100%;
  width: 100%; align-items: stretch; text-align: left;
  padding: var(--space-8) var(--nk-card-px);
  background: var(--pc-surface); color: var(--nk-text);
  border-radius: var(--radius-lg); box-shadow: var(--pc-shadow-lift);
}
.nk:not(.nk--wow) .nk-pay :is(.nk-title, .nk-match__plan) em { color: inherit; }
.nk:not(.nk--wow) .nk-pay .nk-title { line-height: var(--lh-heading); letter-spacing: -0.015em; }
.nk:not(.nk--wow) .nk-pay > :is(.nk-link, .nk-code, .nk-kicker) { align-self: flex-start; }
.nk:not(.nk--wow) .nk-pay :is(.nk-quiet, .nk-tags, .nk-seats__row) { justify-content: flex-start; }
.nk:not(.nk--wow) .nk-pay .nk-seats { justify-items: start; }
.nk:not(.nk--wow) .nk-pay .nk-body, .nk:not(.nk--wow) .nk-pay .nk-fine { max-width: none; text-wrap: pretty; }
.nk:not(.nk--wow) .nk-pay .nk-seg { --seg-track: var(--pc-bg); --seg-edge: transparent; --seg-on: var(--pc-surface); --seg-on-shadow: var(--pc-card-elev); --seg-on-ink: var(--pc-primary); --seg-off-ink: var(--pc-muted); --seg-save: var(--pc-ok); --seg-save-on: var(--pc-ok); width: 100%; }
.nk:not(.nk--wow) .nk-pay .nk-seg button:hover { color: var(--pc-primary); }
.nk:not(.nk--wow) .nk-pay .nk-card { width: 100%; gap: var(--space-2); }
.nk:not(.nk--wow) .nk-pay .nk-field input { padding: 0 var(--pc-field-pad-x); border-width: var(--pc-field-border-w); font-size: var(--text-md); }
.nk:not(.nk--wow) .nk-pay .nk-inline { border-width: var(--pc-field-border-w); }
.nk:not(.nk--wow) .nk-pay .nk-inline input { font-size: var(--text-md); }
.nk:not(.nk--wow) .nk-pay .nk-inline__btn { background: var(--pc-accent-soft); color: var(--pc-primary); }
.nk:not(.nk--wow) .nk-pay .nk-inline__btn:hover { background: var(--pc-primary); color: var(--pc-primary-ink); }
.nk:not(.nk--wow) .nk-pay .nk-code strong { color: var(--pc-ok); }
.nk:not(.nk--wow) .nk-pay .nk-seats__row > li.is-you { color: var(--pc-surface); background: var(--pc-primary); }
.nk:not(.nk--wow) .nk-pay .nk-seats__row > li.is-taken { color: var(--pc-primary); }
.nk:not(.nk--wow) .nk-pay .nk-tag__dot { color: var(--pc-primary); }
.nk:not(.nk--wow) .nk-pay .nk-tag__x:hover { background: var(--pc-bg); }
.nk:not(.nk--wow) .nk-pay .nk-seats.is-full .nk-seats__ok { color: var(--pc-ok); }
.nk:not(.nk--wow) .nk-pay .nk-o:focus-visible { box-shadow: var(--pc-focus-ring); }
/* Planlinjen: "30 dage · 3 pladser" og (kun PRO) skift til CORE */
.nk .nk-pay__plan { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-1) var(--space-4); }
.nk:not(.nk--wow) .nk-pay .nk-lead { margin-top: calc(var(--space-1) - var(--nk-gap)); margin-bottom: 0; }
/* Totalen: den eneste skillelinje i kortet */
.nk .nk-sum {
  display: grid; grid-template-columns: 1fr auto; align-items: baseline; column-gap: var(--space-3); row-gap: var(--space-1);
  padding-top: var(--space-5); border-top: var(--pc-hairline) solid var(--pc-line);
}
.nk .nk-sum__label, .nk .nk-sum__value { font-size: var(--text-lg); font-weight: 500; color: var(--pc-ink); }
.nk .nk-sum__value { color: var(--pc-ok); font-variant-numeric: tabular-nums; }
.nk .nk-sum__note { grid-column: 1 / -1; font-size: var(--text-md); line-height: 1.5; color: var(--pc-muted); text-wrap: pretty; }
/* "Intet kreditkort nødvendigt" som hovedbudskab på prøven (Morten 8/11): svag grøn boks, flueben, 0 kr. småt under */
.nk .nk-free {
  --nk-free: color-mix(in oklch, var(--pc-ok) 45%, white);
  width: min(100%, calc(var(--space-30) * 3)); box-sizing: border-box; margin: 0 auto; padding: var(--space-4) var(--space-5);
  border: var(--pc-hairline) solid color-mix(in srgb, var(--nk-free) 45%, transparent); border-radius: var(--space-3);
  background: color-mix(in srgb, var(--nk-free) 10%, transparent); text-align: left;
}
@supports (color: oklch(from red l c h)) { .nk .nk-free { --nk-free: oklch(from var(--pc-ok) 0.82 calc(c + 0.08) h); } }
/* hvidt kort (regulær model): samme boks i mørkere grøn */
.nk:not(.nk--wow) .nk-pay .nk-free { --nk-free: var(--pc-ok); width: 100%; background: var(--pc-ok-bg); border-color: color-mix(in srgb, var(--pc-ok) 22%, transparent); }
.nk .nk-free__head { display: flex; align-items: center; gap: var(--space-2); margin: 0; font-size: var(--text-xl); font-weight: 500; line-height: 1.3; color: var(--nk-free); }
.nk .nk-free__head .nk-i { flex: none; width: var(--space-6); height: var(--space-6); stroke-width: 2.2; }
.nk .nk-free__sub { margin: var(--space-1) 0 0 calc(var(--space-6) + var(--space-2)); font-size: var(--nk-t-small); line-height: 1.4; color: var(--nk-soft); }
.nk .nk-free__sub b { font-weight: 500; color: var(--nk-text); }
/* Prøven på navy: samme total, lys grøn (Morten 8/11: "0 kr ... tydeligt med grønt") */
.nk .nk-sum--dark { width: min(100%, calc(var(--space-30) * 3)); margin: 0 auto; padding: var(--space-4) 0 0; border-top-color: var(--nk-line); text-align: left; }
.nk .nk-sum--dark .nk-sum__label { color: var(--nk-text); }
.nk .nk-sum--dark .nk-sum__value { font-size: var(--text-2xl); line-height: 1; color: color-mix(in oklch, var(--pc-ok) 45%, white); }
@supports (color: oklch(from red l c h)) {
  .nk .nk-sum--dark .nk-sum__value { color: oklch(from var(--pc-ok) 0.82 calc(c + 0.08) h); }  /* klar grøn på navy - blandingen med hvid blev grålig */
}
.nk .nk-sum--dark .nk-sum__note { font-size: var(--text-sm); color: var(--nk-soft); }
.nk .nk-pay__cta { display: grid; }
.nk .nk-pay__cta .nk-btn { width: 100%; }
.nk .nk-pay__cta + .nk-fine { margin-top: calc(var(--nk-gap-fine) - var(--nk-gap)); }
/* MitID i regulær: kortet er vinduet (ingen boks i boks) */
.nk:not(.nk--wow) .nk-pay .nk-mid { --mid-pad: 0px; width: 100%; border-radius: 0; overflow: visible; }
.nk:not(.nk--wow) .nk-pay .nk-mid__bar { padding: 0 0 var(--space-4); }
.nk:not(.nk--wow) .nk-pay .nk-mid__body { padding-top: var(--space-5); }
/* Spørgsmål i kortet: en enkel liste */
.nk:not(.nk--wow) .nk-pay .nk-opts { flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 0; max-width: none; margin: 0; }
.nk:not(.nk--wow) .nk-pay .nk-o {
  width: 100%; min-height: var(--space-12); padding: var(--space-2) var(--space-8) var(--space-2) 0;
  border-bottom: var(--pc-hairline) solid var(--pc-line); border-radius: 0;
}
.nk:not(.nk--wow) .nk-pay .nk-o:first-child { border-top: var(--pc-hairline) solid var(--pc-line); }
.nk:not(.nk--wow) .nk-pay .nk-o__label { font-size: var(--text-lg); letter-spacing: 0; padding-bottom: 0; background-image: none; color: var(--pc-ink); }
.nk:not(.nk--wow) .nk-pay .nk-o:is(:hover, .is-focus, [aria-pressed="true"]) .nk-o__label { color: var(--pc-accent); }
.nk:not(.nk--wow) .nk-pay .nk-o__check { left: auto; right: 0; color: var(--pc-accent); }
.nk:not(.nk--wow) .nk-pay .nk-o--quiet { justify-content: flex-start; margin: 0; border-bottom: 0; }
.nk:not(.nk--wow) .nk-pay .nk-o--quiet .nk-o__label { font-size: var(--text-md); color: var(--pc-muted); text-decoration: underline; text-underline-offset: 3px; }
.nk:not(.nk--wow) .nk-pay .nk-next { margin-top: 0; }
.nk:not(.nk--wow) .nk-pay .nk-next .nk-btn { width: 100%; }
.nk:not(.nk--wow) .nk-pay .nk-next:not(.is-on) { display: none; }

/* ---------- Lave skærme (fx 1280 x 600): strammere rytme og bund ---------- */
@media (min-width: 600px) and (max-height: 720px) {
  html[data-cvi="2026"] body.nk {
    --nk-gap: var(--space-6); --nk-gap-first: var(--space-8);
    --nk-logo-h: var(--space-10); --nk-foot-gap: var(--space-5); --nk-foot-pad: var(--space-4);
    --nk-seat: var(--space-10);
    --nk-anchor: calc(var(--nk-top-h) + var(--space-6));
  }
  .nk .nk-opts { margin-top: var(--space-10); }
  .nk .nk-opts--seats { margin-top: var(--space-12); }
}

/* ---------- Mobil ---------- */
@media (max-width: 599px) {
  html[data-cvi="2026"] body.nk {
    --nk-bar-h: calc(var(--space-14) + env(safe-area-inset-top));
    --nk-steps-h: var(--space-4);
    --nk-top-h: calc(var(--nk-bar-h) + var(--nk-steps-h));
    --nk-anchor: calc(var(--nk-top-h) + var(--space-10));
    --nk-sheet-top: calc(var(--nk-top-h) + var(--space-4));
    --nk-gap-first: var(--space-6);
    --nk-card-px: var(--pc-card-pad);
    --nk-o-px: 0px;
    --nk-logo-h: var(--space-10);
    --nk-foot-gap: var(--space-5);
    --nk-foot-pad: var(--space-4);
    --nk-help-w: var(--space-16);
    --nk-col: 100%;
  }
  /* Toplinjen: én linje, der kan skubbes vandret, og som toner ud før hotlinen */
  .nk .nk-trail {
    top: calc(var(--space-2) + env(safe-area-inset-top)); padding-right: var(--space-4);
    overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none;
    -webkit-mask-image: linear-gradient(to right, var(--pc-ink) calc(100% - var(--space-8)), transparent);
    mask-image: linear-gradient(to right, var(--pc-ink) calc(100% - var(--space-8)), transparent);
  }
  .nk .nk-trail::-webkit-scrollbar { display: none; }
  .nk .nk-trail > * { flex: none; }
  .nk .nk-trail__chips { flex-wrap: nowrap; }
  .nk .nk-help { top: calc(var(--space-2) + env(safe-area-inset-top)); min-width: var(--pc-control); justify-content: flex-end; font-size: var(--nk-t-small); color: var(--nk-soft); }
  .nk .nk-help__lead, .nk .nk-help__num { display: none; }
  .nk .nk-help__short { display: inline; }
  .nk .nk-progress { gap: var(--space-2); }
  /* mobil: kun en tynd bjælke i tre dele; teksten læses stadig op */
  .nk .nk-progress li { gap: 0; }
  .nk .nk-progress__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

  /* Spørgsmål venstrestillet over en liste; udsagnene (tailor) centreret */
  .nk .nk-q { justify-items: start; text-align: left; align-self: stretch; }
  .nk .nk-opts { flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 0; margin-top: var(--space-6); }
  .nk .nk-o { width: 100%; padding: var(--space-3) var(--nk-o-px); border-bottom: var(--pc-hairline) solid var(--nk-line); border-radius: 0; }
  .nk .nk-o:first-child { border-top: var(--pc-hairline) solid var(--nk-line); }
  .nk .nk-o__label { font-size: var(--text-4xl); background-image: none; }
  .nk .nk-o__check { left: auto; right: 0; }
  .nk .nk-o--quiet { flex-basis: auto; justify-content: flex-start; margin: 0; border-bottom: 0; }
  .nk .nk-o--quiet .nk-o__label { font-size: var(--text-lg); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--nk-line-hi); }
  .nk .nk-opts--seats { margin-top: var(--space-6); }
  .nk .nk-o--seats { align-items: flex-start; gap: var(--space-3); padding: var(--space-4) 0; }
  .nk .nk-dots i { width: var(--space-5); height: var(--space-5); }
  .nk .nk-next { justify-content: stretch; margin-top: var(--space-6); }
  .nk .nk-next .nk-btn { width: 100%; }

  /* Fra match og frem: venstrestillet, knap i fuld bredde */
  .nk .nk-sec { align-items: stretch; text-align: left; }
  .nk .nk-sec > :is(.nk-link, .nk-code, .nk-codefield) { align-self: flex-start; }
  .nk .nk-quiet, .nk .nk-tags, .nk .nk-seats__row { justify-content: flex-start; }
  .nk .nk-seats { justify-items: start; }
  .nk .nk-seg { width: 100%; }
  .nk .nk-card { grid-template-columns: 1fr 1fr; }
  .nk .nk-card > .nk-field--num { grid-column: 1 / -1; }
  .nk .nk-mid { width: 100%; }
  .nk .nk-ask { justify-items: stretch; }
  .nk .nk-ask__input { padding: 0 var(--space-4); text-align: left; }
  .nk :is(.nk-ask, .nk-match) .nk-btn { width: 100%; }
  .nk .nk-fine { letter-spacing: -0.01em; }
  .nk .nk-match { width: 100%; }

  /* Regulær: kortene er et ark, der går kant til kant og fylder skærmen ud; kun knappen klæber */
  body.nk.is-card .nk-stage { padding: var(--nk-sheet-top) 0 0; }
  body.nk.is-card .nk-stage::after { flex-grow: 0; }
  .nk:not(.nk--wow) .nk-paywrap { max-width: none; }
  .nk:not(.nk--wow) .nk-pay {
    min-height: calc(100dvh - var(--nk-sheet-top));
    border-radius: var(--pc-radius-card) var(--pc-radius-card) 0 0;
    padding: var(--space-6) var(--nk-card-px) calc(var(--space-6) + env(safe-area-inset-bottom));
  }
  .nk:not(.nk--wow) .nk-pay__cta {
    position: sticky; bottom: 0; z-index: 1;
    margin: 0 calc(var(--nk-card-px) * -1); padding: var(--space-3) var(--nk-card-px) calc(var(--space-3) + env(safe-area-inset-bottom));
    background: var(--pc-surface);
  }
}

/* =====================================================================
   Lead-rettelser 5/11: én blød fokusring, felter uden boks-i-boks,
   gyldigt-flueben, større Tilbage, pladser-stepper, pris i to niveauer,
   match-afsløring og privatlivslink i hjørnet
   ===================================================================== */
html[data-cvi="2026"] body.nk {
  --nk-ring: 0 0 0 3px color-mix(in srgb, var(--pc-dark-accent) 40%, transparent);
  --nk-field-ring: 0 0 0 4px color-mix(in srgb, var(--pc-dark-accent) 28%, transparent);
}
.nk:not(.nk--wow) .nk-pay { --nk-field-ring: 0 0 0 4px color-mix(in srgb, var(--pc-accent) 18%, transparent); }

/* Aktivt felt: kanten bliver accent, feltet løftes en anelse - én blød ring tæt på kanten, aldrig dobbelt */
.nk :is(.nk-ask__input, .nk-field input):focus, .nk .nk-inline:focus-within { border-color: var(--nk-accent); box-shadow: var(--nk-field-ring); }
html[data-cvi="2026"] body.nk .nk-inline input,
html[data-cvi="2026"] body.nk .nk-inline input:hover,
html[data-cvi="2026"] body.nk .nk-inline input:focus {
  border: 0; border-radius: 0; background: none; box-shadow: none; outline: none; padding: 0; min-height: 0;
}
.nk .nk-control { display: grid; width: 100%; min-width: 0; }
.nk .nk-control > input { grid-area: 1 / 1; }
.nk .nk-control > .nk-valid {
  grid-area: 1 / 1; justify-self: end; align-self: center; margin-right: var(--space-4);
  font-size: var(--text-lg); color: var(--nk-accent); stroke-width: 2; pointer-events: none;
  opacity: 0; transform: scale(0.6); transition: opacity 200ms var(--nk-ease), transform 260ms var(--nk-ease);
}
.nk .nk-control.is-valid > .nk-valid { opacity: 1; transform: none; }
.nk .nk-control > .nk-err { grid-row: 2; margin: var(--nk-pair) 0 0; }
.nk .nk-control--ask > .nk-valid { margin-right: var(--space-6); font-size: var(--text-2xl); }
.nk .nk-ask__input { padding-inline: calc(var(--space-8) + var(--text-2xl)); }
.nk .nk-field input { padding-right: calc(var(--space-6) + var(--text-lg)); }

/* Tilbage: en rigtig knap */
.nk .nk-back {
  min-height: var(--space-10); padding: 0 var(--space-4) 0 var(--space-3); gap: var(--space-2);
  border: var(--pc-hairline) solid var(--nk-line-hi); border-radius: var(--radius-pill);
  font-size: var(--text-md); transition: border-color var(--pc-dur) ease, background-color var(--pc-dur) ease, color var(--pc-dur) ease;
}
.nk .nk-back .nk-i { font-size: var(--text-xl); }
.nk .nk-back:hover { color: var(--nk-text); border-color: var(--nk-accent); background: var(--nk-fill); }
.nk .nk-back:focus-visible { border-radius: var(--radius-pill); }

/* Prøven: pladserne (intervallet udgik 8/11 - betalingen vælges efter prøven) */
.nk .nk-ctrls { display: grid; justify-items: center; gap: var(--space-6); width: 100%; }
.nk .nk-ctrl { display: grid; justify-items: center; gap: var(--space-2); width: min(100%, calc(var(--space-30) * 3)); }
.nk .nk-ctrl__label { font-size: var(--nk-t-small); line-height: 1.4; color: var(--nk-dim); }
/* Morten 9/11: licenserne er samtidige - én linje under tælleren forklarer det */
.nk .nk-ctrl__note { margin: 0; font-size: var(--nk-t-small); line-height: 1.4; color: var(--nk-dim); text-align: center; text-wrap: balance; }
.nk .nk-ctrl > :is(.nk-seg, .nk-stepper) { width: 100%; }
.nk .nk-stepper {
  box-sizing: border-box; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center;
  padding: var(--space-1); border-radius: var(--radius-pill); box-shadow: inset 0 0 0 var(--pc-hairline) var(--nk-line-hi);
}
.nk .nk-stepper__btn {
  display: grid; place-items: center; width: var(--space-10); height: var(--space-10); padding: 0;
  border: 0; border-radius: var(--radius-pill); background: var(--nk-fill); color: var(--nk-text); cursor: pointer; font-size: var(--text-xl);
  transition: background-color 200ms var(--nk-ease), color 200ms var(--nk-ease), transform 160ms var(--nk-ease);
}
.nk .nk-stepper__btn:hover:not(:disabled) { background: var(--nk-accent); color: var(--pc-primary); }
.nk .nk-stepper__btn:active:not(:disabled) { transform: scale(0.92); }
.nk .nk-stepper__btn:disabled { opacity: 0.3; cursor: default; }
.nk .nk-stepper__btn:focus-visible { outline: none; box-shadow: var(--nk-ring); }
.nk .nk-stepper__val { overflow: hidden; font-size: var(--text-lg); font-weight: 500; line-height: 1.4; text-align: center; color: var(--nk-text); font-variant-numeric: tabular-nums; }
.nk .nk-stepper__val > span { display: inline-block; }
.nk .nk-stepper__val.is-bump > span { animation: nk-roll 300ms var(--nk-ease) both; }
@keyframes nk-roll { from { opacity: 0; transform: translateY(var(--roll, 45%)); } }
.nk:not(.nk--wow) .nk-pay .nk-stepper__btn { background: var(--pc-bg); }
.nk:not(.nk--wow) .nk-pay .nk-stepper__btn:hover:not(:disabled) { background: var(--pc-primary); color: var(--pc-primary-ink); }
.nk .nk-price { display: grid; justify-items: center; gap: var(--space-1); }
.nk .nk-price__main { margin: 0; font-size: var(--nk-t-body); font-weight: 500; line-height: 1.4; color: var(--nk-text); font-variant-numeric: tabular-nums; }
.nk .nk-price__sub { margin: 0; font-size: var(--nk-t-small); line-height: 1.5; color: var(--nk-dim); text-wrap: balance; }
.nk .nk-slot { display: grid; justify-items: center; gap: var(--space-2); width: 100%; }
.nk .nk-btn + .nk-codeslot { margin-top: calc(var(--nk-gap-fine) - var(--nk-gap)); }

/* Match: planen afsløres, derefter det I får (fra jeres svar), så knappen */
.nk .nk-match__reveal { display: inline-block; }
.nk .nk-gets { display: grid; gap: var(--space-2); margin: 0; padding: 0 0 0 var(--pc-list-indent); list-style: none; text-align: left; }
.nk .nk-gets li { display: flex; align-items: center; gap: var(--space-3); font-size: var(--nk-t-body); line-height: 1.4; color: var(--nk-text); }
.nk .nk-gets .nk-i { color: var(--nk-accent); stroke-width: 2; font-size: 1.05em; }
.nk .nk-gets__line { margin: 0; font-size: var(--nk-t-body); line-height: 1.4; color: var(--nk-soft); }
.nk .nk-gets + .nk-gets__line { margin-top: calc(var(--space-3) - var(--nk-gap)); }
.nk .nk-match.is-revealing > .nk-kicker { animation: nk-fade 420ms var(--nk-ease) both; }
.nk .nk-match.is-revealing .nk-match__reveal { animation: nk-reveal 820ms var(--nk-ease) 120ms both; }
.nk .nk-match.is-revealing .nk-gets li { animation: nk-in 520ms var(--nk-ease) both; animation-delay: calc(640ms + var(--i, 0) * 110ms); }
.nk .nk-match.is-revealing .nk-gets__line { animation: nk-in 520ms var(--nk-ease) both; animation-delay: calc(720ms + var(--n, 0) * 110ms); }
.nk .nk-match.is-revealing > .nk-btn { animation: nk-in 520ms var(--nk-ease) both; animation-delay: calc(840ms + var(--n, 0) * 110ms); }
@keyframes nk-reveal { from { opacity: 0; clip-path: inset(0 0 100% 0); transform: translateY(35%); } to { opacity: 1; clip-path: inset(0 0 -25% 0); transform: none; } }

/* Privatlivspolitik: altid i hjørnet nederst */
.nk .nk-privacy {
  position: fixed; z-index: 6; right: var(--nk-gutter); bottom: calc(var(--space-4) + env(safe-area-inset-bottom));
  font-size: var(--text-xs); color: var(--nk-dim); text-decoration: underline; text-decoration-color: var(--nk-line); text-underline-offset: 3px;
  transition: color var(--pc-dur) ease;
}
.nk .nk-privacy:hover { color: var(--nk-text); }
.nk .nk-privacy:focus-visible { outline: none; box-shadow: var(--nk-ring); border-radius: 2px; }

@media (max-width: 599px) {
  .nk .nk-ctrl { width: 100%; justify-items: stretch; }
  .nk .nk-ctrls, .nk .nk-price, .nk .nk-slot { justify-items: start; }
  .nk .nk-proeve .nk-btn { width: 100%; }
  .nk .nk-back { padding: 0 var(--space-3) 0 var(--space-2); }
  .nk .nk-ask__input { padding-inline: var(--space-4) calc(var(--space-6) + var(--text-2xl)); }
  .nk .nk-privacy { bottom: calc(var(--space-2) + env(safe-area-inset-bottom)); }
  body.nk.is-card .nk-privacy { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .nk .nk-match.is-revealing *, .nk .nk-match.is-revealing > *, .nk .nk-stepper__val.is-bump > span { animation: none !important; }
}

/* ?freeze= (testbilleder): alt står i sluttilstand */
.nk.is-frozen *, .nk.is-frozen *::before, .nk.is-frozen *::after { animation-duration: 0s !important; animation-delay: 0s !important; transition: none !important; }

/* Reduceret bevægelse: samme overgang som ren fade, ingen glid */
@media (prefers-reduced-motion: reduce) {
  html[data-cvi="2026"] body.nk { --nk-move: 0px; }
  .nk .nk-okmark, .nk .nk-btn.is-done .nk-btn__ok, .nk .nk-seats__row > li.is-new, .nk .nk-progress li.is-current .nk-progress__label { animation: none; }
  .nk .nk-o__label, .nk .nk-back .nk-i, .nk .nk-dots i { transition: none; }
}

/* Kortnummeret må aldrig blive skåret af (plads til fluebenet) */
.nk .nk-card { width: min(100%, calc(var(--space-30) * 5)); grid-template-columns: minmax(0, 2.2fr) minmax(0, 1fr) minmax(0, 1fr); }
.nk .nk-field input { font-size: var(--text-lg); letter-spacing: 0.02em; }
@media (max-width: 599px) { .nk .nk-card { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }


/* =====================================================================
   Runde 1 (5/11): stor og flot samtidig-vælger, lange lister (fagligheder)
   i mindre ord, prøvens to valg side om side på brede skærme
   ===================================================================== */
.nk .nk-opts--seats { gap: var(--space-8) clamp(var(--space-16), 10vw, calc(var(--space-30) + var(--space-10))); }
.nk .nk-o--seats { gap: var(--space-6); }
.nk .nk-dots { gap: var(--space-3); }
.nk .nk-dots i { width: var(--space-8); height: var(--space-8); }
.nk .nk-o--seats .nk-o__label { font-size: var(--nk-t-answer); color: var(--nk-text); }
.nk .nk-opts--many { gap: var(--space-2) var(--space-8); max-width: 1120px; }
.nk .nk-opts--many .nk-o__label { font-size: clamp(var(--text-3xl), min(2.3vw, 4.2vh), var(--text-5xl)); }
@media (min-width: 900px) {
  .nk .nk-ctrls { grid-template-columns: minmax(0, calc(var(--space-30) * 3)); justify-content: center; gap: var(--space-4) var(--space-6); }
}
.nk:not(.nk--wow) .nk-pay .nk-ctrls { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 599px) {
  .nk .nk-dots i { width: var(--space-6); height: var(--space-6); }
  .nk .nk-o--seats .nk-o__label { font-size: var(--text-4xl); }
  .nk .nk-opts--many .nk-o { padding-top: var(--space-2); padding-bottom: var(--space-2); }
  .nk .nk-opts--many .nk-o__label { font-size: var(--text-3xl); }
}


/* Sprog + hotline øverst til højre (én række) */
html[data-cvi="2026"] body.nk { --nk-help-w: calc(var(--space-30) * 2 + var(--space-24)); }
.nk .nk-top-r { position: fixed; z-index: 6; top: var(--space-3); right: var(--nk-gutter); display: flex; align-items: center; gap: var(--space-4); }
.nk .nk-top-r .nk-help { position: static; }
.nk .nk-lang { display: inline-flex; align-items: center; gap: 2px; padding: 2px; border-radius: var(--radius-pill); box-shadow: inset 0 0 0 var(--pc-hairline) var(--nk-line); }
.nk .nk-lang button {
  min-width: var(--space-8); min-height: var(--space-8); padding: 0 var(--space-2); border: 0; border-radius: var(--radius-pill); cursor: pointer;
  background: none; color: var(--nk-dim); font-size: var(--text-xs); font-weight: 500; letter-spacing: 0.06em;
  transition: background-color var(--pc-dur) ease, color var(--pc-dur) ease;
}
.nk .nk-lang button:hover { color: var(--nk-text); }
.nk .nk-lang button[aria-pressed="true"] { background: var(--nk-fill-hi); color: var(--nk-text); }
.nk .nk-lang button:focus-visible { outline: none; box-shadow: var(--nk-ring); }
@media (max-width: 599px) {
  html[data-cvi="2026"] body.nk { --nk-help-w: calc(var(--space-16) + var(--space-20)); }
  .nk .nk-top-r { top: calc(var(--space-2) + env(safe-area-inset-top)); gap: var(--space-2); }
}

/* =====================================================================
   Runde 2 (5/11): stille valg forbliver stille i lange lister, flueben
   fri af ordet, deaktiveret knap som rolig kontur, mobil top uden svar-spor
   ===================================================================== */
.nk .nk-opts--many .nk-o--quiet .nk-o__label { font-size: var(--text-md); }
.nk .nk-o__check { left: calc(100% + var(--space-1)); }
.nk .nk-btn--light:disabled, .nk .nk-btn--light:disabled:hover { opacity: 1; background: transparent; color: var(--nk-dim); border-color: var(--nk-line-hi); }
.nk:not(.nk--wow) .nk-pay .nk-btn--light:disabled, .nk:not(.nk--wow) .nk-pay .nk-btn--light:disabled:hover { background: var(--pc-bg); color: var(--pc-muted); border-color: var(--pc-line); }
@media (max-width: 599px) {
  .nk .nk-trail__chips { display: none; }
  .nk .nk-o__check { left: auto; right: 0; }
  .nk .nk-opts--many .nk-o--quiet .nk-o__label { font-size: var(--text-lg); }
}

/* Runde 3 (5/11): pladserne i samtidig-vælgeren står stort og roligt */
@media (min-width: 600px) {
  .nk .nk-dots { gap: var(--space-3); }
  .nk .nk-dots i { width: var(--space-10); height: var(--space-10); }
  .nk .nk-o--seats { gap: var(--space-5); }
}


/* =====================================================================
   Mobil (Morten 5/11 efter test på iPhone): strammere, intet logo,
   5 px mere luft i siderne, små pile på valgene, så de ses som knapper
   ===================================================================== */
.nk .nk-o__go { display: none; }
.nk .nk-o { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
.nk :is(.nk-btn, .nk-back, .nk-link, .nk-chip, .nk-stepper__btn, .nk-seg button, .nk-lang button) { touch-action: manipulation; }
@media (max-width: 599px) {
  html[data-cvi="2026"] body.nk { --nk-gutter: max(var(--space-5), env(safe-area-inset-left), env(safe-area-inset-right)); --nk-gap-first: var(--space-5); }
  .nk .nk-stage { padding-top: calc(var(--nk-top-h) + var(--space-2)); padding-bottom: var(--space-16); }  /* plads til chat-knappen, så den aldrig dækker sidste linje (Morten 8/11) */
  .nk .nk-foot-logo { display: none; }
  .nk .nk-foot { padding-bottom: calc(var(--space-3) + env(safe-area-inset-bottom)); }
  .nk .nk-opts { margin-top: var(--space-5); }
  .nk .nk-o { padding-top: var(--space-2); padding-bottom: var(--space-2); }
  .nk .nk-o__go { display: block; margin-left: auto; flex: none; font-size: var(--text-xl); color: var(--nk-dim); transition: transform 200ms var(--nk-ease), color 200ms var(--nk-ease); }
  .nk .nk-o[aria-pressed="true"] .nk-o__go { color: var(--nk-accent); transform: translateX(var(--space-1)); }
  .nk .nk-o--seats { padding-top: var(--space-3); padding-bottom: var(--space-3); }
  .nk .nk-privacy { bottom: calc(var(--space-3) + env(safe-area-inset-bottom)); right: var(--nk-gutter); }
}
@media (max-width: 599px) {
  /* Privatlivspolitik står centreret under trinene på mobil (logoets gamle plads) - aldrig oven på trinene */
  .nk .nk-foot { padding-bottom: calc(var(--space-8) + env(safe-area-inset-bottom)); }
  .nk .nk-privacy { right: auto; left: 50%; transform: translateX(-50%); bottom: calc(var(--space-2) + env(safe-area-inset-bottom)); }
}

/* Mobil: antal i klinikken som kompakte rækker - ordet til venstre, pladserne til højre */
@media (max-width: 599px) {
  .nk .nk-o--seats { flex-direction: row-reverse; justify-content: space-between; align-items: center; gap: var(--space-4); padding-top: var(--space-3); padding-bottom: var(--space-3); }
  .nk .nk-dots { gap: var(--space-2); }
  .nk .nk-dots i { width: var(--space-5); height: var(--space-5); }
}
@media (max-width: 599px) { .nk .nk-opts--seats { gap: 0; margin-top: var(--space-5); } }

/* Mobil: skærme med felter står i toppen, så knappen ikke ligger under tastaturet */
@media (max-width: 599px) {
  body.nk:is([data-step="cvr"], [data-step="klinik"], [data-step="email"], [data-step="mobil"], [data-step="team"]) .nk-stage::before { flex-grow: 0; }
  body.nk:is([data-step="cvr"], [data-step="klinik"], [data-step="email"], [data-step="mobil"], [data-step="team"]) .nk-stage { padding-top: calc(var(--nk-top-h) + var(--space-4)); }
}

/* Privatlivslink kun hvor vi indsamler persondata - ikke på de indledende
   spørgsmål (Morten 2026-11-06, GDPR art. 13: tilgængelig ved indsamling) */
body.nk:is(:not([data-step]), [data-step="fag"], [data-step="ejer-fag"], [data-step="plan"], [data-step="rolle"], [data-step="samtidig"], [data-step="tailor"], [data-step="match"]) .nk-privacy { display: none; }


/* Aftaler (Morten 2026-11-06): vilkår + databehandleraftale + privatlivspolitik
   samlet i én aktiv accept lige over start-knappen - intet ekstra trin */
.nk .nk-agree { position: relative; display: flex; align-items: flex-start; gap: var(--space-3); max-width: 46ch; margin: 0 auto var(--space-4); text-align: left; cursor: pointer; font-size: var(--text-sm); line-height: 1.5; color: var(--nk-dim); }
.nk .nk-agree input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.nk .nk-agree__box { flex: none; display: grid; place-items: center; width: var(--space-6); height: var(--space-6); border: 1.5px solid var(--nk-line); border-radius: var(--space-2); transition: background-color .15s, border-color .15s; }
.nk .nk-agree__box .nk-i { width: var(--space-4); height: var(--space-4); opacity: 0; transform: scale(.6); transition: opacity .15s, transform .15s; }
.nk .nk-agree:hover .nk-agree__box { border-color: var(--nk-text); }
.nk .nk-agree input:checked + .nk-agree__box { background: var(--nk-btn-bg); border-color: var(--nk-btn-bg); color: var(--nk-btn-ink); }
.nk .nk-agree input:checked + .nk-agree__box .nk-i { opacity: 1; transform: none; }
.nk .nk-agree input:focus-visible + .nk-agree__box { box-shadow: var(--nk-ring); }
.nk .nk-agree a { color: var(--nk-text); text-decoration: underline; text-decoration-color: var(--nk-line); text-underline-offset: 3px; }
.nk .nk-agree a:hover { text-decoration-color: currentColor; }
.nk .nk-agree__err { display: block; margin: calc(var(--space-2) * -1) auto var(--space-4); text-align: center; }
.nk .nk-agree__err[hidden] { display: none; }
/* MitID-trinnet (Morten 9/11): aftalerne underskrives med MitID - samtykket flugter med vinduet og står tæt på det */
.nk .nk-mitid .nk-agree { box-sizing: border-box; width: min(100%, calc(var(--space-30) * 3)); max-width: none; margin: 0 auto calc(var(--space-3) - var(--nk-gap)); }
.nk .nk-mitid .nk-agree__err { box-sizing: border-box; width: min(100%, calc(var(--space-30) * 3)); margin: 0 auto calc(var(--space-3) - var(--nk-gap)); text-align: left; }
@media (max-width: 599px) { .nk .nk-mitid :is(.nk-agree, .nk-agree__err) { width: 100%; } }  /* som MitID-vinduet */
body.nk:is([data-step="proeve"], [data-step="betaling"]) .nk-privacy { display: none; }  /* aftaleteksten linker selv til privatlivspolitikken */

/* =====================================================================
   Chat i hjørnet (Morten 2026-11-06): knap med kundeteamets ansigter
   nederst til højre; panelet har fanerne Chat og "Book et videomøde"
   og kan minimeres. Efter 10 sek. på samme trin kommer en lille besked
   ved knappen. Hvidt, roligt, som en chat - ikke som en annonce.
   ===================================================================== */
.nk .nk-chat {
  position: fixed; z-index: 7; right: var(--nk-gutter);
  bottom: calc(var(--space-12) + env(safe-area-inset-bottom));  /* over privatlivslinket */
  display: flex; flex-direction: column; align-items: flex-end; gap: var(--space-3);
  width: min(calc(var(--space-30) * 3), calc(100vw - 2 * var(--nk-gutter)));
  pointer-events: none; text-align: left; color: var(--pc-ink);
}
.nk .nk-chat > * { pointer-events: auto; }
.nk .nk-chat [hidden] { display: none !important; }
.nk .nk-chat :focus-visible { outline: none; box-shadow: 0 0 0 2px var(--pc-accent); }

/* ansigterne */
.nk .nk-chat__team { display: flex; flex: none; }
.nk .nk-chat__team > * { width: var(--space-8); height: var(--space-8); border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 2px var(--pc-surface); }
.nk .nk-chat__team > * + * { margin-left: calc(var(--space-2) * -1); }
.nk .nk-chat__s { display: grid; place-items: center; background: var(--pc-accent-soft); color: var(--pc-primary); font-size: var(--text-sm); font-weight: 500; }

/* knappen i hjørnet */
.nk .nk-chat__launch {
  display: inline-flex; align-items: center; gap: var(--space-3);
  padding: var(--space-2) var(--space-4) var(--space-2) var(--space-2);
  border: 0; border-radius: var(--radius-pill); background: var(--pc-surface); color: var(--pc-primary);
  box-shadow: 0 var(--space-3) var(--space-10) color-mix(in srgb, var(--pc-ink) 40%, transparent);
  cursor: pointer; transition: transform var(--pc-dur) var(--nk-ease);
  animation: nk-chat-in 520ms var(--nk-ease) both; animation-delay: 600ms;
}
.nk .nk-chat__launch:hover { transform: translateY(calc(var(--space-1) * -0.5)); }
.nk .nk-chat__label { font-size: var(--text-base); font-weight: 500; line-height: 1; color: var(--pc-ink); white-space: nowrap; }
.nk .nk-chat__ico { width: var(--space-5); height: var(--space-5); }
.nk .nk-chat.is-open .nk-chat__ico { transform: rotate(0); }

/* den lille besked efter 10 sek. */
.nk .nk-chat__tip {
  position: relative; width: min(calc(var(--space-30) * 2.5), 100%);
  border-radius: var(--pc-radius-card) var(--pc-radius-card) var(--space-1) var(--pc-radius-card);
  background: var(--pc-surface);
  box-shadow: 0 var(--space-4) var(--space-12) color-mix(in srgb, var(--pc-ink) 40%, transparent);
  transform-origin: bottom right; animation: nk-chat-in 520ms var(--nk-ease) both;
}
.nk .nk-chat__tip-body { display: grid; gap: var(--space-1); width: 100%; padding: var(--space-4) var(--space-10) var(--space-4) var(--space-4); border: 0; border-radius: inherit; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.nk .nk-chat__tip-who { font-size: var(--text-xs); color: var(--pc-muted); }
.nk .nk-chat__tip-q { font-size: var(--text-base); font-weight: 500; line-height: 1.3; }
.nk .nk-chat__tip-p { font-size: var(--text-sm); line-height: 1.4; color: var(--pc-soft-ink); }
.nk .nk-chat__tip-x { position: absolute; top: var(--space-1); right: var(--space-1); z-index: 1; display: grid; place-items: center; width: var(--space-9, var(--space-10)); height: var(--space-9, var(--space-10)); border: 0; border-radius: 50%; background: none; color: var(--pc-muted); cursor: pointer; }
.nk .nk-chat__tip-x:hover { color: var(--pc-ink); background: var(--pc-surface-2); }
.nk .nk-chat__tip-x .nk-i { width: var(--space-4); height: var(--space-4); }

/* panelet */
.nk .nk-chat__panel {
  display: flex; flex-direction: column; width: 100%;
  max-height: min(calc(var(--space-30) * 4.6), calc(100dvh - var(--space-30) * 1.6));
  overflow: hidden; border-radius: var(--pc-radius-card); background: var(--pc-surface);
  box-shadow: 0 var(--space-6) var(--space-16) color-mix(in srgb, var(--pc-ink) 45%, transparent);
  transform-origin: bottom right; animation: nk-chat-in 420ms var(--nk-ease) both;
}
.nk .nk-chat__head { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) var(--space-3) var(--space-3) var(--space-4); }
.nk .nk-chat__who { flex: 1; min-width: 0; }
.nk .nk-chat__who b { display: block; overflow: hidden; font-size: var(--text-sm); font-weight: 500; line-height: 1.3; white-space: nowrap; text-overflow: ellipsis; }
.nk .nk-chat__who small { display: block; font-size: var(--text-xs); line-height: 1.3; color: var(--pc-muted); }
.nk .nk-chat__min { display: grid; place-items: center; flex: none; width: var(--space-10); height: var(--space-10); border: 0; border-radius: 50%; background: none; color: var(--pc-muted); cursor: pointer; transition: color var(--pc-dur) ease, background-color var(--pc-dur) ease; }
.nk .nk-chat__min:hover { color: var(--pc-ink); background: var(--pc-surface-2); }

/* samtalen ruller; knapperne står nederst i samtalen, skrivefeltet under */
.nk .nk-chat__log { display: grid; justify-items: start; align-content: start; gap: var(--space-2); flex: 1; min-height: 0; overflow-y: auto; padding: var(--space-2) var(--space-4) var(--space-4); }
.nk .nk-chat__typing, .nk .nk-chat__msg--1 { grid-area: 1 / 1; }
.nk .nk-chat__msg, .nk .nk-chat__typing {
  margin: 0; max-width: 88%; padding: var(--space-2) var(--space-4);
  border-radius: var(--space-4) var(--space-4) var(--space-4) var(--space-1);
  background: var(--pc-bg); font-size: var(--text-base); line-height: 1.45; color: var(--pc-ink); text-wrap: pretty;
}
.nk .nk-chat__msg p { margin: 0; }
.nk .nk-chat__msg--me { justify-self: end; border-radius: var(--space-4) var(--space-4) var(--space-1) var(--space-4); background: var(--pc-primary); color: var(--pc-primary-ink); }
.nk .nk-chat__msg--1 { font-weight: 500; animation: nk-chat-msg 420ms var(--nk-ease) both; animation-delay: 1300ms; }
.nk .nk-chat__msg--2 { animation: nk-chat-msg 420ms var(--nk-ease) both; animation-delay: 1700ms; }
.nk .nk-chat__log > .nk-chat__msg:not(.nk-chat__msg--1):not(.nk-chat__msg--2) { animation: nk-chat-msg 320ms var(--nk-ease) both; }
.nk .nk-chat__typing { display: inline-flex; align-items: center; gap: var(--space-1); padding: var(--space-3) var(--space-4); animation: nk-chat-typing 1200ms linear both; animation-delay: 150ms; }
.nk .nk-chat__typing--live { grid-area: auto; animation: none; }
.nk .nk-chat__typing i { width: calc(var(--space-1) * 1.5); height: calc(var(--space-1) * 1.5); border-radius: 50%; background: var(--pc-muted); animation: nk-chat-dot 900ms ease-in-out infinite; }
.nk .nk-chat__typing i:nth-child(2) { animation-delay: 150ms; }
.nk .nk-chat__typing i:nth-child(3) { animation-delay: 300ms; }

/* "Book et videomøde" og "Ring til os" nederst i samtalen */
.nk .nk-chat__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-1); animation: nk-chat-msg 420ms var(--nk-ease) both; animation-delay: 2100ms; }
.nk .nk-chat__act {
  display: inline-flex; align-items: center; gap: var(--space-2); min-height: var(--space-10); padding: 0 var(--space-4);
  border: 0; border-radius: var(--radius-pill); background: none; box-shadow: inset 0 0 0 var(--pc-hairline) var(--pc-input-line);
  color: var(--pc-ink); font: inherit; font-size: var(--text-sm); font-weight: 600; text-decoration: none; cursor: pointer;
  transition: background-color var(--pc-dur) ease, box-shadow var(--pc-dur) ease;
}
.nk .nk-chat__act .nk-i { width: var(--space-4); height: var(--space-4); }
.nk .nk-chat__act:hover { background: var(--pc-surface-2); }
.nk .nk-chat__act--main { background: var(--pc-primary); box-shadow: none; color: var(--pc-primary-ink); }
.nk .nk-chat__act--main:hover { background: color-mix(in srgb, var(--pc-primary) 86%, var(--pc-surface)); }

/* kalenderen som trin 0, som en besked i samtalen */
.nk .nk-chat__msg--cal { width: 88%; }
.nk .nk-chat__msg--cal > p { margin-bottom: var(--space-3); }
.nk .nk-chat__days { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-2); }
.nk .nk-chat__day {
  display: grid; justify-items: center; padding: var(--space-2) var(--space-1);
  border-radius: var(--pc-radius-box); background: var(--pc-surface); box-shadow: inset 0 0 0 var(--pc-hairline) var(--pc-input-line);
  color: var(--pc-ink); text-decoration: none; transition: background-color var(--pc-dur) ease, box-shadow var(--pc-dur) ease;
}
.nk .nk-chat__day span { font-size: var(--text-xs); line-height: 1.3; color: var(--pc-muted); }
.nk .nk-chat__day b { font-size: var(--text-sm); font-weight: 500; line-height: 1.3; }
.nk .nk-chat__day:hover { background: var(--pc-accent-soft); box-shadow: inset 0 0 0 var(--pc-hairline) var(--pc-accent); }
.nk .nk-chat__more { display: inline-block; margin-top: var(--space-3); font-size: var(--text-sm); color: var(--pc-accent); text-decoration: underline; text-underline-offset: 3px; }
.nk .nk-chat__btn {
  display: flex; align-items: center; justify-content: center; width: 100%; min-height: var(--space-10);
  border-radius: var(--radius-pill); background: var(--pc-primary); color: var(--pc-primary-ink);
  font-size: var(--text-sm); font-weight: 600; text-decoration: none; transition: background-color var(--pc-dur) ease;
}
.nk .nk-chat__btn:hover { background: color-mix(in srgb, var(--pc-primary) 86%, var(--pc-surface)); }

/* skrivefeltet */
.nk .nk-chat__form { display: flex; align-items: center; gap: var(--space-2); margin: 0; padding: var(--space-3) var(--space-3) var(--space-3) var(--space-4); border-top: var(--pc-hairline) solid var(--pc-line-2); }
.nk .nk-chat__form input {
  flex: 1; min-width: 0; height: var(--space-10); padding: 0 var(--space-4);
  border: 0; border-radius: var(--radius-pill); background: var(--pc-bg); color: var(--pc-ink);
  font: inherit; font-size: var(--text-base);
}
.nk .nk-chat__form input::placeholder { color: var(--pc-muted); }
.nk .nk-chat__form input:focus { outline: none; box-shadow: inset 0 0 0 var(--pc-hairline) var(--pc-accent); }
.nk .nk-chat__send { display: grid; place-items: center; flex: none; width: var(--space-10); height: var(--space-10); border: 0; border-radius: 50%; background: var(--pc-primary); color: var(--pc-primary-ink); cursor: pointer; transition: background-color var(--pc-dur) ease; }
.nk .nk-chat__send:hover { background: color-mix(in srgb, var(--pc-primary) 86%, var(--pc-surface)); }
.nk .nk-chat__send .nk-i { width: var(--space-5); height: var(--space-5); }

@keyframes nk-chat-in { from { opacity: 0; transform: translateY(var(--space-3)) scale(0.96); } }
@keyframes nk-chat-msg { from { opacity: 0; transform: translateY(var(--space-2)); } }
@keyframes nk-chat-typing { 0% { opacity: 0; } 15%, 85% { opacity: 1; } 100% { opacity: 0; visibility: hidden; } }
@keyframes nk-chat-dot { 0%, 60%, 100% { transform: none; opacity: 0.4; } 30% { transform: translateY(calc(var(--space-1) * -0.75)); opacity: 1; } }

/* mobil: hjørnet står over trinene i bunden; panelet fylder bredden */
@media (max-width: 599px) {
  .nk .nk-chat { left: var(--nk-gutter); right: var(--nk-gutter); width: auto; bottom: calc(var(--nk-chat-foot, 0px) + var(--space-2)); }
  .nk .nk-chat__launch { padding: var(--space-1) var(--space-3) var(--space-1) var(--space-1); gap: var(--space-2); }
  .nk .nk-chat__launch .nk-chat__team > * { width: var(--space-7); height: var(--space-7); }
  .nk .nk-chat__label { font-size: var(--text-sm); }
  .nk .nk-chat__panel { max-height: calc(100dvh - var(--nk-chat-foot, 0px) - var(--space-30)); }
}
@media (prefers-reduced-motion: reduce) {
  .nk .nk-chat__launch, .nk .nk-chat__tip, .nk .nk-chat__panel, .nk .nk-chat__msg, .nk .nk-chat__actions { animation: none; }
  .nk .nk-chat__typing { display: none; }
}

/* =====================================================================
   CVR, rolle, login og nyhedsbrev (Morten 2026-11-06: "Ja, byg de fire")
   ===================================================================== */
/* Login: én stille linje under valgene - har man en bruger, er vejen ind login, ikke en klinik til */
.nk .nk-login { margin: var(--space-10) 0 0; font-size: var(--nk-t-small); line-height: 1.5; color: var(--nk-dim); text-align: center; }
.nk .nk-login a { border-radius: 2px; color: var(--nk-text); text-decoration: underline; text-decoration-color: var(--nk-line-hi); text-decoration-thickness: var(--pc-hairline); text-underline-offset: 4px; }
.nk .nk-login a:hover { text-decoration-color: currentColor; }
.nk .nk-login a:focus-visible { outline: none; box-shadow: var(--nk-ring); }
/* CVR: én linje under feltet - forklaring, opslag, fundet. Pladsen er reserveret, så intet hopper */
.nk .nk-cvr {
  display: flex; align-items: center; justify-content: center; gap: var(--space-2);
  min-height: calc(var(--text-lg) * 1.5); margin: calc(var(--nk-pair) - var(--nk-gap)) 0 0;
  font-size: var(--text-lg); line-height: 1.5; color: var(--nk-dim); text-align: center;
}
.nk .nk-cvr[hidden] { display: none; }
.nk .nk-cvr.is-found { color: var(--nk-soft); animation: nk-fade 320ms var(--nk-ease) both; }
.nk .nk-cvr b { font-weight: 500; color: var(--nk-text); }
.nk .nk-cvr > .nk-i { flex: none; width: var(--space-5); height: var(--space-5); color: var(--nk-accent); }
.nk .nk-cvr > .nk-spin { display: inline-block; flex: none; }
.nk .nk-cvr__by { white-space: nowrap; }
/* Nyhedsbrev: frivilligt flueben mellem feltet og knappen */
.nk .nk-agree[hidden] { display: none; }
.nk .nk-ask .nk-optin { margin: calc(var(--space-4) - var(--nk-gap)) auto 0; }
@media (max-width: 599px) {
  .nk .nk-login { align-self: stretch; margin-top: var(--space-8); text-align: left; }
  .nk .nk-cvr { justify-content: flex-start; text-align: left; }
  .nk .nk-cvr__sep { display: none; }
  .nk .nk-cvr__by { display: block; }  /* mobil: navnet på første linje, by på anden */
  .nk .nk-ask .nk-optin { margin-left: 0; margin-right: 0; }
}
/* Regulær: en medarbejder ser plan og pris, men sender aftalen videre (intet kort, intet aftale-flueben) */

@media (prefers-reduced-motion: reduce) { .nk .nk-cvr.is-found { animation: none; } }

/* =====================================================================
   Pladser (Morten 2026-11-06: "farveværk til at signalere, at man fylder op" + modal)
   ===================================================================== */
/* Optagne pladser er fyldte som ens egen; en fuld række bliver grøn */
.nk .nk-seats__row > li { transition: background-color var(--pc-dur) ease, color var(--pc-dur) ease; }
.nk .nk-seats__row > li.is-taken { background: var(--nk-accent); color: var(--pc-primary); }
.nk .nk-seats.is-full .nk-seats__row > li { background: var(--pc-ok-bg); color: var(--pc-ok); }
.nk .nk-seats.is-full .nk-seats__ok { color: var(--pc-ok-bg); }
.nk:not(.nk--wow) .nk-pay .nk-seats__row > li.is-taken { background: var(--pc-primary); color: var(--pc-surface); }
.nk:not(.nk--wow) .nk-pay .nk-seats.is-full .nk-seats__row > li { background: var(--pc-ok); color: var(--pc-surface); }

/* =====================================================================
   Pakkekort "Fokus" (Morten 11/11 valgte ud af tre bud; "der skal tænkes i, at der er forvalgt for dem").
   Den forvalgte pakke er det lyseste på den blå side (hvid flade, mørk tekst), så øjet lander dér, og knappen
   siger, hvad der sker: "Prøv Clinic PRO gratis i 30 dage". Lys flade = nk-tokens remappes til sitets lyse
   værdier (samme greb som .nk-pay). Mobil: det fravalgte kort foldes sammen til navn og pris.
   ===================================================================== */
.nk :is(.nk-plan__name, .nk-plan__name em, .nk-plan__price, .nk-plan__unit, .nk-plan__per, .nk-plan__alt, .nk-plan__feat, .nk-plan__feat .nk-i, .nk-brow__t, .nk-brow__t b, .nk-brow__d) {
  transition: color 0.45s var(--nk-ease);
}
.nk .nk-plan__feats { transition: border-color 0.45s var(--nk-ease); }

.nk .nk-plan:not(:has(.nk-plan__input:checked)):hover { background: color-mix(in srgb, var(--pc-surface) 10%, transparent); box-shadow: inset 0 0 0 var(--pc-hairline) var(--nk-line-hi); }
.nk .nk-plans .nk-plan:has(.nk-plan__input:checked) {
  --nk-text: var(--pc-primary); --nk-soft: var(--pc-soft-ink); --nk-dim: var(--pc-muted); --nk-line: var(--pc-line); --nk-line-hi: var(--pc-control-line); --nk-accent: var(--pc-accent);
  background: var(--pc-surface); translate: 0 calc(var(--space-2) * -1);
  box-shadow: 0 var(--space-6) var(--space-16) calc(var(--space-5) * -1) color-mix(in srgb, black 55%, transparent);
}
.nk .nk-plans .nk-plan:has(.nk-plan__input:focus-visible) { box-shadow: var(--nk-ring), 0 var(--space-6) var(--space-16) calc(var(--space-5) * -1) color-mix(in srgb, black 55%, transparent); }
.nk .nk-plan:has(.nk-plan__input:checked) .nk-plan__feat { color: var(--pc-ink); }
.nk .nk-plan:has(.nk-plan__input:checked) .nk-plan__radio { background: var(--pc-primary); box-shadow: none; }
.nk .nk-plan:has(.nk-plan__input:checked) .nk-plan__radio::after { background: var(--pc-surface); }
/* BASIC-linjen */
.nk .nk-plans .nk-brow {
  grid-column: 1 / -1; justify-self: center; flex-direction: row; align-items: center; gap: var(--space-3);
  margin-top: var(--space-1); padding: var(--space-3) var(--space-6) var(--space-3) var(--space-4); border-radius: var(--radius-pill);
  background: transparent; box-shadow: none; translate: none;
}
.nk .nk-plans .nk-brow:not(:has(.nk-plan__input:checked)):hover { background: color-mix(in srgb, var(--pc-surface) 7%, transparent); box-shadow: none; }
.nk .nk-plans .nk-brow:has(.nk-plan__input:checked) { background: var(--pc-surface); box-shadow: var(--pc-shadow-lift); translate: none; }
.nk .nk-brow__t { font-size: var(--text-md); line-height: 1.4; color: var(--nk-soft); }
.nk .nk-brow__t b { font-weight: 500; color: var(--nk-text); }
.nk .nk-brow__d { color: var(--nk-dim); }
@media (max-width: 599px) {  /* mobil: det fravalgte kort foldes sammen til én linje - navn og pris */
  .nk .nk-plans .nk-plan:has(.nk-plan__input:checked) { translate: none; }
  .nk .nk-plans .nk-plan:not(.nk-brow) { padding: var(--space-5) var(--space-6); }
  .nk .nk-plan:not(.nk-brow):not(:has(.nk-plan__input:checked)) { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; padding-top: var(--space-4); padding-bottom: var(--space-4); }
  .nk .nk-plan:not(.nk-brow):not(:has(.nk-plan__input:checked)) .nk-plan__head { width: auto; }
  .nk .nk-plan:not(.nk-brow):not(:has(.nk-plan__input:checked)) .nk-plan__price { margin-top: 0; }
  .nk .nk-plan:not(.nk-brow):not(:has(.nk-plan__input:checked)) .nk-plan__price b { font-size: var(--text-4xl); }
  .nk .nk-plan:not(.nk-brow):not(:has(.nk-plan__input:checked)) :is(.nk-plan__per, .nk-plan__alt, .nk-plan__feats) { display: none; }
  .nk .nk-plans .nk-brow { justify-self: stretch; padding: var(--space-3) var(--space-5); border-radius: var(--pc-radius-card); box-shadow: inset 0 0 0 var(--pc-hairline) var(--nk-line); }
  .nk .nk-brow__d { display: none; }
}

/* =====================================================================
   Kliniktype og rolle (Morten 12/11): et tryk markerer valget med en gennemsigtig blå flade, der breder sig fra
   trykket; man går selv videre med Fortsæt, der blinker med en lille glød 0,3 sek. efter valget. Rollen følger
   kliniktypen (Kiropraktik -> Kiropraktor). Alle valg har samme luft, så intet flytter sig, når valget skifter.
   ===================================================================== */
.nk .nk-opts:not(.nk-opts--multi):not(.nk-opts--seats) { column-gap: 0; }
.nk .nk-opts:not(.nk-opts--multi):not(.nk-opts--seats) .nk-o {
  isolation: isolate; padding: var(--space-2) var(--space-10) var(--space-2) var(--space-5); border-radius: var(--pc-radius-pill);
  transition: opacity 360ms var(--nk-ease), transform 200ms var(--nk-ease);
}
.nk .nk-opts--many:not(.nk-opts--multi) .nk-o { padding-left: var(--space-4); padding-right: var(--space-8); }
.nk .nk-opts:not(.nk-opts--multi):not(.nk-opts--seats) .nk-o:active { transform: scale(0.97); }
/* fladen: gennemsigtig blå med en tynd lyseblå kant - breder sig som en cirkel fra trykket */
.nk .nk-opts:not(.nk-opts--multi):not(.nk-opts--seats) .nk-o::before {
  content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none;
  background: color-mix(in oklch, var(--nk-accent) 20%, transparent);
  box-shadow: inset 0 0 0 var(--pc-hairline) color-mix(in oklch, var(--nk-accent) 65%, transparent);
  clip-path: circle(0 at var(--nk-px, 50%) var(--nk-py, 50%)); opacity: 0;
  transition: clip-path 560ms var(--nk-ease), opacity 280ms var(--nk-ease);
}
.nk .nk-opts:not(.nk-opts--multi):not(.nk-opts--seats) .nk-o[aria-pressed="true"]::before { clip-path: circle(200% at var(--nk-px, 50%) var(--nk-py, 50%)); opacity: 1; }
.nk .nk-opts:not(.nk-opts--multi):not(.nk-opts--seats) .nk-o[aria-pressed="true"] .nk-o__label { color: var(--nk-head); background-size: 0 1px, 0 1px; }
.nk .nk-opts:not(.nk-opts--multi):not(.nk-opts--seats) .nk-o .nk-o__check {
  left: auto; right: var(--space-4); margin-top: -0.5em; font-size: var(--text-xl); stroke-width: 2.4; color: var(--nk-accent);
  opacity: 0; transform: scale(0.3) rotate(-20deg);
  transition: opacity 200ms var(--nk-ease), transform 460ms cubic-bezier(0.34, 1.56, 0.64, 1);
}
.nk .nk-opts--many:not(.nk-opts--multi) .nk-o .nk-o__check { right: var(--space-3); }
.nk .nk-opts:not(.nk-opts--multi):not(.nk-opts--seats) .nk-o[aria-pressed="true"] .nk-o__check { opacity: 1; transform: none; transition-delay: 140ms; }
.nk .nk-opts:not(.nk-opts--multi):not(.nk-opts--seats) .nk-o:focus-visible { box-shadow: var(--nk-ring); }
/* Fortsæt: en blød, lyseblå ring, der breder sig fra knappen og forsvinder - to gange (Morten 12/11: "meget mere subtil") */
@keyframes nk-glow {
  0% { box-shadow: 0 0 0 0 color-mix(in oklch, var(--nk-glow) 55%, transparent), 0 0 var(--space-3) 0 color-mix(in oklch, var(--nk-glow) 0%, transparent); }
  35% { box-shadow: 0 0 0 var(--space-1) color-mix(in oklch, var(--nk-glow) 35%, transparent), 0 0 var(--space-5) 0 color-mix(in oklch, var(--nk-glow) 35%, transparent); }
  100% { box-shadow: 0 0 0 var(--space-3) color-mix(in oklch, var(--nk-glow) 0%, transparent), 0 0 var(--space-5) 0 color-mix(in oklch, var(--nk-glow) 0%, transparent); }
}
.nk .nk-btn { --nk-glow: var(--nk-accent); }
@supports (color: oklch(from red l c h)) { .nk .nk-btn { --nk-glow: oklch(from var(--pc-dark-accent) calc(l - 0.04) calc(c + 0.15) calc(h - 8)); } }  /* blå - samme som skærmlyset på startskærmen (Morten 12/11) */
.nk .nk-btn.is-glow { animation: nk-glow 1400ms cubic-bezier(0.22, 0.61, 0.36, 1) 2; }
@media (prefers-reduced-motion: reduce) {
  .nk .nk-btn.is-glow { animation-iteration-count: 1; }
  .nk .nk-opts:not(.nk-opts--multi):not(.nk-opts--seats) .nk-o::before { transition: opacity 200ms linear; }
}
@media (max-width: 599px) {  /* mobil: rækkerne står som før; fladen går lidt ud over kanten, så teksten flugter */
  .nk .nk-opts:not(.nk-opts--multi):not(.nk-opts--seats) .nk-o,
  .nk .nk-opts--many:not(.nk-opts--multi) .nk-o { padding-left: 0; padding-right: var(--space-10); border-radius: 0; }
  .nk .nk-opts:not(.nk-opts--multi):not(.nk-opts--seats) .nk-o::before { inset: calc(var(--pc-hairline) * -1) calc(var(--space-3) * -1); border-radius: var(--pc-radius-card); }
  .nk .nk-opts:not(.nk-opts--multi):not(.nk-opts--seats) .nk-o .nk-o__check,
  .nk .nk-opts--many:not(.nk-opts--multi) .nk-o .nk-o__check { right: var(--space-1); }
  /* rolle-listen er lang: Fortsæt står fast i bunden, så den altid kan nås */
  .nk .nk-stage > .nk-next {
    position: sticky; bottom: 0; z-index: 2; align-self: stretch; margin: var(--space-4) calc(var(--nk-gutter) * -1) 0;
    padding: var(--space-8) var(--nk-gutter) var(--space-2);
    background: linear-gradient(to bottom, transparent, var(--nk-void) var(--space-8));
  }
}

/* Note til højre for kliniknavnet (Morten 13/11): data hentes fra CVR-registret. Kun brede skærme - ellers bærer
   hjælpelinjen under feltet budskabet. Kilden nævnes som registret, ikke mellemleddet (cvrapi.dk) */
.nk .nk-combo__row { position: relative; }
.nk .nk-combo__row > input { width: 100%; box-sizing: border-box; }
.nk .nk-combo__src { display: none; }
@media (min-width: 1100px) {
  .nk .nk-combo__src {
    display: grid; gap: var(--space-1); position: absolute; left: calc(100% + var(--space-6)); top: 50%; transform: translateY(-50%);
    width: calc(var(--space-30) * 1.9); padding: var(--space-3) var(--space-4); box-sizing: border-box;
    border-radius: var(--pc-radius-card); border: var(--pc-hairline) solid var(--nk-line-hi); background: var(--nk-fill);
    font-size: var(--nk-t-small); line-height: 1.4; color: var(--nk-dim); text-align: left;
  }
  .nk .nk-combo__src b { font-weight: 500; color: var(--nk-text); }
  .nk .nk-combo__src::before {  /* lille pil mod feltet */
    content: ""; position: absolute; left: calc(var(--space-2) * -1 + var(--pc-hairline)); top: 50%; width: var(--space-3); height: var(--space-3);
    border-left: var(--pc-hairline) solid var(--nk-line-hi); border-bottom: var(--pc-hairline) solid var(--nk-line-hi);
    transform: translateY(-50%) rotate(45deg); box-sizing: border-box;
    background: color-mix(in srgb, var(--pc-surface) 7%, var(--pc-primary));
  }
}

/* =====================================================================
   Resten af flowet (Morten 13/11): efter "Opret klinik med MitID" vises trinene, der kører videre hos People's Hub,
   som en lodret tidslinje på navy - "du er her" med flueben, næste trin (MitID) fremhævet, resten stille.
   ===================================================================== */
.nk-flow {
  width: min(calc(100% - var(--space-8)), calc(var(--space-30) * 4.2)); max-height: calc(100dvh - var(--space-8)); box-sizing: border-box;
  margin: auto; padding: var(--space-10) var(--space-10) var(--space-8); overflow-y: auto;
  border: var(--pc-hairline) solid var(--pc-control-line); border-radius: var(--pc-radius-card);
  background: color-mix(in srgb, var(--pc-surface) 6%, var(--pc-primary)); color: var(--pc-surface);
  box-shadow: 0 var(--space-12) var(--space-24) calc(var(--space-6) * -1) color-mix(in srgb, black 60%, transparent);
}
.nk-flow[open] { display: grid; gap: var(--space-8); animation: nk-flow-in 520ms var(--pc-ease-soft) both; }
.nk-flow::backdrop { background: color-mix(in srgb, var(--pc-ink) 55%, transparent); backdrop-filter: blur(var(--space-1)); }
@keyframes nk-flow-in { from { opacity: 0; transform: translateY(var(--space-4)) scale(0.98); } to { opacity: 1; transform: none; } }
.nk-flow__h { margin: 0; font-size: var(--text-5xl); font-weight: 500; line-height: var(--lh-snug); letter-spacing: -0.02em; text-wrap: balance; }
.nk-flow__h em { font-style: normal; color: var(--pc-dark-accent); }
.nk-flow__list { position: relative; display: grid; gap: var(--space-5); margin: 0; padding: 0; list-style: none; }
.nk-flow__step:not(:last-child)::after {  /* linjen fra prik til prik - stopper ved sidste trin */
  content: ""; position: absolute; left: calc(var(--space-3) - var(--pc-hairline) / 2); top: var(--space-6); bottom: calc(var(--space-5) * -1);
  width: var(--pc-hairline); background: color-mix(in srgb, var(--pc-surface) 22%, transparent);
}
.nk-flow__step {
  position: relative; display: grid; grid-template-columns: var(--space-6) minmax(0, 1fr); gap: 0 var(--space-4); align-items: start;
  opacity: 0; animation: nk-flow-step 480ms var(--pc-ease-soft) both; animation-delay: calc(var(--i) * 90ms + 180ms);
}
@keyframes nk-flow-step { from { opacity: 0; transform: translateY(var(--space-2)); } to { opacity: 1; transform: none; } }
.nk-flow__dot {
  position: relative; z-index: 1; display: grid; place-items: center; width: var(--space-6); height: var(--space-6); box-sizing: border-box;
  border-radius: var(--pc-radius-pill); border: var(--pc-hairline) solid color-mix(in srgb, var(--pc-surface) 35%, transparent);
  background: color-mix(in srgb, var(--pc-surface) 6%, var(--pc-primary)); font-size: var(--text-sm); color: var(--pc-dark-accent);
}
.nk-flow__dot .nk-i { font-size: var(--text-md); stroke-width: 2.6; }
.nk-flow__t { display: block; font-size: var(--text-xl); font-weight: 500; line-height: 1.35; }
.nk-flow__d { display: block; margin-top: var(--space-1); font-size: var(--text-md); line-height: 1.45; color: color-mix(in srgb, var(--pc-surface) 68%, transparent); }
.nk-flow__step.is-done .nk-flow__dot { background: var(--pc-dark-accent); border-color: var(--pc-dark-accent); color: var(--pc-primary); }
.nk-flow__step.is-done .nk-flow__t { color: color-mix(in srgb, var(--pc-surface) 68%, transparent); }
.nk-flow__step.is-next .nk-flow__dot { border-color: var(--pc-dark-accent); box-shadow: 0 0 0 var(--space-1) color-mix(in srgb, var(--pc-dark-accent) 22%, transparent); color: var(--pc-surface); }
.nk-flow__step.is-next .nk-flow__t { color: var(--pc-dark-accent); }
.nk-flow__act { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-4) var(--space-6); }
@media (max-width: 599px) {
  .nk-flow { width: calc(100% - var(--space-4)); padding: var(--space-8) var(--space-5) var(--space-6); }
  .nk-flow__h { font-size: var(--text-4xl); }
  .nk-flow__act { flex-direction: column; align-items: stretch; text-align: center; }
  .nk-flow__act .nk-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .nk-flow[open], .nk-flow__step { animation: none; opacity: 1; } }

/* intern visning: lille mærke over titlen og ejer pr. trin (Morten 13/11: "intern visualisering ... så resten af teamet forstår") */
.nk-flow__kicker { margin: 0 0 calc(var(--space-8) * -1 + var(--space-2)); font-size: var(--text-sm); font-weight: 500; letter-spacing: 0.04em; color: color-mix(in srgb, var(--pc-surface) 60%, transparent); }
.nk-flow__who {
  display: inline-block; margin-left: var(--space-2); padding: 0 var(--space-2); vertical-align: 0.15em;
  border-radius: var(--pc-radius-pill); border: var(--pc-hairline) solid color-mix(in srgb, var(--pc-dark-accent) 45%, transparent);
  font-size: var(--text-xs); font-weight: 500; line-height: 1.7; color: var(--pc-dark-accent);
}
.nk-flow__foot { margin: calc(var(--space-8) * -1 + var(--space-3)) 0 0; font-size: var(--text-sm); color: color-mix(in srgb, var(--pc-surface) 55%, transparent); }

/* intern flow i hverdagssprog (Morten 13/11): grupper (websitet / Hub / programmet / efter 30 dage), og for hvert trin
   "Brugeren ser" og "Bag kulissen" */
.nk-flow { width: min(calc(100% - var(--space-8)), calc(var(--space-30) * 6)); }
.nk-flow__intro { margin: calc(var(--space-8) * -1 + var(--space-3)) 0 0; max-width: 56ch; font-size: var(--text-lg); line-height: 1.5; color: color-mix(in srgb, var(--pc-surface) 75%, transparent); }
.nk-flow__groups { display: grid; gap: var(--space-8); }
.nk-flow__group { display: grid; gap: var(--space-4); }
.nk-flow__gh { margin: 0; font-size: var(--text-sm); font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--pc-dark-accent); }
.nk-flow__gd { margin: calc(var(--space-3) * -1) 0 0; font-size: var(--text-md); color: color-mix(in srgb, var(--pc-surface) 60%, transparent); }
.nk-flow__body { display: grid; gap: var(--space-1); }
.nk-flow__row { display: grid; grid-template-columns: calc(var(--space-24) + var(--space-2)) minmax(0, 1fr); gap: var(--space-3); font-size: var(--text-md); line-height: 1.45; color: color-mix(in srgb, var(--pc-surface) 82%, transparent); }
.nk-flow__row b { font-weight: 500; color: color-mix(in srgb, var(--pc-surface) 50%, transparent); }
.nk-flow__step.is-here .nk-flow__dot { border-color: var(--pc-dark-accent); box-shadow: 0 0 0 var(--space-1) color-mix(in srgb, var(--pc-dark-accent) 22%, transparent); color: var(--pc-surface); }
.nk-flow__step.is-here .nk-flow__t { color: var(--pc-dark-accent); }
.nk-flow__step.is-done .nk-flow__t { color: var(--pc-surface); }
.nk-flow .nk-flow__list { gap: var(--space-6); }
.nk-flow .nk-flow__step:not(:last-child)::after { bottom: calc(var(--space-6) * -1); }
@media (max-width: 599px) {
  .nk-flow { width: calc(100% - var(--space-4)); }
  .nk-flow__row { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .nk-flow__intro { font-size: var(--text-md); }
}

/* PRO: "20+ notatskabeloner til læger og speciallæger" står øverst og fremhævet (Morten 13/11) */
.nk .nk-plan__feat--hi { font-weight: 500; color: var(--nk-text); }
.nk .nk-plan__feat--hi b { font-weight: 500; color: var(--nk-accent); }

/* Pakke-trinnet (Morten 13/11): den grønne linje står under knappen, og kortene viser "Anbefalet til" med faggrupperne
   som piller (fra /priser-v2) - kliniktypens egen pille er udfyldt */
.nk .nk-pakke > .nk-btn { margin-top: calc(var(--space-6) - var(--nk-gap)); }
.nk .nk-pakke > .nk-plans__free { margin-top: calc(var(--space-4) - var(--nk-gap)); font-size: var(--text-md); }
.nk .nk-pakke > .nk-plans__free .nk-i { width: var(--space-4); height: var(--space-4); }
.nk .nk-pakke > .nk-plans__foot { margin-top: calc(var(--space-3) - var(--nk-gap)); }
.nk .nk-plan__forlist { display: grid; gap: var(--space-2); align-self: stretch; margin-top: var(--space-5); }
.nk .nk-plan__forh { font-size: var(--text-xs); font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--nk-dim); }
.nk .nk-plan__chips { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.nk .nk-plan__chip {
  padding: var(--space-1) var(--space-3); border-radius: var(--pc-radius-pill); border: var(--pc-hairline) solid var(--nk-line-hi);
  font-size: var(--text-sm); line-height: 1.4; color: var(--nk-soft);
}
.nk .nk-plan__chip.is-mine { border-color: transparent; background: color-mix(in oklch, var(--nk-accent) 22%, transparent); color: var(--nk-text); }
@media (min-width: 600px) and (max-height: 880px) { .nk .nk-plan__forlist { margin-top: var(--space-4); } }
@media (max-width: 599px) {
  .nk .nk-plan:not(.nk-brow):not(:has(.nk-plan__input:checked)) .nk-plan__forlist { display: none; }
}
/* "Anbefalet til" gør kortene højere: almindelige bærbare og 1440 x 900 får samme stramme rytme som de lave skærme,
   så knappen står over folden; pillerne er små */
.nk .nk-plan__chip { padding: calc(var(--space-1) / 2) var(--space-3); font-size: var(--text-xs); }
@media (min-width: 600px) and (max-height: 1000px) {
  .nk .nk-pakke > .nk-title { font-size: clamp(32px, 5.4vh, 48px); }
  .nk .nk-plan { padding: var(--space-5) var(--space-6); }
  .nk .nk-plan__price { margin-top: var(--space-3); }
  .nk .nk-plan__price b { font-size: var(--text-6xl); }
  .nk .nk-plan__feats { gap: var(--space-1); margin-top: var(--space-3); padding-top: var(--space-3); }
  .nk .nk-plan__forlist { gap: var(--space-1); margin-top: var(--space-3); }
  .nk .nk-pakke > .nk-btn { margin-top: calc(var(--space-5) - var(--nk-gap)); }
}

/* uden punktlisten (Morten 13/11): "Anbefalet til" får stregen over sig, som listen havde */
.nk .nk-plan__forlist { margin-top: var(--space-4); padding-top: var(--space-4); border-top: var(--pc-hairline) solid var(--nk-line); }

/* pillerne større og blødere (Morten 13/11): let glas med hårfin kant, kliniktypens egen lyseblå med flueben */
.nk .nk-plan__chips { gap: var(--space-2); }
.nk .nk-plan__chip {
  display: inline-flex; align-items: center; gap: var(--space-1); padding: calc(var(--space-1) * 1.5) var(--space-4);
  border: var(--pc-hairline) solid color-mix(in srgb, currentColor 16%, transparent); background: color-mix(in srgb, currentColor 5%, transparent);
  font-size: var(--text-sm); line-height: 1.3; letter-spacing: 0; color: var(--nk-soft);
}
.nk .nk-plan__chip.is-mine { border-color: color-mix(in oklch, var(--nk-accent) 55%, transparent); background: color-mix(in oklch, var(--nk-accent) 18%, transparent); color: var(--nk-text); padding-left: var(--space-3); }
.nk .nk-plan__chip .nk-i { width: var(--space-4); height: var(--space-4); stroke-width: 2.4; color: var(--nk-accent); }

/* "Se indhold i pakkerne" (Morten 13/11): link i bunden af hver boks og et vindue med indholdet, hver pakke for sig */
.nk .nk-plan__more { align-self: flex-start; margin-top: var(--space-4); font-size: var(--text-sm); }
.nk-pkg {
  width: min(calc(100% - var(--space-8)), calc(var(--space-30) * 7.5)); max-height: calc(100dvh - var(--space-8)); box-sizing: border-box;
  margin: auto; padding: var(--space-8) var(--space-10); overflow-y: auto; overscroll-behavior: contain;
  border: var(--pc-hairline) solid var(--pc-control-line); border-radius: var(--pc-radius-card);
  background: color-mix(in srgb, var(--pc-surface) 6%, var(--pc-primary)); color: var(--pc-surface);
  box-shadow: 0 var(--space-12) var(--space-24) calc(var(--space-6) * -1) color-mix(in srgb, black 60%, transparent);
}
.nk-pkg[open] { display: grid; gap: var(--space-6); animation: nk-flow-in 480ms var(--pc-ease-soft) both; }
.nk-pkg::backdrop { background: color-mix(in srgb, var(--pc-ink) 55%, transparent); backdrop-filter: blur(var(--space-1)); }
.nk-pkg__top { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); }
.nk-pkg .nk-link { color: color-mix(in srgb, var(--pc-surface) 75%, transparent); }
.nk-pkg__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-10); }
.nk-pkg__name { margin: 0; font-size: var(--text-3xl); font-weight: 500; letter-spacing: -0.01em; }
.nk-pkg__name em { font-style: normal; color: var(--pc-dark-accent); }
.nk-pkg__price { margin: var(--space-1) 0 0; font-size: var(--text-md); color: color-mix(in srgb, var(--pc-surface) 65%, transparent); }
.nk-pkg__gh { margin: var(--space-5) 0 var(--space-2); font-size: var(--text-xs); font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--pc-dark-accent); }
.nk-pkg__list { display: grid; gap: var(--space-1); margin: 0; padding: 0 0 0 var(--pc-list-indent); list-style: none; }
.nk-pkg__list li { display: flex; align-items: flex-start; gap: var(--space-2); font-size: var(--text-md); line-height: 1.45; color: color-mix(in srgb, var(--pc-surface) 85%, transparent); }
.nk-pkg__list .nk-i { flex: none; width: var(--space-4); height: var(--space-4); margin-top: calc((1.45em - var(--space-4)) / 2); color: var(--pc-dark-accent); stroke-width: 2; }
.nk-pkg__list b { font-weight: 500; color: var(--pc-dark-accent); }
.nk-pkg__note { margin: 0; font-size: var(--text-sm); color: color-mix(in srgb, var(--pc-surface) 55%, transparent); }
@media (max-width: 699px) {
  .nk-pkg { width: calc(100% - var(--space-4)); padding: var(--space-6) var(--space-5); }
  .nk-pkg__cols { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); }
}
@media (prefers-reduced-motion: reduce) { .nk-pkg[open] { animation: none; } }

/* Opret konto (Morten 13/11): fornavn og efternavn side om side, telefon valgfri */
.nk .nk-om__pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.nk .nk-om .nk-opt { color: var(--nk-dim); }
@media (max-width: 359px) { .nk .nk-om__pair { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); } }
/* fluebenet "klinikejer eller daglig leder" flugter med nyhedsbrevet (Morten 13/11) */
.nk .nk-om .nk-owner { margin: 0; max-width: none; }
.nk .nk-om .nk-owner + .nk-optin { margin-top: calc(var(--space-3) * -1); }
/* Opret konto komprimeret (Morten 13/11): mindre luft, lidt lavere felter og mindre overskrift */
.nk .nk-klinik { --nk-field-h: calc(var(--space-10) + var(--space-1)); --nk-gap-first: var(--space-6); }
.nk .nk-klinik > .nk-title { font-size: clamp(36px, min(4vw, 6.4vh), 56px); }
.nk .nk-klinik .nk-om { gap: var(--space-3); }
.nk .nk-klinik .nk-field { gap: var(--space-1); }
.nk .nk-klinik .nk-om__pair { gap: var(--space-3); }
.nk .nk-om .nk-owner + .nk-optin { margin-top: calc(var(--space-1) * -1); }
.nk .nk-klinik .nk-om > .nk-btn { margin-top: var(--space-2); }
@media (max-width: 599px) { .nk .nk-klinik > .nk-title { font-size: var(--text-5xl); } }
.nk .nk-om__pair { align-items: start; }
.nk .nk-om__pair .nk-field, .nk .nk-klinik .nk-field { grid-template-rows: auto auto; align-content: start; }
.nk .nk-klinik .nk-field > :not(label):not(input):not(.nk-err):not(.nk-combo__row):not(.nk-combo__list):not(.nk-combo__hit) { position: absolute; }  /* indsprøjtede ikoner fra password-managere må ikke skubbe felterne */
.nk .nk-klinik .nk-field { position: relative; }
.nk .nk-klinik .nk-om > .nk-klinik__why { margin: var(--space-2) 0 0; }  /* luft mellem knappen og "Hvorfor MitID?" (Morten 13/11) */

/* "klinikejer", "daglig leder" og "eget CVR" fremhævet i fluebenet (Morten 13/11) */
.nk .nk-owner .nk-agree__text b { font-weight: 500; color: var(--nk-text); }

/* Password-managere (LastPass, 1Password, Bitwarden) må aldrig skubbe felterne i /ny-klinik (Morten 13/11: "generelt").
   Felterne ignoreres via data-attributter, og ikoner, der alligevel sættes ind ved siden af feltet, lægges ovenpå */
.nk .nk-field, .nk .nk-ask__row, .nk .nk-inline { position: relative; }
/* kun elementer, der står EFTER feltet (dér sætter password-managere deres ikoner) - feltnavne før feltet røres ikke */
.nk .nk-field input ~ :is(div, span, img):not(.nk-err):not([class*="nk-"]),
.nk .nk-combo__row > input ~ *,
.nk .nk-inline > input ~ :is(div, img):not([class*="nk-"]) { position: absolute !important; }
/* jævn afstand mellem alle felter og flueben (Morten 13/11) */
.nk .nk-klinik .nk-om { gap: var(--space-4); }
.nk .nk-klinik .nk-om__pair { gap: var(--space-4); }
.nk .nk-om .nk-owner + .nk-optin { margin-top: 0; }
.nk .nk-klinik .nk-om > .nk-btn { margin-top: var(--space-2); }
/* "Se indhold i pakkerne" står nederst i begge bokse (Morten 13/11): kortene er lige høje, og linket skubbes ned */
@media (min-width: 600px) { .nk .nk-plans__list { align-items: stretch; } }
.nk .nk-plan__more { margin-top: auto; padding-top: var(--space-5); }
/* smalle telefoner (Morten 13/11: "Tilbage" og sprogvælgeren rørte hinanden): telefonikon uden tekst og smallere sprogknapper */
@media (max-width: 439px) {
  .nk .nk-help__short { display: none; }
  .nk .nk-help { min-width: var(--pc-control); justify-content: center; }
  .nk .nk-lang button { min-width: 0; padding-left: var(--space-2); padding-right: var(--space-2); }
}
@media (max-width: 359px) {  /* de mindste telefoner: "Tilbage" som pil alene (teksten læses stadig op) */
  .nk .nk-back { font-size: 0; gap: 0; min-width: var(--pc-control); justify-content: center; padding-left: 0; padding-right: 0; }
  .nk .nk-back .nk-i { font-size: var(--text-lg); }
}
