/* Tilbudsrapporten fra Solsjekk (solkart.no/solsjekk) — «sko», utgave 2.

   Regelen som styrer alt (grafisk designer, 15. sept 2026): et tall
   presenteres alltid som ETIKETT → TALL + ENHET → KVALIFIKATOR, etiketten
   over tallet, i versaler, lesbar uten briller. Ett tall per flis. Pris og
   årsproduksjon står som to store felt på mørk flate («blekk») med sand som
   etikettfarge; terrakotta er bare kicker, strek og markør — aldri tekst på
   krem eller blekk (kontrasten holder ikke). Tegningen av taket står i en
   fast ramme, så den aldri klemmer tallene.

   Alt er scopet under .sko. Arket er 287 mm (Chrome runder), tegnes av
   rapport.js i #sk-rapport; print-color-adjust: exact så flatene overlever
   «Lagre som PDF». Tall: desimalkomma, tusenskille, tabular-nums. */

.sko {
  --papir: #ffffff;
  --krem: #f6efe4;
  --krem-50: #fbf7f1;
  --blekk: #2a201a;
  --terra: #be4e27;
  --skifer: #4f5b66;
  --gevinst: #3e7a4a;
  --kostnad: #a8352b;
  --dempet: #6f625a;
  --haar: #e3d9cd;
  --sand: #d9c9b2;
  font-family: var(--sko-body, "DM Sans", system-ui, sans-serif); font-size: 13.5px; line-height: 1.45;
  color: var(--blekk); background: var(--papir);
  font-variant-numeric: tabular-nums lining-nums;
  -webkit-font-smoothing: antialiased;
  -webkit-print-color-adjust: exact; print-color-adjust: exact;
}
.sko *, .sko *::before, .sko *::after { box-sizing: border-box; }

/* Arket */
.sko .sheet {
  width: 210mm; height: 287mm; margin: 0 auto; background: var(--papir);
  padding: 13mm 16mm 11mm; position: relative; overflow: hidden;
  display: flex; flex-direction: column; gap: 4.5mm;
  break-after: page; page-break-after: always;
}
.sko .sheet:last-child { break-after: auto; page-break-after: auto; }
.sko .sheet.flow { height: auto; overflow: visible; }
/* Vedleggene flyter sammenhengende (Carl 23. sept 2026: «en del hvite sider»).
   Hvert vedlegg startet på eget ark; et halvfullt vedlegg A etterfulgt av et
   vedlegg B som var litt for langt ga én halvtom og én tom side. Nå følger de
   etter hverandre, blokkene brekkes ikke, og bunnteksten inne i flyten er
   borte — utskriftens topptekst har «Side x av y». Kilder og forbehold er
   fortsatt en egen sluttside. */
.sko .sheet.flow { break-after: auto; page-break-after: auto; }
.sko .sheet.flow + .sheet.flow { padding-top: 7mm; }
.sko .sheet.flow:has(+ .sheet.flow) { padding-bottom: 0; }
.sko .sheet.flow .sko-foot { display: none; }
.sko .sheet.flow table, .sko .sheet.flow .sko-box, .sko .sheet.flow .sko-chart,
.sko .sheet.flow .sko-figure, .sko .sheet.flow ol, .sko .sheet.flow ul { break-inside: avoid; page-break-inside: avoid; }
.sko .sheet.flow .sko-h3, .sko .sheet.flow .sko-run { break-after: avoid; page-break-after: avoid; }
.sko .sheet.sko-end { break-before: page; page-break-before: always; }
.sko .grow { flex: 1 1 auto; }
.sko .sko-push { margin-top: auto; }

/* Topplinje side 1, løpende hode side 2+, bunntekst */
.sko-topbar { display: flex; justify-content: space-between; align-items: baseline; font-size: 11px; color: var(--skifer); }
.sko-run { display: flex; justify-content: space-between; align-items: baseline; font-size: 10px; letter-spacing: .06em;
           text-transform: uppercase; color: var(--skifer); border-bottom: 1px solid var(--haar); padding-bottom: 2mm; }
.sko-run b { color: var(--blekk); font-weight: 600; }
.sko-foot { margin-top: auto; display: flex; justify-content: space-between; font-size: 9.5px; color: var(--dempet);
            border-top: 1px solid var(--haar); padding-top: 2mm; }
