/* =========================================================
   hjelp.lovdata.no – felles stilark
   Rekkefølge: tokens → grunnstil → layout → komponenter
               → responsivt → utskrift
   ========================================================= */


/* =========================================
   0. FONT (selvhostet IBM Plex Sans)
   Legg fontfilene i /fonts/ på lovdata.no.
   ========================================= */
@font-face {
  font-family: "IBM Plex Sans";
  src: url("/fonts/IBMPlexSans-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Sans";
  src: url("/fonts/IBMPlexSans-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}


/* =========================================
   1. DESIGNTOKENS
   ========================================= */
:root {
  /* Profilfarger – brukes bare her oppe */
  --stortingsrod: #db142c;
  --kardinalrod: #4a0d17;
  --lys-gra: #fbfbfb;
  --dyp-gra: #141414;

  /* Bruksfarger – resten av filen bruker disse */
  --farge-tekst: var(--dyp-gra);
  --farge-tekst-dempet: #5c5c5c;
  --farge-bakgrunn: #ffffff;
  --farge-flate: var(--lys-gra);
  --farge-aksent: var(--stortingsrod);
  --farge-aksent-mork: var(--kardinalrod);
  --farge-lenke: var(--kardinalrod);
  --farge-ramme: #e2e2e2;
  --farge-aksent-lys: #fde8eb;     /* svak stortingsrød flate */

  /* Temafarger for andre tjenester.
     Fargene er hentet fra logoene til Europalov og Lovdata API.
     API-blått (#2b86f0) har for svak kontrast til hvit tekst,
     så API-knappen bruker en mørkere variant av samme blå. */
  --europalov-bla: #003776;
  --europalov-bla-mork: #00224a;
  --europalov-bla-lys: #e6ecf3;
  --api-bla: #2b86f0;           /* logo og kantlinje */
  --api-bla-knapp: #1a5fb4;     /* knapp, 6,3:1 mot hvit tekst */
  --api-bla-mork: #181b2c;      /* «Dyp blå» fra logoen, hover */
  --api-bla-lys: #e8f1fd;
  --farge-fokus: var(--stortingsrod);

  /* Varselbokser */
  --farge-tips-flate: #f3f7f3;
  --farge-tips-kant: #2e6b3a;
  --farge-merk-flate: #f4f4f4;
  --farge-merk-kant: var(--dyp-gra);
  --farge-advarsel-flate: #fdf0f1;
  --farge-advarsel-kant: var(--stortingsrod);

  /* Typografi */
  --font: "IBM Plex Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --tekst-liten: 0.875rem;
  --tekst-normal: 1rem;
  --tekst-mellom: 1.25rem;
  --tekst-stor: 1.5rem;
  --tekst-tittel: 2rem;
  --linjehoyde: 1.6;

  /* Avstander */
  --rom-xs: 0.25rem;
  --rom-s: 0.5rem;
  --rom-m: 1rem;
  --rom-l: 2rem;
  --rom-xl: 3rem;

  /* Søket – hjelpesenterets viktigste element */
  --sok-hoyde: 3.75rem;
  --sok-tekst: 1.25rem;
  --sok-bredde: 48rem;
  --sok-kant: 2px solid var(--dyp-gra);
  --sok-ikon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141414' stroke-width='2.5' stroke-linecap='square'%3E%3Ccircle cx='10' cy='10' r='6.5'/%3E%3Cpath d='M15 15l6 6'/%3E%3C/svg%3E");

  /* Ikoner (tegnet i samme stil som Lovdatas ikongrid) */
  --ikon-dokumenter: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M8 3h8l4 4v11H8z'/%3E%3Cpath d='M4 7v14h12'/%3E%3Cpath d='M11 10h6M11 14h6'/%3E%3C/svg%3E");
  --ikon-ki: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M11 2l2.3 7.2L20.5 11.5l-7.2 2.3L11 21l-2.3-7.2L1.5 11.5l7.2-2.3z' fill='black' stroke='none'/%3E%3Cpath d='M19 2v4M17 4h4'/%3E%3C/svg%3E");
  --ikon-navigasjon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M3 10l9-7 9 7v11H3z'/%3E%3Crect x='10' y='13' width='4' height='4' fill='black' stroke='none'/%3E%3C/svg%3E");
  --ikon-funksjoner: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Cpath d='M12 2v3M12 19v3M2 12h3M19 12h3M4.9 4.9L7 7M17 17l2.1 2.1M4.9 19.1L7 17M17 7l2.1-2.1'/%3E%3C/svg%3E");
  --ikon-utvalg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M3 4h7l2 3h9v13H3z'/%3E%3C/svg%3E");
  --ikon-sok: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Ccircle cx='10' cy='10' r='6.5'/%3E%3Cpath d='M15 15l6 6'/%3E%3C/svg%3E");
  --ikon-eksamen: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M1.5 9L12 4l10.5 5L12 14z' fill='black' stroke='none'/%3E%3Cpath d='M6 12v4.5c0 1.5 2.7 3 6 3s6-1.5 6-3V12'/%3E%3Cpath d='M21 10v6'/%3E%3C/svg%3E");
  --ikon-avtale: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M5 3h10l4 4v14H5z'/%3E%3Cpath d='M9 13l2 2 4-4'/%3E%3C/svg%3E");
  --ikon-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6'/%3E%3Crect x='11' y='6.5' width='2' height='2' fill='black' stroke='none'/%3E%3C/svg%3E");
  --ikon-kommentarer: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M3 5h7l2 2v13l-2-2H3z'/%3E%3Cpath d='M21 5h-7l-2 2v13l2-2h7z'/%3E%3C/svg%3E");
  --ikon-film: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Crect x='3' y='5' width='18' height='14'/%3E%3Cpath d='M10 9v6l5-3z' fill='black'/%3E%3C/svg%3E");
  --ikon-overgang: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M4 12a8 8 0 0 1 13.7-5.7'/%3E%3Cpath d='M18 2v5h-5'/%3E%3Cpath d='M20 12a8 8 0 0 1-13.7 5.7'/%3E%3Cpath d='M6 22v-5h5'/%3E%3C/svg%3E");
  --ikon-huskelapper: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M3 7.5l8.5-1.7 2.2 11-8.5 1.7z'/%3E%3Cpath d='M13.2 7.2l8 1.2-1.6 11-6.5-1'/%3E%3Cpath d='M12.2 2.5v8'/%3E%3Crect x='10.7' y='2' width='3' height='2.5' fill='black' stroke='none'/%3E%3C/svg%3E");
  --ikon-lovkilder: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M12 5v15M7.5 20h9M4 7h16'/%3E%3Ccircle cx='12' cy='4.5' r='1.6' fill='black' stroke='none'/%3E%3Cpath d='M6 7l-3 6.5M6 7l3 6.5M18 7l-3 6.5M18 7l3 6.5'/%3E%3Cpath d='M2.5 13.5h7a3.5 3 0 0 1-7 0zM14.5 13.5h7a3.5 3 0 0 1-7 0z' fill='black' stroke='none'/%3E%3C/svg%3E");
  --ikon-handtrykk: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M2 7v9M22 7v9'/%3E%3Cpath d='M2 8h3l3-2h4'/%3E%3Cpath d='M22 8h-3l-4-2-6 4 2 2 4-2 4 4'/%3E%3Cpath d='M2 15h3l5 4h3l6-4h3'/%3E%3Cpath d='M8 16l2-2M11 17.5l2-2'/%3E%3C/svg%3E");
  --ikon-flagg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M5 3v18M3 21h6'/%3E%3Cpath d='M5 4h14l-3.5 4.5L19 13H5'/%3E%3C/svg%3E");
  --ikon-veiviser: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M11 2v20M7 22h8'/%3E%3Cpath d='M11 4h7.5l3 3-3 3H11'/%3E%3Cpath d='M11 12H5.5l-3 3 3 3H11'/%3E%3C/svg%3E");
  --ikon-bjelle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M6 17V10a6 6 0 0 1 12 0v7'/%3E%3Cpath d='M3.5 17.5h17'/%3E%3Cpath d='M10 21h4'/%3E%3Cpath d='M12 2.5v1.5'/%3E%3C/svg%3E");
  --ikon-prislapp: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M3 3h9l9 9-9 9-9-9z'/%3E%3Crect x='6.5' y='6.5' width='3' height='3' fill='black' stroke='none'/%3E%3C/svg%3E");
  --ikon-kurs: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Crect x='3' y='3.5' width='18' height='11'/%3E%3Cpath d='M7 8h6M7 11h10'/%3E%3Cpath d='M12 14.5v3M8 21.5l4-4 4 4'/%3E%3C/svg%3E");
  --ikon-tariff: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Crect x='3' y='4' width='18' height='16'/%3E%3Cpath d='M3 9h18M3 14.5h18M9.5 4v16'/%3E%3C/svg%3E");
  --ikon-api: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Crect x='1.50' y='1.27' width='6.85' height='14.15'/%3E%3Crect x='15.65' y='1.27' width='6.85' height='7.30'/%3E%3Crect x='8.80' y='15.42' width='13.70' height='7.30'/%3E%3C/svg%3E");
  --ikon-bibliotek: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Cpath d='M3 21h18'/%3E%3Crect x='4' y='5' width='4' height='16'/%3E%3Crect x='8' y='3' width='4' height='18'/%3E%3Cpath d='M14 7.5l3.7-1 3.6 13.5-3.7 1z'/%3E%3C/svg%3E");
  --ikon-lovdata: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'%3E%3Crect x='1.5' y='1.5' width='7' height='14' fill='black' stroke='none'/%3E%3Crect x='15.5' y='1.5' width='7' height='7' fill='black' stroke='none'/%3E%3Crect x='8.5' y='15.5' width='14' height='7' fill='black' stroke='none'/%3E%3C/svg%3E");
  --ikon-europalov: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='7.54' y='7.77' width='5.17' height='10.34' fill='black'/%3E%3Crect x='17.88' y='7.77' width='5.17' height='5.17' fill='black'/%3E%3Crect x='12.71' y='18.11' width='10.34' height='5.17' fill='black'/%3E%3Cpolygon points='12.94,0.81 13.35,1.80 14.42,1.89 13.60,2.58 13.85,3.62 12.94,3.06 12.03,3.62 12.28,2.58 11.46,1.89 12.53,1.80' fill='black'/%3E%3Cpolygon points='7.77,2.22 8.18,3.21 9.25,3.30 8.43,3.99 8.68,5.03 7.77,4.47 6.86,5.03 7.11,3.99 6.29,3.30 7.36,3.21' fill='black'/%3E%3Cpolygon points='17.41,2.93 17.82,3.92 18.88,4.00 18.07,4.70 18.32,5.73 17.41,5.18 16.49,5.73 16.74,4.70 15.93,4.00 16.99,3.92' fill='black'/%3E%3Cpolygon points='3.78,5.75 4.19,6.74 5.25,6.82 4.44,7.52 4.69,8.55 3.78,8.00 2.86,8.55 3.11,7.52 2.30,6.82 3.36,6.74' fill='black'/%3E%3Cpolygon points='2.60,10.68 3.01,11.67 4.08,11.76 3.26,12.45 3.51,13.49 2.60,12.93 1.69,13.49 1.94,12.45 1.12,11.76 2.19,11.67' fill='black'/%3E%3Cpolygon points='3.78,15.62 4.19,16.61 5.25,16.69 4.44,17.39 4.69,18.42 3.78,17.87 2.86,18.42 3.11,17.39 2.30,16.69 3.36,16.61' fill='black'/%3E%3C/svg%3E");
  --ikon-karnov: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Crect x='1.00' y='4.49' width='2.17' height='15.03'/%3E%3Crect x='4.56' y='4.49' width='2.17' height='15.03'/%3E%3Crect x='8.13' y='4.49' width='2.01' height='15.03'/%3E%3Crect x='11.54' y='4.49' width='2.17' height='15.03'/%3E%3Cpolygon points='20.21,4.49 22.07,4.49 16.65,12.00 23.00,19.67 20.99,19.67 14.63,12.00'/%3E%3C/svg%3E");
  --ikon-hjem: var(--ikon-navigasjon);
  --ikon-innstillinger: var(--ikon-funksjoner);

  /* Former */
  --maks-bredde: 70rem;
  --lesebredde: 42rem;   /* ca. 70 tegn per linje i artikler */
  --radius: 2px;         /* nesten firkantet, som logoen */
  --kant: 1px solid var(--farge-ramme);
}


/* =========================================
   2. GRUNNSTIL
   ========================================= */
*,
*::before,
*::after {
  box-sizing: border-box;
}

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

body {
  margin: 0;
  font-family: var(--font);
  font-size: var(--tekst-normal);
  line-height: var(--linjehoyde);
  color: var(--farge-tekst);
  background: var(--farge-bakgrunn);
}

h1, h2, h3, h4 {
  line-height: 1.25;
  font-weight: 600;
  margin: var(--rom-l) 0 var(--rom-s);
}
h1 { font-size: var(--tekst-tittel); margin-top: 0; }
h2 { font-size: var(--tekst-stor); }
h3 { font-size: var(--tekst-mellom); }
h4 { font-size: var(--tekst-normal); }

p, ul, ol, table, figure {
  margin: 0 0 var(--rom-m);
}

/* Lenker har som utgangspunkt INGEN understrek.
   Understrek legges bare på lenker i løpende tekst
   (avsnitt, tabeller), der WCAG 1.4.1 krever at lenken
   kan skilles fra teksten rundt uten bare farge. */
a {
  color: var(--farge-lenke);
  text-decoration: none;
}
p a,
td a,
dd a,
blockquote a,
.artikkel li a {
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
a:hover {
  color: var(--farge-aksent);
}

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

/* Synlig fokus for tastaturbrukere (WCAG 2.4.7) */
:focus-visible {
  outline: 3px solid var(--farge-fokus);
  outline-offset: 2px;
}


/* =========================================
   3. LAYOUT
   ========================================= */
.innhold {
  max-width: var(--maks-bredde);
  margin: 0 auto;
  padding: 0 var(--rom-m);
}

/* Hopp-til-innhold-lenke: usynlig til den får fokus */
.hopp-til-innhold {
  position: absolute;
  left: var(--rom-m);
  top: -4rem;
  background: var(--farge-bakgrunn);
  color: var(--farge-tekst);
  padding: var(--rom-s) var(--rom-m);
  z-index: 100;
}
.hopp-til-innhold:focus {
  top: var(--rom-s);
}


/* Skjuler tekst visuelt, men skjermlesere leser den */
.skjult-visuelt {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}


/* =========================================
   4. KOMPONENTER
   ========================================= */

/* ---------- 4.1 Topplinje ---------- */
.topplinje {
  background: var(--farge-aksent);
  color: #ffffff;
}
.topplinje .innhold {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rom-l);
  min-height: 5.5rem;
}
.topplinje__logo img {
  height: 2.5rem;
  width: auto;
}
.topplinje__meny {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rom-s) var(--rom-l);
  list-style: none;
  margin: 0;
  padding: 0;
}
.topplinje__meny a {
  color: #ffffff;
  text-decoration: none;
  font-size: var(--tekst-liten);
  font-weight: 600;
  padding: var(--rom-xs) 0;
  border-bottom: 2px solid transparent;
}
.topplinje__meny a:hover,
.topplinje__meny a[aria-current="page"] {
  border-bottom-color: #ffffff;
}
.topplinje :focus-visible {
  outline-color: #ffffff;
}


/* ---------- 4.2 Søkeområde ----------
   Søket er hovedsaken på hjelpesenteret: stort felt,
   tydelig kant, ikon og en kraftig knapp. */
.sokeomrade {
  background: var(--farge-flate);
  border-bottom: var(--kant);
  padding: 4.5rem 0 5rem;
  text-align: center;
}
.sokeomrade h1 {
  font-size: 2.5rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  margin-bottom: var(--rom-l);
}
.sok {
  display: flex;
  align-items: stretch;
  max-width: var(--sok-bredde);
  margin: 0 auto;
}
.sok__felt {
  flex: 1;
  min-width: 0;
  min-height: var(--sok-hoyde);
  font: inherit;
  font-size: var(--sok-tekst);
  padding: 0 var(--rom-m) 0 3.25rem;
  border: var(--sok-kant);
  border-right: 0;
  border-radius: var(--radius) 0 0 var(--radius);
  background: #ffffff var(--sok-ikon) no-repeat 1rem center / 1.5rem;
  color: var(--farge-tekst);
}
.sok__felt::placeholder {
  color: var(--farge-tekst-dempet);
}
.sok__felt:focus,
.sok__felt:focus-visible {
  outline: none;
  border-color: var(--farge-aksent);
  box-shadow: 0 0 0 4px rgba(219, 20, 44, 0.2);
}
.sok__knapp {
  font: inherit;
  font-size: var(--sok-tekst);
  font-weight: 600;
  min-height: var(--sok-hoyde);
  padding: 0 2.5rem;
  border: 2px solid var(--farge-aksent);
  border-radius: 0 var(--radius) var(--radius) 0;
  background: var(--farge-aksent);
  color: #ffffff;
  cursor: pointer;
}
.sok__knapp:hover {
  background: var(--farge-aksent-mork);
  border-color: var(--farge-aksent-mork);
}


/* ---------- 4.3 Seksjoner og kategorikort ---------- */
.seksjon {
  padding: var(--rom-xl) 0 0;
}
.seksjon h2 {
  margin-top: 0;
  margin-bottom: var(--rom-l);
  font-size: 2rem;
  font-weight: 600;
}

.kortrutenett {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
  gap: var(--rom-m);
  list-style: none;
  margin: 0;
  padding: 0;
}

.kort {
  display: block;
  height: 100%;
  padding: var(--rom-l) var(--rom-m);
  border: var(--kant);
  background: var(--farge-bakgrunn);
  color: var(--farge-tekst);
  text-align: center;
  text-decoration: none;
}
.kort:hover {
  border-color: var(--farge-aksent);
  box-shadow: inset 0 0 0 1px var(--farge-aksent);   /* 2 px ramme uten at kortet hopper */
  background: var(--farge-flate);
  color: var(--farge-tekst);
}

/* Ingen understrek på kort og menylenker – heller ikke ved
   hover og fokus, der rammeverk ofte legger den på igjen. */
a.kort,
a.kort:hover,
a.kort:focus,
.kortrutenett a,
.kortrutenett a:hover,
.kortrutenett a:focus,
.topplinje a,
.topplinje a:hover,
.topplinje a:focus {
  text-decoration: none;
}
.kort__tittel {
  display: block;
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: var(--rom-xs);
}
.kort__antall {
  display: block;
  font-size: var(--tekst-normal);
  color: var(--farge-tekst-dempet);
}
.kort:hover .ikon {
  background-color: var(--farge-aksent);
}


/* ---------- 4.4 Produktmerke (Pro 2 / Pro Klassisk) ---------- */
.produktmerke {
  display: inline-block;
  font-size: var(--tekst-liten);
  font-weight: 600;
  line-height: 1;
  padding: 0.35rem 0.6rem;
  border-radius: var(--radius);
  vertical-align: middle;
}
.produktmerke--pro {
  background: var(--kardinalrod);
  color: #ffffff;
}
.produktmerke--klassisk {
  background: transparent;
  color: var(--farge-tekst);
  border: 1px solid var(--farge-tekst);
}


/* ---------- 4.5 Brødsmulesti ---------- */
.brodsmuler {
  font-size: var(--tekst-liten);
  margin: var(--rom-l) 0 var(--rom-m);
}
.brodsmuler ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}
.brodsmuler li + li::before {
  content: "/";
  margin: 0 var(--rom-s);
  color: var(--farge-tekst-dempet);
}
.brodsmuler [aria-current="page"] {
  color: var(--farge-tekst-dempet);
}


/* ---------- 4.6 Artikkel ---------- */
.artikkel {
  max-width: var(--lesebredde);
  padding-bottom: var(--rom-xl);
}
.artikkel__ingress {
  font-size: var(--tekst-mellom);
  color: var(--farge-tekst-dempet);
  margin-bottom: var(--rom-l);
}
.artikkel__oppdatert {
  font-size: var(--tekst-liten);
  color: var(--farge-tekst-dempet);
  border-top: var(--kant);
  padding-top: var(--rom-m);
  margin-top: var(--rom-xl);
}

/* Skjermbilder med bildetekst */
.artikkel figure {
  margin: var(--rom-l) 0;
}
.artikkel figure img {
  border: var(--kant);
}
.artikkel figcaption {
  font-size: var(--tekst-liten);
  color: var(--farge-tekst-dempet);
  margin-top: var(--rom-s);
}

/* Tastatursnarveier: <kbd>Ctrl</kbd> + <kbd>F</kbd> */
kbd {
  font-family: var(--font);
  font-size: 0.85em;
  padding: 0.1em 0.45em;
  border: 1px solid #8a8a8a;
  border-bottom-width: 2px;
  border-radius: var(--radius);
  background: var(--farge-flate);
  white-space: nowrap;
}

/* Navn på knapper og menyvalg i Lovdata Pro */
.ui-navn {
  font-weight: 600;
}


/* ---------- 4.7 Trinn-for-trinn ---------- */
.trinn {
  list-style: none;
  counter-reset: trinn;
  padding: 0;
  margin: var(--rom-l) 0;
}
.trinn > li {
  counter-increment: trinn;
  position: relative;
  padding-left: 3rem;
  margin-bottom: var(--rom-l);
}
.trinn > li::before {
  content: counter(trinn);
  position: absolute;
  left: 0;
  top: 0;
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  background: var(--farge-aksent);
  color: #ffffff;
  font-weight: 600;
  border-radius: var(--radius);
}


/* ---------- 4.8 Varselbokser ---------- */
.varsel {
  border-left: 4px solid;
  padding: var(--rom-m) var(--rom-m) var(--rom-m) var(--rom-l);
  margin: var(--rom-l) 0;
}
.varsel > :last-child {
  margin-bottom: 0;
}
.varsel__tittel {
  display: block;
  font-weight: 600;
  margin-bottom: var(--rom-xs);
}
.varsel--tips {
  background: var(--farge-tips-flate);
  border-color: var(--farge-tips-kant);
}
.varsel--merk {
  background: var(--farge-merk-flate);
  border-color: var(--farge-merk-kant);
}
.varsel--advarsel {
  background: var(--farge-advarsel-flate);
  border-color: var(--farge-advarsel-kant);
}


/* ---------- 4.9 Tabeller ---------- */
.tabell-ramme {
  overflow-x: auto;   /* brede tabeller ruller på mobil */
  margin-bottom: var(--rom-m);
}
table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--tekst-liten);
}
th, td {
  text-align: left;
  vertical-align: top;
  padding: var(--rom-s) var(--rom-m);
  border-bottom: var(--kant);
}
th {
  font-weight: 600;
  border-bottom: 2px solid var(--farge-tekst);
}


