/* Tingposten: a sober newspaper (design D). Blackletter nameplate, Bodoni
   headlines, Franklin for wayfinding, Source Serif for reading. Static CSS;
   the only scripts are the visitor count and, when comments are on, the
   comment section (debatt.js). Self-hosted fonts (fonts.css) with system fallbacks. All
   colours are tokens; the figures (grafikk.py) read the --tp-* tokens and
   stay in ink: no party colours, no colour for winners or losers. */

:root {
  color-scheme: light dark;
  --papir: #f3efe4;   /* warm newsprint (design D, 1.11) */
  --boks: #e9e3d3;
  --boks-kant: #d6cfbd;
  --blekk: #141413;
  --blekk-2: #33322e;
  --dempet: #5a5852;
  --linje: #d6cfbd;
  --linje-2: #b5ad99;
  --sterk: #141413;
  --lenke: #164a7a;
  --fokus: #a35c00;
  --riktig: #2e6b30;   /* quiz feedback only: never in figures or about parties */
  --feil: #a3261a;
  --stolpe: #3a3935;
  --stolpe-spor: #ddd6c4;
  --merket: #e6dcc3;

  /* Read by the SVG figures (grafikk.py). Ink, never party colours. */
  --tp-for: #3a3935;
  --tp-falt: #8a877f;
  --tp-spor: #d3cbb8;
  --tp-kart: #d8d0bd;
  --tp-flate: var(--papir);
  --tp-fg: var(--blekk);
  --tp-muted: #55534d;

  /* The nameplate: one line to switch it (e.g. to var(--didone)). */
  --navn: "UnifrakturMaguntia", "Old English Text MT", "Didot", serif;
  --didone: "Libre Bodoni", "Bodoni 72", "Didot", "Bodoni MT", Georgia, serif;
  --serif: "Source Serif 4", Georgia, "Iowan Old Style", "Times New Roman", serif;
  --sans: "Libre Franklin", "Franklin Gothic", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;

  --gutter: 16px;
  --etikett: 160px;
  --spalt: 44px;
  --rail: 320px;
}
@media (min-width: 720px) { :root { --gutter: 32px; } }
@media (min-width: 1100px) { :root { --gutter: 40px; } }

@media (prefers-color-scheme: dark) {
  :root {
    --papir: #16140f;   /* warm, like the paper by lamplight */
    --boks: #201d17;
    --boks-kant: #343027;
    --blekk: #ece6d8;
    --blekk-2: #d2cbbb;
    --dempet: #aba393;
    --linje: #37332a;
    --linje-2: #555044;
    --sterk: #cbc3b1;  /* softer than the text: 3 px rules glare in full white */
    --lenke: #9cc3ec;
    --fokus: #f0b85a;
    --riktig: #8fce8a;
    --feil: #f2907f;
    --stolpe: #d0c9b8;
    --stolpe-spor: #2f2b23;
    --merket: #2d2920;

    --tp-for: #d5cebd;
    --tp-falt: #827b6d;
    --tp-spor: #3e392f;
    --tp-kart: #3c372d;
    --tp-muted: #bbb3a2;
  }
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--papir);
  color: var(--blekk);
  font: 400 1.0625rem/1.55 var(--serif);
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-optical-sizing: auto;
}
a { color: var(--lenke); text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--fokus); outline-offset: 2px; border-radius: 1px; }
.vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.hopp { position: absolute; left: -999px; top: 0; z-index: 10; background: var(--papir); color: var(--blekk); padding: 8px 12px; font: 600 0.875rem/1.3 var(--sans); }
.hopp:focus { left: 8px; top: 8px; }
.nb { white-space: nowrap; }
.ramme { max-width: calc(1200px + 2 * var(--gutter)); margin: 0 auto; padding: 0 var(--gutter); }
.ikon { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.pil::after { content: "\00a0→"; }
.ikoner { position: absolute; width: 0; height: 0; overflow: hidden; }

/* ---------- Small type shared by every page ---------- */
.kicker { margin: 0 0 0.6rem; font: 700 0.75rem/1.35 var(--sans); letter-spacing: 0.09em; text-transform: uppercase; color: var(--blekk); }
.kicker-del { font-weight: 500; letter-spacing: 0.02em; text-transform: none; color: var(--dempet); font-size: 0.8125rem; }
.kicker-rad .kicker-tema, .kicker-rad .kicker-del { white-space: nowrap; }
.kicker-del::before { content: "·"; margin: 0 0.5em; color: var(--linje-2); }
/* A kicker that wraps starts its new line without a stray "·": each separator
   sits in a negative margin and is clipped at the start of a line. */
.kicker:has(.kicker-rad) { overflow: hidden; }
.kicker-rad { display: block; margin-left: -1.1em; }
.kicker-rad > :first-child { margin-left: 1.1em; }
.kicker-rad .kicker-del::before { display: inline-block; width: 1.1em; margin: 0; text-align: center; }
.kicker-rad > .kicker-del:first-child::before { content: none; }
.etikett { margin: 0; font: 700 0.75rem/1.3 var(--sans); letter-spacing: 0.1em; text-transform: uppercase; color: var(--blekk); }
.etikett-strek { padding-top: 9px; border-top: 3px solid var(--sterk); }

/* Libre Bodoni sets a narrow word space; open it a little in every headline */
.lead-tittel, .sek-tittel, .rad-tittel, .sak-tittel, .seksjon-hode h2, .temaer-hode h2,
.flis-hode h3, .relaterte-hode h2, .andre-lenke, .nokkeltall dd { word-spacing: 0.07em; }

/* ---------- Masthead (design D): the same on every page ---------- */
/* The nameplate in a double frame (a border and an outline 3px outside it), an ear on each side. */
.masthode { padding-top: 18px; }
.masthode-ramme { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: center; text-align: center;
  margin: 4px; padding: 12px 12px 10px; border: 1px solid var(--sterk); outline: 1px solid var(--sterk); outline-offset: 3px; }
.navnefelt { min-width: 0; }
.navnetrekk { margin: 0; font: 400 clamp(2.6rem, 1.9rem + 3.4vw, 5.5rem)/1 var(--navn); letter-spacing: 0; }
.navnetrekk a { color: inherit; text-decoration: none; }
.slagord { margin: 2px 0 0; font: 400 0.75rem/1.4 var(--didone); letter-spacing: 0.2em; text-transform: uppercase; color: var(--blekk); }
.ore { display: none; margin: 0; }
.ore-topp { display: block; font: italic 400 0.9375rem/1.35 var(--didone); color: var(--blekk); }
.ore-bunn { display: block; margin-top: 2px; font: 500 0.6875rem/1.4 var(--sans); letter-spacing: 0.1em; text-transform: uppercase; color: var(--dempet); }
@media (min-width: 820px) {
  .masthode { padding-top: 24px; }
  .masthode-ramme { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; column-gap: 24px; padding: 16px 20px 13px; }
  .slagord { font-size: 0.9375rem; letter-spacing: 0.24em; }
  .ore { display: block; max-width: 210px; padding: 4px 0; }
  .ore-v { justify-self: start; padding-right: 18px; border-right: 1px solid var(--sterk); }
  .ore-h { justify-self: end; padding-left: 18px; border-left: 1px solid var(--sterk); }
}
.meny { display: flex; flex-wrap: wrap; justify-content: center; gap: 2px 30px; margin-top: 6px; padding: 7px 0 6px; border-bottom: 1px solid var(--sterk);
  font: 400 1.0625rem/1.3 var(--didone); font-variant: small-caps; letter-spacing: 0.06em; }
.meny a { color: var(--blekk); text-decoration: none; padding: 6px 2px; }
.meny a:hover { text-decoration: underline; }
.meny a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.3em; }

/* Period tabs */
.periodelinje { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 24px; padding-top: 12px; }
.faner { display: flex; flex-wrap: wrap; gap: 4px 22px; font: 500 0.8125rem/1.3 var(--sans); }
.faner a { color: var(--dempet); text-decoration: none; padding: 4px 0; }
.faner a:hover { color: var(--blekk); text-decoration: underline; }
.faner a[aria-current="page"] { color: var(--blekk); font-weight: 700; box-shadow: inset 0 -2px 0 var(--sterk); }
.periode-merk { margin: 0; font: italic 400 1rem/1.4 var(--didone); color: var(--dempet); }

/* ---------- Story blocks: the headline is the one link, the block is clickable ---------- */
.blokk { position: relative; min-width: 0; }
.blokklenke { color: inherit; text-decoration: none; }
.blokklenke::after { content: ""; position: absolute; inset: 0; }
.blokk:hover .blokklenke { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.12em; }
.blokklenke:focus-visible { outline: none; }
.blokk:has(.blokklenke:focus-visible) { outline: 3px solid var(--fokus); outline-offset: 4px; }

/* Facts row: small, meaningful, never "Vedtatt" */
.fakta { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; font: 500 0.8125rem/1.35 var(--sans); color: var(--dempet); }
.faktum { display: inline-flex; align-items: center; gap: 6px; }
.faktum .ikon { width: 14px; height: 14px; }
.faktum-status { color: var(--blekk-2); font-weight: 600; padding: 0 6px 1px; border: 1px solid var(--linje-2); border-radius: 2px; }
.faktum-statustekst { color: var(--blekk-2); }
.faktum-bakgrunn { color: var(--dempet); font-weight: 500; }

