@font-face{font-family:"Red Hat Display";src:url(/res/fonts/red-hat-display-800.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Red Hat Display";src:url(/res/fonts/red-hat-display-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Public Sans";src:url(/res/fonts/public-sans-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Public Sans";src:url(/res/fonts/public-sans-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Public Sans";src:url(/res/fonts/public-sans-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Public Sans";src:url(/res/fonts/public-sans-400i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(/res/fonts/jetbrains-mono-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
/* Leasing Bil – asfalt, vejgul og skiltblå på hvidt. Mobil først. */

:root {
  --xr-asfalt: #14181D;
  --xr-asfalt-2: #232A33;
  --xr-asfalt-3: #3A4450;
  --xr-vejgul: #FFD000;
  --xr-skiltblaa: #0F4FC4;
  --xr-skiltblaa-dyb: #0A3A94;
  --xr-skiltblaa-lys: #E3ECFF;
  --xr-hvid: #FFFFFF;
  --xr-lysgraa: #EEF2F5;
  --xr-streg: #C9D1D9;
  --xr-graatekst: #4A5561;
  --xr-sidetekst: #AEB8C2;
  --xr-r: 2px;
  --xr-luft: 1.25rem;
  --xr-maal: 46rem;
  --xr-kolonne: 17.5rem;
  --xr-overskrift: "Red Hat Display", "Segoe UI", system-ui, sans-serif;
  --xr-tekst: "Public Sans", "Segoe UI", system-ui, sans-serif;
  --xr-mono: "JetBrains Mono", ui-monospace, Consolas, monospace;
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

body {
  margin: 0;
  color: var(--xr-asfalt);
  background: var(--xr-hvid);
  font: 400 1.0625rem/1.65 var(--xr-tekst);
}

img { max-width: 100%; height: auto; }

a { color: var(--xr-skiltblaa); text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover { color: var(--xr-skiltblaa-dyb); text-decoration-thickness: 2px; }

:focus-visible { outline: 3px solid var(--xr-skiltblaa); outline-offset: 2px; }
.xr-sidekolonne :focus-visible,
.xr-forside-blok :focus-visible,
.xr-rute-etape-opslag :focus-visible { outline-color: var(--xr-vejgul); }

h1, h2, h3, h4 { color: var(--xr-asfalt); font-family: var(--xr-overskrift); overflow-wrap: break-word; }

.xr-skjult {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}

.xr-genvej {
  position: absolute; left: .75rem; top: -5rem; z-index: 60;
  padding: .65rem 1rem; background: var(--xr-vejgul); color: var(--xr-asfalt);
  font-weight: 700; text-decoration: none; border-radius: var(--xr-r);
}
.xr-genvej:focus { top: .75rem; }

/* ---------- Sidekolonne (topbjælke på mobil) ---------- */
.xr-sidekolonne {
  position: relative; z-index: 20;
  padding: .7rem var(--xr-luft);
  background: var(--xr-asfalt); color: var(--xr-hvid);
}
.xr-sidekolonne-top { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
.xr-logo { display: inline-flex; flex: none; border-radius: var(--xr-r); }
.xr-logo svg { display: block; width: auto; height: 3.1rem; }
.xr-kolonne-intro { display: none; }
.xr-guide-fast { display: none; }

.xr-menuknap {
  display: inline-flex; align-items: center; gap: .55rem; list-style: none; cursor: pointer;
  padding: .55rem .85rem; color: var(--xr-vejgul);
  border: 2px solid var(--xr-vejgul); border-radius: var(--xr-r);
  font: 700 .9375rem/1 var(--xr-tekst); white-space: nowrap;
}
.xr-menuknap::-webkit-details-marker { display: none; }
.xr-menuknap::marker { content: ""; }
.xr-menuknap-ikon {
  display: block; width: 1.1rem; height: .8rem;
  background:
    linear-gradient(currentColor 0 0) top / 100% 2px no-repeat,
    linear-gradient(currentColor 0 0) center / 100% 2px no-repeat,
    linear-gradient(currentColor 0 0) bottom / 100% 2px no-repeat;
}
.xr-menu[open] .xr-menuknap { background: var(--xr-vejgul); color: var(--xr-asfalt); }
.xr-guide-mobil {
  position: absolute; left: 0; right: 0; top: 100%;
  max-height: calc(100vh - 4.5rem); max-height: calc(100dvh - 4.5rem); overflow-y: auto;
  padding: 1rem var(--xr-luft) 1.5rem;
  background: var(--xr-asfalt);
  border-top: 1px solid var(--xr-asfalt-3); border-bottom: 4px solid var(--xr-vejgul);
  box-shadow: 0 14px 28px rgba(0, 0, 0, .28);
}

/* Guiden: tre faser og opslag */
.xr-guide-liste, .xr-guide-emner { list-style: none; margin: 0; padding: 0; }
.xr-guide-start { margin-bottom: .4rem; }
.xr-guide-gruppe { margin-top: 1.1rem; }
.xr-guide-gruppenavn {
  display: flex; align-items: center; gap: .55rem; margin: 0 0 .35rem;
  color: var(--xr-hvid); font: 700 .9375rem/1.25 var(--xr-overskrift);
}
.xr-guide-nr {
  display: grid; place-items: center; flex: none; width: 1.6rem; height: 1.6rem;
  background: var(--xr-vejgul); color: var(--xr-asfalt); border-radius: var(--xr-r);
  font: 800 .9375rem/1 var(--xr-overskrift);
}
.xr-guide-nr-opslag { background: var(--xr-skiltblaa); }
.xr-guide-nr-opslag::before { content: ""; width: .55rem; height: .55rem; background: var(--xr-hvid); transform: rotate(45deg); }
.xr-guide-emner { margin-left: .72rem; border-left: 2px dashed rgba(255, 208, 0, .6); }
.xr-guide-link {
  display: block; padding: .4rem .6rem .4rem .85rem;
  color: var(--xr-hvid); text-decoration: none;
  font: 500 .9375rem/1.3 var(--xr-tekst);
  border-radius: 0 var(--xr-r) var(--xr-r) 0;
}
.xr-guide-link:hover { color: var(--xr-vejgul); background: var(--xr-asfalt-2); text-decoration: underline; }
.xr-guide-link[aria-current="page"] { color: var(--xr-asfalt); background: var(--xr-vejgul); font-weight: 700; text-decoration: none; }
.xr-guide-link-forside {
  padding: .5rem .75rem; border: 2px solid var(--xr-asfalt-3); border-radius: var(--xr-r); font-weight: 600;
}
.xr-guide-link-forside[aria-current="page"] { border-color: var(--xr-vejgul); }

/* ---------- Forbehold (strict mode) ---------- */
.xr-hovedspalte { min-width: 0; overflow-x: clip; }
.xr-forbehold {
  display: flex; align-items: flex-start; gap: .65rem;
  padding: .75rem var(--xr-luft);
  background: var(--xr-vejgul); color: var(--xr-asfalt);
  border-bottom: 3px solid var(--xr-asfalt);
}
.xr-forbehold-ikon { flex: none; width: 1.35rem; height: 1.35rem; margin-top: .08rem; }
.xr-forbehold-tekst { margin: 0; font: 400 .9375rem/1.45 var(--xr-tekst); overflow-wrap: anywhere; }
.xr-forbehold-tekst strong { font-weight: 700; }

/* ---------- Hovedindhold ---------- */
.xr-indhold { display: block; padding: 1.75rem var(--xr-luft) 3rem; }
.xr-type-home .xr-indhold { padding-top: 0; }

.xr-knap {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem; cursor: pointer;
  padding: .8rem 1.2rem; max-width: 100%;
  color: var(--xr-asfalt); background: var(--xr-vejgul);
  border: 2px solid var(--xr-vejgul); border-radius: var(--xr-r);
  font: 700 1rem/1.15 var(--xr-tekst); text-decoration: none; text-align: center;
}
.xr-knap:hover { color: var(--xr-vejgul); background: var(--xr-asfalt); border-color: var(--xr-vejgul); text-decoration: none; }
.xr-knap-kontur { color: var(--xr-hvid); background: transparent; border-color: var(--xr-hvid); }
.xr-knap-kontur:hover { color: var(--xr-asfalt); background: var(--xr-hvid); border-color: var(--xr-hvid); }

/* ---------- Forside: farveblok ---------- */
.xr-forside-blok {
  container: forside / inline-size;
  position: relative;
  margin: 0 calc(-1 * var(--xr-luft));
  padding: 2rem var(--xr-luft) 3.4rem;
  background: var(--xr-asfalt); color: var(--xr-hvid);
}
.xr-forside-blok::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 1.3rem; height: .375rem;
  background: repeating-linear-gradient(90deg, var(--xr-vejgul) 0 2.75rem, transparent 2.75rem 4.5rem);
}
.xr-forside-gitter { display: grid; gap: 1.75rem; }
.xr-forside-overrubrik {
  margin: 0 0 .8rem; color: var(--xr-vejgul);
  font: 500 .8125rem/1.3 var(--xr-mono); letter-spacing: .06em; text-transform: uppercase;
}
.xr-forside-rubrik {
  margin: 0; color: var(--xr-hvid);
  font: 800 clamp(2.05rem, 1.45rem + 3vw, 3.35rem)/1.04 var(--xr-overskrift); letter-spacing: -.025em;
}
.xr-forside-ingress { margin: 1rem 0 0; max-width: 36rem; color: #DCE2E8; font-size: 1.125rem; line-height: 1.55; overflow-wrap: anywhere; }
.xr-forside-knapper { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.xr-figur.xr-forside-foto { margin: 0; max-width: none; }
.xr-forside-foto .xr-figur-billede { box-shadow: .55rem .55rem 0 var(--xr-vejgul); }
.xr-forside-foto .xr-billedtekst { margin-top: 1rem; color: var(--xr-sidetekst); }
.xr-forside-vej svg { display: block; width: 100%; height: auto; border-radius: var(--xr-r); box-shadow: .55rem .55rem 0 var(--xr-vejgul); }

@container forside (min-width: 42rem) {
  .xr-forside-gitter { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: center; gap: 2.25rem; }
}

/* ---------- Forside: ruten gennem guiden ---------- */
.xr-rute { margin-top: 2.75rem; }
.xr-rute-hoved { max-width: var(--xr-maal); }
.xr-sektionstitel {
  margin: 0 0 .5rem;
  font: 800 clamp(1.5rem, 1.25rem + 1vw, 2rem)/1.15 var(--xr-overskrift); letter-spacing: -.015em;
}
.xr-rute-intro { margin: 0 0 1.75rem; color: var(--xr-graatekst); }
.xr-rute-liste { list-style: none; margin: 0; padding: 0; }
.xr-rute-etape {
  position: relative; display: grid; grid-template-columns: 3.25rem minmax(0, 1fr); gap: 0 1rem;
  padding-bottom: 2rem;
}
/* Vejen: asfaltbånd med midterstribe mellem rutepunkterne. */
.xr-rute-etape::before {
  content: ""; position: absolute; top: 0; bottom: 0; left: .5rem; width: 2.25rem;
  background: var(--xr-asfalt);
}
.xr-rute-etape::after {
  content: ""; position: absolute; top: 3.6rem; bottom: .4rem; left: calc(1.625rem - 2px); width: 4px;
  background: repeating-linear-gradient(180deg, var(--xr-vejgul) 0 1.1rem, transparent 1.1rem 2rem);
}
.xr-rute-etape:first-child::before { top: 1.625rem; }
.xr-rute-etape:last-child::before { bottom: auto; height: 1.625rem; }
.xr-rute-etape:last-child::after { display: none; }
.xr-rutepunkt {
  position: relative; z-index: 1; grid-column: 1; align-self: start;
  display: grid; place-items: center; width: 3.25rem; height: 3.25rem;
  background: var(--xr-vejgul); color: var(--xr-asfalt);
  border: 4px solid var(--xr-hvid); border-radius: 50%; box-shadow: 0 0 0 2px var(--xr-asfalt);
  font: 800 1.4rem/1 var(--xr-overskrift);
}
.xr-rutepunkt-maal { background: var(--xr-skiltblaa); }
.xr-rutepunkt-maal svg { display: block; width: 1.4rem; height: 1.4rem; }
.xr-rute-krop { grid-column: 2; min-width: 0; padding-top: .25rem; }
.xr-rute-navn { margin: 0 0 .4rem; font: 800 1.375rem/1.2 var(--xr-overskrift); letter-spacing: -.01em; }
.xr-rute-fasenr {
  display: block; margin-bottom: .2rem; color: var(--xr-graatekst);
  font: 500 .75rem/1.2 var(--xr-mono); letter-spacing: .08em; text-transform: uppercase;
}
.xr-rute-tekst { margin: 0 0 .9rem; max-width: 40rem; color: var(--xr-graatekst); overflow-wrap: anywhere; }
.xr-afkoersler { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: 0; padding: 0; }
.xr-afkoersler li { display: flex; max-width: 100%; }
.xr-afkoersel {
  display: inline-block; max-width: 100%; padding: .5rem .8rem;
  color: var(--xr-asfalt); background: var(--xr-hvid);
  border: 2px solid var(--xr-asfalt); border-radius: var(--xr-r);
  font: 600 .9375rem/1.25 var(--xr-tekst); text-decoration: none; overflow-wrap: break-word;
}
.xr-afkoersel:hover { color: var(--xr-asfalt); background: var(--xr-vejgul); text-decoration: none; }
.xr-rute-etape-opslag { padding-bottom: 0; }
.xr-rute-etape-opslag .xr-rute-krop {
  padding: 1.1rem 1.15rem 1.25rem;
  background: var(--xr-skiltblaa); color: var(--xr-hvid); border-radius: var(--xr-r);
}
.xr-rute-etape-opslag .xr-rute-navn { color: var(--xr-hvid); }
.xr-rute-etape-opslag .xr-rute-tekst { color: var(--xr-skiltblaa-lys); }
.xr-rute-etape-opslag .xr-afkoersel { color: var(--xr-hvid); background: transparent; border-color: var(--xr-hvid); }
.xr-rute-etape-opslag .xr-afkoersel:hover { color: var(--xr-skiltblaa-dyb); background: var(--xr-hvid); }

.xr-brodtekst.xr-forside-indhold { margin-top: 3rem; max-width: none; }
.xr-forside-indhold > * { max-width: var(--xr-maal); }
/* Sammenligningstabellen på forsiden må bruge hele spaltens bredde. */
.xr-forside-indhold > table { max-width: 100%; }
.xr-forside-efter > :first-child { margin-top: 2.75rem; }

/* ---------- Sidetop ---------- */
.xr-sidetop {
  position: relative; max-width: var(--xr-maal);
  padding-bottom: 1.35rem; margin-bottom: 1.5rem;
  border-bottom: 3px solid var(--xr-asfalt);
}
.xr-sidetop::after {
  content: ""; position: absolute; left: 0; bottom: -6px; width: 4.5rem; height: 9px;
  background: var(--xr-vejgul); border: 2px solid var(--xr-asfalt); border-radius: var(--xr-r);
}
.xr-overrubrik {
  display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .65rem;
  margin: 0 0 .9rem; font: 600 .9375rem/1.3 var(--xr-tekst);
}
.xr-overrubrik-maerke {
  display: inline-block; padding: .32rem .6rem;
  color: var(--xr-asfalt); background: var(--xr-vejgul); border-radius: var(--xr-r);
  font: 500 .8125rem/1.2 var(--xr-mono); letter-spacing: .04em; text-transform: uppercase;
}
.xr-overrubrik-maerke-opslag { color: var(--xr-hvid); background: var(--xr-skiltblaa); }
.xr-overrubrik-link {
  color: var(--xr-asfalt); font-weight: 700;
  text-decoration: underline; text-decoration-color: var(--xr-skiltblaa);
  text-decoration-thickness: 2px; text-underline-offset: 4px;
}
.xr-overrubrik-link:hover { color: var(--xr-skiltblaa-dyb); text-decoration-thickness: 3px; }
.xr-rubrik {
  margin: 0;
  font: 800 clamp(1.9rem, 1.45rem + 2vw, 2.75rem)/1.08 var(--xr-overskrift); letter-spacing: -.02em;
}
.xr-ingress { margin: .9rem 0 0; font-size: 1.1875rem; line-height: 1.5; overflow-wrap: anywhere; }
.xr-dato { margin: .8rem 0 0; color: var(--xr-graatekst); font: 500 .8125rem/1.3 var(--xr-mono); }

/* ---------- Billeder ---------- */
.xr-figur { margin: 1.5rem 0 1.85rem; max-width: var(--xr-maal); }
.xr-figur-billede { display: block; width: 100%; height: auto; background: var(--xr-lysgraa); border-radius: var(--xr-r); }
.xr-billedtekst {
  display: flex; align-items: center; gap: .5rem; margin-top: .5rem;
  color: var(--xr-graatekst); font: 500 .75rem/1.3 var(--xr-mono); letter-spacing: .02em;
}
.xr-billedtekst::before { content: ""; flex: none; width: 1.25rem; height: .3rem; background: var(--xr-vejgul); }

/* ---------- Brødtekst ---------- */
.xr-brodtekst { max-width: var(--xr-maal); overflow-wrap: anywhere; }
.xr-brodtekst > :first-child { margin-top: 0; }
.xr-brodtekst p, .xr-brodtekst ul, .xr-brodtekst ol { margin: 0 0 1.1em; }
.xr-brodtekst h2 {
  position: relative; margin: 2.2em 0 .6em; padding-top: .95rem;
  font: 800 clamp(1.4rem, 1.2rem + .8vw, 1.75rem)/1.2 var(--xr-overskrift); letter-spacing: -.01em;
  overflow-wrap: break-word;
}
.xr-brodtekst h2::before {
  content: ""; position: absolute; top: 0; left: 0; width: 2.5rem; height: .3rem;
  background: var(--xr-vejgul); box-shadow: 3.25rem 0 0 var(--xr-vejgul), 6.5rem 0 0 var(--xr-vejgul);
}
.xr-brodtekst > h2:first-child { margin-top: 0; }
.xr-brodtekst h3 { margin: 1.8em 0 .5em; font: 700 1.25rem/1.25 var(--xr-overskrift); overflow-wrap: break-word; }
.xr-brodtekst h4 { margin: 1.5em 0 .4em; font: 700 1.0625rem/1.3 var(--xr-overskrift); overflow-wrap: break-word; }
.xr-brodtekst strong { font-weight: 700; }
.xr-brodtekst ul { list-style: none; padding-left: 1.4rem; }
.xr-brodtekst li { margin: .3em 0; }
.xr-brodtekst ul > li { position: relative; }
.xr-brodtekst ul > li::before {
  content: ""; position: absolute; left: -1.2rem; top: .5em; width: .55rem; height: .55rem;
  background: var(--xr-vejgul); border: 2px solid var(--xr-asfalt); transform: rotate(45deg);
}
.xr-brodtekst ul ul > li::before { background: var(--xr-hvid); }
.xr-brodtekst li > ul, .xr-brodtekst li > ol { margin: .3em 0 .4em; }
.xr-brodtekst ol { padding-left: 1.75rem; }
.xr-brodtekst ol > li { padding-left: .2rem; }
.xr-brodtekst ol > li::marker { color: var(--xr-asfalt); font: 500 .9375rem var(--xr-mono); }
.xr-brodtekst blockquote {
  margin: 1.5em 0; padding: 1rem 1.25rem;
  background: var(--xr-lysgraa); border-left: 6px solid var(--xr-vejgul); border-radius: 0 var(--xr-r) var(--xr-r) 0;
  font-size: 1.0625rem;
}
.xr-brodtekst blockquote > :last-child { margin-bottom: 0; }

/* Ordbogen: bogstavoverskrifterne bliver skilte. */
.xr-side-ordbog .xr-brodtekst h2 {
  display: inline-grid; place-items: center; min-width: 2.75rem; height: 2.75rem;
  margin: 2rem 0 .6rem; padding: 0 .55rem;
  color: var(--xr-vejgul); background: var(--xr-asfalt); border-radius: var(--xr-r);
  font: 800 1.5rem/1 var(--xr-overskrift);
}
.xr-side-ordbog .xr-brodtekst h2::before { content: none; }
.xr-side-ordbog .xr-brodtekst h2 + p { margin-top: 0; }
.xr-side-ordbog .xr-brodtekst p strong:first-child { font-family: var(--xr-overskrift); font-weight: 800; }

/* Tabeller. Brødteksten er en container, så tabellerne følger spaltens bredde og ikke skærmens.
   Smal spalte: blok med vandret rulning som nødudgang (to kolonner), eller stablede rækker (3+ kolonner,
   se nederst). Cellerne må kun bryde ord, hvis et ord ellers ville sprænge spalten. */
.xr-brodtekst { container: tekst / inline-size; }
.xr-brodtekst table {
  display: table; width: 100%; max-width: 100%; margin: 1.5em 0;
  border-collapse: collapse; border-spacing: 0;
  font-size: .9375rem; line-height: 1.45; overflow-wrap: break-word;
}
.xr-brodtekst th, .xr-brodtekst td {
  padding: .6rem .7rem; text-align: left; vertical-align: top;
  border-bottom: 1px solid var(--xr-streg); overflow-wrap: break-word;
}
.xr-brodtekst thead th {
  color: var(--xr-hvid); background: var(--xr-asfalt);
  font: 700 .9375rem/1.3 var(--xr-overskrift);
  border-bottom: 4px solid var(--xr-vejgul);
}
.xr-brodtekst tbody tr:nth-child(even) > * { background: var(--xr-lysgraa); }
.xr-brodtekst tbody td:first-child, .xr-brodtekst tbody th { font-weight: 600; }

/* ---------- Spørgsmål og svar, kilder ---------- */
.xr-svar, .xr-kilder { max-width: var(--xr-maal); margin-top: 2.75rem; }
.xr-svar-liste { display: grid; gap: .75rem; margin-top: 1rem; }
.xr-svar-punkt {
  padding: 1rem 1.15rem 1.05rem;
  background: var(--xr-lysgraa); border-left: 6px solid var(--xr-vejgul); border-radius: 0 var(--xr-r) var(--xr-r) 0;
}
.xr-svar-spoergsmaal { margin: 0 0 .35rem; font: 700 1.125rem/1.3 var(--xr-overskrift); }
.xr-svar-tekst { margin: 0; overflow-wrap: anywhere; }
.xr-kildeliste { margin: .75rem 0 0; padding-left: 1.6rem; font-size: .9375rem; }
.xr-kildeliste li { margin: .4rem 0; overflow-wrap: anywhere; }
.xr-kildeliste li::marker { color: var(--xr-graatekst); font-family: var(--xr-mono); }
.xr-kilde-vaert { color: var(--xr-graatekst); font: 500 .8125rem/1.3 var(--xr-mono); }

/* ---------- Forrige og næste i guiden ---------- */
.xr-bladre { display: grid; gap: .75rem; max-width: var(--xr-maal); margin-top: 3rem; }
.xr-bladre-link {
  display: flex; flex-direction: column; gap: .25rem; min-width: 0;
  padding: .95rem 1.15rem; color: var(--xr-asfalt); text-decoration: none; border-radius: var(--xr-r);
}
.xr-bladre-link:hover { color: var(--xr-asfalt); }
.xr-bladre-forrige { background: var(--xr-lysgraa); border-left: 6px solid var(--xr-asfalt); }
.xr-bladre-naeste { align-items: flex-end; text-align: right; background: var(--xr-vejgul); border-right: 6px solid var(--xr-asfalt); }
.xr-bladre-retning { font: 500 .75rem/1.2 var(--xr-mono); letter-spacing: .06em; text-transform: uppercase; }
.xr-bladre-titel { font: 800 1.15rem/1.25 var(--xr-overskrift); overflow-wrap: break-word; }
.xr-bladre-link:hover .xr-bladre-titel { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }

/* ---------- Oversigt (liste og 404) ---------- */
.xr-oversigt { max-width: var(--xr-maal); margin-top: 2.5rem; }
.xr-oversigt-grupper { display: grid; gap: 1rem; margin-top: 1rem; }
.xr-oversigt-gruppe { padding: 1rem 1.15rem 1.1rem; background: var(--xr-lysgraa); border-top: 4px solid var(--xr-asfalt); }
.xr-oversigt-gruppe-opslag { border-top-color: var(--xr-skiltblaa); }
.xr-oversigt-navn { margin: 0 0 .5rem; font: 800 1.15rem/1.3 var(--xr-overskrift); }
.xr-oversigt-nr {
  display: inline-block; margin-right: .2rem; padding: .15rem .45rem; vertical-align: .12em;
  background: var(--xr-vejgul); border-radius: var(--xr-r);
  font: 500 .75rem/1.3 var(--xr-mono); letter-spacing: .04em; text-transform: uppercase;
}
.xr-oversigt-liste { margin: 0; padding-left: 1.2rem; }
.xr-oversigt-liste li { margin: .4rem 0; overflow-wrap: anywhere; }
.xr-oversigt-link { font-weight: 600; }
.xr-oversigt-beskrivelse { display: block; color: var(--xr-graatekst); font-size: .9375rem; line-height: 1.5; }
.xr-ikkefundet-handling { margin-top: 1.5rem; }

/* ---------- Kontaktformular ---------- */
.xr-kontaktfelt { max-width: var(--xr-maal); margin-top: 2rem; }
.xr-kontaktfelt p[role="status"] {
  margin: 0 0 1rem; padding: .8rem 1rem;
  color: var(--xr-asfalt); background: var(--xr-vejgul); border-radius: var(--xr-r); font-weight: 600;
}
.xr-formular {
  display: grid; gap: 1rem; padding: 1.35rem 1.15rem 1.5rem;
  background: var(--xr-lysgraa); border-top: 6px solid var(--xr-asfalt); border-radius: var(--xr-r);
}
.xr-formular-titel { margin: 0; font: 800 1.35rem/1.2 var(--xr-overskrift); }
.xr-formular-note { margin: -.35rem 0 0; color: var(--xr-graatekst); font-size: .9375rem; line-height: 1.5; }
.xr-felt { display: grid; gap: .3rem; }
.xr-formular label { font: 600 .9375rem/1.3 var(--xr-tekst); }
.xr-formular input[type="text"], .xr-formular input[type="email"], .xr-formular textarea {
  display: block; width: 100%; padding: .7rem .75rem;
  color: var(--xr-asfalt); background: var(--xr-hvid);
  border: 2px solid var(--xr-asfalt); border-radius: var(--xr-r);
  font: 400 1rem/1.4 var(--xr-tekst);
}
.xr-formular textarea { min-height: 9rem; resize: vertical; }
.xr-formular input:focus-visible, .xr-formular textarea:focus-visible { outline: 3px solid var(--xr-skiltblaa); outline-offset: 1px; }
.xr-faelde { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.xr-formular-send { padding-top: .25rem; }

/* ---------- Sidefod ---------- */
.xr-sidefod {
  padding: 2rem var(--xr-luft) 2.25rem; text-align: center;
  color: var(--xr-graatekst); font-size: .875rem; line-height: 1.5;
}
.xr-sidefod::before {
  content: ""; display: block; width: 8.25rem; height: .3rem; margin: 0 auto 1.35rem;
  background: repeating-linear-gradient(90deg, var(--xr-asfalt) 0 1.5rem, transparent 1.5rem 2.25rem);
}
.xr-sidefod-navn { margin: 0; color: var(--xr-asfalt); font: 800 1.05rem/1.3 var(--xr-overskrift); }
.xr-sidefod-tekst { max-width: 34rem; margin: .3rem auto 0; overflow-wrap: anywhere; }
.xr-sidefod-liste {
  display: flex; flex-wrap: wrap; justify-content: center; gap: .3rem 1.25rem;
  list-style: none; margin: .9rem 0 0; padding: 0;
}
.xr-sidefod-link { color: var(--xr-asfalt); font-weight: 600; }
.xr-sidefod-link[aria-current="page"] { text-decoration-color: var(--xr-skiltblaa); text-decoration-thickness: 3px; }
.xr-sidefod-copy { margin: .9rem 0 0; font: 500 .8125rem/1.3 var(--xr-mono); }

/* ---------- Smal spalte: tabeller stables ----------
   Hver række bliver et kort med første celle som titel og de øvrige celler under hinanden.
   Kolonneoverskrifterne står øverst som en nøgle, og hver kolonne har sin egen markør
   (gul firkant, blå cirkel, sort rombe, hvid cirkel), så ord aldrig skal brydes i smalle celler. */
@container tekst (max-width: 37.49rem) {
  .xr-brodtekst table { display: block; width: auto; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .xr-brodtekst table:has(tr > :nth-child(3)) { display: block; width: auto; overflow-x: visible; }
  .xr-brodtekst table:has(tr > :nth-child(3)) :is(thead, tbody, tr) { display: block; }
  .xr-brodtekst table:has(tr > :nth-child(3)) :is(th, td) {
    display: block; position: relative; padding: .2rem .65rem .2rem 2rem;
    background: none; border: 0; overflow-wrap: break-word;
  }
  .xr-brodtekst table:has(tr > :nth-child(3)) tr > :first-child { padding: .7rem .65rem .25rem; }
  .xr-brodtekst table:has(tr > :nth-child(3)) tr > :last-child { padding-bottom: .75rem; }
  .xr-brodtekst table:has(tr > :nth-child(3)) tbody tr { border-bottom: 1px solid var(--xr-streg); }
  .xr-brodtekst table:has(tr > :nth-child(3)) tbody tr:nth-child(even) > * { background: none; }
  .xr-brodtekst table:has(tr > :nth-child(3)) tbody tr > :first-child { font: 700 1rem/1.3 var(--xr-overskrift); }
  .xr-brodtekst table:has(tr > :nth-child(3)) thead tr { padding: .2rem 0; background: var(--xr-lysgraa); border-left: 6px solid var(--xr-asfalt); }
  .xr-brodtekst table:has(tr > :nth-child(3)) thead th { color: var(--xr-asfalt); font: 600 .875rem/1.35 var(--xr-tekst); }
  .xr-brodtekst table:has(tr > :nth-child(3)) thead th:first-child { color: var(--xr-graatekst); font: 500 .75rem/1.3 var(--xr-mono); letter-spacing: .06em; text-transform: uppercase; }
  .xr-brodtekst table:has(tr > :nth-child(3)) thead th:first-child:empty { display: none; }
  .xr-brodtekst table:has(tr > :nth-child(3)) tr > :nth-child(n+2)::before {
    content: ""; position: absolute; left: .7rem; top: .5rem; width: .75rem; height: .75rem; box-sizing: border-box;
  }
  .xr-brodtekst table:has(tr > :nth-child(3)) tr > :nth-child(2)::before { background: var(--xr-vejgul); border: 2px solid var(--xr-asfalt); }
  .xr-brodtekst table:has(tr > :nth-child(3)) tr > :nth-child(3)::before { background: var(--xr-skiltblaa); border-radius: 50%; }
  .xr-brodtekst table:has(tr > :nth-child(3)) tr > :nth-child(4)::before { background: var(--xr-asfalt); transform: rotate(45deg) scale(.82); }
  .xr-brodtekst table:has(tr > :nth-child(3)) tr > :nth-child(5)::before { background: var(--xr-hvid); border: 2px solid var(--xr-asfalt); border-radius: 50%; }
  .xr-brodtekst table:has(tr > :nth-child(3)) tr > :nth-child(n+6)::before { top: .75rem; height: .25rem; background: var(--xr-graatekst); }
}

/* Tabeller med 5+ kolonner stables, til spalten har sin fulde bredde. */
@container tekst (max-width: 45.99rem) {
  .xr-brodtekst table:has(tr > :nth-child(5)) { display: block; width: auto; overflow-x: visible; }
  .xr-brodtekst table:has(tr > :nth-child(5)) :is(thead, tbody, tr) { display: block; }
  .xr-brodtekst table:has(tr > :nth-child(5)) :is(th, td) {
    display: block; position: relative; padding: .2rem .65rem .2rem 2rem;
    background: none; border: 0; overflow-wrap: break-word;
  }
  .xr-brodtekst table:has(tr > :nth-child(5)) tr > :first-child { padding: .7rem .65rem .25rem; }
  .xr-brodtekst table:has(tr > :nth-child(5)) tr > :last-child { padding-bottom: .75rem; }
  .xr-brodtekst table:has(tr > :nth-child(5)) tbody tr { border-bottom: 1px solid var(--xr-streg); }
  .xr-brodtekst table:has(tr > :nth-child(5)) tbody tr:nth-child(even) > * { background: none; }
  .xr-brodtekst table:has(tr > :nth-child(5)) tbody tr > :first-child { font: 700 1rem/1.3 var(--xr-overskrift); }
  .xr-brodtekst table:has(tr > :nth-child(5)) thead tr { padding: .2rem 0; background: var(--xr-lysgraa); border-left: 6px solid var(--xr-asfalt); }
  .xr-brodtekst table:has(tr > :nth-child(5)) thead th { color: var(--xr-asfalt); font: 600 .875rem/1.35 var(--xr-tekst); }
  .xr-brodtekst table:has(tr > :nth-child(5)) thead th:first-child { color: var(--xr-graatekst); font: 500 .75rem/1.3 var(--xr-mono); letter-spacing: .06em; text-transform: uppercase; }
  .xr-brodtekst table:has(tr > :nth-child(5)) thead th:first-child:empty { display: none; }
  .xr-brodtekst table:has(tr > :nth-child(5)) tr > :nth-child(n+2)::before {
    content: ""; position: absolute; left: .7rem; top: .5rem; width: .75rem; height: .75rem; box-sizing: border-box;
  }
  .xr-brodtekst table:has(tr > :nth-child(5)) tr > :nth-child(2)::before { background: var(--xr-vejgul); border: 2px solid var(--xr-asfalt); }
  .xr-brodtekst table:has(tr > :nth-child(5)) tr > :nth-child(3)::before { background: var(--xr-skiltblaa); border-radius: 50%; }
  .xr-brodtekst table:has(tr > :nth-child(5)) tr > :nth-child(4)::before { background: var(--xr-asfalt); transform: rotate(45deg) scale(.82); }
  .xr-brodtekst table:has(tr > :nth-child(5)) tr > :nth-child(5)::before { background: var(--xr-hvid); border: 2px solid var(--xr-asfalt); border-radius: 50%; }
  .xr-brodtekst table:has(tr > :nth-child(5)) tr > :nth-child(n+6)::before { top: .75rem; height: .25rem; background: var(--xr-graatekst); }
}

@media (min-width: 600px) {
  :root { --xr-luft: 2rem; }
  .xr-bladre { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .xr-bladre-naeste { grid-column: 2; }
  .xr-oversigt-grupper { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .xr-formular { padding: 1.6rem 1.75rem 1.75rem; }
  .xr-rute-etape { grid-template-columns: 3.75rem minmax(0, 1fr); gap: 0 1.35rem; }
  .xr-rute-etape::before { left: .5rem; width: 2.75rem; }
  .xr-rute-etape::after { left: calc(1.875rem - 2px); top: 4.1rem; }
  .xr-rute-etape:first-child::before { top: 1.875rem; }
  .xr-rute-etape:last-child::before { height: 1.875rem; }
  .xr-rutepunkt { width: 3.75rem; height: 3.75rem; font-size: 1.6rem; }
}

/* ---------- Skrivebord: mørk sidekolonne til venstre ---------- */
@media (min-width: 960px) {
  :root { --xr-luft: 2.5rem; }
  /* Kolonnens asfalt fortsætter ud til venstre kant på brede skærme. */
  body { background: linear-gradient(90deg, var(--xr-asfalt) 50%, var(--xr-hvid) 50%); }
  .xr-ramme {
    display: grid; grid-template-columns: var(--xr-kolonne) minmax(0, 1fr);
    max-width: 1200px; min-height: 100vh; margin: 0 auto;
  }
  .xr-sidekolonne {
    position: sticky; top: 0; align-self: start; max-height: 100vh; overflow-y: auto;
    padding: 2rem 1.5rem 2.5rem 1.75rem;
    scrollbar-width: thin; scrollbar-color: var(--xr-asfalt-3) transparent;
  }
  .xr-sidekolonne-top { display: block; }
  .xr-logo svg { width: 11.5rem; height: auto; }
  .xr-menu { display: none; }
  .xr-kolonne-intro { display: block; margin: 1.15rem 0 0; color: var(--xr-sidetekst); font-size: .875rem; line-height: 1.5; }
  .xr-guide-fast { display: block; margin-top: 1.6rem; }
  .xr-hovedspalte { display: flex; flex-direction: column; background: var(--xr-hvid); }
  .xr-indhold { flex: 1 0 auto; padding-top: 2.5rem; padding-bottom: 3.5rem; }
  .xr-forside-blok { padding-top: 2.75rem; padding-bottom: 3.75rem; }
}

@media (min-width: 1200px) {
  :root { --xr-luft: 3rem; --xr-kolonne: 18.5rem; }
}

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}

@media print {
  body { background: #fff; }
  .xr-sidekolonne, .xr-bladre, .xr-genvej, .xr-sidefod-menu { display: none; }
  .xr-ramme { display: block; }
  .xr-forside-blok { color: #000; background: #fff; }
  .xr-forside-rubrik { color: #000; }
}