/* ---------- 4.10 Relaterte artikler ---------- */
.relatert {
  border-top: var(--kant);
  margin-top: var(--rom-xl);
  padding-top: var(--rom-l);
}
.relatert h2 {
  font-size: var(--tekst-mellom);
  margin-top: 0;
}
.relatert ul {
  list-style: none;
  padding: 0;
}
.relatert li {
  margin-bottom: var(--rom-s);
}


/* ---------- 4.11 Bunntekst ---------- */
.bunntekst {
  background: var(--kardinalrod);
  color: #ffffff;
  margin-top: var(--rom-xl);
  padding: var(--rom-l) 0;
  font-size: var(--tekst-liten);
}
.bunntekst a {
  color: #ffffff;
}
.bunntekst :focus-visible {
  outline-color: #ffffff;
}


/* ---------- 4.12 Ikoner ----------
   Ikonene tegnes som masker, så fargen styres med
   background-color – akkurat som tekstfarge.
   Bruk: <span class="ikon ikon--sok" aria-hidden="true"></span> */
.ikon {
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
  background-color: currentColor;
  -webkit-mask: var(--ikon-bilde) no-repeat center / contain;
  mask: var(--ikon-bilde) no-repeat center / contain;
}
.kort .ikon {
  display: block;
  width: 2.75rem;
  height: 2.75rem;
  margin: 0 auto var(--rom-m);
  background-color: var(--farge-tekst);
}
.ikon--dokumenter { --ikon-bilde: var(--ikon-dokumenter); }
.ikon--ki { --ikon-bilde: var(--ikon-ki); }
.ikon--navigasjon { --ikon-bilde: var(--ikon-navigasjon); }
.ikon--funksjoner { --ikon-bilde: var(--ikon-funksjoner); }
.ikon--utvalg { --ikon-bilde: var(--ikon-utvalg); }
.ikon--sok { --ikon-bilde: var(--ikon-sok); }
.ikon--eksamen { --ikon-bilde: var(--ikon-eksamen); }
.ikon--avtale { --ikon-bilde: var(--ikon-avtale); }
.ikon--info { --ikon-bilde: var(--ikon-info); }
.ikon--kommentarer { --ikon-bilde: var(--ikon-kommentarer); }
.ikon--film { --ikon-bilde: var(--ikon-film); }
.ikon--overgang { --ikon-bilde: var(--ikon-overgang); }
.ikon--hjem { --ikon-bilde: var(--ikon-hjem); }
.ikon--huskelapper { --ikon-bilde: var(--ikon-huskelapper); }
.ikon--flagg { --ikon-bilde: var(--ikon-flagg); }
.ikon--veiviser { --ikon-bilde: var(--ikon-veiviser); }
.ikon--bjelle { --ikon-bilde: var(--ikon-bjelle); }
.ikon--prislapp { --ikon-bilde: var(--ikon-prislapp); }
.ikon--kurs { --ikon-bilde: var(--ikon-kurs); }
.ikon--tariff { --ikon-bilde: var(--ikon-tariff); }
.ikon--api { --ikon-bilde: var(--ikon-api); }
.ikon--bibliotek { --ikon-bilde: var(--ikon-bibliotek); }
.ikon--lovdata { --ikon-bilde: var(--ikon-lovdata); }
.ikon--europalov { --ikon-bilde: var(--ikon-europalov); }
.ikon--karnov { --ikon-bilde: var(--ikon-karnov); }
.ikon--lovkilder { --ikon-bilde: var(--ikon-lovkilder); }
.ikon--handtrykk { --ikon-bilde: var(--ikon-handtrykk); }
.ikon--innstillinger { --ikon-bilde: var(--ikon-innstillinger); }