/* Mini map: the same SVG as a locator, bydel name beside it */
.minikart { display: flex; align-items: center; gap: 12px; margin: 0; }
.minikart svg { width: 58px; height: auto; flex: none; }
.minikart svg text { display: none; }
.minikart-navn { display: block; font: 600 0.875rem/1.25 var(--sans); color: var(--blekk); }
.minikart-kilde { display: block; font: 400 0.6875rem/1.35 var(--sans); color: var(--dempet); }
.minibelop svg { display: block; width: 100%; max-width: 300px; height: auto; font-family: var(--sans); }

/* ---------- Front page ---------- */
.forside { padding-bottom: 8px; }

/* Lead + "Perioden i tall" */
.toppsone { display: grid; grid-template-columns: minmax(0, 1fr); gap: 30px; padding: 26px 0 30px; border-bottom: 1px solid var(--sterk); }
.lead { display: flex; flex-direction: column; }
.lead-tittel { margin: 0; font: 700 clamp(2.1rem, 1.35rem + 3.1vw, 3.55rem)/1.04 var(--didone); letter-spacing: -0.012em; text-wrap: balance; }
.lead-kort .lead-tittel { font-size: clamp(2.35rem, 1.45rem + 3.7vw, 4.1rem); }
.lead-dek { margin: 1rem 0 0; font: 400 clamp(1.125rem, 1.02rem + 0.42vw, 1.3rem)/1.5 var(--serif); color: var(--blekk-2); max-width: 38em; text-wrap: pretty; }
.lead-felt { margin: 1rem 0 0; max-width: 38em; font: 400 1.0625rem/1.55 var(--serif); color: var(--blekk-2); }
.lead-felt-etikett { margin-right: 0.35em; font: 700 0.6875rem/1 var(--sans); letter-spacing: 0.09em; text-transform: uppercase; color: var(--blekk); }
.nokkeltall { margin: 1.5rem 0 0; padding: 0; border-top: 1px solid var(--sterk); }
.nokkeltall > div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 8px 0 7px; border-bottom: 1px solid var(--linje); min-width: 0; }
.nokkeltall dt { display: flex; align-items: center; gap: 6px; font: 600 0.6875rem/1.3 var(--sans); letter-spacing: 0.09em; text-transform: uppercase; color: var(--dempet); }
.nokkeltall dt .ikon { width: 13px; height: 13px; }
.nokkeltall dd { margin: 0; font: 600 1.125rem/1.2 var(--didone); color: var(--blekk); text-align: right; }
.nokkeltall .minikart { margin-top: 6px; }
@media (min-width: 620px) {
  .nokkeltall { display: flex; flex-wrap: wrap; border-top-color: var(--linje); }
  .nokkeltall > div { display: block; flex: 0 1 auto; padding: 12px 34px 0 22px; border: 0; border-left: 1px solid var(--linje); }
  .nokkeltall > div:first-child { padding-left: 0; border-left: 0; }
  .nokkeltall dd { margin: 5px 0 6px; font-size: 1.3rem; text-align: left; }
}
@media (max-width: 959px) {
  .forside { display: flex; flex-direction: column; }
  .toppsone { display: contents; }
  .lead { order: 1; padding: 24px 0 28px; border-bottom: 1px solid var(--sterk); }
  .fire { order: 2; }
  .flere { order: 3; }
  .periode { order: 4; margin: 30px 0 6px; }
  .temaer { order: 5; }
  .andre { order: 6; }
}
@media (min-width: 960px) {
  .toppsone { grid-template-columns: minmax(0, 1fr) 316px; column-gap: 52px; padding-top: 30px; padding-bottom: 32px; }
}