.sko .sheet.flow .sko-foot { margin-top: 6mm; }
.sko-kicker { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--terra); }

/* Tittel side 1 og seksjonstitler */
.sko-h1 { font-family: var(--sko-head, "Newsreader", Georgia, serif); font-weight: 500; font-size: 32px; line-height: 1.1; letter-spacing: -.01em; margin: 1mm 0 0; text-wrap: balance; }
.sko-sub { font-size: 13px; color: var(--skifer); margin-top: 1.5mm; }
.sko-section { display: flex; align-items: baseline; gap: 4mm; padding-bottom: 2.5mm; border-bottom: 1px solid var(--blekk); }
.sko-section__num { font-size: 12px; font-weight: 600; letter-spacing: .1em; color: var(--terra); }
.sko-section__title { font-family: var(--sko-head, "Newsreader", Georgia, serif); font-weight: 500; font-size: 24px; line-height: 1.1; margin: 0; }
.sko-section__lede { margin-left: auto; font-size: 12px; color: var(--skifer); max-width: 78mm; text-align: right; line-height: 1.3; }
.sko-h3 { font-size: 11.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--blekk); margin: 0 0 2mm; }
.sko p { margin: 0; }
.sko-text { font-size: 13.5px; line-height: 1.5; }
.sko-text b { font-weight: 600; }
.sko-small { font-size: 12.5px; line-height: 1.45; color: var(--skifer); }
.sko-fine { font-size: 9.5px; line-height: 1.35; color: var(--dempet); }
.sko-cols { display: grid; gap: 6mm; }
.sko-cols--2 { grid-template-columns: 1fr 1fr; }
.sko-cols--3 { grid-template-columns: 1fr 1fr 1fr; }
.sko-cols--fig { grid-template-columns: 104mm 1fr; }
.sko-cols--wide { grid-template-columns: 1.6fr 1fr; }

/* Bilde + fakta (side 1) */
.sko-figure { background: var(--krem); width: 104mm; height: 78mm; padding: 4mm; display: flex; align-items: center; justify-content: center; }
.sko-figure img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; }
.sko-figure--small { width: 100%; height: 64mm; }
.sko-facts { display: grid; grid-template-columns: 1fr auto; align-content: start; margin: 0; }
.sko-facts dt, .sko-facts dd { margin: 0; padding: 2.3mm 0; font-size: 13px; border-bottom: 1px solid var(--haar); }
.sko-facts dt { color: var(--skifer); }
.sko-facts dd { text-align: right; font-weight: 600; white-space: nowrap; padding-left: 4mm; }
.sko-facts__head { grid-column: 1 / -1; font-size: 11.5px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--skifer); padding: 0 0 1.5mm; border-bottom: 1px solid var(--blekk); }

/* KPI-flis: etikett over tallet */
.sko-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4mm; }
.sko-kpis--2 { grid-template-columns: 1fr 1fr; gap: 6mm; }
.sko-kpis--3 { grid-template-columns: 1fr 1fr 1fr; gap: 5mm; }
.sko-kpi { border-top: 1px solid var(--blekk); padding-top: 2.2mm; min-height: 20mm; }
.sko-kpi__label { display: block; font-size: 12.5px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--skifer); line-height: 1.2; margin-bottom: 1.5mm; }
.sko-kpi__value { display: block; font-size: 32px; font-weight: 600; line-height: 1; letter-spacing: -.015em; white-space: nowrap; }
.sko-kpi__value--m { font-size: 26px; }
.sko-kpi__unit { font-size: 15px; font-weight: 500; letter-spacing: 0; margin-left: .15em; }
.sko-kpi__note { display: block; font-size: 12px; line-height: 1.3; color: var(--dempet); margin-top: 1.5mm; }
.sko-mark { font-size: 9px; font-weight: 600; color: var(--terra); vertical-align: super; margin-left: .1em; }