/* Windows høykontrastmodus: behold ikonene synlige */
@media (forced-colors: active) {
  .ikon {
    forced-color-adjust: none;
    background-color: CanvasText;
  }
}


/* ---------- 4.13 Overgangsbanner ----------
   Bred stripe i kardinalrød rett under søket.
   Fremhever overgangen til nye Lovdata Pro. */
.overgang {
  background: var(--kardinalrod);
  color: #ffffff;
  padding: var(--rom-xl) 0;
}
.overgang .innhold {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: var(--rom-l);
}
.overgang .ikon {
  width: 3.5rem;
  height: 3.5rem;
  background-color: #ffffff;
}
.overgang__tittel {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.2;
  margin: 0 0 var(--rom-s);
  color: #ffffff;
}
.overgang__tekst {
  font-size: var(--tekst-mellom);
  margin: 0;
  max-width: 40rem;
}
.overgang__lenker {
  display: flex;
  flex-wrap: wrap;
  gap: var(--rom-s) var(--rom-l);
  list-style: none;
  margin: var(--rom-m) 0 0;
  padding: 0;
}
.overgang__lenker a {
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.overgang__knapp {
  display: inline-block;
  font-size: var(--tekst-mellom);
  font-weight: 600;
  padding: var(--rom-m) var(--rom-l);
  background: #ffffff;
  color: var(--kardinalrod);
  border: 2px solid #ffffff;
  border-radius: var(--radius);
  text-decoration: none;
  white-space: nowrap;
}
.overgang__knapp:hover {
  background: var(--stortingsrod);
  border-color: var(--stortingsrod);
  color: #ffffff;
}
.overgang :focus-visible {
  outline-color: #ffffff;
}


/* =========================================
   5. RESPONSIVT
   ========================================= */
@media (max-width: 48rem) {
  :root {
    --tekst-tittel: 1.6rem;
    --tekst-stor: 1.3rem;
  }
  .topplinje .innhold {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--rom-m);
    padding-top: var(--rom-m);
    padding-bottom: var(--rom-m);
  }
  :root {
    --sok-hoyde: 3.25rem;
    --sok-tekst: 1.1rem;
  }
  .sokeomrade {
    padding: var(--rom-xl) 0;
  }
  .sokeomrade h1 {
    font-size: 1.75rem;
  }
  .seksjon h2 {
    font-size: 1.5rem;
  }
  .overgang .innhold {
    grid-template-columns: 1fr;
    gap: var(--rom-m);
  }
  .overgang__tittel {
    font-size: 1.5rem;
  }
  .overgang__knapp {
    white-space: normal;
    text-align: center;
  }
  .sok__knapp {
    padding: 0 var(--rom-m);
  }
}