.periode { font-family: var(--sans); border-top: 3px solid var(--sterk); padding-top: 9px; }
.periode-tall { margin: 14px 0 0; display: flex; align-items: baseline; gap: 10px; font: 500 0.9375rem/1.3 var(--sans); color: var(--blekk-2); }
.periode-tall strong { font: 700 3.4rem/0.9 var(--didone); color: var(--blekk); letter-spacing: -0.02em; }
.moteliste { list-style: none; margin: 12px 0 0; padding: 0; font-size: 0.8125rem; line-height: 1.35; }
.moteliste li { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; border-top: 1px solid var(--linje); }
.moteliste li:last-child { border-bottom: 1px solid var(--linje); }
.moteliste a { color: var(--blekk); text-decoration-color: var(--linje-2); }
.moteliste a:hover { text-decoration-color: currentColor; }
.moteliste span { color: var(--dempet); font-variant-numeric: tabular-nums; }
.periode .etikett-liten { margin: 20px 0 6px; font: 700 0.6875rem/1.3 var(--sans); letter-spacing: 0.1em; text-transform: uppercase; color: var(--dempet); }
.stolper { list-style: none; margin: 0; padding: 0; }
.stolper a { display: grid; grid-template-columns: minmax(0, 1fr) 96px 3.2ch; align-items: center; column-gap: 10px; padding: 4px 0; font-size: 0.875rem; line-height: 1.25; text-decoration: none; color: var(--blekk); }
.stolper a .stolpe-navn { text-decoration: underline; text-decoration-color: var(--linje-2); text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
.stolper a:hover .stolpe-navn { text-decoration-color: currentColor; text-decoration-thickness: 2px; }
.stolpe-spor { display: block; height: 7px; background: var(--stolpe-spor); }
.stolpe { display: block; height: 100%; width: var(--andel); background: var(--stolpe); }
.stolpe-tall { text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; color: var(--blekk); }

/* The row of four, under a centred label between a thick and a thin rule (design A) */
.fire-tittel { grid-column: 1 / -1; margin: 0; padding: 9px 0 6px; border-top: 3px solid var(--sterk); box-shadow: inset 0 -1px 0 var(--sterk);
  font: 700 0.75rem/1.3 var(--sans); letter-spacing: 0.12em; text-transform: uppercase; text-align: center; }
.fire-tittel + .sek { border-top: 0; }
.fire { display: grid; grid-template-columns: minmax(0, 1fr); border-bottom: 1px solid var(--linje); }
.sek { padding: 22px 0 24px; border-top: 1px solid var(--linje); display: flex; flex-direction: column; }
.sek:first-of-type { border-top: 0; }
.sek-tittel { margin: 0; font: 700 1.5rem/1.12 var(--didone); letter-spacing: -0.005em; text-wrap: balance; }
.sek-dek { margin: 0.55rem 0 0; font-size: 1rem; line-height: 1.5; color: var(--blekk-2); text-wrap: pretty; }
.sek-figur:not(:empty) { margin-top: 16px; }
.sek .fakta { margin-top: 14px; }
.sek .fakta:empty { display: none; }
@media (min-width: 700px) {
  .fire { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 0; }
  .sek { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: 0; padding: 22px 24px 24px; border-top: 1px solid var(--linje); }
  .sek:nth-of-type(odd) { padding-left: 0; }
  .sek:nth-of-type(even) { padding-right: 0; border-left: 1px solid var(--linje); }
  .sek:nth-of-type(-n+2) { border-top: 0; }
  .sek .kicker { align-self: end; }
  .sek .fakta:empty { display: flex; }
}
@media (min-width: 1040px) {
  .fire { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .sek { border-top: 0; padding-left: 22px; padding-right: 22px; border-left: 1px solid var(--linje); }
  .sek:nth-of-type(odd) { padding-left: 22px; }
  .sek:nth-of-type(even) { padding-right: 22px; }
  .sek:nth-of-type(4n+1) { padding-left: 0; border-left: 0; }
  .sek:nth-of-type(4n) { padding-right: 0; }
}

/* Section with a label column: "Flere vedtak" */
.seksjon { display: grid; grid-template-columns: minmax(0, 1fr); padding: 28px 0 30px; border-bottom: 1px solid var(--sterk); }
.seksjon-hode { margin-bottom: 14px; }
.seksjon-hode h2 { margin: 0; font: 700 1.75rem/1.1 var(--didone); }
.seksjon-hode p { margin: 6px 0 0; font: 400 0.875rem/1.4 var(--sans); color: var(--dempet); }
@media (min-width: 960px) {
  .seksjon { grid-template-columns: 200px minmax(0, 1fr); column-gap: 48px; }
  .seksjon-hode { margin: 0; }
}
.rader { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 44px; }
.rad { padding: 16px 0 18px; border-top: 1px solid var(--linje); display: flex; flex-direction: column; }
.rad .kicker { margin-bottom: 0.4rem; font-size: 0.6875rem; }
.rad .kicker-del { font-size: 0.75rem; }
.rad-tittel { margin: 0; font: 700 1.25rem/1.18 var(--didone); text-wrap: balance; }
.rad-dek { margin: 0.4rem 0 0; font-size: 0.9375rem; line-height: 1.5; color: var(--blekk-2); text-wrap: pretty; }
.rad .fakta { margin-top: 10px; }
@media (min-width: 700px) {
  .rader { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rad { display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: 0; }
  .rad .fakta { align-self: end; }
  .rad:nth-child(-n+2) { border-top: 1px solid var(--sterk); }
  .rad:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* Topic tiles; the last row is always filled (no holes) */
.temaer { padding: 28px 0 8px; }
.temaer-hode { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 24px; margin-bottom: 18px; }
.temaer-hode h2 { margin: 0; font: 700 1.75rem/1.1 var(--didone); }
.temaer-hode p { margin: 0; font: 400 0.875rem/1.4 var(--sans); color: var(--dempet); }
.fliser { display: grid; grid-template-columns: minmax(0, 1fr); gap: 30px 32px; }
.flis { display: flex; flex-direction: column; border-top: 3px solid var(--sterk); padding-top: 9px; scroll-margin-top: 16px; }
.flis:target { background: var(--merket); box-shadow: 0 0 0 10px var(--merket); }
.flis-hode { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 6px; }
.flis-hode h3 { margin: 0; font: 700 1.25rem/1.15 var(--didone); }
.flis-hode p { margin: 0; flex: none; font: 600 0.8125rem/1.3 var(--sans); font-variant-numeric: tabular-nums; }
.flis > ul { list-style: none; margin: 0; padding: 0; }
.flis > ul > li { padding: 9px 0 10px; border-top: 1px solid var(--linje); }
.flis > ul > li:first-child { border-top: 0; padding-top: 4px; }
.flis-tittel { margin: 0; font: 600 1rem/1.3 var(--serif); }
.flis .fakta { margin-top: 5px; font-size: 0.75rem; }
.flis-tom { margin: 4px 0 0; font: 400 0.9375rem/1.45 var(--serif); color: var(--dempet); }
.mer { margin: auto 0 0; font: 600 0.8125rem/1.3 var(--sans); }
@media (min-width: 620px) {
  .fliser { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .flis:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (min-width: 1040px) {
  .fliser { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .flis:last-child:nth-child(odd) { grid-column: auto; }
  .flis:nth-child(4n+1):last-child { grid-column: 1 / -1; }
  .flis:nth-child(4n+1):nth-last-child(2), .flis:nth-child(4n+1):nth-last-child(2) + .flis { grid-column: span 2; }
  .flis:nth-child(4n+1):nth-last-child(3) { grid-column: span 2; }
}

.andre { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 10px 32px; margin-top: 28px; padding: 20px 0 36px; border-top: 1px solid var(--sterk); }
.andre-lenke { margin: 0; font: italic 400 1.375rem/1.3 var(--didone); }
.andre-moter { margin: 0; font: 500 0.875rem/1.4 var(--sans); }

/* ---------- Footer ---------- */
.bunn { border-top: 3px double var(--sterk); padding: 26px 0 48px; font: 400 0.875rem/1.55 var(--sans); color: var(--blekk-2); }
.bunn-navn { margin: 0 0 6px; font: 400 1.9rem/1 var(--navn); color: var(--blekk); }
.bunn p { margin: 0 0 6px; max-width: 46em; }

/* ---------- Sak page ---------- */
.sakside { padding-bottom: 24px; }
.brodsmule { padding-top: 14px; font: 400 0.8125rem/1.4 var(--sans); color: var(--dempet); }
.brodsmule ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 2px 0; }
.brodsmule li + li::before { content: "›"; margin: 0 0.55em; color: var(--linje-2); }
.brodsmule a { color: var(--blekk-2); }

/* label column | reading column, used for every section */
.lag { display: grid; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .lag { grid-template-columns: var(--etikett) minmax(0, 1fr); column-gap: var(--spalt); } }

.sak-topp { padding: 22px 0 30px; }
.dateline { margin: 0 0 12px; font: 400 0.8125rem/1.5 var(--sans); color: var(--dempet); }
.dateline .kicker { display: block; margin: 0 0 3px; }
.dateline .kicker::after { content: none !important; }
.dateline .kicker a { color: inherit; text-decoration: none; }
.dateline .kicker a:hover { text-decoration: underline; }
/* Organ and date link to the meeting. The " · " has a no-break space before
   it, so it can end a line but never start one. */
.dateline-mote { color: inherit; text-decoration-color: var(--linje-2); }
.dateline-mote:hover { color: var(--blekk); text-decoration-color: currentColor; }
.dateline .skille { color: var(--linje-2); }
@media (min-width: 900px) {
  .dateline { margin: 10px 0 0; padding-top: 9px; border-top: 3px solid var(--sterk); }
  .dateline .kicker { display: block; margin-bottom: 4px; }
  .dateline-rad, .dateline-rad .nb { display: block; }
  .dateline .skille { display: none; }
}
.sak-tittel { margin: 0; max-width: 21em; font: 700 clamp(2.05rem, 1.3rem + 3vw, 3.4rem)/1.05 var(--didone); letter-spacing: -0.012em; text-wrap: balance; }
.sak-dek { margin: 1rem 0 0; max-width: 34em; font: 400 clamp(1.15rem, 1.05rem + 0.4vw, 1.33rem)/1.5 var(--serif); color: var(--blekk-2); text-wrap: pretty; }
.sak-dek .kilde { display: block; margin-top: 6px; }
.kommunetittel { margin: 1rem 0 0; max-width: 46em; font: 400 0.8125rem/1.5 var(--sans); color: var(--dempet); }
.kommunetittel strong { font-weight: 600; color: var(--blekk-2); }
.paa-siden { margin: 1.2rem 0 0; display: flex; flex-wrap: wrap; gap: 6px 18px; font: 500 0.8125rem/1.3 var(--sans); color: var(--dempet); }
.paa-siden a { font-weight: 600; }
/* Share links (macros.html del_lenker, del.js) */
.del { margin: 0.9rem 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; font: 500 0.8125rem/1.3 var(--sans); color: var(--dempet); }
.del-etikett { font-weight: 700; letter-spacing: 0.09em; text-transform: uppercase; font-size: 0.6875rem; color: var(--blekk); }
.del a { font-weight: 600; }
.del-meny { padding: 0; font-family: inherit; line-height: inherit; border: 0; background: none; cursor: pointer; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.25em; }
.del-knapp { padding: 0; border: 0; background: none; font: inherit; font-weight: 600; color: var(--lenke); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.18em; cursor: pointer; }

/* Below 1180px the page reads in DOM order (card, figures, documents,
   background), so the visual order is the focus order. */
.sak-oppsett { display: grid; grid-template-columns: minmax(0, 1fr); }
.sak-oppsett > .rail { display: contents; }
@media (min-width: 1180px) {
  .sak-oppsett { grid-template-columns: minmax(0, 1fr) var(--rail); column-gap: 48px; align-items: start; }
  .sak-oppsett > .kort, .sak-oppsett > .sak-melding, .sak-oppsett > .artikkel { grid-column: 1; grid-row: 1; }
  /* The rail runs the full height, so the documents can follow the reader. */
  .sak-oppsett > .rail { display: block; grid-column: 2; grid-row: 1 / span 2; align-self: stretch; }
  .rail-dok { position: sticky; top: 24px; }
}

/* Kort fortalt: soft panel, thick rule, fixed five rows */
.kort { position: relative; background: var(--boks); border-top: 3px solid var(--sterk); margin: 0 calc(-1 * var(--gutter)); padding: 0 var(--gutter) 6px; scroll-margin-top: 12px; }
@media (min-width: 720px) { .kort { margin: 0; padding: 0 24px 8px; } }
@media (min-width: 900px) { .kort .lag { grid-template-columns: calc(var(--etikett) - 24px) minmax(0, 1fr); } }
.kort-hode { padding: 14px 0 12px; align-items: baseline; }
.kort-hode h2 { margin: 0; font: 700 0.75rem/1.3 var(--sans); letter-spacing: 0.1em; text-transform: uppercase; }
.kort-hode p { margin: 2px 0 0; font: 400 0.8125rem/1.45 var(--sans); color: var(--dempet); }
.felt { padding: 16px 0 18px; border-top: 1px solid var(--boks-kant); }
.felt h3 { margin: 0 0 4px; font: 600 0.9375rem/1.35 var(--sans); color: var(--blekk); }
.felt-tekst { margin: 0; max-width: 36em; font: 400 1.125rem/1.55 var(--serif); color: var(--blekk); }
.felt-tom { margin: 0; font: 400 1.125rem/1.55 var(--serif); color: var(--dempet); }
@media (min-width: 900px) {
  .felt h3 { margin: 3px 0 0; }
  .kort-hode p { margin: 0; }
}
.kilde { margin: 7px 0 0; font: 400 0.8125rem/1.45 var(--sans); color: var(--dempet); }
.kilde-etikett { font-weight: 600; color: var(--blekk-2); margin-right: 0.3em; }
/* Source page links: each a 24×24px target (WCAG 2.5.8) that still reads as
   "s. 5, 6, 7". The right padding lies under the ", " that follows (pulled
   back by the negative margin), so the comma sits tight and targets never overlap. */
.kilde a, .randnote a { display: inline-block; min-width: 24px; padding: 4px 5px 4px 12px; margin-right: -5px; font-weight: 500; }
.kilde-etikett + a, .randnote-etikett + a, .kilde-skille + a { margin-left: -11px; }
.kilde-skille { margin: 0 0.45em; color: var(--linje-2); }

/* Rail: figures with neat captions (C), documents */
.rail-figurer { display: grid; grid-template-columns: minmax(0, 1fr); gap: 30px; padding: 30px 0 4px; }
@media (min-width: 640px) and (max-width: 1179px) {
  .rail-figurer.figurer-2 { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); column-gap: 36px; }
}
@media (min-width: 900px) and (max-width: 1179px) { .rail-figurer, .rail-dok { margin-left: calc(var(--etikett) + var(--spalt)); } }
@media (min-width: 1180px) { .rail-figurer { padding-top: 0; } }
.figur { margin: 0; padding-top: 9px; border-top: 1px solid var(--sterk); min-width: 0; }
.figur-tittel { margin: 0; font: 700 0.75rem/1.3 var(--sans); letter-spacing: 0.1em; text-transform: uppercase; }
.figur-forklaring { margin: 4px 0 12px; font: 400 0.8125rem/1.45 var(--sans); color: var(--dempet); }
.figur svg { display: block; max-width: 100%; height: auto; font-family: var(--sans); }
.figur-kart svg { width: 190px; }
@media (min-width: 640px) { .figur-kart svg { width: 210px; } }
.figur figcaption { margin-top: 10px; font: 400 0.75rem/1.45 var(--sans); color: var(--dempet); }
.tegnforklaring { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0 0 4px; font: 600 0.875rem/1.3 var(--sans); color: var(--blekk); }
.tegnforklaring span { display: inline-flex; align-items: center; gap: 6px; }
.tegnforklaring span::before { content: ""; width: 11px; height: 11px; background: var(--tp-for); }
.rail-dok { padding: 30px 0 0; font-family: var(--sans); scroll-margin-top: 12px; }
@media (min-width: 1180px) { .rail-figurer + .rail-dok { padding-top: 30px; } .rail-dok:first-child { padding-top: 0; } }
.rail-dok h2 { margin: 0 0 10px; padding-top: 9px; border-top: 1px solid var(--sterk); font: 700 0.75rem/1.3 var(--sans); letter-spacing: 0.1em; text-transform: uppercase; }
.dokliste { list-style: none; margin: 0; padding: 0; }
.dokliste li { padding: 8px 0; border-top: 1px solid var(--linje); }
.dokliste li:first-child { border-top: 0; padding-top: 2px; }
.dokliste a { display: flex; align-items: center; gap: 8px; font: 600 0.9375rem/1.3 var(--sans); }
.dokliste .ikon { width: 15px; height: 15px; color: var(--dempet); }
.dok-type { margin-left: auto; padding: 0 5px; border: 1px solid var(--linje-2); border-radius: 2px; font: 600 0.625rem/1.6 var(--sans); letter-spacing: 0.06em; color: var(--dempet); }
.smaatekst { margin: 10px 0 0; font: 400 0.8125rem/1.5 var(--sans); color: var(--dempet); }

/* The story's body ("Saken"): the main column when the sak has an article; Kort fortalt then sits in the rail */
.artikkel { padding: 8px 0 8px; scroll-margin-top: 12px; }
.artikkel-etikett { margin: 0 0 10px; }
@media (min-width: 900px) { .artikkel-etikett { margin: 12px 0 0; } }
.mellomtittel { max-width: 33em; margin: 1.5em 0 0.55em; padding-top: 8px; border-top: 1px solid var(--sterk); font: 700 0.75rem/1.3 var(--sans); letter-spacing: 0.1em; text-transform: uppercase; color: var(--blekk); }
/* Kort fortalt beside the body: labels on their own line, the text a size down */
.kort-rail { margin: 0; padding: 0 20px 6px; }
@media (min-width: 1180px) { .kort-rail { margin-bottom: 30px; } }
.kort-rail .lag { grid-template-columns: minmax(0, 1fr); column-gap: 0; }
.kort-rail .kort-hode { padding: 12px 0 10px; }
.kort-rail .felt { padding: 12px 0 14px; }
.kort-rail .felt h3 { margin: 0 0 3px; font-size: 0.8125rem; }
.kort-rail .felt-tekst, .kort-rail .felt-tom { font-size: 1rem; line-height: 1.5; }
.kort-rail .kilde { margin-top: 5px; font-size: 0.75rem; }
.byline { margin: 0; padding-bottom: 14px; border-bottom: 1px solid var(--linje); font: 400 0.8125rem/1.5 var(--sans); color: var(--dempet); }
.byline span + span::before { content: "·"; margin: 0 0.45em; color: var(--linje-2); }
.brodtekst { max-width: 33em; margin-top: 22px; }
.brodtekst p { margin: 0 0 1.05em; font: 400 1.1875rem/1.62 var(--serif); color: var(--blekk); hanging-punctuation: first; }
@media (min-width: 720px) { .brodtekst p { font-size: 1.25rem; line-height: 1.62; } }
.brodtekst p.forste { font-size: 1.3125rem; line-height: 1.55; }
@media (min-width: 720px) { .brodtekst p.forste { font-size: 1.375rem; } }
/* Only where initial-letter works: Firefox would show a normal-size bold letter. */
@supports (initial-letter: 3) or (-webkit-initial-letter: 3) {
  .brodtekst p.forste::first-letter { initial-letter: 3; -webkit-initial-letter: 3; font-family: var(--didone); font-weight: 700; margin-right: 0.14em; color: var(--blekk); }
}
.brodtekst p:target { background: var(--merket); box-shadow: 0 0 0 8px var(--merket); }
/* Sources in the margin: under each paragraph on narrow screens, in the label column beside it on wide ones */
.avsnitt { position: relative; }
.brodtekst .randnote { margin: -0.55em 0 1.3em; font: 400 0.8125rem/1.45 var(--sans); color: var(--dempet); scroll-margin-top: 12px; }
.randnote-etikett { margin-right: 0.3em; font-weight: 600; color: var(--blekk-2); }
.randnote:target { background: var(--merket); box-shadow: 0 0 0 6px var(--merket); }
@media (min-width: 900px) {
  .brodtekst .randnote { position: absolute; top: 0.4em; right: calc(100% + var(--spalt)); width: var(--etikett); margin: 0;
    padding-top: 5px; border-top: 1px solid var(--linje-2); }
  .randnote-etikett { display: block; font-size: 0.6875rem; letter-spacing: 0.09em; text-transform: uppercase; }
}

/* More from the same meeting */
.relaterte { margin-top: 44px; padding-top: 24px; border-top: 3px double var(--sterk); }
.relaterte-hode h2 { margin: 0; font: 700 1.375rem/1.15 var(--didone); }
.relaterte-hode p { margin: 6px 0 14px; font: 400 0.875rem/1.4 var(--sans); }
@media (min-width: 900px) { .relaterte-hode p { margin-bottom: 0; } }
.relaterte .rad-tittel { font-size: 1.125rem; }
.relaterte .rad { padding: 12px 0 14px; }
.relaterte .rad:nth-child(-n+2) { border-top-color: var(--linje); }

/* ---------- Additions for the rest of the site (same family as D) ---------- */
.tomt { margin: 32px 0 40px; font: 400 1.125rem/1.5 var(--serif); color: var(--dempet); }
.kommer { color: var(--dempet); }
.fire-1, .fire-2, .fire-3 { border-bottom: 1px solid var(--linje); }
@media (min-width: 1040px) {
  .fire-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fire-3 .sek:nth-of-type(4n+1) { padding-left: 22px; border-left: 1px solid var(--linje); }
  .fire-3 .sek:nth-of-type(3n+1) { padding-left: 0; border-left: 0; }
  .fire-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fire-1 { grid-template-columns: minmax(0, 1fr); }
}
.moteliste .moteliste-mer { justify-content: flex-start; }
.moteliste .moteliste-mer a { font-weight: 600; color: var(--lenke); text-decoration-color: currentColor; }

/* Status on a sak page: only when it isn't simply "Vedtatt". Neutral, never coloured. */
.sak-status { margin: 0 0 12px; font: 600 0.8125rem/1.35 var(--sans); }
.sak-status .faktum-status { display: inline-block; color: var(--blekk); padding: 2px 8px 3px; border: 1px solid var(--linje-2); border-radius: 2px; }

/* Page head for list pages (tema, møte, alle, møter, om) */
.brodsmule ol li:last-child:not(:has(a)) { color: var(--dempet); }
.sidehode { padding: 22px 0 14px; }
.side-tittel { margin: 0; font: 700 clamp(2.1rem, 1.4rem + 2.6vw, 3.2rem)/1.05 var(--didone); letter-spacing: -0.012em; word-spacing: 0.07em; text-wrap: balance; }
.side-ingress { margin: 0.8rem 0 0; max-width: 38em; font: 400 clamp(1.0625rem, 1rem + 0.3vw, 1.2rem)/1.5 var(--serif); color: var(--blekk-2); text-wrap: pretty; }
.listeside { padding-bottom: 24px; }
.seksjon-hode h2 a { color: var(--blekk); text-decoration-color: var(--linje-2); text-decoration-thickness: 1px; text-underline-offset: 0.16em; }
.seksjon-hode h2 a:hover { text-decoration-color: currentColor; text-decoration-thickness: 2px; }
.listeside .seksjon { padding: 20px 0 18px; border-bottom: 0; }
.listeside .seksjon-hode { padding-top: 12px; border-top: 1px solid var(--sterk); }
.listeside .seksjon-hode h2 { font-size: 1.375rem; line-height: 1.15; }
@media (max-width: 699px) { .listeside .seksjon .rad:first-child { border-top: 0; } }
.rad-dek { max-width: 40em; }
.rader-mote { margin: 26px 0 10px; }
@media (min-width: 700px) { .rader-mote .rad:nth-child(-n+2) { border-top: 1px solid var(--sterk); } }
.rader-mote .rad:first-child { border-top: 1px solid var(--sterk); }

.moterader { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 44px; }
.moterader li { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 9px 0 10px; border-top: 1px solid var(--linje); font: 400 0.9375rem/1.35 var(--sans); }
.moterader a { font-weight: 600; }
.moterader span { flex: none; color: var(--dempet); font-variant-numeric: tabular-nums; }
@media (min-width: 700px) {
  .moterader { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .moterader li:nth-child(-n+2) { border-top-color: var(--sterk); }
}
@media (max-width: 699px) { .moterader li:first-child { border-top-color: var(--sterk); } }

.andre-temaer { margin: 30px 0 8px; }
.andre-temaer ul { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 26px; font: 500 0.9375rem/1.4 var(--sans); }
.andre-temaer .antall { color: var(--dempet); font-variant-numeric: tabular-nums; }

/* Om: label column | reading column, as on a sak page */
.omdel { padding: 30px 0 6px; }
.omdel > h2 { margin: 0 0 12px; }
@media (min-width: 900px) { .omdel > h2 { margin: 4px 0 0; } }
.lesetekst { max-width: 40em; }
.lesetekst p { margin: 0 0 1em; font: 400 1.0625rem/1.6 var(--serif); }
.plassholder { padding: 12px 14px; background: var(--boks); border-left: 3px solid var(--sterk); }
.tabellramme { margin: 6px 0 18px; overflow-x: auto; }
.tabellramme table { width: 100%; border-collapse: collapse; font: 400 0.875rem/1.45 var(--sans); }
.tabellramme caption { text-align: left; padding-bottom: 8px; font: 700 0.75rem/1.3 var(--sans); letter-spacing: 0.1em; text-transform: uppercase; }
.tabellramme th, .tabellramme td { padding: 8px 12px 8px 0; border-top: 1px solid var(--linje); text-align: left; vertical-align: top; }
.tabellramme thead th { border-top: 1px solid var(--sterk); font-weight: 600; color: var(--dempet); }
.tabellramme tbody th { font-weight: 600; }
.tabellramme td:nth-child(2) { white-space: nowrap; font-variant-numeric: tabular-nums; }

/* Landing */
.intro { padding: 48px 0 64px; text-align: center; }
.intro-ingress { margin: 0 auto; max-width: 24em; font: 400 clamp(1.45rem, 1.15rem + 1.3vw, 2.15rem)/1.3 var(--didone); word-spacing: 0.07em; text-wrap: balance; }
.intro-lenke { margin: 26px 0 0; font: 600 1rem/1.3 var(--sans); }

/* === Sakside (gjennomgang 30.10) === */
/* Mobile: the dateline links to the meeting, so the breadcrumb would only repeat it. */
@media (max-width: 899px) {
  .sakside .brodsmule { display: none; }
  .sakside .sak-topp { padding-top: 18px; }
  /* tema link above, meeting link below: 24px apart (WCAG 2.5.8) */
  .sakside .dateline .kicker { margin-bottom: 6px; }
}

/* The kommune's own title as h1 (no card, or over 90 characters): quieter, and
   hyphenated, but only long words (the compounds that broke mid-word), not names. */
.sak-tittel-raa { max-width: 28em; font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.2rem); line-height: 1.12; letter-spacing: -0.005em;
  hyphens: auto; -webkit-hyphens: auto; hyphenate-limit-chars: 12 5 5; }
.sak-dek-lang { font-size: clamp(1.0625rem, 0.98rem + 0.4vw, 1.2rem); }
.sak-dek, .felt-tekst, .brodtekst p { hyphens: auto; -webkit-hyphens: auto; hyphenate-limit-chars: 8 4 3; }

/* The key facts under the dek: the lists' fakta(), a little larger. */
.sak-fakta { margin: 14px 0 0; gap: 6px 20px; font-size: 0.875rem; color: var(--blekk-2); }
.sak-fakta .ikon { width: 15px; height: 15px; color: var(--dempet); }

/* No summary: one notice in the card's place */
.sak-melding { padding: 14px 0 4px; border-top: 1px solid var(--linje); }
.sak-melding-tekst { margin: 0; max-width: 36em; font: italic 400 1.0625rem/1.55 var(--serif); color: var(--dempet); }
.sak-melding-venter { background: var(--boks); border-top: 3px solid var(--sterk); margin: 0 calc(-1 * var(--gutter)); padding: 16px var(--gutter) 18px; }
.sak-melding-venter .sak-melding-tekst { font: 400 1.125rem/1.55 var(--serif); color: var(--blekk-2); }
@media (min-width: 720px) { .sak-melding-venter { margin: 0; padding: 18px 24px 20px; } }
@media (min-width: 900px) {
  .sak-melding-tekst { grid-column: 2; }
  .sak-melding-venter { grid-template-columns: calc(var(--etikett) - 24px) minmax(0, 1fr); }
}

/* "Meld feil" where a reader finishes: under the card, after the article */
.meld-feil { margin: 0; padding: 14px 0 10px; border-top: 1px solid var(--boks-kant); font: 400 0.875rem/1.45 var(--sans); color: var(--blekk-2); }
.meld-feil a { font-weight: 600; }
@media (min-width: 900px) { .kort .meld-feil { grid-template-columns: calc(var(--etikett) - 24px) minmax(0, 1fr); } }
.artikkel .meld-feil { margin-top: 18px; border-top-color: var(--linje); }

/* Rettelser: the editor's dated notes, right under the top block. A rule and
   a label like the card's, in ink: calm, never an alarm colour. On wide
   screens the label sits in the label column, the notes under the dek. */
.rettelser { margin: 0 0 28px; padding: 10px 0 13px; border-top: 1px solid var(--sterk); border-bottom: 1px solid var(--linje); }
.rettelser-etikett { margin: 0 0 4px; font: 700 0.75rem/1.3 var(--sans); letter-spacing: 0.1em; text-transform: uppercase; color: var(--blekk); }
.rettelser-liste { list-style: none; margin: 0; padding: 0; max-width: 40em; font: 400 0.9375rem/1.5 var(--sans); color: var(--blekk-2); }
.rettelser-liste li + li { margin-top: 6px; }
.rettelser-liste time { font-weight: 600; color: var(--blekk); }
@media (min-width: 900px) { .rettelser-etikett { margin: 2px 0 0; } }
/* "Rettet" on what was changed (a field, a paragraph, the article's title) and in the lists */
.rettet-merke { font: 500 0.75rem/1.3 var(--sans); letter-spacing: 0.02em; color: var(--dempet); white-space: nowrap;
  text-decoration-color: var(--linje-2); text-underline-offset: 0.18em; }
.rettet-merke:hover { color: var(--blekk); text-decoration-color: currentColor; }
.felt h3 .rettet-merke { margin-left: 4px; }
@media (min-width: 900px) { .felt h3 .rettet-merke { display: block; width: fit-content; margin: 4px 0 0; } }
.brodtekst .rettet-merke { font-size: 0.75rem; }
.byline .rettet-merke { font-size: inherit; letter-spacing: 0; }
.faktum-rettet { color: var(--dempet); font-weight: 500; }

/* Figure sources are links like the card's */
.figur figcaption .kilde { display: block; margin: 0; font-size: inherit; }

/* Bakgrunn: the label is the heading; the byline and the drop cap lead */
@media (min-width: 900px) { .artikkel .byline { margin-top: 12px; } }
/* With its own (fact-checked) headline: "Bakgrunn" becomes the kicker — above it on
   narrow screens, in the label column beside it like the dateline beside the h1 —
   and the headline is set in the headline face, between the field labels and the h1. */


/* === Forside, lister, møter (gjennomgang 30.10) === */

/* Short pages: the footer sits at the bottom of the window */
body { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
body > main { flex: 1 0 auto; width: 100%; }
body > header, body > footer, body > nav { width: 100%; }

/* Footer: the double rule inside the frame, like the masthead's */
.bunn { border-top: 0; padding: 0 var(--gutter) 48px; }
.bunn-innhold { margin-top: 5px; border-top: 1px solid var(--sterk); box-shadow: 0 -4px 0 0 var(--papir), 0 -5px 0 0 var(--sterk); padding-top: 26px; text-align: center; }
.bunn-innhold p { margin-left: auto; margin-right: auto; }

/* Navigation in ink with a light underline; blue is for links in running text and sources */
.bunn-lenker a, .andre a, .flis-fot a, .stolper-mer a, .moteliste .moteliste-mer a, .ogsa a,
.andre-temaer a, .intro-lenke a, .ikkefunnet-lenker a, .moterader a {
  color: var(--blekk); text-decoration-color: var(--linje-2); text-decoration-thickness: 1px;
}
.bunn-lenker a:hover, .andre a:hover, .flis-fot a:hover, .stolper-mer a:hover, .moteliste .moteliste-mer a:hover,
.ogsa a:hover, .andre-temaer a:hover, .intro-lenke a:hover, .ikkefunnet-lenker a:hover, .moterader a:hover {
  text-decoration-color: currentColor;
}
.meny a[aria-current="true"] { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.3em; }

/* A sak without a card shows the kommune's own title: a plain line, not a headline */
.lead-tittel.raatittel, .sek-tittel.raatittel, .rad-tittel.raatittel, .flis-tittel.raatittel, .valg-tittel.raatittel {
  font: 400 1.0625rem/1.45 var(--serif); letter-spacing: 0; word-spacing: normal; color: var(--blekk-2); text-wrap: pretty;
}
.lead-tittel.raatittel { font-size: 1.25rem; }
.rad-tittel.raatittel { max-width: 46em; }

/* Lead: the filler fields only beside the panel; the Bakgrunn cue under the key figures */
@media (max-width: 959px) { .lead-felt { display: none; } }
.lead-fakta { margin-top: 14px; }

/* "Perioden i tall" */
.periode .moteliste { margin-top: 0; }
.stolper-mer { margin: 6px 0 0; font: 600 0.8125rem/1.3 var(--sans); }
@media (min-width: 620px) and (max-width: 959px) {
  /* Two columns, so names stay near their numbers: meetings | temaer */
  .periode { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 44px;
             grid-template-areas: "h h" "tall temaer" "moter temaer"; align-items: start; }
  .periode > h2 { grid-area: h; }
  .periode-tall { grid-area: tall; }
  .periode-moter { grid-area: moter; }
  .periode-temaer { grid-area: temaer; }
  .periode-temaer .etikett-liten { margin-top: 16px; }
}

/* The row of four: kickers are one line, facts start at the top, one map credit */
.sek .fakta { align-content: flex-start; }
.fire-kilde { grid-column: 1 / -1; margin: 0; padding: 0 0 14px; font: 400 0.6875rem/1.35 var(--sans); color: var(--dempet); }

/* "Flere vedtak": the heading on top like "Alle temaer"; each story a column, white space below */
.flere { display: block; }
.flere .seksjon-hode { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 24px; margin: 0 0 18px; }
.flere .seksjon-hode p { margin: 0; }
.flere .seksjon-hode h2 { font-style: italic; font-weight: 500; }
@media (min-width: 700px) {
  .forside .rad, .listeside .rad { display: flex; grid-row: auto; }
  .forside .rad .fakta, .listeside .rad .fakta { align-self: auto; }
}
.forside .rad .fakta:empty, .listeside .rad .fakta:empty { display: none; }
/* No tiles: the list's own rule closes the page, not a second one */
@media (min-width: 960px) { .flere + .andre { margin-top: 0; border-top: 0; } }
/* Narrow: "Perioden i tall" follows the list with its own thick rule */
@media (max-width: 959px) { .flere { border-bottom: 0; padding-bottom: 0; } }

/* Tiles: the count link at the foot; a wide last tile lists in columns */
.flis-fot { margin: auto 0 0; padding-top: 10px; font: 600 0.8125rem/1.3 var(--sans); }
.flis > ul + .flis-fot { border-top: 1px solid var(--linje); }
@media (min-width: 620px) and (max-width: 1039px) {
  .flis:last-child:nth-child(odd) > ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
  .flis:last-child:nth-child(odd) > ul > li:nth-child(-n+2) { border-top: 0; padding-top: 4px; }
}
@media (min-width: 1040px) {
  .flis:nth-child(4n+1):last-child > ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 32px; }
  .flis:nth-child(4n+1):last-child > ul > li:nth-child(-n+3) { border-top: 0; padding-top: 4px; }
  .flis:nth-child(4n+1):nth-last-child(2) > ul, .flis:nth-child(4n+1):nth-last-child(2) + .flis > ul,
  .flis:nth-child(4n+1):nth-last-child(3) > ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
  .flis:nth-child(4n+1):nth-last-child(2) > ul > li:nth-child(-n+2), .flis:nth-child(4n+1):nth-last-child(2) + .flis > ul > li:nth-child(-n+2),
  .flis:nth-child(4n+1):nth-last-child(3) > ul > li:nth-child(-n+2) { border-top: 0; padding-top: 4px; }
}
/* Temaer whose saker are all among the stories: one quiet line */
.ogsa { margin: 26px 0 0; padding-top: 10px; border-top: 1px solid var(--linje); font: 400 0.875rem/1.7 var(--sans); color: var(--dempet); }
.ogsa-etikett { font-weight: 600; color: var(--blekk-2); }
.ogsa .antall { font-variant-numeric: tabular-nums; }
/* separators drawn by CSS (decorative); the markup has a hidden comma for screen readers */
.ogsa .nb:not(:last-child)::after, .utfall .nb:not(:last-child)::after { content: "·"; margin-left: 0.5em; color: var(--linje-2); }

/* Meeting page: one column in agenda order, the sak number in the label column */
.utfall { margin: 0.75rem 0 0; max-width: 52em; font: 500 0.875rem/1.65 var(--sans); color: var(--blekk-2); }
.motedel { padding: 22px 0 8px; }
.motedel > h2 { margin-bottom: 2px; }
.rader.rader-mote { margin: 0; grid-template-columns: minmax(0, 1fr); }
.rader-mote .rad, .rader-mote .rad:nth-child(-n+2) { border-top: 1px solid var(--linje); }
.rader-mote .rad:first-child { border-top: 0; }
.rad-nr { margin: 0; font: 500 0.8125rem/1.35 var(--sans); color: var(--dempet); font-variant-numeric: tabular-nums; }
@media (max-width: 899px) { .rad-lag > .rad-nr { display: none; } }
@media (min-width: 900px) {
  .forside .rad.rad-lag, .listeside .rad.rad-lag { display: grid; grid-template-columns: var(--etikett) minmax(0, 1fr); column-gap: var(--spalt); }
  .rad-lag > .rad-nr { padding-top: 1px; }
  .rad-lag .kicker-nr { display: none; }
  .rad-innhold { display: flex; flex-direction: column; min-width: 0; }
}
.valgliste { list-style: none; margin: 0; padding: 0; }
.valgliste li { padding: 9px 0 10px; border-top: 1px solid var(--linje); }
.valgliste li:first-child { border-top: 0; }
.valg-tittel { margin: 0; font: 600 1rem/1.35 var(--serif); }
@media (min-width: 900px) {
  .valgliste li { display: grid; grid-template-columns: var(--etikett) minmax(0, 1fr); column-gap: var(--spalt); align-items: baseline; }
}

/* List pages (alle, tema): one column in meeting order; the year by month, headlines only */
@media (min-width: 700px) {
  .rader.rader-en { grid-template-columns: minmax(0, 1fr); }
  .listeside .rader-en .rad:nth-child(2) { border-top-color: var(--linje); }
}
@media (max-width: 959px) { .listeside .rader-en .rad:first-child { border-top: 0; } }
.seksjon-hode h3 { margin: 0; font: 700 1.375rem/1.15 var(--didone); word-spacing: 0.07em; }
.seksjon-hode h3 a { color: var(--blekk); text-decoration-color: var(--linje-2); text-decoration-thickness: 1px; text-underline-offset: 0.16em; }
.seksjon-hode h3 a:hover { text-decoration-color: currentColor; text-decoration-thickness: 2px; }
.maned-tittel { margin: 0; padding: 30px 0 2px; font: 700 clamp(1.75rem, 1.4rem + 1.2vw, 2.25rem)/1.1 var(--didone); word-spacing: 0.07em; }
/* The year's index: number | headline | tema on one line; stacked on narrow screens */
.indeks { list-style: none; margin: 0; padding: 0; }
.indeksrad { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 8px; padding: 9px 0 10px; border-top: 1px solid var(--linje); }
.indeksrad:first-child { border-top: 0; }
.indeks-nr, .indeks-meta { margin: 0; font: 500 0.75rem/1.35 var(--sans); color: var(--dempet); font-variant-numeric: tabular-nums; }
.indeks-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.indeks-nr + .indeks-tittel + .indeks-meta { order: 1; }
.indeks-nr + .indeks-tittel + .indeks-meta::before { content: "·"; color: var(--linje-2); }
.indeks-tittel { order: 2; flex-basis: 100%; margin: 3px 0 0; font: 700 1.0625rem/1.3 var(--didone); word-spacing: 0.07em; text-wrap: pretty; }
.indeks-tittel.raatittel { font: 400 1rem/1.42 var(--serif); letter-spacing: 0; word-spacing: normal; color: var(--blekk-2); max-width: 46em; }
.indeks .faktum-status { font-size: 0.75rem; }
@media (min-width: 900px) {
  .indeksrad { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr) 11rem; column-gap: 20px; }
  .indeks-nr + .indeks-tittel + .indeks-meta { order: 0; justify-content: flex-end; text-align: right; }
  .indeks-nr + .indeks-tittel + .indeks-meta::before { content: none; }
  .indeks-tittel { order: 0; margin: 0; }
  .indeks-nr, .indeks-meta { padding-top: 2px; }
}
@media (min-width: 960px) {
  .indeksrad:first-child { border-top: 1px solid var(--sterk); }
  /* the meeting beside its index: organ, then the date, always on two lines */
  .maned-del .seksjon { padding: 14px 0 12px; }
  .maned-del .seksjon-hode h3 { font-size: 1.25rem; }
  .listeside .seksjon-hode .nb { display: block; }
  .maned-del .seksjon-hode p { margin-top: 3px; }
}

/* Alle møter: months in columns that run down */
.maneder { columns: 1; column-gap: 48px; padding: 10px 0 18px; }
@media (min-width: 620px) { .maneder { columns: 2; } }
@media (min-width: 1040px) { .maneder { columns: 3; } }
.maned { break-inside: avoid; padding-bottom: 26px; }
.maned h2 { margin: 0 0 2px; padding-top: 9px; border-top: 3px solid var(--sterk); font: 700 1.375rem/1.15 var(--didone); word-spacing: 0.07em; }
.moterader li, .moterader li:nth-child(-n+2) { border-top-color: var(--linje); }
@media (min-width: 700px) { .moterader { display: block; } }
.moterader li { flex-wrap: wrap; gap: 0 12px; padding: 7px 0 8px; }
.moterader li:first-child { border-top: 0; }
.moterader a { font-weight: 400; }
.moterader a span { color: inherit; }
.moterader .bystyret a { font-weight: 700; }
.moterad-tall { margin-left: auto; text-align: right; }

/* A page head with no breadcrumb above it (Om, 404) gets the same air under the masthead */
main > .sidehode:first-child { padding-top: 38px; }

/* 404 */
.ikkefunnet-lenker ul { list-style: none; margin: 10px 0 48px; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 30px; font: 600 1rem/1.4 var(--sans); }

/* Print: black on white even from dark mode; no navigation */
@media print {
  :root, :root * { color-scheme: light; }
  :root { --papir: #fff; --boks: #fff; --boks-kant: #ccc; --blekk: #000; --blekk-2: #222; --dempet: #444;
          --linje: #bbb; --linje-2: #888; --sterk: #000; --lenke: #000; --merket: #eee; --stolpe: #333; --stolpe-spor: #ddd;
          --tp-for: #333; --tp-falt: #888; --tp-spor: #ddd; --tp-kart: #ddd; --tp-flate: #fff; --tp-fg: #000; --tp-muted: #444; }
  body { display: block; min-height: 0; font-size: 11pt; }
  .meny, .hopp, .paa-siden, .relaterte, .periodelinje, .brodsmule, .bunn-lenker, .andre, .stolper-mer,
  .andre-temaer, .ikkefunnet-lenker, .debatt { display: none !important; }
  h1, h2, h3, .artikkel-etikett, .mellomtittel, .kort-hode, .figur-tittel, .seksjon-hode, .flis-hode { break-after: avoid; }
  .felt, .figur, .avsnitt, .rad, .indeksrad, .flis > ul > li, .valgliste li, .sek, .lead { break-inside: avoid; }
  .bunn { padding: 0; }
  .bunn-innhold { border-top: 1px solid #000; padding-top: 8pt; }
  a { text-decoration: none; }
  .kilde a, .randnote a { text-decoration: underline; }
}

/* === Om og bunn: utgiver, redaktør, erklæring (30.10) === */
.bunn-utgiver { margin: 10px 0 6px; font: 400 0.875rem/1.45 var(--sans); color: var(--dempet); }
.erklaering-dato { margin: 0 0 18px; font: 400 0.875rem/1.45 var(--sans); color: var(--dempet); }
.omside .lesetekst h3 { margin: 28px 0 8px; font: 700 1.125rem/1.3 var(--sans); }
.omside .lesetekst h3:first-of-type { margin-top: 0; }
.omside .lesetekst ul { padding-left: 1.2em; }
.omside .lesetekst li { margin: 6px 0; }

/* Debatt: the comment section under a sak (debatt.js fills .debatt-innhold). */
.debatt { margin-top: 44px; padding-top: 4px; scroll-margin-top: 16px; }
.debatt > h2 { margin: 0 0 12px; }
@media (min-width: 900px) { .debatt > h2 { margin: 4px 0 0; } }
.debatt-innhold { max-width: 40em; font: 400 1rem/1.55 var(--serif); }
.debatt input[type="email"], .debatt input[type="text"], .debatt textarea {
  width: 100%; padding: 8px 10px; font: 400 1rem/1.45 var(--serif); color: var(--blekk);
  background: var(--papir); border: 1px solid var(--linje-2); border-radius: 2px; }
.debatt textarea { resize: vertical; min-height: 5.5em; }
.debatt input:focus-visible, .debatt textarea:focus-visible { outline: 3px solid var(--fokus); outline-offset: 0; }
.debatt label { display: block; margin: 0 0 6px; font: 400 0.9375rem/1.45 var(--sans); }
.debatt button { font: 600 0.875rem/1.2 var(--sans); color: var(--papir); background: var(--blekk);
  border: 1px solid var(--blekk); border-radius: 2px; padding: 8px 14px; cursor: pointer; }
.debatt button:disabled { opacity: 0.55; cursor: default; }
.debatt .lenkeknapp { padding: 0; color: var(--lenke); background: none; border: 0; font: 400 0.8125rem/1.5 var(--sans);
  text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
.debatt-rad { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; margin-top: 8px; }
.debatt-inn .debatt-rad input { flex: 1 1 14em; width: auto; }
.debatt-inn, .debatt-skriv { padding: 16px; background: var(--boks); border: 1px solid var(--boks-kant); }
.debatt-skriv .debatt-meg { margin-top: 12px; }
.debatt-melding { margin: 10px 0 0; font: 400 0.875rem/1.45 var(--sans); color: var(--dempet); min-height: 1.2em; }
.debatt-melding.feil { color: var(--blekk); font-weight: 600; }
.debatt-topp { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: baseline; justify-content: space-between;
  margin: 18px 0 4px; padding-bottom: 8px; border-bottom: 1px solid var(--linje); }
.debatt-antall { margin: 0; font: 700 0.75rem/1.3 var(--sans); letter-spacing: 0.1em; text-transform: uppercase; }
.debatt-sorter { display: flex; gap: 4px; }
.debatt-sorter button { padding: 3px 10px; color: var(--blekk); background: none; border: 1px solid var(--linje-2);
  border-radius: 99px; font-weight: 400; font-size: 0.8125rem; }
.debatt-sorter button[aria-pressed="true"] { color: var(--papir); background: var(--blekk); border-color: var(--blekk); }
.debatt-liste, .debatt-svar { list-style: none; margin: 0; padding: 0; }
.debatt-k { padding: 14px 0 4px; border-bottom: 1px solid var(--linje); }
.debatt-svar { margin-top: 6px; padding-left: 14px; border-left: 2px solid var(--linje); }
.debatt-svar .debatt-k:last-child { border-bottom: 0; }
.debatt-svar.flat { padding-left: 0; border-left: 0; }
@media (min-width: 620px) { .debatt-svar { padding-left: 20px; } }
.debatt-hvem { margin: 0; font: 400 0.8125rem/1.4 var(--sans); color: var(--dempet); }
.debatt-hvem strong { color: var(--blekk); font-weight: 600; }
.debatt-tekst { margin: 4px 0 6px; white-space: pre-wrap; }
.debatt-borte { margin: 0 0 6px; font: italic 400 0.875rem/1.4 var(--sans); color: var(--dempet); }
.debatt-status { margin: 4px 0 8px; padding: 8px 10px; font: 400 0.875rem/1.45 var(--sans); background: var(--merket); }
.debatt-status p { margin: 0; }
.debatt-status p + p { margin-top: 4px; }
.debatt-handlinger { display: flex; flex-wrap: wrap; gap: 4px 14px; align-items: center; margin-bottom: 6px; }
.debatt-stemmer { display: inline-flex; align-items: center; gap: 2px; }
.debatt .stem { padding: 2px 7px; color: var(--dempet); background: none; border: 1px solid transparent; font-size: 0.75rem; }
.debatt .stem:hover:not(:disabled) { border-color: var(--linje-2); }
.debatt .stem[aria-pressed="true"] { color: var(--blekk); border-color: var(--blekk); }
.debatt-poeng { min-width: 2ch; text-align: center; font: 600 0.8125rem/1 var(--sans); font-variant-numeric: tabular-nums; }
.debatt-skjema { margin: 8px 0; }
.debatt-tom, .debatt-nede { margin: 14px 0; font: 400 0.9375rem/1.45 var(--sans); color: var(--dempet); }
.regelliste dt { margin-top: 14px; font: 700 1rem/1.3 var(--sans); }
.regelliste dd { margin: 4px 0 0; }
.debatt-sporsmal { margin: 14px 0 0; padding: 0; border: 0; }
.debatt-sporsmal legend { padding: 0; margin-bottom: 6px; font: 400 1rem/1.5 var(--serif); }
.debatt-sporsmal legend > span { display: block; }
.debatt-eksempel-nr { font: 600 .72rem/1.4 var(--sans); letter-spacing: .06em; text-transform: uppercase; color: var(--dempet); }
.debatt-eksempel { margin: 4px 0; padding-left: 12px; border-left: 3px solid var(--linje-2); font-style: italic; }
.debatt-eksempel-sporsmal { font: 400 .9rem/1.4 var(--sans); }
.debatt-sporsmal label { display: inline-flex; align-items: center; gap: 6px; margin: 0 18px 0 0; }
.debatt-forklaring { margin: 6px 0 0; font: 400 0.875rem/1.45 var(--sans); color: var(--dempet); }
.debatt-forklaring.riktig { color: var(--blekk); }
.debatt-forklaring.feil { color: var(--blekk); }
.debatt-forklaring .debatt-dom { font-weight: 700; }
.debatt-forklaring.riktig .debatt-dom { color: var(--riktig); }
.debatt-forklaring.feil .debatt-dom { color: var(--feil); }

/* === Debatt page, debattinnlegg and the masthead's "Logg inn" (1.11) === */
.masthode { position: relative; padding-top: 26px; }
.konto-lenke { position: absolute; top: 3px; right: var(--gutter); margin: 0; font: 500 0.8125rem/1.3 var(--sans); }
.konto-lenke a { color: var(--blekk); text-decoration-color: var(--linje-2); padding: 4px 0; }
.konto-lenke a:hover { text-decoration-color: currentColor; }
.konto-lenke a::before { content: ""; display: inline-block; width: 0.55em; height: 0.55em; margin-right: 0.45em; vertical-align: 0.05em;
  border: 1.5px solid currentColor; border-radius: 50%; }
.konto-lenke a.innlogget::before { background: currentColor; }

.debattside { padding-bottom: 32px; }
.debatt-oppsett { display: grid; grid-template-columns: minmax(0, 1fr); gap: 36px; padding-top: 10px; }
@media (min-width: 960px) { .debatt-oppsett { grid-template-columns: minmax(0, 1fr) var(--rail); column-gap: 52px; align-items: start; } }
.innlegg-del > h2, .debatt-rail h2.etikett { margin: 0 0 14px; }
.innlegg-forste { padding-bottom: 22px; border-bottom: 1px solid var(--sterk); }
.innlegg-forste-tittel { margin: 0; font: 700 clamp(1.9rem, 1.3rem + 2.4vw, 3rem)/1.06 var(--didone); letter-spacing: -0.01em; word-spacing: 0.07em; text-wrap: balance; }
.innlegg-av { margin: 8px 0 0; font: 400 0.875rem/1.4 var(--sans); color: var(--dempet); }
.innlegg-utdrag { margin: 12px 0 0; max-width: 38em; font: 400 1.125rem/1.55 var(--serif); color: var(--blekk-2); }
.innlegg-liste { list-style: none; margin: 0; padding: 0; }
.innlegg-liste li { padding: 14px 0 15px; border-bottom: 1px solid var(--linje); }
.innlegg-liste-tittel { margin: 0; font: 700 1.3rem/1.18 var(--didone); word-spacing: 0.07em; text-wrap: balance; }

.debatt-rail { display: grid; gap: 34px; }
.mest-hode { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; }
.mest-hode h2.etikett { flex: 1 1 100%; }
.mest-periode select { font: 500 0.875rem/1.3 var(--sans); color: var(--blekk); background: var(--papir); border: 1px solid var(--linje-2);
  border-radius: 2px; padding: 7px 8px; min-height: 36px; }
.mest-liste { list-style: none; counter-reset: mest; margin: 12px 0 0; padding: 0; }
.mest-liste li { counter-increment: mest; display: grid; grid-template-columns: 1.6em minmax(0, 1fr); column-gap: 6px;
  padding: 9px 0 10px; border-top: 1px solid var(--linje); }
.mest-liste li::before { content: counter(mest); grid-row: span 2; font: 700 1.25rem/1.1 var(--didone); color: var(--blekk); }
.mest-liste li.mest-tom { display: block; color: var(--dempet); font: 400 0.9375rem/1.45 var(--serif); }
.mest-liste li.mest-tom::before { content: none; }
.mest-liste a { font: 700 1.0625rem/1.25 var(--didone); color: var(--blekk); text-decoration-color: var(--linje-2); word-spacing: 0.07em; }
.mest-liste a:hover { text-decoration-color: currentColor; }
.mest-antall { grid-column: 2; font: 400 0.8125rem/1.4 var(--sans); color: var(--dempet); }

.send-inn { background: var(--boks); border-top: 3px solid var(--sterk); padding: 14px 20px 16px; font: 400 0.9375rem/1.5 var(--sans); color: var(--blekk-2); }
.send-inn h2 { margin: 0 0 8px; font: 700 1.25rem/1.2 var(--didone); color: var(--blekk); }
.send-inn p { margin: 0 0 8px; }
.send-inn ul { margin: 0 0 10px; padding-left: 1.1em; }
.send-inn li { margin: 4px 0; }
.debatt.konto { margin-top: 0; }

/* One debattinnlegg: like a sak page, with the writer's name where the sources would be */
.innleggside { padding-bottom: 24px; }
.innlegg { padding: 22px 0 10px; }
.innlegg-byline { margin: 14px 0 0; padding-bottom: 12px; border-bottom: 1px solid var(--linje); font: 400 0.9375rem/1.45 var(--sans); color: var(--dempet); }
.innlegg-navn { font-weight: 700; color: var(--blekk); }
.innlegg-om::before { content: ", "; }
.innlegg-sak { margin: 10px 0 0; font: 400 0.875rem/1.45 var(--sans); color: var(--dempet); }
.innlegg-merknad { max-width: 37em; margin: 18px 0 0; padding-top: 12px; border-top: 1px solid var(--linje); font: italic 400 0.9375rem/1.5 var(--didone); color: var(--dempet); }
.innleggside .rad .innlegg-av { margin-top: 4px; }
@media print { .konto-lenke, .mest-kommentert, .send-inn, .debatt.konto { display: none !important; } }

/* The debattinnlegg form (Debatt page) and the writer's approval page */
.innlegg-skjema label { display: block; margin: 10px 0 4px; font: 500 0.875rem/1.4 var(--sans); color: var(--blekk); }
.innlegg-skjema input, .innlegg-skjema textarea { display: block; width: 100%; box-sizing: border-box; padding: 9px 10px;
  font: 400 1rem/1.5 var(--serif); color: var(--blekk); background: var(--papir); border: 1px solid var(--linje-2); border-radius: 2px; }
.innlegg-skjema textarea { resize: vertical; min-height: 14em; }
.innlegg-skjema input:focus-visible, .innlegg-skjema textarea:focus-visible { outline: 3px solid var(--fokus); outline-offset: 0; }
.innlegg-skjema button { margin-top: 10px; font: 600 0.875rem/1.2 var(--sans); color: var(--papir); background: var(--blekk);
  border: 0; border-radius: 2px; padding: 12px 16px; min-height: 44px; cursor: pointer; }
.innlegg-skjema button:disabled { opacity: 0.55; cursor: default; }
.innlegg-skjema .feil { color: var(--feil); }
.innlegg-teller { margin: 4px 0 0; }
.godkjenn-tekst { margin: 18px 0; padding: 16px 20px; background: var(--boks); border-top: 3px solid var(--sterk); }
.godkjenn-tekst h2 { margin: 0 0 6px; font: 700 1.6rem/1.15 var(--didone); }
[data-innlegg-godkjenn] > button { font: 600 0.9375rem/1.2 var(--sans); color: var(--papir); background: var(--blekk); border: 0;
  border-radius: 2px; padding: 12px 18px; min-height: 44px; cursor: pointer; }

/* The test panel (templates/testpanel.html, static/testpanel.js) */
.testpanel { max-width: 46rem; }
.testpanel-hjelp ul { padding-left: 1.2rem; }
.testpanel-status, .testpanel-hei { font: 600 0.9375rem/1.4 var(--sans); }
.testpanel-mote { margin-top: 2rem; }
.testpanel-sak { padding: 1.1rem 0 1.3rem; border-bottom: 1px solid var(--linje); }
.testpanel-sak .kicker { margin-bottom: 0.3rem; }
.testpanel-tittel { margin: 0 0 0.4rem; font: 700 1.3rem/1.2 var(--didone); }
.testpanel-ingress { margin: 0 0 0.5rem; font: 400 1.0625rem/1.45 var(--serif); }
.testpanel-sak details { margin: 0.4rem 0; font: 400 0.9375rem/1.45 var(--serif); }
.testpanel-sak summary { cursor: pointer; font: 600 0.8125rem/1.4 var(--sans); }
.testpanel-felt dt { margin-top: 0.5rem; font: 600 0.8125rem/1.3 var(--sans); }
.testpanel-felt dd { margin: 0.1rem 0 0; }
.testpanel-svar { display: grid; gap: 0.7rem; margin-top: 0.8rem; padding: 0.8rem; background: var(--boks); }
.testpanel-etikett { margin: 0 0 0.3rem; font: 600 0.8125rem/1.3 var(--sans); }
.testpanel-knapper { display: flex; flex-wrap: wrap; gap: 6px; }
.testpanel-knapper button { padding: 5px 11px; font: 500 0.8125rem/1.2 var(--sans); color: var(--blekk); background: var(--papir);
  border: 1px solid var(--linje-2); border-radius: 3px; cursor: pointer; }
.testpanel-knapper button[aria-pressed="true"] { color: var(--papir); background: var(--blekk); border-color: var(--blekk); }
.testpanel-svar textarea { width: 100%; box-sizing: border-box; padding: 6px 8px; font: 400 0.9375rem/1.4 var(--sans);
  color: var(--blekk); background: var(--papir); border: 1px solid var(--linje-2); }
.testpanel-melding { margin: 0; min-height: 1.2em; color: var(--dempet); }
.testpanel-andre { margin-top: 0.6rem; padding-left: 0.8rem; border-left: 3px solid var(--linje-2); }
.testpanel-andre ul { margin: 0.3rem 0 0; padding-left: 1rem; }
.testpanel-del2 { margin: 1rem 0 0; padding: 0.9rem 1rem; background: var(--boks); }
.testpanel-del2 h2 { margin-top: 0; }
.testpanel-forside { font-weight: 600; }
.testpanel-funn { margin: 0.8rem 0 0; padding: 0.6rem 0.8rem; border-left: 3px solid var(--blekk); background: var(--boks); }
.testpanel-funn ul { margin: 0.2rem 0 0.4rem; padding-left: 1.1rem; }
.testpanel-funn button { padding: 5px 11px; font: 600 0.8125rem/1.2 var(--sans); color: var(--papir); background: var(--blekk);
  border: 1px solid var(--blekk); border-radius: 3px; cursor: pointer; }
.testpanel.gjennomgang .testpanel-sak:not(.har-funn) { display: none; }