/* Hero: mørk flate, sand-etiketter */
.sko-hero { background: var(--blekk); color: var(--papir); padding: 6mm 7mm; min-height: 46mm; display: grid; grid-template-columns: 1fr 1fr; gap: 6mm; }
.sko-hero__cell + .sko-hero__cell { border-left: 1px solid var(--sand); padding-left: 6mm; }
.sko-hero__label { display: block; font-size: 14px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--sand); margin-bottom: 2.5mm; }
.sko-hero__value { display: block; font-size: 56px; font-weight: 600; line-height: 1; letter-spacing: -.02em; color: var(--papir); white-space: nowrap; }
.sko-hero__unit { font-size: 24px; font-weight: 500; letter-spacing: 0; color: var(--sand); margin-left: .2em; }
.sko-hero__note { display: block; font-size: 13px; color: var(--sand); margin-top: 2.5mm; line-height: 1.35; }

/* Vurdering, neste steg, bokser */
.sko-quote { font-family: var(--sko-head, "Newsreader", Georgia, serif); font-style: italic; font-size: 17px; line-height: 1.35; border-left: 3px solid var(--terra); padding-left: 5mm; margin: 0; }
.sko-quote { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; flex-shrink: 0; }
.sko-next { background: var(--krem); padding: 5mm 6mm; display: grid; grid-template-columns: 24mm 1fr 1fr 1fr; gap: 5mm; align-items: start; }
.sko-next__head { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--blekk); }
.sko-next__step { font-size: 13px; line-height: 1.4; }
.sko-next__n { display: block; font-family: var(--sko-head, "Newsreader", Georgia, serif); font-size: 22px; line-height: 1; margin-bottom: 1.5mm; }
.sko-box { background: var(--krem); padding: 4mm 5mm; }
.sko-box--line { background: none; border: 1px solid var(--blekk); }
.sko-box--on { background: none; border: 1.5px solid var(--terra); }
.sko-box .sko-h3 { margin-bottom: 1.5mm; }
.sko-list { margin: 0; padding-left: 4.5mm; font-size: 13px; line-height: 1.5; }
.sko-list li { margin: 0 0 1.2mm; }
.sko-chip { display: inline-block; font-size: 11px; font-weight: 600; padding: 1mm 3mm; border: 1px solid var(--blekk); border-radius: 999px; color: var(--blekk); }

/* Tabeller: hårlinjer, enheten i kolonnehodet */
.sko-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.sko-table th { font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--skifer); text-align: left; padding: 0 3mm 1.8mm 0; border-bottom: 1px solid var(--blekk); vertical-align: bottom; line-height: 1.25; }
.sko-table td { padding: 2.1mm 3mm 2.1mm 0; border-bottom: 1px solid var(--haar); vertical-align: top; line-height: 1.3; }
.sko-table .num { text-align: right; padding-right: 0; white-space: nowrap; }
.sko-table th { white-space: nowrap; }
.sko-table td:not(:first-child), .sko-table th:not(:first-child) { padding-left: 3mm; }
.sko-table th.num { padding-right: 0; }
.sko-table .sum td { font-weight: 600; border-top: 1px solid var(--blekk); border-bottom: 0; }
.sko-table .pos { color: var(--gevinst); }
.sko-table .neg { color: var(--kostnad); }
.sko-table--tight td { padding: 1.4mm 3mm 1.4mm 0; }
.sko-table--zebra tbody tr:nth-child(even) td { background: var(--krem-50); }
.sko-table .muted { color: var(--dempet); }
.sko-how { font-size: 11px; line-height: 1.4; color: var(--dempet); margin-top: 1.5mm; }

/* 100 %-stolpe for taket */
.sko-bar { display: flex; height: 7mm; margin: 2mm 0 2mm; }
.sko-bar__used { background: var(--blekk); }
.sko-bar__free { background: var(--sand); }
.sko-bar__excl { background: var(--krem); box-shadow: inset 0 0 0 1px var(--haar); }
.sko-bar-legend { display: flex; flex-wrap: wrap; gap: 2mm 6mm; font-size: 12px; color: var(--skifer); }
.sko-bar-legend i { display: inline-block; width: 3.5mm; height: 2.5mm; margin-right: 1.5mm; vertical-align: 0; }