/* Respekter brukere som har slått av animasjoner */
@media (prefers-reduced-motion: reduce) {
  * {
    transition: none !important;
    animation: none !important;
  }
}


/* =========================================
   5b. OVERSTYRING AV DAGENS HTML
   Ligger nederst med vilje: når regler er like sterke,
   vinner den som står sist. !important brukes bare her,
   fordi rammeverkets egne regler (f.eks. ID-selektorer
   eller Bootstrap) ellers slår gjennom. Fjern dette når
   siden får ny HTML med våre egne klasser.
   ========================================= */

/* Ingen understrek i menyer, topplinje og navigasjon */
header a,
nav a,
.navbar a,
.nav a,
.menu a,
header a:hover,
nav a:hover,
.navbar a:hover,
.nav a:hover,
.menu a:hover,
header a:focus,
nav a:focus,
.navbar a:focus,
.nav a:focus,
.menu a:focus {
  text-decoration: none !important;
}

/* Søkefelt og søkeknapp på samme linje.
   Feltet og knappen legges i en fleksboks som strekker
   begge til samme høyde, og knappen nullstilles for
   marger, skråstilling og høyde som ellers skyver den ut
   av linje. Dekker både et skjema der feltet og knappen
   ligger direkte i <form>, og Bootstrap sin .input-group. */
form:has(input[type="search"], input[type="text"]):has(button, [type="submit"]),
.input-group {
  display: flex !important;
  align-items: stretch !important;
  flex-wrap: nowrap !important;
  max-width: var(--sok-bredde);
  margin-left: auto;
  margin-right: auto;
}
form:has(input[type="search"], input[type="text"]) input[type="search"],
form:has(input[type="search"], input[type="text"]) input[type="text"],
.input-group .form-control {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0;
  height: auto !important;
  min-height: var(--sok-hoyde) !important;
  margin: 0 !important;
  float: none !important;
  font-family: var(--font) !important;
  font-size: var(--sok-tekst) !important;
  padding: 0 var(--rom-m) 0 3.25rem !important;
  border: var(--sok-kant) !important;
  border-right: 0 !important;
  border-radius: var(--radius) 0 0 var(--radius) !important;
  background: #ffffff var(--sok-ikon) no-repeat 1rem center / 1.5rem !important;
  box-shadow: none !important;
}
form:has(input[type="search"], input[type="text"]) input[type="search"]:focus,
form:has(input[type="search"], input[type="text"]) input[type="text"]:focus,
.input-group .form-control:focus {
  outline: none !important;
  border-color: var(--farge-aksent) !important;
  box-shadow: 0 0 0 4px rgba(219, 20, 44, 0.2) !important;
}
.input-group-btn,
.input-group-append {
  display: flex !important;
  width: auto !important;
  margin: 0 !important;
}
form:has(input[type="search"], input[type="text"]) button,
form:has(input[type="search"], input[type="text"]) [type="submit"],
.input-group .btn {
  height: auto !important;
  margin: 0 !important;
  float: none !important;
  position: static !important;
  transform: none !important;
  vertical-align: top;
  border-radius: 0 var(--radius) var(--radius) 0 !important;
  border-width: 2px !important;
  min-height: var(--sok-hoyde) !important;
  padding: 0 2.5rem !important;
  font-family: var(--font) !important;
  font-size: var(--sok-tekst) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

/* Overskriften rett over søket, f.eks. «Hva trenger du hjelp til?» */
:is(h1, h2):has(+ form input[type="search"], + form input[type="text"]) {
  font-size: 2.5rem !important;
  font-weight: 600 !important;
  margin-bottom: var(--rom-l) !important;
}

/* Mer luft rundt hele søkeområdet */
:not(.innhold):has(> form:not(.sm) input[type="search"], > form:not(.sm) input[type="text"]) {
  padding-top: 4.5rem !important;
  padding-bottom: 5rem !important;
}

@media (max-width: 48rem) {
  form:has(input[type="search"], input[type="text"]) button,
  form:has(input[type="search"], input[type="text"]) [type="submit"],
  .input-group .btn {
    padding: 0 var(--rom-m) !important;
  }
  :is(h1, h2):has(+ form input[type="search"], + form input[type="text"]) {
    font-size: 1.75rem !important;
  }
  :not(.innhold):has(> form:not(.sm) input[type="search"], > form:not(.sm) input[type="text"]) {
    padding-top: var(--rom-xl) !important;
    padding-bottom: var(--rom-xl) !important;
  }
}

/* Søkeknappen i stortingsrød – uansett om den er
   <button> eller <input type="submit"> */
form button,
form [type="submit"],
form .btn,
.btn-primary {
  background-color: var(--farge-aksent) !important;
  background-image: none !important;
  border-color: var(--farge-aksent) !important;
  color: #ffffff !important;
  text-shadow: none !important;
}
form button:hover,
form button:focus,
form [type="submit"]:hover,
form [type="submit"]:focus,
form .btn:hover,
form .btn:focus,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: var(--farge-aksent-mork) !important;
  border-color: var(--farge-aksent-mork) !important;
  color: #ffffff !important;
}


/* =========================================
   5c. HELP SCOUT: KORT, IKONER OG OVERGANGSBANNER
   Help Scout Docs lager forsiden slik:
     <section class="collection-category">
       <h2><a href="/collection/…">Samlingens navn</a></h2>
       <div class="category-list">
         <a class="category" href="/category/12-innhold">
           <h3>Innhold</h3>
           <p class="article-count">5 tekster</p>
         </a>
   Vi kan ikke endre HTML-en, men vi kan kjenne igjen hvert
   kort på adressen (href) og gi det ikon og egen stil.
   ========================================= */

/* --- Kortene legges i et rutenett --- */
.category-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
  gap: var(--rom-m);
}
.category-list::before,
.category-list::after {
  content: none !important;   /* fjerner gammel «clearfix» */
}
.category-list .category {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  display: block;
  padding: var(--rom-l) var(--rom-m);
  border: var(--kant);
  background: var(--farge-bakgrunn);
  color: var(--farge-tekst);
  text-align: center;
  text-decoration: none !important;
}
.category-list .category:not(:is([href*="overgang"], [href*="/category/288-"])):hover {
  border-color: var(--farge-aksent) !important;
  box-shadow: inset 0 0 0 1px var(--farge-aksent);   /* 2 px ramme uten at kortet hopper */
  background: var(--farge-flate) !important;
}
.category-list .category h3 {
  font-size: 1.375rem !important;
  font-weight: 600 !important;
  line-height: 1.3;
  margin: 0 0 var(--rom-xs) !important;
  color: var(--farge-tekst) !important;
}
.category-list .category .article-count {
  font-size: var(--tekst-normal) !important;
  color: var(--farge-tekst-dempet) !important;
  margin: 0 !important;
}
.collection-category {
  margin-top: var(--rom-xl);
}
.collection-category > h2,
.collection-category > h2 a {
  font-size: 2rem !important;
  font-weight: 600 !important;
  color: var(--farge-tekst) !important;
}
.collection-category > h2 {
  margin: 0 0 var(--rom-l) !important;
}

/* --- Ikoner på kortene ---
   Hvert kort kjennes igjen på en del av adressen sin.
   Står det et annet ord i adressen hos dere, endrer dere
   bare teksten i hakeparentesen. */
.category-list .category::before {
  content: "";
  display: block;
  width: 2.75rem;
  height: 2.75rem;
  margin: 0 auto var(--rom-m);
  background-color: var(--farge-tekst);
  -webkit-mask: var(--ikon-bilde, var(--ikon-dokumenter)) no-repeat center / contain;
  mask: var(--ikon-bilde, var(--ikon-dokumenter)) no-repeat center / contain;
}
.category-list .category:hover::before {
  background-color: var(--farge-aksent);
}
/* --- Nye Lovdata Pro --- */
.category[href*="kom-i-gang"]            { --ikon-bilde: var(--ikon-veiviser); }
.category[href*="og-finn"]               { --ikon-bilde: var(--ikon-lovkilder); }   /* søk og finn */
.category:is([href*="mine-verkt"], [href*="innarbeidelse"])
                                         { --ikon-bilde: var(--ikon-utvalg); }
.category[href*="hold-deg-oppdatert"]    { --ikon-bilde: var(--ikon-bjelle); }
.category[href*="jobb-sammen"]           { --ikon-bilde: var(--ikon-handtrykk); }