/* Grafer (SVG, viewBox i px, 673 = 178 mm) */
.sko-chart svg { display: block; width: 100%; height: auto; }
.sko-chart text { font-family: var(--sko-body, "DM Sans", system-ui, sans-serif); font-size: 12px; fill: var(--skifer); }
.sko-chart .val { font-weight: 600; fill: var(--blekk); }
.sko-chart .annot { font-size: 13px; font-weight: 600; fill: var(--blekk); }
.sko-chart .axis { stroke: var(--blekk); stroke-width: .75; }
.sko-chart .grid { stroke: var(--haar); stroke-width: .5; }
.sko-chart .bar { fill: var(--blekk); }
.sko-chart .bar--now { fill: var(--sand); }
.sko-chart .wf-pos { fill: var(--gevinst); }
.sko-chart .wf-neg { fill: var(--kostnad); }
.sko-chart .wf-sum { fill: var(--blekk); }
.sko-chart .wf-link { stroke: var(--skifer); stroke-width: .75; stroke-dasharray: 2 2; }
.sko-chart .wf-cost { stroke: var(--kostnad); stroke-width: .75; }
.sko-chart .wf-hatch { stroke: var(--papir); stroke-width: 1.6; }
.sko-chart .wf-rule { stroke: var(--blekk); stroke-width: .75; }
.sko-chart .wf-none { font-style: italic; fill: var(--dempet); }
.sko-chart .wf-in { font-weight: 600; fill: var(--papir); }
.sko-chart .band { fill: var(--sand); }
.sko-chart .line { fill: none; stroke: var(--blekk); stroke-width: 1.75; stroke-linejoin: round; }
.sko-chart .line--thin { stroke-width: 1; }
.sko-chart .mark { stroke: var(--terra); stroke-width: 1; stroke-dasharray: 3 3; }
.sko-chart .mark-text { font-weight: 600; fill: var(--terra); }
.sko-chart .dash { stroke: var(--skifer); stroke-width: 1; stroke-dasharray: 4 3; }
.sko-chart__title { font-size: 11.5px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--skifer); margin-bottom: 1.5mm; }
.sko-chart__cap { font-size: 12px; line-height: 1.35; color: var(--dempet); margin-top: 1.5mm; }

/* Vedlegg: samme grid, annet register */
.sko-app .sko-h3 { margin-top: 4mm; color: var(--skifer); }
.sko-app .sko-h3:first-child { margin-top: 0; }

/* Sluttside «Kilder og forbehold»: all småskrift samlet bakerst (Carl 17. sept 2026) */
.sko .sheet.sko-end { gap: 3mm; }
.sko-end .sko-h3 { margin-top: 3mm; padding-bottom: 1.5mm; border-bottom: 1px solid var(--blekk); color: var(--blekk); }
.sko-end .sko-run + .sko-h3 { margin-top: 1mm; }
.sko-refs { margin: 0; padding-left: 6mm; font-size: 11.5px; line-height: 1.42; color: var(--skifer); }
.sko-refs li { margin: 0 0 1mm; padding-left: 1mm; break-inside: avoid; }
.sko-refs li::marker { color: var(--dempet); font-size: 10.5px; font-variant-numeric: tabular-nums; }
.sko-refs b { color: var(--blekk); font-weight: 600; }

/* Bakside */
.sko-back { display: grid; grid-template-columns: 1fr 1fr; gap: 8mm; }
.sko-back .sko-contact { font-size: 14px; line-height: 1.5; }
.sko-back.sko-push { border-top: 1px solid var(--blekk); padding-top: 5mm; }
.sko-back .sko-contact b { display: block; font-size: 17px; font-family: var(--sko-head, "Newsreader", Georgia, serif); font-weight: 500; margin-bottom: 1mm; }
.sko-back .sko-contact__person { display: block; font-weight: 600; color: var(--blekk); }
.sko-back .sko-contact a { color: inherit; text-decoration: none; }

/* Forside: fotografi av et av anleggene i full bredde, mørkt felt med tittel
   og de to hero-tallene. Bildet velges etter takform (flatt næringstak eller
   skråtak/låve). Ingen bunntekst; nummereringen starter her. */
.sko .sheet.sko-cover { padding: 0; gap: 0; background: var(--blekk); color: var(--papir); }
.sko-cover__photo { position: relative; height: 160mm; overflow: hidden; background: var(--blekk); }
.sko-cover__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sko-cover__photo::after { content: ""; position: absolute; inset: 0;
  background: linear-gradient(to bottom, transparent 50%, color-mix(in srgb, var(--blekk) 55%, transparent) 78%, var(--blekk) 100%); }