/* --- Lovdata Pro Klassisk --- */
.category[href*="nyttige-funksjoner"]    { --ikon-bilde: var(--ikon-funksjoner); }
.category[href*="innhold"]               { --ikon-bilde: var(--ikon-dokumenter); }
.category[href*="navig"]                 { --ikon-bilde: var(--ikon-navigasjon); }
.category[href*="personlige-verkt"]      { --ikon-bilde: var(--ikon-utvalg); }
.category:is([href*="sking-i"], [href*="soking"], [href$="king"])
                                         { --ikon-bilde: var(--ikon-sok); }         /* søking */

/* --- Andre tjenester --- */
.category[href*="europalov"]             { --ikon-bilde: var(--ikon-europalov); }
.category[href*="lovdata-api"]           { --ikon-bilde: var(--ikon-api); }
.category:is([href*="lovdatano"], [href*="lovdata-no"], [href*="pne-sider"])
                                         { --ikon-bilde: var(--ikon-lovdata); }     /* Lovdata.no (åpne sider) */
.category[href*="eksamen"]               { --ikon-bilde: var(--ikon-eksamen); }
.category[href*="bibliotek"]             { --ikon-bilde: var(--ikon-bibliotek); }
.category[href*="karnov"]                { --ikon-bilde: var(--ikon-karnov); }

/* --- Kundeinformasjon --- */
.category:is([href*="brukeravtale"], [href*="avtalevilk"])
                                         { --ikon-bilde: var(--ikon-avtale); }
.category[href*="priser"]                { --ikon-bilde: var(--ikon-prislapp); }
.category[href*="kurs-og-oppl"]          { --ikon-bilde: var(--ikon-kurs); }
.category[href*="tariff"]                { --ikon-bilde: var(--ikon-tariff); }

/* --- hjelp.lovdata.no: kategorier som har beholdt adressen fra
   et gammelt navn. Kjennes igjen på kategorinummeret, som aldri
   endres, selv om kategorien får nytt navn. --- */
.category[href*="/category/289-"]        { --ikon-bilde: var(--ikon-lovkilder); }   /* Søk og finn (rettskildesk) */
.category[href*="/category/376-"]        { --ikon-bilde: var(--ikon-handtrykk); }   /* Jobb sammen (samarbeid) */
.category[href*="/category/8-"]          { --ikon-bilde: var(--ikon-navigasjon); }  /* Navigere i Lovdata Pro (avansert-sk) */

/* --- Eldre kategorier (testsiden) --- */
.category[href*="kunstig-intelligens"]   { --ikon-bilde: var(--ikon-ki); }
.category[href*="diverse-informasjon"]   { --ikon-bilde: var(--ikon-info); }
.category[href*="film"]                  { --ikon-bilde: var(--ikon-film); }
.category[href*="organiser"]             { --ikon-bilde: var(--ikon-utvalg); }
.category[href*="administrer"]           { --ikon-bilde: var(--ikon-innstillinger); }

/* --- Overgangsbanneret ---
   Opprett en kategori i Help Scout som heter
   «Overgangen til nye Lovdata Pro» (adressen vil da
   inneholde «overgang»). CSS-en gjør kortet om til en bred,
   kardinalrød stripe øverst. Ligger kategorien alene i en
   egen samling som er sortert først, legger banneret seg
   rett under søket, og samlingens overskrift skjules. */
.category-list .category:is([href*="overgang"], [href*="/category/288-"]) {
  grid-column: 1 / -1;
  order: -1;
  display: grid;
  grid-template-columns: auto 1fr auto;
  grid-template-areas:
    "ikon tittel knapp"
    "ikon tekst  knapp";
  align-items: center;
  column-gap: var(--rom-l);
  row-gap: var(--rom-xs);
  padding: var(--rom-l) var(--rom-xl);
  background: var(--kardinalrod);
  border: 0;
  color: #ffffff;
  text-align: left;
}
.category-list .category:is([href*="overgang"], [href*="/category/288-"])::before {
  grid-area: ikon;
  width: 3.5rem;
  height: 3.5rem;
  margin: 0;
  background-color: #ffffff;
  -webkit-mask-image: var(--ikon-overgang);
  mask-image: var(--ikon-overgang);
}
.category-list .category:is([href*="overgang"], [href*="/category/288-"]) h3 {
  grid-area: tittel;
  align-self: end;
  font-size: 2rem !important;
  color: #ffffff !important;
  margin: 0 !important;
}
.category-list .category:is([href*="overgang"], [href*="/category/288-"])::after {
  grid-area: tekst;
  align-self: start;
  content: "Fra 26. november blir nye Lovdata Pro løsningen du møter når du logger inn. Her finner du det du trenger for å komme i gang.";
  font-size: var(--tekst-mellom);
  line-height: 1.5;
  max-width: 40rem;
}
/* «5 tekster» byttes ut med en hvit knapp */
.category-list .category:is([href*="overgang"], [href*="/category/288-"]) .article-count {
  grid-area: knapp;
  font-size: 0 !important;
  color: transparent !important;
}
.category-list .category:is([href*="overgang"], [href*="/category/288-"]) .article-count::before {
  content: "Les om overgangen";
  display: inline-block;
  font-size: var(--tekst-mellom);
  font-weight: 600;
  padding: var(--rom-m) var(--rom-l);
  background: #ffffff;
  color: var(--kardinalrod);
  border-radius: var(--radius);
  white-space: nowrap;
}
.category-list .category:is([href*="overgang"], [href*="/category/288-"]):hover .article-count::before {
  background: var(--stortingsrod);
  color: #ffffff;
}
.category-list .category:is([href*="overgang"], [href*="/category/288-"]):focus-visible {
  outline: 3px solid var(--kardinalrod);
  outline-offset: 3px;
}
/* Banneret skal ligge tett under søket */
.collection-category:has(.category:is([href*="overgang"], [href*="/category/288-"])) {
  margin-top: var(--rom-l);
}
/* Når banneret ligger alene i en egen samling: skjul overskriften */
.collection-category:has(.category:is([href*="overgang"], [href*="/category/288-"])):not(:has(.category:not(:is([href*="overgang"], [href*="/category/288-"])))) > h2 {
  display: none !important;
}

@media (max-width: 48rem) {
  .category-list .category:is([href*="overgang"], [href*="/category/288-"]) {
    grid-template-columns: 1fr;
    grid-template-areas: "ikon" "tittel" "tekst" "knapp";
    row-gap: var(--rom-m);
    padding: var(--rom-l) var(--rom-m);
  }
  .category-list .category:is([href*="overgang"], [href*="/category/288-"]) h3 {
    font-size: 1.5rem !important;
  }
  .category-list .category:is([href*="overgang"], [href*="/category/288-"]) .article-count::before {
    display: block;
    text-align: center;
    white-space: normal;
  }
  .collection-category > h2,
  .collection-category > h2 a {
    font-size: 1.5rem !important;
  }
}


/* =========================================
   5d. SØK ØVERST I KATEGORIER OG SAMLINGER
   På undersider legger Help Scout et lite søkefelt
   (<form id="searchBar" class="sm">) i sidefeltet.
   - I kategorier og samlinger løftes det ut og legges i en
     lys stripe øverst, med samme utseende som på forsiden.
   - I artikler (sider med <article id="fullArticle">) skjules
     søket, og sidefeltet med kontekstmenyen vises som vanlig.
   ========================================= */

/* --- Kategorier og samlinger ---
   Litt lavere søkefelt enn på forsiden, og like bredt som
   innholdet (kant i kant med sidefelt og innhold). */
#contentArea:has(#searchBar.sm):not(:has(#fullArticle)) {
  position: relative !important;
  isolation: isolate;            /* holder den grå stripen bak innholdet */
  padding-top: 6.5rem !important;
  padding-left: var(--rom-m) !important;
  padding-right: var(--rom-m) !important;
}
/* Kontekstmenyen skal alltid vises */
#contentArea:not(:has(#fullArticle)) #sidebar {
  display: block !important;
  visibility: visible !important;
}
#contentArea:has(#searchBar.sm):not(:has(#fullArticle))::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5rem;
  background: var(--farge-flate);
  box-shadow: 0 0 0 100vmax var(--farge-flate);
  clip-path: inset(0 -100vmax -1px);
  z-index: -1;                   /* stripen ligger alltid bakerst */
}
#contentArea:not(:has(#fullArticle)) #searchBar.sm {
  --sok-hoyde: 3rem;             /* lavere enn forsidens 3,75rem */
  --sok-tekst: 1.125rem;
  position: absolute !important;
  top: 1rem;
  left: var(--rom-m);
  right: var(--rom-m);
  transform: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  display: flex !important;
  align-items: stretch !important;
  z-index: 1;
}
#contentArea:not(:has(#fullArticle)) #searchBar.sm .search-query,
#contentArea:not(:has(#fullArticle)) #searchBar.sm input {
  order: 1;
}
#contentArea:not(:has(#fullArticle)) #searchBar.sm button {
  order: 2;
  position: static !important;
  width: auto !important;
  height: auto !important;
  flex-shrink: 0;
  padding: 0 var(--rom-l) !important;
  font-size: 0 !important;      /* skjuler ikonet Help Scout legger inn */
  background-color: var(--farge-aksent) !important;
  border: 2px solid var(--farge-aksent) !important;
  color: #ffffff !important;
}
/* Plassholdertekst: «Søk i Lovdata hjelpesenter».
   Help Scout skriver bare «Søk», og CSS kan ikke endre selve
   plassholderen. Den ekte teksten gjøres derfor usynlig, og
   den nye tegnes som et bilde i feltet. Bildet vises bare når
   feltet er tomt, akkurat som en vanlig plassholder. */