.sko-cover__brand { position: absolute; top: 11mm; left: 16mm; right: 16mm; z-index: 1; display: flex;
  justify-content: space-between; align-items: center; }
.sko-cover__brand img { height: 9mm; width: auto; display: block; filter: drop-shadow(0 1px 4px rgba(0,0,0,.5)); }
.sko-cover__brand span { font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #fff;
  text-shadow: 0 1px 6px rgba(0,0,0,.65); }
.sko-cover__brand .sko-cover__partner { font-size: 17px; letter-spacing: 0; text-transform: none; }
.sko-cover__body { flex: 1; display: flex; flex-direction: column; gap: 7mm; padding: 2mm 16mm 12mm; }
.sko-cover__kicker { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--sand); }
.sko-cover__title { font-family: var(--sko-head, "Newsreader", Georgia, serif); font-weight: 500; font-size: 34px; line-height: 1.1;
  letter-spacing: -.01em; color: var(--papir); margin: 1.5mm 0 0; text-wrap: balance; }
.sko-cover__sub { font-size: 13.5px; color: var(--sand); margin-top: 2mm; }
.sko-cover__heros { display: grid; grid-template-columns: 1fr 1fr; gap: 8mm; border-top: 1px solid var(--sand); padding-top: 6mm; }
.sko-cover__heros > div + div { border-left: 1px solid var(--sand); padding-left: 8mm; }
.sko-cover__foot { margin-top: auto; display: flex; justify-content: space-between; font-size: 11px; color: var(--sand);
  border-top: 1px solid color-mix(in srgb, var(--sand) 35%, transparent); padding-top: 3mm; }

/* Innsparingssiden, utgave 3 – legges til i tilbud.css (erstatter ingenting
   annet enn .wf-head). Tekst står alltid i blekk/skifer, aldri i seriefargen. */

/* Graftittel: periode stort, enhet som egen «lapp» ved siden av */
.sko-chart__title { display: flex; align-items: baseline; gap: 3mm; }
.sko-chart__title b { font-size: 13px; letter-spacing: .08em; color: var(--blekk); }
.sko-unit { font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: none; color: var(--blekk);
            background: var(--krem); border-radius: 999px; padding: .6mm 2.6mm; }

/* Vannfallet */
.sko-chart .wf-head { font-size: 12.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; fill: var(--blekk); }
.sko-chart .wf-headsub { font-size: 11px; fill: var(--dempet); }
.sko-chart .wf-headrule { stroke: var(--blekk); stroke-width: 2; }
.sko-chart .wf-grp { font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; fill: var(--blekk); }
.sko-chart .wf-grp-rule { stroke: var(--haar); stroke-width: 1; }
.sko-chart .wf-sumlbl { font-size: 13.5px; font-weight: 700; fill: var(--blekk); }
.sko-chart .wf-sumsub { font-size: 11px; fill: var(--dempet); }
.sko-chart .wf-net { font-size: 16px; font-weight: 700; fill: var(--blekk); }
.sko-chart .wf-net--neg { fill: var(--kostnad); }
.sko-chart .wf-grp { paint-order: stroke; stroke: var(--papir); stroke-width: 4px; }
.sko-chart .wf-rule { stroke: var(--blekk); stroke-width: 1.25; }

/* Resultattabellen øverst: kolonne per alternativ, rad per periode */
.sko-res { width: 100%; border-collapse: collapse; }
.sko-res thead th { text-align: left; vertical-align: bottom; padding: 0 3mm 2mm 0; border-bottom: 2px solid var(--blekk); }
.sko-res thead th:first-child { width: 38mm; }
.sko-res__alt { display: block; font-size: 12.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.sko-res__under { display: block; font-size: 11.5px; color: var(--dempet); margin-top: .5mm; }
.sko-res tbody th { text-align: left; font-size: 13px; font-weight: 600; padding: 2.6mm 3mm 2.6mm 0; border-bottom: 1px solid var(--haar); vertical-align: top; }
.sko-res tbody th span { display: block; font-size: 11.5px; font-weight: 400; color: var(--dempet); }
.sko-res td { padding: 2.2mm 3mm 2.2mm 0; border-bottom: 1px solid var(--haar); vertical-align: top; }
.sko-res td b { display: block; font-size: 26px; font-weight: 600; line-height: 1.05; letter-spacing: -.015em; white-space: nowrap; }
.sko-res td b.neg { color: var(--kostnad); }
.sko-res td span { display: block; font-size: 11.5px; color: var(--dempet); margin-top: .8mm; }
.sko-res__def { font-size: 12px; color: var(--skifer); margin-top: 2mm !important; }

/* Kostnadsflaten lysere enn gevinsten, så de skilles også for rød-grønn-svake
   (validator: #3e7a4a↔#a8352b ΔE 4,3 = FAIL; #3e7a4a↔#d9876c ΔE 10,9 = PASS).
   Kontrasten mot papir blir 2,7:1, derfor beholdes den mørke kanten (.wf-cost
   stroke = --kostnad) og tallet står alltid ved stolpen. */
.sko { --kostnad-flate: #d9876c; }
.sko-chart .wf-neg { fill: var(--kostnad-flate); }
.sko-chart .wf-cost { stroke: var(--kostnad); stroke-width: 1; }

/* ══ Utgave 4 (fagvurderingene 23. sept 2026: salg, design, UX, språk, ærlighet) ══
   Beslutningsside med kjøp og strømkjøpsavtale side om side og aktiv CTA,
   takskissen stor én gang, avtalevilkår i klartekst, spørsmål og svar.
   Terrakotta er fortsatt bare markør, aldri tekst på krem. */
.sko-section__title { font-size: 26px; }

/* Forsiden: fotoet er et referanseanlegg, og det skal stå */
.sko-cover__caption { position: absolute; right: 16mm; bottom: 3mm; z-index: 1; font-size: 10px; color: var(--sand); letter-spacing: .02em; }

/* Side 1: nøkkeltall om anlegget på én linje */
.sko .sheet.sko-side1 { gap: 4.2mm; }
.sko-fakta { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4mm; border-top: 1px solid var(--blekk); border-bottom: 1px solid var(--haar); padding: 2.6mm 0; }
.sko-fakta b { display: block; font-size: 22px; font-weight: 600; line-height: 1.1; white-space: nowrap; letter-spacing: -.01em; }
.sko-fakta b small { font-size: 13px; font-weight: 500; margin-left: .2em; letter-spacing: 0; }
.sko-fakta span { display: block; font-size: 11.5px; color: var(--skifer); margin-top: .8mm; }

/* Kjøp og/eller strømkjøpsavtale side om side, ett hero-tall per alternativ */
.sko-valg { display: grid; gap: 7mm; }
.sko-valg--2 { grid-template-columns: 1fr 1fr; }
.sko-valg__alt { border-top: 3px solid var(--blekk); padding-top: 2.5mm; display: flex; flex-direction: column; gap: 2.8mm; }
.sko-valg--1 .sko-valg__alt { display: grid; grid-template-columns: 1fr 1fr; column-gap: 8mm; row-gap: 2.8mm; align-items: start; }
.sko-valg--1 .sko-valg__head { grid-column: 1 / -1; }
.sko-valg__navn { display: block; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.sko-valg__under { display: block; font-size: 12px; color: var(--dempet); margin-top: .4mm; }
.sko-valg__hero { background: var(--blekk); color: var(--papir); padding: 4mm 5mm 4.2mm; }
.sko-valg__label { display: block; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--sand); margin-bottom: 2mm; }
.sko-valg__value { display: block; font-size: 40px; font-weight: 600; line-height: 1; letter-spacing: -.02em; white-space: nowrap; }
.sko-valg__unit { font-size: 18px; font-weight: 500; letter-spacing: 0; color: var(--sand); margin-left: .2em; }
.sko-valg__note { display: block; font-size: 12px; color: var(--sand); margin-top: 2mm; line-height: 1.3; }
.sko-valg__rader { display: grid; grid-template-columns: 1fr auto; margin: 0; align-content: start; }
.sko-valg__rader dt, .sko-valg__rader dd { margin: 0; padding: 1.7mm 0; font-size: 13px; border-bottom: 1px solid var(--haar); }
.sko-valg__rader dt { color: var(--skifer); }
.sko-valg__rader dd { text-align: right; font-weight: 600; white-space: nowrap; padding-left: 3mm; }

/* Aktiv CTA: navngitt kontakt, handling og hva som skjer videre */
.sko-cta { background: var(--krem); padding: 5mm 6mm; display: grid; grid-template-columns: 64mm 1fr; gap: 7mm; }
.sko-cta--slutt { grid-template-columns: 1fr 1fr; }
.sko-cta__kicker { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--blekk); }
.sko-cta__title { font-family: var(--sko-head, "Newsreader", Georgia, serif); font-weight: 500; font-size: 26px; line-height: 1.1; margin: 1mm 0 2mm; }
.sko .sko-cta__text { font-size: 12.5px; line-height: 1.4; color: var(--skifer); margin: 0 0 2.5mm; }
.sko-cta__who { display: flex; flex-direction: column; gap: .5mm; font-size: 13.5px; line-height: 1.35; }
.sko-cta__who b { font-size: 15px; font-weight: 600; }
.sko-cta__who a { color: var(--blekk); text-decoration: none; font-weight: 600; }
.sko-cta__who span { color: var(--skifer); }
.sko-cta__steg { list-style: none; margin: 0; padding: 0; counter-reset: steg; display: grid; grid-template-columns: 1fr 1fr; gap: 3.5mm 6mm; align-content: center; }
.sko-cta__steg li { counter-increment: steg; display: grid; grid-template-columns: 7mm 1fr; font-size: 12.5px; line-height: 1.35; }
.sko-cta__steg li::before { content: counter(steg); grid-row: span 2; font-family: var(--sko-head, "Newsreader", Georgia, serif); font-size: 22px; line-height: 1; color: var(--blekk); }
.sko-cta__steg b { display: block; font-weight: 600; }
.sko-cta__steg span { color: var(--skifer); }

/* Taket, tegnet: stor skisse én gang, tegnforklaring og kreditering */
.sko-takgrid { display: grid; grid-template-columns: 110mm 1fr; gap: 6mm; align-items: start; }
.sko-tak { margin: 0; display: flex; flex-direction: column; gap: 1.5mm; }
.sko-tak__img { background: var(--krem); padding: 3mm; display: flex; align-items: center; justify-content: center; }
.sko-tak__img img { max-width: 100%; max-height: 100%; display: block; }
.sko-takgrid .sko-tak__img img { width: 100%; height: auto; }
.sko-tak--bred .sko-tak__img { height: 128mm; }
.sko-tak figcaption { font-size: 10.5px; line-height: 1.35; color: var(--dempet); }
.sko-stack { display: flex; flex-direction: column; gap: 5mm; }
.sko-legende { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.6mm; font-size: 12px; line-height: 1.3; color: var(--skifer); }
.sko-legende li { display: grid; grid-template-columns: 6mm 1fr; }
.sko-legende i { display: block; width: 4mm; height: 3mm; margin-top: .6mm; box-shadow: inset 0 0 0 .5px rgba(0,0,0,.2); }

/* Strøm gjennom året */
.sko-kpi--ask { border-top: 1px dashed var(--blekk); }
.sko-kpi--ask .sko-kpi__note { font-size: 12.5px; color: var(--blekk); }
.sko-list--small { font-size: 12.5px; line-height: 1.4; color: var(--blekk); }

/* Følsomhet: raden det er regnet med, er merket */
.sko-table--sens th { white-space: normal; }
.sko-table tr.sko-regnet td { font-weight: 600; background: var(--krem); }
.sko-tag { display: inline-block; font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--papir);
           background: var(--blekk); border-radius: 999px; padding: .3mm 1.8mm; margin-left: 1.5mm; vertical-align: 1px; }