#contentArea:not(:has(#fullArticle)) #searchBar.sm .search-query::placeholder {
  color: transparent !important;
}
#contentArea:not(:has(#fullArticle)) #searchBar.sm .search-query:placeholder-shown {
  background:
    var(--sok-ikon) no-repeat 1rem center / 1.5rem,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='24'%3E%3Ctext x='0' y='18' font-family='IBM Plex Sans, Helvetica Neue, Helvetica, Arial, sans-serif' font-size='18' fill='%235c5c5c'%3ES%C3%B8k i Lovdata hjelpesenter%3C/text%3E%3C/svg%3E") no-repeat 3.25rem center,
    #ffffff !important;
}
#contentArea:not(:has(#fullArticle)) #searchBar.sm button i {
  display: none !important;
}
#contentArea:not(:has(#fullArticle)) #searchBar.sm button::after {
  content: "Søk";
  font-size: var(--sok-tekst);
  font-weight: 600;
}
#contentArea:not(:has(#fullArticle)) #sidebar > h3:first-of-type {
  margin-top: 0 !important;
}

/* --- Resultatlisten som dukker opp mens man skriver ---
   Help Scout legger den (#serp-dd) inne i søkeskjemaet.
   Den skal ligge under feltet i full bredde, ikke ved siden av. */
#searchBar:not(.sm) {
  position: relative !important;
}
#searchBar #serp-dd {
  position: absolute !important;
  top: 100%;
  left: 0;
  right: 0;
  order: 3;
  z-index: 20;
  margin-top: var(--rom-xs);
  background: #ffffff;
  border: var(--kant);
  text-align: left;
}
#searchBar #serp-dd ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
#searchBar #serp-dd a {
  display: block;
  padding: var(--rom-s) var(--rom-m);
  color: var(--farge-tekst);
}
#searchBar #serp-dd a:hover,
#searchBar #serp-dd a:focus {
  background: var(--farge-flate);
  color: var(--farge-aksent);
}

/* --- Artikler: ingen søk, men kontekstmenyen vises --- */
#contentArea:has(#fullArticle) #searchBar.sm {
  display: none !important;
}
#contentArea:has(#fullArticle) #sidebar {
  display: block !important;
  visibility: visible !important;
}

@media (max-width: 48rem) {
  #contentArea:not(:has(#fullArticle)) #searchBar.sm button {
    padding: 0 var(--rom-m) !important;
  }
}


/* =========================================
   5e. MERKNAD I LOVDATA PRO KLASSISK
   Vises bare i artikler (sider med <article id="fullArticle">).
   Sider i samlingen «Lovdata Pro Klassisk» kjennes igjen på
   samlings-ID-en Help Scout legger i søkeskjemaet:
     <input type="hidden" name="collectionId" value="…">
   Selektoren har ID-en både for testsiden og for det ekte
   hjelpesenteret, så boksen virker begge steder. Får
   samlingen ny ID, finner du den slik: åpne en Klassisk-artikkel, høyreklikk på
   siden → Inspiser → Ctrl+F → søk etter collectionId.
   Merknaden ligner det gule varselet «Du bruker Lovdata Pro
   Klassisk» inne i Pro, så brukerne kjenner det igjen.
   ========================================= */
#contentArea:has(#fullArticle):has(input[name="collectionId"]:is(
    [value="6ad612f5734714c128347926"],   /* testsiden (helpscoutdocs.com) */
    [value="55effa3c90336020dbcdfc4f"]    /* hjelp.lovdata.no */
  )) #main-content::before {
  content: "Denne veiledningen gjelder Lovdata Pro Klassisk. Bruker du nye Lovdata Pro, finner du veiledninger under «Nye Lovdata Pro» i menyen.";
  display: block;
  margin: 0 !important;          /* ligger rett oppå artikkelboksen, uten tomrom */
  padding: var(--rom-m) var(--rom-m) var(--rom-m) 3.5rem;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11' fill='%23141414'/%3E%3Crect x='10.75' y='5.5' width='2.5' height='8.5' fill='%23fdf3d0'/%3E%3Crect x='10.75' y='16' width='2.5' height='2.5' fill='%23fdf3d0'/%3E%3C/svg%3E")
    no-repeat 1rem 1.05rem / 1.5rem,
    #fdf3d0;
  border-left: 4px solid #d9a400;
  color: var(--farge-tekst);
  font-size: var(--tekst-normal);
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
}


/* =========================================
   5f. SVART LØPENDE TEKST
   Help Scout kan farge brødteksten med sidens profilfarge.
   Her tvinges all tekst i innholdet til dyp grå (svart),
   mens lenker beholder kardinalrødt og understrek, slik at
   de fortsatt kan skilles fra teksten rundt.
   ========================================= */
body,
#contentArea,
#fullArticle {
  color: var(--farge-tekst) !important;
}
#contentArea :is(p, li, td, th, dd, dt, blockquote, figcaption, h1, h2, h3, h4, h5, h6, strong, b, em, i, span):not(a, a *) {
  color: var(--farge-tekst) !important;
}


/* Stortingsrød farge når musen holdes over en lenke (og ved
   tastaturfokus). Kortene, overgangsbanneret og kontaktboksen
   har egne hover-farger og påvirkes ikke. */
#contentArea a:not(.category):not(.btn):not(.ld-knapp):hover,
#contentArea a:not(.category):not(.btn):not(.ld-knapp):focus-visible,
#fullArticle a:not(.category):not(.btn):not(.ld-knapp):hover,
#fullArticle a:not(.category):not(.btn):not(.ld-knapp):focus-visible {
  color: var(--farge-aksent) !important;
}
/* Også lenker som er satt inn med egen HTML i artiklene, der
   lenketeksten ligger i <span>, <strong>, <font> o.l. med
   egen farge (f.eks. style="color: …"): alt inne i lenken
   følger lenkens hover-farge. */
#contentArea a:not(.category):not(.btn):not(.ld-knapp):hover *,
#contentArea a:not(.category):not(.btn):not(.ld-knapp):focus-visible *,
#fullArticle a:not(.category):not(.btn):not(.ld-knapp):hover *,
#fullArticle a:not(.category):not(.btn):not(.ld-knapp):focus-visible * {
  color: inherit !important;
}


/* =========================================
   5g. KONTAKTBOKS NEDERST I ARTIKLER
   Kardinalrød boks etter innholdet i hver artikkel
   (<article id="fullArticle">). Teksten lages av CSS og
   kan derfor ikke være en klikkbar lenke; e-postadressen
   står i stedet tydelig i boksen.
   ========================================= */
#fullArticle::after {
  content: "Lurer du fortsatt på noe?\A Send oss et spørsmål på support@lovdata.no.";
  white-space: pre-line;
  display: block;
  clear: both;
  margin-top: var(--rom-xl);
  padding: var(--rom-l) var(--rom-l) var(--rom-l) 5rem;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='square'%3E%3Crect x='2.5' y='5' width='19' height='14'/%3E%3Cpath d='M2.5 5.5l9.5 7 9.5-7'/%3E%3C/svg%3E")
    no-repeat var(--rom-l) center / 2.25rem,
    var(--kardinalrod);
  color: #ffffff;
  font-size: var(--tekst-mellom);
  font-weight: 600;
  line-height: 1.5;
  border-radius: var(--radius);
}

/* --- Klikkbar variant ---
   Det siste avsnittet i artikkelen som inneholder en lenke
   til support@lovdata.no (store eller små bokstaver, og også
   når adressen er skjult mot spam med «email-protection»),
   erstattes av den kardinalrøde
   boksen. Hele boksen er lenken. Annen tekst i avsnittet og
   selve lenketeksten skjules, og boksen viser alltid:
     Lurer du fortsatt på noe?
     Send oss et spørsmål på support@lovdata.no.
   Tidligere omtaler av adressen i artikkelen påvirkes ikke.
   Når boksen finnes, skjules den ikke-klikkbare boksen. */
#fullArticle :is(p, div, li, blockquote, h2, h3, h4, h5):has(a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"])):not(:has(:is(p, div, li, blockquote, h2, h3, h4, h5) a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"]))):not(:has(~ * a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"]))) {
  font-size: 0 !important;      /* skjuler annen tekst i avsnittet */
  margin: var(--rom-xl) 0 0 !important;
}
#fullArticle:has(a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"]))::after {
  content: none;
  display: none;
}
#fullArticle :is(p, div, li, blockquote, h2, h3, h4, h5):has(a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"])):not(:has(:is(p, div, li, blockquote, h2, h3, h4, h5) a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"]))):not(:has(~ * a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"]))) a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"]) {
  display: block;
  position: relative;            /* løfter boksen over elementer */
  z-index: 5;                    /* som ellers kan ligge oppå den */
  pointer-events: auto !important;
  cursor: pointer;
  padding: var(--rom-l) var(--rom-l) var(--rom-l) 5rem;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='square'%3E%3Crect x='2.5' y='5' width='19' height='14'/%3E%3Cpath d='M2.5 5.5l9.5 7 9.5-7'/%3E%3C/svg%3E")
    no-repeat var(--rom-l) center / 2.25rem,
    var(--kardinalrod);
  color: #ffffff !important;
  font-size: 0 !important;      /* skjuler lenketeksten */
  text-decoration: none !important;
  border-radius: var(--radius);
}
#fullArticle :is(p, div, li, blockquote, h2, h3, h4, h5):has(a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"])):not(:has(:is(p, div, li, blockquote, h2, h3, h4, h5) a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"]))):not(:has(~ * a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"]))) a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"])::before {
  content: "Lurer du fortsatt på noe?\A Send oss et spørsmål på support@lovdata.no.";
  white-space: pre-line;
  display: block;
  font-size: var(--tekst-mellom);
  font-weight: 600;
  line-height: 1.5;
  color: #ffffff;
}
#fullArticle :is(p, div, li, blockquote, h2, h3, h4, h5):has(a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"])):not(:has(:is(p, div, li, blockquote, h2, h3, h4, h5) a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"]))):not(:has(~ * a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"]))) a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"]):hover {
  background-color: var(--stortingsrod);
}
#fullArticle :is(p, div, li, blockquote, h2, h3, h4, h5):has(a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"])):not(:has(:is(p, div, li, blockquote, h2, h3, h4, h5) a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"]))):not(:has(~ * a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"]))) a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"]):focus-visible {
  outline: 3px solid var(--kardinalrod);
  outline-offset: 3px;
}