/* Strømkjøpsavtalen: priskort, inkludert, tidslinje og vilkår */
.sko-avtale { display: grid; grid-template-columns: 84mm 1fr; gap: 7mm; align-items: stretch; }
.sko-pris { background: var(--blekk); color: var(--papir); padding: 5mm 6mm; display: flex; flex-direction: column; }
.sko-pris__label { font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--sand); }
.sko-pris__value { font-size: 40px; font-weight: 600; line-height: 1.05; letter-spacing: -.02em; white-space: nowrap; margin-top: 1.5mm; }
.sko-pris__value small { font-size: 17px; font-weight: 500; color: var(--sand); margin-left: .2em; letter-spacing: 0; }
.sko-pris__value--m { font-size: 32px; }
.sko-pris__note { font-size: 12px; color: var(--sand); margin-top: 1.5mm; line-height: 1.35; }
.sko-pris__rule { border-top: 1px solid color-mix(in srgb, var(--sand) 45%, transparent); margin: 4mm 0 3.5mm; }
.sko-sjekk { list-style: none; margin: 0; padding: 0; font-size: 13px; }
.sko-sjekk li { position: relative; padding: 2mm 0 2mm 7mm; border-bottom: 1px solid var(--haar); }
.sko-sjekk li::before { content: ""; position: absolute; left: .5mm; top: 2.8mm; width: 3.4mm; height: 1.8mm;
  border-left: 2px solid var(--gevinst); border-bottom: 2px solid var(--gevinst); transform: rotate(-45deg); }