@media (max-width: 48rem) {
  #fullArticle::after,
  #fullArticle :is(p, div, li, blockquote, h2, h3, h4, h5):has(a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"])):not(:has(:is(p, div, li, blockquote, h2, h3, h4, h5) a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"]))):not(:has(~ * a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"]))) a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"]) {
    padding: 4.5rem var(--rom-m) var(--rom-l);
    background-position: var(--rom-m) var(--rom-l), 0 0;
  }
  #fullArticle::after,
  #fullArticle :is(p, div, li, blockquote, h2, h3, h4, h5):has(a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"])):not(:has(:is(p, div, li, blockquote, h2, h3, h4, h5) a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"]))):not(:has(~ * a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"]))) a:not(.ld-knapp):is([href*="support@lovdata.no" i], [href*="email-protection"])::before {
    font-size: 1.125rem;
  }
}

@media print {
  #fullArticle::after {
    background: none;
    color: #000000;
    border: 1px solid #000000;
    padding: var(--rom-m);
  }
}


/* =========================================
   5h. ARTIKKELTITTEL OG OVERSKRIFTER
   Tittelen er artikkelens første <h1> (Help Scout gir den
   klassen «title»). Overskrifter skrevet i redigereren
   («Overskrift 1–3» = h1–h3 inne i teksten) får hver sin
   tydelige stil, med stortingsrødt som markør – aldri som
   tekstfarge, så de ikke forveksles med lenker.
     Tittel        2,5rem  fet, rød strek over
     Overskrift 1  1,75rem halvfet, rød linje under
     Overskrift 2  1,375rem halvfet, rød firkant foran
     Overskrift 3  1,125rem halvfet, mindre rød firkant foran
                   (firkanten følger skriftstørrelsen)
     Brødtekst     1rem
   ========================================= */

/* --- Felles for alle overskrifter i artikkelen --- */
#fullArticle :is(h1, h2, h3) {
  font-family: var(--font) !important;
  color: var(--farge-tekst) !important;
  text-wrap: balance;
  hyphens: auto;                 /* deler lange ord som «arbeidsmiljøloven» */
  -webkit-hyphens: auto;
  overflow-wrap: break-word;
}
/* Redigereren legger ofte <strong> inne i overskrifter */
#fullArticle :is(h1, h2, h3, h4) :is(strong, b) {
  font-weight: inherit !important;
}

/* --- Tittel --- */
#fullArticle > h1:first-of-type,
#fullArticle h1.title {
  font-size: clamp(2rem, 1.5rem + 1.5vw, 2.5rem) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.015em;
  max-width: 22em;
  margin: var(--rom-s) 0 var(--rom-l) !important;
  padding: 0 !important;
  border: 0 !important;
}
#fullArticle > h1:first-of-type::before,
#fullArticle h1.title::before {
  content: "";
  display: block;
  width: 2.5rem;
  height: 0.375rem;
  margin-bottom: var(--rom-m);
  background: var(--farge-aksent);
}

/* --- Overskrift 1 (h1 inne i teksten) --- */
#fullArticle h1:not(.title):not(:first-of-type) {
  font-size: clamp(1.5rem, 1.25rem + 0.75vw, 1.75rem) !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  margin: var(--rom-xl) 0 var(--rom-m) !important;
  padding-bottom: var(--rom-s) !important;
  border-bottom: 2px solid var(--farge-aksent) !important;
}

/* --- Overskrift 2 --- */
#fullArticle h2 {
  font-size: 1.375rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  margin: var(--rom-xl) 0 var(--rom-s) !important;
}
#fullArticle h2::before,
#fullArticle h3::before {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  margin-right: 0.5em;
  vertical-align: 0.1em;
  background: var(--farge-aksent);
}

/* --- Overskrift 3 --- */
#fullArticle h3 {
  font-size: 1.125rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  margin: var(--rom-l) 0 var(--rom-xs) !important;
}

@media print {
  #fullArticle h1::before,
  #fullArticle h2::before,
  #fullArticle h3::before {
    display: none;
  }
}


/* =========================================
   5i. LESBAR TEKSTSTØRRELSE
   Help Scout bruker litt liten brødtekst. Her settes en fast,
   lesbar størrelse i artikler, artikkellister og kontekstmeny,
   og teksten gjøres større på mobil, der man leser på
   lengre avstand og med smalere linjer.
   ========================================= */
#fullArticle,
#fullArticle :is(p, li, dd, dt, blockquote, figcaption) {
  font-size: 1.0625rem !important;      /* 17 px */
  line-height: 1.65 !important;
}
#fullArticle :is(td, th) {
  font-size: 1rem !important;
  line-height: 1.5 !important;
}
#contentArea :is(.articleList, .nav-list, .popArticles) li,
#contentArea :is(.articleList, .nav-list, .popArticles) a {
  font-size: 1.0625rem !important;
  line-height: 1.5 !important;
}

@media (max-width: 48rem) {
  #fullArticle,
  #fullArticle :is(p, li, dd, dt, blockquote, figcaption) {
    font-size: 1.125rem !important;     /* 18 px */
    line-height: 1.6 !important;
  }
  #fullArticle :is(td, th) {
    font-size: 1.0625rem !important;
  }
  #contentArea :is(.articleList, .nav-list, .popArticles) li,
  #contentArea :is(.articleList, .nav-list, .popArticles) a {
    font-size: 1.125rem !important;
  }
  /* Større trykkflater i lister og menyer på mobil */
  #contentArea :is(.articleList, .nav-list, .popArticles) li {
    margin-bottom: var(--rom-s) !important;
  }
}


/* =========================================
   5j. FOTNOTER (stjerne i teksten + forklaringsboks)
   Bruk i artikkel-HTML:
     tekst<sup class="fotnote-ref"><a href="#fotnote-1" id="ref-1">*</a></sup>
     <div class="fotnote-boks" id="fotnote-1">
       <span class="fotnote-boks__stjerne" aria-hidden="true">*</span>
       <p>Forklaringen …</p>
       <a class="fotnote-boks__tilbake" href="#ref-1">Tilbake til teksten</a>
     </div>
   ========================================= */

/* Stjernen i teksten */
.fotnote-ref {
  font-size: 0.75em;
  line-height: 0;
  vertical-align: super;
  margin-left: 0.1em;
}
.fotnote-ref a {
  color: var(--farge-aksent) !important;
  font-weight: 700;
  text-decoration: none !important;
  padding: 0 0.2em;
  border-radius: var(--radius);
}
.fotnote-ref a:hover {
  background: var(--farge-aksent-lys);
}
.fotnote-ref a:focus-visible {
  outline: 2px solid var(--farge-aksent);
  outline-offset: 2px;
}

/* Boksen som besvarer stjernen */
div.fotnote-boks {
  display: block !important;
  position: relative !important;
  box-sizing: border-box !important;
  margin: 1.5rem 0 !important;
  padding: 1rem 1.25rem 1rem 3.5rem !important;
  background-color: var(--farge-flate) !important;
  border: 1px solid var(--farge-ramme) !important;
  border-left: 4px solid var(--farge-aksent) !important;
  color: var(--farge-tekst) !important;
  font-size: 0.9375rem;
  line-height: 1.55;
  scroll-margin-top: 6rem;
}
/* Stjernen i boksen – må vinne over regelen som gjør
   all tekst i artikler svart (seksjon 5f) */
#fullArticle div.fotnote-boks .fotnote-boks__stjerne,
div.fotnote-boks .fotnote-boks__stjerne {
  position: absolute;
  top: 1rem;
  left: 0;
  width: 2.75rem;
  text-align: right;
  color: var(--farge-aksent) !important;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
}
/* Fotnotetekst skal være mindre enn brødteksten – overstyrer
   den større artikkelteksten fra seksjon 5i */
#fullArticle div.fotnote-boks :is(p, li) {
  font-size: 0.9375rem !important;
  line-height: 1.55 !important;
}
div.fotnote-boks p { margin: 0 0 0.5rem !important; }
div.fotnote-boks p:last-of-type { margin-bottom: 0 !important; }
#fullArticle div.fotnote-boks a.fotnote-boks__tilbake,
div.fotnote-boks a.fotnote-boks__tilbake {
  display: inline-block;
  margin-top: 0.5rem;
  font-size: 0.875rem !important;
  color: var(--kardinalrod);
}

/* Markering når man har klikket på stjernen
   (slås av for brukere som har skrudd av animasjoner) */