.sko-tidslinje { display: grid; grid-template-columns: repeat(var(--n, 4), 1fr); gap: 0 4mm; position: relative; padding-top: 6mm; }
.sko-tidslinje::before { content: ""; position: absolute; left: 0; right: 0; top: 1.4mm; height: 2px; background: var(--blekk); }
.sko-tidslinje > div { position: relative; display: flex; flex-direction: column; gap: .5mm; font-size: 11.5px; line-height: 1.3; color: var(--skifer); }
.sko-tidslinje > div::before { content: ""; position: absolute; left: 0; top: -6mm; width: 3.2mm; height: 3.2mm; border-radius: 50%; background: var(--terra); }
.sko-tidslinje__ar { font-size: 17px; font-weight: 600; line-height: 1.1; color: var(--blekk); }
.sko-tidslinje b { font-size: 12.5px; color: var(--blekk); }
.sko-vilkar td:first-child { font-weight: 600; white-space: nowrap; width: 40mm; }
.sko-note { align-self: end; }

/* Spørsmål dere pleier å stille: spørsmålet i halvfet, svaret i én–to setninger */
.sko-faq { display: grid; grid-template-columns: 1fr 1fr; gap: 3.6mm 8mm; }
.sko-faq > div { border-top: 1px solid var(--haar); padding-top: 2.2mm; }
.sko-faq b { display: block; font-size: 13.5px; font-weight: 600; margin-bottom: .8mm; }
.sko-faq span { display: block; font-size: 12.5px; line-height: 1.42; color: var(--skifer); }

/* Innholdslista på side 1 */
.sko-innhold { display: flex; flex-wrap: wrap; gap: 1.5mm 5mm; font-size: 11.5px; color: var(--skifer); border-top: 1px solid var(--haar); padding-top: 2.5mm; }
.sko-innhold__head { font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--blekk); font-size: 10.5px; margin-right: 1mm; }
.sko-innhold b { color: var(--blekk); font-weight: 600; margin-right: 1.2mm; }
/* Innsparingssiden med begge alternativene skal få plass på ett ark */
.sko .sheet.sko-foss-side { gap: 3.2mm; }
.sko-foss-side .sko-chart__cap { margin-top: .8mm; font-size: 11.5px; }
/* Vedleggene: tettere tabeller, så de får plass på to sider */
.sko-app .sko-table { font-size: 11.5px; }
.sko-app .sko-table td { padding-top: 1.1mm; padding-bottom: 1.1mm; }
.sko-app .sko-table th { white-space: normal; }
.sko-foss-side .sko-res__def { margin-top: 1mm !important; }
.sko-foss-side .sko-res tbody th, .sko-foss-side .sko-res td { padding-top: 1.8mm; padding-bottom: 1.8mm; }
.sko .sheet.sko-foss-side { gap: 2.4mm; }
.sko-foss-side .sko-section { padding-bottom: 1.8mm; }
.sko-valg--1 .sko-valg__alt { align-items: stretch; }
.sko-valg--1 .sko-valg__hero { display: flex; flex-direction: column; justify-content: center; padding: 6mm 6mm; }
.sko-valg--1 .sko-valg__value { font-size: 50px; }
.sko-valg--1 .sko-valg__unit { font-size: 22px; }