div.fotnote-boks:target {
  animation: fotnote-blink 1.6s ease-out;
}
@keyframes fotnote-blink {
  0%   { background-color: var(--farge-aksent-lys); }
  100% { background-color: var(--farge-flate); }
}

@media (max-width: 48rem) {
  #fullArticle div.fotnote-boks :is(p, li) {
    font-size: 1rem !important;         /* fortsatt mindre enn brødteksten på 18 px */
  }
  div.fotnote-boks {
    padding: 1rem 1rem 1rem 3rem !important;
  }
  #fullArticle div.fotnote-boks .fotnote-boks__stjerne,
  div.fotnote-boks .fotnote-boks__stjerne {
    width: 2.25rem;
  }
}

@media print {
  div.fotnote-boks a.fotnote-boks__tilbake {
    display: none !important;
  }
}


/* =========================================
   5k. PUNKTLISTER OG NUMMERERTE LISTER I ARTIKLER
   Listene legges tydelig inn fra venstre, slik at kulepunktene
   står innenfor teksten rundt og ikke stikker ut i margen.
   Underlister trappes videre inn.
   ========================================= */
#fullArticle :is(ul, ol) {
  margin: 0 0 var(--rom-m) 1.5rem !important;
  padding-left: 1.5rem !important;
  list-style-position: outside !important;
}
#fullArticle ul { list-style-type: disc; }
#fullArticle ol { list-style-type: decimal; }
#fullArticle li {
  margin: 0 0 var(--rom-xs) !important;
  padding-left: 0.25rem !important;
}
#fullArticle li > p {
  margin: 0 !important;          /* redigereren pakker ofte punkter i <p> */
}
/* Underlister */
#fullArticle li > :is(ul, ol) {
  margin: var(--rom-xs) 0 var(--rom-xs) 0 !important;
  padding-left: 1.5rem !important;
}
#fullArticle li > ul { list-style-type: circle; }

@media (max-width: 48rem) {
  #fullArticle :is(ul, ol) {
    margin-left: 0.75rem !important;
  }
}


/* =========================================
   5l. KNAPPER  <a class="ld-knapp">
   Gjelder både interne og eksterne knapper.
   Eksempel:
     <a class="ld-knapp" href="https://lovdata.no/pro">
       Gå til Lovdata Pro
       <svg viewBox="0 0 24 24" aria-hidden="true"><path d="M7 17L17 7M9 7h8v8"/></svg>
       <span class="ld-skjult">(åpnes i ny fane)</span>
     </a>
   Knappene er unntatt fra de generelle lenkereglene
   (hover-farge i 5f og kontaktboksen i 5g).
   ========================================= */
a.ld-knapp.ld-knapp,
a.ld-knapp.ld-knapp:link,
a.ld-knapp.ld-knapp:visited {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 12px 20px !important;
  font-family: var(--font) !important;
  font-size: 16px !important;
  font-style: normal !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  color: var(--lys-gra) !important;
  background: var(--stortingsrod) !important;
  border: 2px solid var(--stortingsrod) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: background-color 0.15s, border-color 0.15s !important;
}
a.ld-knapp.ld-knapp:hover,
a.ld-knapp.ld-knapp:active {
  color: var(--lys-gra) !important;
  background: var(--kardinalrod) !important;
  border-color: var(--kardinalrod) !important;
  text-decoration: none !important;
}
a.ld-knapp.ld-knapp:focus-visible {
  outline: 3px solid var(--dyp-gra) !important;
  outline-offset: 2px !important;
}
/* Stopper automatiske ↗-tegn o.l. som andre stilark legger på lenker */
a.ld-knapp.ld-knapp::before,
a.ld-knapp.ld-knapp::after {
  content: none !important;
  display: none !important;
}
/* Ikon */
a.ld-knapp.ld-knapp svg {
  display: block !important;
  flex: none !important;
  width: 18px !important;
  height: 18px !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  fill: none !important;
  stroke: currentColor !important;
}
a.ld-knapp.ld-knapp svg path {
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.5 !important;
  stroke-linecap: square !important;
  stroke-linejoin: miter !important;
}
/* Tekst som bare leses opp av skjermlesere */
a.ld-knapp.ld-knapp .ld-skjult {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
/* Lang knappetekst brytes på smale skjermer i stedet for å
   stikke ut av siden */
@media (max-width: 48rem) {
  a.ld-knapp.ld-knapp,
  a.ld-knapp.ld-knapp:link,
  a.ld-knapp.ld-knapp:visited {
    white-space: normal !important;
    max-width: 100% !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  a.ld-knapp.ld-knapp { transition: none !important; }
}


/* =========================================
   5m. TJENESTEBOKS I ANDRE TJENESTER
   Boks øverst i kategoriene og artiklene for Europalov,
   Lovdata.no (åpne sider) og Lovdata API, med tjenestens
   tema og en knapp til tjenesten. Selve boksen settes inn av
   skriptet i Help Scouts felt for egen kode (fordi CSS ikke kan
   lage klikkbare lenker). Her bestemmes bare utseendet.
   ========================================= */
.tjeneste-boks {
  --tema: var(--stortingsrod);
  --tema-mork: var(--kardinalrod);
  --tema-lys: var(--farge-aksent-lys);
  --tema-knapp: var(--tema);
  display: flex;
  align-items: center;
  justify-content: space-between;   /* logo til venstre, knapp til høyre */
  gap: var(--rom-m);
  margin: 0 !important;
  padding: var(--rom-m) var(--rom-l);
  background: var(--tema-lys);
  border-left: 4px solid var(--tema);
  color: var(--farge-tekst);
}
.tjeneste-boks--europalov {
  --tema: var(--europalov-bla);
  --tema-mork: var(--europalov-bla-mork);
  --tema-lys: var(--europalov-bla-lys);
}
.tjeneste-boks--api {
  --tema: var(--api-bla);
  --tema-knapp: var(--api-bla-knapp);
  --tema-mork: var(--api-bla-mork);
  --tema-lys: var(--api-bla-lys);
}
.tjeneste-boks .ikon {
  width: 3rem;
  height: 3rem;
  background-color: var(--tema);
}
#contentArea .tjeneste-boks p.tjeneste-boks__tekst {
  margin: 0 !important;
  font-size: var(--tekst-normal) !important;
  line-height: 1.5 !important;
  color: var(--farge-tekst) !important;
}
/* Knappen får tjenestens farge i stedet for stortingsrød */
.tjeneste-boks a.ld-knapp.ld-knapp,
.tjeneste-boks a.ld-knapp.ld-knapp:link,
.tjeneste-boks a.ld-knapp.ld-knapp:visited {
  background: var(--tema-knapp) !important;
  border-color: var(--tema-knapp) !important;
  color: #ffffff !important;
}
.tjeneste-boks a.ld-knapp.ld-knapp:hover,
.tjeneste-boks a.ld-knapp.ld-knapp:active {
  background: var(--tema-mork) !important;
  border-color: var(--tema-mork) !important;
}

@media (max-width: 48rem) {
  .tjeneste-boks {
    padding: var(--rom-m);
  }
  .tjeneste-boks .ikon {
    width: 2.5rem;
    height: 2.5rem;
  }
}

@media print {
  .tjeneste-boks a.ld-knapp.ld-knapp {
    display: none !important;
  }
}


/* =========================================
   5n. BREDERE SIDEFELT (KONTEKSTMENY)
   Help Scout deler siden i et smalt sidefelt og en bred
   innholdskolonne med stort mellomrom mellom. Her legges de i
   en fleksboks: sidefeltet får fast, bredere plass (19rem) og
   strekker seg mot artiklene, mens artikkelboksen fyller resten.
   ========================================= */
@media (min-width: 48.0625rem) {
  #contentArea > .row-fluid:has(> #sidebar) {
    display: flex !important;
    align-items: flex-start;
    gap: 1.5rem;
  }
  #contentArea > .row-fluid:has(> #sidebar)::before,
  #contentArea > .row-fluid:has(> #sidebar)::after {
    content: none !important;      /* fjerner gammel «clearfix» */
  }
  #contentArea > .row-fluid > #sidebar {
    order: -1;                     /* alltid til venstre */
    flex: 0 0 19rem;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding-right: 0 !important;
    float: none !important;
  }
  #contentArea > .row-fluid > #main-content {
    flex: 1 1 auto;
    min-width: 0;
    width: auto !important;
    margin: 0 !important;
    float: none !important;
  }
  #sidebar :is(.nav-list, ul, li, a) {
    width: auto !important;
    max-width: none !important;
    margin-right: 0 !important;
    padding-right: 0 !important;
  }
}

/* Valgt kategori i sidefeltet markeres bare med fet skrift.
   Pilen (›) som Help Scout legger etter teksten, skjules. Lange
   menypunkter fordeles jevnt når de må brytes. */
#sidebar .nav-list li > a {
  text-wrap: balance;
}
#sidebar .nav-list li > a > :is(i, span[class*="icon"]),
#sidebar .nav-list li > a::after {
  display: none !important;
}


/* =========================================
   6. UTSKRIFT
   ========================================= */
@media print {
  .topplinje,
  .sokeomrade,
  .brodsmuler,
  .relatert,
  .bunntekst,
  .hopp-til-innhold {
    display: none;
  }
  body {
    font-size: 11pt;
    color: #000000;
  }
  .artikkel {
    max-width: none;
  }
  /* Skriv ut lenkeadressen etter lenketeksten */
  .artikkel a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 0.85em;
  }
  .varsel,
  figure,
  .trinn > li {
    break-inside: avoid;
  }
}
