/* Partnerrapportene fra Solsjekk (solsjekk-partnerrapport.js), 23. sept 2026.

   Partnerens form rundt våre data: Soleie får skoggrønn, oliven og beige med
   Figtree (fra tilbudsmalen og presentasjonen de sender kunder, ikke nettsida),
   SunPool sin mørkegrønne, lime og krem med Albert Sans. Grafene (vannfall,
   månedsstolper) er de samme som i Solkart-rapporten og arver bare variablene.
   Fasiten for utseendet er designtesten (partnere/design-test, p1–p6).

   Alt er scopet under .sko.p-soleie / .sko.p-sunpool / .sko .sko-intern, eller
   bruker nye klasser med prefikset pr-. Farger kun via variabler. Lastes etter
   tilbud.css og solsjekk-partner.css, så paletten her vinner for rapporten. */

/* ── Partnerdrakter ─────────────────────────────────────────────── */
.sko.p-soleie {
  --papir: #ffffff; --krem: #edece3; --krem-50: #f6f5ee;
  --blekk: #0b2e23; --terra: #657d47; --skifer: #3e5249;
  --gevinst: #7a9a3c; --kostnad: #a8352b; --kostnad-flate: #d9876c; --dempet: #5c665f;
  --haar: #dfdfce; --sand: #c2c985;
  --lys: #a0aa5a; --paa-lys: #0b2e23; --sol: #fda400; --r: 16px;
  --sko-head: "Figtree", system-ui, sans-serif;
  --sko-body: "Figtree", system-ui, sans-serif;
  color: var(--blekk);
}
.sko.p-sunpool {
  --papir: #ffffff; --krem: #f1ede4; --krem-50: #fbf8f3;
  --blekk: #0a3532; --terra: #b5532f; --skifer: #45605c;
  --gevinst: #4e9a74; --kostnad: #a8352b; --kostnad-flate: #d9876c; --dempet: #5d6664;
  --haar: #e2ddd3; --sand: #d9ff8f;
  --lys: #d9ff8f; --paa-lys: #0a3532; --r: 10px; --tl: var(--blekk);
  --tekst: #272727;
  --sko-head: "Albert Sans", system-ui, sans-serif;
  --sko-body: "Albert Sans", system-ui, sans-serif;
  color: var(--tekst);
}

/* Titler: Soleie tung og kompakt med kort oliven strek, SunPool lett og stor. */
.sko.p-soleie .sko-section__title, .sko.p-soleie .pr-cover h1 { font-weight: 800; letter-spacing: -.015em; }
.sko.p-soleie .sko-section { border-bottom: 0; flex-direction: column; align-items: flex-start; gap: 1mm; padding-bottom: 0; }
.sko.p-soleie .sko-section__title { font-size: 28px; line-height: 1.12; }
.sko.p-soleie .sko-section__title::after { content: ""; display: block; width: 18mm; height: 2px; background: var(--lys); margin-top: 2.6mm; }
.sko.p-soleie .sko-section__lede, .sko.p-sunpool .sko-section__lede { margin-left: 0; text-align: left; max-width: 150mm; font-size: 12.5px; }
.sko.p-soleie .sko-section__num, .sko.p-sunpool .sko-section__num { color: var(--terra); letter-spacing: .04em; text-transform: none; font-size: 13px; font-weight: 600; }
.sko.p-sunpool .sko-section { border-bottom: 0; flex-direction: column; align-items: flex-start; gap: 1mm; padding-bottom: 0; }
.sko.p-sunpool .sko-section__title, .sko.p-sunpool .pr-cover h1 { font-weight: 400; letter-spacing: -.02em; color: var(--blekk); }
.sko.p-sunpool .sko-section__title { font-size: 30px; line-height: 1.1; }
.sko.p-sunpool .sheet:not(.pr-cover):not(.sko-intern) { background: var(--krem-50); }
.sko.p-soleie .sko-box, .sko.p-sunpool .sko-box { border-radius: var(--r); }
.sko.p-soleie .sko-kpi__value, .sko.p-sunpool .sko-kpi__value { color: var(--blekk); }
.sko.p-sunpool .sko-kpi__value { font-weight: 500; }
.sko.p-sunpool .sko-res td b { font-weight: 500; }
.sko.p-sunpool .sko-table, .sko.p-sunpool .sko-small, .sko.p-sunpool .sko-text { color: var(--tekst); }

/* Tekstsider i partnerdrakt: litt luftigere enn Solkart-rapporten. */
.sko .pr-lede { font-size: 13px; line-height: 1.5; color: var(--skifer); max-width: 160mm; }
.sko .pr-lede b { color: var(--blekk); font-weight: 600; }
.sko .pr-note { font-size: 11px; line-height: 1.4; color: var(--dempet); }
.sko .pr-credit { font-size: 10px; color: var(--dempet); margin-top: 1.2mm; }
.sko .pr-date { display: inline-block; font-size: 11px; font-weight: 600; letter-spacing: .04em; color: var(--terra); }

/* ── Ikon: tynn strek i sirkel ─────────────────────────────────── */
.sko .pr-ico { width: 12mm; height: 12mm; border-radius: 50%; background: var(--krem); color: var(--blekk);
  display: grid; place-items: center; flex: none; }
.sko .pr-ico svg { width: 55%; height: 55%; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.sko .pr-ico--ring { background: none; box-shadow: inset 0 0 0 1.2px var(--lys, var(--sand)); color: var(--lys, var(--sand)); }

/* ── Forsider ──────────────────────────────────────────────────── */
.sko .sheet.pr-cover { padding: 0; gap: 0; }
/* Soleie: helside i blekk, bølgefoto, to hero-tall og fire verdier */
.sko .pr-cover--soleie { background: var(--blekk); color: var(--papir); }
.sko .pr-cover--soleie .pr-cover__head { padding: 13mm 16mm 0; display: flex; flex-direction: column; gap: 2mm; position: relative; z-index: 1; }
.sko .pr-cover__kicker { font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--lys, var(--sand)); }
.sko .pr-cover h1 { font-family: var(--sko-head); font-size: 40px; line-height: 1.08; margin: 1mm 0 0; max-width: 150mm; text-wrap: balance; }
.sko .pr-cover--soleie h1 { color: var(--papir); }
.sko .pr-cover__sub { font-size: 13.5px; color: var(--sand); margin-top: 1.5mm; }
.sko .pr-cover__rule { width: 18mm; height: 2px; background: var(--lys, var(--sand)); margin-top: 3mm; }
.sko .pr-cover__photo { position: relative; margin-top: -8mm; }
.sko .pr-cover__caption { position: absolute; right: 16mm; bottom: 2.5mm; font-size: 9.5px; color: var(--papir); opacity: .85;
  text-shadow: 0 1px 4px rgba(0, 0, 0, .6); }
.sko .pr-cover--soleie .pr-cover__body { flex: 1; display: flex; flex-direction: column; gap: 7mm; padding: 6mm 16mm 11mm; }
.sko .pr-cover__heros { display: grid; grid-template-columns: 1fr 1fr; gap: 8mm; border-top: 1px solid var(--sand); padding-top: 6mm; }
.sko .pr-cover__heros > div + div { border-left: 1px solid var(--sand); padding-left: 8mm; }
.sko .pr-cover .sko-hero__value { font-size: 50px; }
.sko .pr-cover .sko-hero__label { font-size: 13px; }
.sko .pr-values { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4mm; color: var(--sand); font-size: 11px; line-height: 1.3; }
.sko .pr-values .pr-ico { width: 9mm; height: 9mm; margin-bottom: 1.5mm; }
.sko .pr-values b { color: var(--papir); font-size: 12.5px; display: block; }
.sko .pr-cover__foot { margin-top: auto; display: flex; justify-content: space-between; align-items: flex-end; gap: 6mm; font-size: 11px; color: var(--sand);
  border-top: 1px solid color-mix(in srgb, var(--sand) 35%, transparent); padding-top: 3.5mm; }
.sko .pr-cover__foot img { height: 7mm; width: auto; display: block; }
.sko .pr-cover__foot span { text-align: right; line-height: 1.4; }
/* SunPool: kremark, logo øverst, pillebilde over hvit boble, hero i blekk */
.sko .pr-cover--sunpool { background: var(--krem-50); }
.sko .pr-cover--sunpool .pr-cover__top { display: grid; grid-template-columns: 1fr 92mm; height: 172mm; position: relative; overflow: hidden; }
.sko .pr-cover--sunpool .pr-cover__head { padding: 14mm 0 0 16mm; display: flex; flex-direction: column; gap: 3mm; z-index: 1; }
.sko .pr-cover--sunpool .pr-cover__head > img { height: 7mm; width: auto; align-self: flex-start; }
.sko .pr-cover--sunpool .pr-cover__kicker { color: var(--terra); margin-top: 28mm; }
.sko .pr-cover--sunpool .pr-cover__sub { color: var(--skifer); }
.sko .pr-cover--sunpool .pr-cover__body { flex: 1; display: flex; flex-direction: column; gap: 6mm; padding: 0 16mm 11mm; }
.sko .pr-cover--sunpool .sko-hero { border-radius: var(--r); min-height: 44mm; }
.sko .pr-cover--sunpool .pr-cover__foot { color: var(--dempet); border-top: 1px solid var(--haar); }
.sko .pr-cover--sunpool .pr-cover__caption { right: 14mm; bottom: 4mm; }
.sko .pr-cover__line { font-size: 12px; line-height: 1.45; color: var(--skifer); }
.sko .pr-cover--soleie .pr-cover__line { color: var(--sand); }

/* ── Bildeformer ───────────────────────────────────────────────── */
.sko .pr-shape { overflow: hidden; position: relative; }
.sko .pr-shape img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sko .pr-shape--wave { clip-path: polygon(0 34%, 12% 30%, 26% 24%, 40% 18%, 52% 11%, 62% 5%, 72% 1.5%, 82% 0, 91% 1.5%, 100% 6%, 100% 100%, 0 100%); }
.sko .pr-shape--pill { border-radius: 999px; }
.sko .pr-bubble { position: relative; isolation: isolate; }
.sko .pr-bubble::before { content: ""; position: absolute; z-index: -1; width: 135%; aspect-ratio: 1; border-radius: 50%;
  background: var(--papir); left: 50%; top: 50%; transform: translate(-46%, -50%); }

/* ── Fotlist (Soleie) og bunntekst (SunPool) ───────────────────── */
.sko .pr-band { margin: auto -16mm -11mm; background: var(--blekk); color: var(--papir); padding: 4.5mm 16mm; display: flex;
  justify-content: space-between; align-items: center; font-size: 11px; flex: none; }
.sko .pr-band img { height: 6mm; width: auto; display: block; }
.sko .pr-band span { color: var(--lys, var(--sand)); }
.sko .pr-band em { font-style: normal; color: var(--sand); opacity: .8; font-size: 10px; }

/* ── Priskort, 1–3 modeller ────────────────────────────────────── */
.sko .pr-prices { display: grid; grid-template-columns: repeat(var(--n, 3), 1fr); gap: 5mm; }
.sko .pr-price { display: flex; flex-direction: column; border-radius: var(--r, 0); overflow: hidden;
  background: var(--papir); box-shadow: inset 0 0 0 1px var(--haar); break-inside: avoid; }
.sko .pr-price__head { background: var(--blekk); color: var(--papir); padding: 4.5mm 4mm 3.5mm; text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: 1.8mm; }
.sko .pr-price__head .pr-ico { background: none; box-shadow: inset 0 0 0 1.2px var(--lys, var(--sand)); color: var(--lys, var(--sand)); width: 11mm; height: 11mm; }
.sko .pr-price__name { font-family: var(--sko-head); font-weight: 700; font-size: 15px; line-height: 1.15; }
.sko .pr-price__sub { font-size: 11px; color: var(--lys, var(--sand)); letter-spacing: .04em; }
.sko .pr-price__value { background: var(--lys, var(--sand)); color: var(--paa-lys, var(--blekk)); text-align: center; padding: 3mm 2mm; white-space: nowrap;
  font-size: 24px; font-weight: 700; line-height: 1; letter-spacing: -.01em; }
.sko .pr-price__value small { font-size: 12.5px; font-weight: 600; margin-left: .2em; letter-spacing: 0; }
.sko .pr-price__value--s { font-size: 19px; }
.sko .pr-price__list { list-style: none; margin: 0; padding: 3.5mm 4mm 1.5mm; font-size: 11.5px; line-height: 1.3; flex: 1; }
.sko .pr-price__list li { display: flex; gap: 2.2mm; padding: 1.2mm 0; border-bottom: 1px solid var(--haar); }
.sko .pr-price__list li:last-child { border-bottom: 0; }
.sko .pr-price__list li::before { content: ""; flex: none; width: 3.6mm; height: 3.6mm; margin-top: .1mm; border-radius: 50%;
  background: var(--gevinst) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M2.6 5.2l1.6 1.6 3.2-3.4' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat; }
.sko .pr-price__list li.pr-minus::before { background: var(--krem) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M3 5h4' fill='none' stroke='%23555' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E") center/100% no-repeat; }
.sko .pr-price__res { margin: 0 4mm; padding: 2.4mm 0 0; border-top: 1px solid var(--blekk); }
.sko .pr-price__res span { display: block; font-size: 10px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--skifer); }
.sko .pr-price__res b { display: block; font-size: 20px; font-weight: 700; line-height: 1.15; color: var(--blekk); white-space: nowrap; }
.sko .pr-price__foot { padding: 1.5mm 4mm 4mm; font-size: 10.5px; line-height: 1.35; color: var(--dempet); }
/* Ett kort (SunPool): hodet til venstre, listen til høyre */
.sko .pr-prices--1 .pr-price { display: grid; grid-template-columns: 70mm 1fr; }
.sko .pr-prices--1 .pr-price__left { display: flex; flex-direction: column; }
.sko .pr-prices--1 .pr-price__head { flex: 1; justify-content: center; padding: 6mm 4mm; }
.sko .pr-prices--1 .pr-price__value { font-size: 30px; padding: 4mm 2mm; }
.sko .pr-prices--1 .pr-price__right { display: flex; flex-direction: column; padding: 2mm 1mm 1mm; }
.sko .pr-prices--1 .pr-price__list { font-size: 12.5px; }
/* «Alle modeller inkluderer» */
.sko .pr-incl { display: grid; grid-template-columns: 26mm repeat(var(--n, 6), 1fr); align-items: center;
  background: var(--krem); border-radius: var(--r, 0); padding: 4mm; }
.sko .pr-incl__head { font-family: var(--sko-head); font-weight: 700; font-size: 13px; line-height: 1.2; color: var(--blekk); }
.sko .pr-incl__item { text-align: center; font-size: 10.5px; line-height: 1.25; color: var(--skifer);
  border-left: 1px solid var(--haar); padding: 0 1.5mm; display: flex; flex-direction: column; align-items: center; gap: 1.5mm; }
.sko .pr-incl__item .pr-ico { width: 9mm; height: 9mm; background: var(--papir); }

/* ── Avtaletidslinje ───────────────────────────────────────────── */
.sko .pr-tl { display: grid; grid-template-columns: repeat(var(--n, 4), 1fr); gap: 0 4mm; position: relative; }
.sko .pr-tl::before { content: ""; position: absolute; left: 0; right: 2mm; top: 17.8mm; height: 1.5px; background: var(--tl, var(--lys, var(--sand))); }
.sko .pr-tl::after { content: ""; position: absolute; right: -1mm; top: 16.1mm; border: 1.7mm solid transparent; border-left: 3mm solid var(--tl, var(--lys, var(--sand))); border-right: 0; }
.sko .pr-tl__item { display: flex; flex-direction: column; align-items: flex-start; }
.sko .pr-tl__dot { width: 3.6mm; height: 3.6mm; border-radius: 50%; background: var(--blekk); margin: 2.6mm 0 0 4.2mm;
  box-shadow: 0 0 0 1.2mm var(--papir); position: relative; }
.sko.p-sunpool .pr-tl__dot { box-shadow: 0 0 0 1.2mm var(--krem-50); }
.sko .pr-tl__year { margin-top: 2.5mm; font-size: 24px; font-weight: 700; line-height: 1; color: var(--blekk); }
.sko .pr-tl__year small { font-size: 12px; font-weight: 600; margin-left: .15em; }
.sko .pr-tl__title { font-size: 12.5px; font-weight: 700; margin: 1.2mm 0 .8mm; color: var(--blekk); }
.sko .pr-tl__text { font-size: 11px; line-height: 1.35; color: var(--skifer); }

/* ── Leveransetrinn og ikonrutenett ────────────────────────────── */
.sko .pr-steps { display: grid; grid-template-columns: repeat(var(--n, 4), 1fr); counter-reset: steg; }
.sko .pr-step { counter-increment: steg; padding: 0 3.5mm; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 1.8mm; }
.sko .pr-step + .pr-step { border-left: 1px solid var(--haar); }
.sko .pr-step::before { content: counter(steg); order: 1; width: 5mm; height: 5mm; border-radius: 50%; background: var(--lys, var(--sand)); color: var(--paa-lys, var(--blekk));
  font-size: 10px; font-weight: 700; display: grid; place-items: center; margin-top: -3.5mm; position: relative; }
.sko .pr-step .pr-ico { order: 0; width: 14mm; height: 14mm; }
.sko .pr-step__title { order: 2; font-size: 12.5px; font-weight: 700; line-height: 1.2; color: var(--blekk); }
.sko .pr-step__text { order: 3; font-size: 11px; line-height: 1.35; color: var(--skifer); }
.sko .pr-grid-ico { display: grid; grid-template-columns: repeat(var(--n, 2), 1fr); gap: 5mm 7mm; }
.sko .pr-grid-ico > div { display: grid; grid-template-columns: 11mm 1fr; gap: .6mm 3mm; align-items: start; font-size: 11.5px; line-height: 1.4; color: var(--skifer); }
.sko .pr-grid-ico .pr-ico { width: 11mm; height: 11mm; grid-row: span 2; }
.sko .pr-grid-ico b { color: var(--blekk); font-size: 12.5px; line-height: 1.25; }

/* ── Tallrad med ikoner ────────────────────────────────────────── */
.sko .pr-kpirow { display: grid; grid-template-columns: repeat(var(--n, 6), 1fr); border-radius: var(--r, 0);
  box-shadow: inset 0 0 0 1px var(--haar); padding: 4mm 0; background: var(--papir); }
.sko .pr-kpirow > div { text-align: center; padding: 0 2mm; display: flex; flex-direction: column; align-items: center; gap: 1mm; }
.sko .pr-kpirow > div + div { border-left: 1px solid var(--haar); }
.sko .pr-kpirow .pr-ico { width: 9mm; height: 9mm; background: none; margin-bottom: 1mm; }
.sko .pr-kpirow b { font-size: 19px; line-height: 1; white-space: nowrap; color: var(--blekk); }
.sko .pr-kpirow b small { font-size: 11px; font-weight: 600; margin-left: .15em; }
.sko .pr-kpirow span { font-size: 10.5px; line-height: 1.25; color: var(--skifer); }

/* ── Takskissen, stor ─────────────────────────────────────────── */
.sko .pr-roofpage { display: grid; grid-template-columns: 112mm 1fr; gap: 7mm; align-items: start; }
.sko .pr-roofpage--wide { grid-template-columns: 1fr; }
.sko .pr-roof { margin: 0; background: var(--krem); border-radius: var(--r, 0); overflow: hidden; padding: 3mm; }
.sko .pr-roof img { display: block; width: 100%; height: auto; max-height: 172mm; object-fit: contain; margin: 0 auto; }
.sko .pr-roofpage--wide .pr-roof img { max-height: 120mm; }
.sko .pr-facts { display: flex; flex-direction: column; }
.sko .pr-facts > div { border-top: 1px solid var(--haar); padding: 2.6mm 0; }
.sko .pr-facts > div:first-child { border-top: 2px solid var(--blekk); }
.sko .pr-facts span { display: block; font-size: 10.5px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--skifer); margin-bottom: 1mm; }
.sko .pr-facts b { display: block; font-size: 24px; font-weight: 700; line-height: 1.05; color: var(--blekk); letter-spacing: -.01em; }
.sko.p-sunpool .pr-facts b { font-weight: 500; }
.sko .pr-facts b small { font-size: 13px; font-weight: 600; margin-left: .15em; letter-spacing: 0; }
.sko .pr-facts em { display: block; font-style: normal; font-size: 11px; color: var(--dempet); margin-top: .8mm; }

/* ── Fordeling av produksjonen (100 %-stolpe) ─────────────────── */
.sko .pr-split { display: flex; height: 9mm; border-radius: calc(var(--r, 0px) / 2); overflow: hidden; }
.sko .pr-split > div { display: flex; align-items: center; padding: 0 3mm; font-size: 11px; font-weight: 700; white-space: nowrap; }
.sko .pr-split__egen { background: var(--blekk); color: var(--papir); }
.sko .pr-split__over { background: var(--krem); color: var(--blekk); box-shadow: inset 0 0 0 1px var(--haar); }
.sko .pr-split-legend { display: grid; grid-template-columns: 1fr 1fr; gap: 6mm; margin-top: 2.5mm; font-size: 11.5px; line-height: 1.4; color: var(--skifer); }
.sko .pr-split-legend b { color: var(--blekk); }

/* ── Fossefall kr/kWh: nettpris → solpris → igjen til dere ────── */
.sko .pr-foss { --max: 160; display: grid; grid-template-columns: 1.15fr .3fr repeat(var(--n, 3), 1fr); height: 92mm;
  align-items: end; gap: 0 3mm; border-bottom: 1px solid var(--blekk); position: relative; margin-top: 8mm; }
.sko .pr-foss__col { position: relative; height: 100%; }
.sko .pr-foss__bar { position: absolute; left: 13%; right: 13%; bottom: calc(var(--b, 0) / var(--max) * 100%);
  height: calc(var(--h) / var(--max) * 100%); background: var(--blekk); }
.sko .pr-foss__bar--spot { background: var(--skifer); }
.sko .pr-foss__bar--nett { background: color-mix(in srgb, var(--skifer) 55%, var(--papir)); }
.sko .pr-foss__bar--avg  { background: color-mix(in srgb, var(--skifer) 30%, var(--papir)); }
.sko .pr-foss__bar--sol  { background: var(--blekk); }
.sko .pr-foss__bar--spar { --s: color-mix(in srgb, var(--gevinst) 40%, var(--papir));
  background: linear-gradient(135deg, var(--gevinst) 25%, var(--s) 25% 50%, var(--gevinst) 50% 75%, var(--s) 75%) 0 0 / 1.6mm 1.6mm repeat; }
.sko .pr-foss__bar--netto { background: var(--gevinst); }
.sko .pr-foss__bar--eff { background: color-mix(in srgb, var(--gevinst) 55%, var(--papir)); }
.sko .pr-foss__bar--kost { background: var(--kostnad); }
.sko .pr-foss__bar + .pr-foss__bar { box-shadow: 0 -1.5px 0 var(--papir) inset; }
.sko .pr-foss__bar i { position: absolute; inset: 0; display: grid; place-items: center; font-style: normal; font-size: 10.5px; font-weight: 700; color: var(--papir); white-space: nowrap; }
.sko .pr-foss__bar--avg i, .sko .pr-foss__bar--eff i { color: var(--blekk); }
.sko .pr-foss__val { position: absolute; left: -2mm; right: -2mm; text-align: center; bottom: calc((var(--b, 0) + var(--h)) / var(--max) * 100% + 1.2mm);
  font-size: 13px; font-weight: 700; color: var(--blekk); white-space: nowrap; }
.sko .pr-foss__val--big { font-size: 19px; }
.sko .pr-foss__link { position: absolute; left: -3mm; right: -3mm; border-top: 1px dashed var(--skifer); bottom: calc(var(--y) / var(--max) * 100%); }
.sko .pr-foss__labels { display: grid; grid-template-columns: 1.15fr .3fr repeat(var(--n, 3), 1fr); gap: 0 3mm; margin-top: 2mm;
  font-size: 10.5px; line-height: 1.3; color: var(--skifer); text-align: center; }
.sko .pr-foss__labels b { color: var(--blekk); display: block; font-size: 11px; }
.sko .pr-foss__col--ref { background: var(--krem-50); border-radius: var(--r, 0) var(--r, 0) 0 0; box-shadow: inset 0 0 0 1px var(--haar); }
.sko.p-sunpool .pr-foss__col--ref { background: var(--papir); }
.sko .pr-foss__key { margin-top: 3mm; display: flex; flex-wrap: wrap; gap: 1.5mm 5mm; font-size: 10.5px; color: var(--skifer); }
.sko .pr-foss__key i { display: inline-block; width: 3.5mm; height: 3mm; margin-right: 1.3mm; vertical-align: -.2mm; }

/* ── Boks med ikon (Soleies sitatkort) ─────────────────────────── */
.sko .pr-callout { display: grid; grid-template-columns: auto 1fr; gap: 4mm; align-items: center; background: var(--krem);
  border-radius: var(--r, 0); padding: 4mm 5mm; }
.sko .pr-callout .pr-ico { background: var(--papir); }
.sko .pr-callout p { font-size: 12.5px; line-height: 1.45; color: var(--skifer); }
.sko .pr-callout p b { color: var(--blekk); font-weight: 700; }
.sko .pr-callout--dark { background: var(--blekk); }
.sko .pr-callout--dark p { color: var(--sand); }
.sko .pr-callout--dark p b { color: var(--papir); }
.sko .pr-callout--dark .pr-ico { background: none; box-shadow: inset 0 0 0 1.2px var(--lys, var(--sand)); color: var(--lys, var(--sand)); }

/* ── Flyt: anlegg → gårdeier → leietakere ─────────────────────── */
.sko .pr-flow { display: grid; grid-template-columns: 1fr 8mm 1fr 8mm 1fr; align-items: stretch; }
.sko .pr-flow__card { background: var(--papir); border-radius: var(--r, 0); box-shadow: inset 0 0 0 1px var(--haar); padding: 4.5mm 4mm; text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: 1.8mm; }
.sko .pr-flow__card b { font-size: 13px; color: var(--blekk); line-height: 1.25; }
.sko .pr-flow__card span { font-size: 11px; line-height: 1.35; color: var(--skifer); }
.sko .pr-flow__card strong { font-size: 20px; font-weight: 700; color: var(--blekk); line-height: 1.1; white-space: nowrap; }
.sko .pr-flow__card strong small { font-size: 11.5px; font-weight: 600; margin-left: .15em; }
.sko .pr-flow__card--dark { background: var(--blekk); box-shadow: none; }
.sko .pr-flow__card--dark b, .sko .pr-flow__card--dark strong { color: var(--papir); }
.sko .pr-flow__card--dark span { color: var(--sand); }
.sko .pr-flow__arrow { display: grid; place-items: center; color: var(--blekk); }
.sko .pr-flow__arrow svg { width: 6mm; height: 6mm; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* ── Vilkårstabell ─────────────────────────────────────────────── */
.sko .pr-terms { width: 100%; border-collapse: collapse; font-size: 12px; }
.sko .pr-terms th { text-align: left; font-weight: 600; color: var(--blekk); padding: 2mm 4mm 2mm 0; width: 44mm; vertical-align: top; border-bottom: 1px solid var(--haar); }
.sko .pr-terms td { padding: 2mm 0; color: var(--skifer); line-height: 1.4; vertical-align: top; border-bottom: 1px solid var(--haar); }
.sko .pr-terms tr:first-child th, .sko .pr-terms tr:first-child td { border-top: 2px solid var(--blekk); }

/* ── Neste steg / kontakt ─────────────────────────────────────── */
.sko .pr-cta { background: var(--blekk); color: var(--papir); border-radius: var(--r, 0); padding: 6mm 7mm; display: grid; grid-template-columns: 1fr auto; gap: 6mm; align-items: center; }
.sko .pr-cta h3 { margin: 0 0 1.5mm; font-family: var(--sko-head); font-size: 20px; font-weight: 700; color: var(--papir); line-height: 1.2; }
.sko.p-sunpool .pr-cta h3 { font-weight: 500; }
.sko .pr-cta p { font-size: 12.5px; line-height: 1.45; color: var(--sand); }
.sko .pr-cta p b { color: var(--papir); }
.sko .pr-cta img { height: 9mm; width: auto; display: block; }
.sko .pr-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 8mm; font-size: 12px; line-height: 1.5; color: var(--skifer); }
.sko .pr-contact b { color: var(--blekk); display: block; font-size: 13px; }

/* Siste side: forutsetninger, kilder og forbehold, tett men lesbar */
.sko .sheet.pr-end { gap: 2.4mm; }
.sko .pr-end .sko-h3 { margin: 2.5mm 0 0; padding-bottom: 1.2mm; border-bottom: 1px solid var(--blekk); color: var(--blekk); font-size: 11px; }
.sko .pr-end .sko-refs { font-size: 10.5px; line-height: 1.38; }
.sko .pr-end .sko-refs li { margin-bottom: .6mm; }
.sko .pr-end .sko-table { font-size: 10.5px; }
.sko .pr-end .sko-table td { padding: 1mm 3mm 1mm 0; }
.sko .pr-end .sko-table td:not(:first-child) { padding-left: 3mm; }

/* ── Intern side til partneren (fjernes i kundens eksemplar) ──── */
.sko .sko-intern { --int: var(--kostnad); gap: 3mm; background: var(--papir) !important; color: var(--blekk); font-size: 11px; }
.sko .sko-intern .pr-int-flag { display: flex; justify-content: space-between; align-items: center; background: var(--int); color: var(--papir);
  margin: -13mm -16mm 0; padding: 3.5mm 16mm; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.sko .sko-intern .pr-int-flag span:last-child { font-weight: 500; letter-spacing: .02em; text-transform: none; }
.sko .sko-intern h2 { font-family: var(--sko-head, inherit); font-size: 20px; font-weight: 700; margin: 1mm 0 0; line-height: 1.15; }
.sko .sko-intern .pr-int-sub { font-size: 11px; color: var(--skifer); }
.sko .sko-intern .pr-int-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 6mm; align-items: start; }
.sko .sko-intern h3 { font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--blekk);
  margin: 0 0 1mm; padding-bottom: 1mm; border-bottom: 1.5px solid var(--blekk); }
.sko .sko-intern table { width: 100%; border-collapse: collapse; font-size: 10.5px; }
.sko .sko-intern td, .sko .sko-intern th { padding: .9mm 2mm .9mm 0; border-bottom: 1px solid var(--haar); vertical-align: top; line-height: 1.3; text-align: left; }
.sko .sko-intern th { font-size: 9.5px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--skifer); }
.sko .sko-intern td:first-child { color: var(--skifer); }
.sko .sko-intern td.num, .sko .sko-intern th.num { text-align: right; white-space: nowrap; padding-right: 0; padding-left: 2mm; }
.sko .sko-intern td b { color: var(--blekk); }
.sko .sko-intern .pr-int-muted { color: var(--dempet); }
.sko .sko-intern .pr-int-flags { list-style: none; margin: 0; padding: 0; font-size: 10.5px; line-height: 1.35; }
.sko .sko-intern .pr-int-flags li { display: grid; grid-template-columns: 4mm 1fr; gap: 0 1.5mm; padding: 1mm 0; border-bottom: 1px solid var(--haar); }
.sko .sko-intern .pr-int-flags li::before { content: "!"; width: 3.6mm; height: 3.6mm; border-radius: 50%; background: var(--int); color: var(--papir);
  font-size: 8.5px; font-weight: 700; display: grid; place-items: center; margin-top: .2mm; }
.sko .sko-intern .pr-int-flags li.ok::before { content: "✓"; background: var(--gevinst); }
.sko .sko-intern .pr-int-flags b { color: var(--blekk); }
.sko .sko-intern .pr-int-flags span { color: var(--skifer); display: block; }
.sko .sko-intern .pr-int-big { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3mm; }
.sko .sko-intern .pr-int-big > div { border-top: 2px solid var(--blekk); padding-top: 1.5mm; }
.sko .sko-intern .pr-int-big span { display: block; font-size: 9.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--skifer); }
.sko .sko-intern .pr-int-big b { display: block; font-size: 19px; font-weight: 700; line-height: 1.15; white-space: nowrap; }
.sko .sko-intern .pr-int-big em { display: block; font-style: normal; font-size: 10px; color: var(--dempet); }
.sko .sko-intern .pr-int-foot { margin-top: auto; font-size: 9.5px; color: var(--dempet); border-top: 1px solid var(--haar); padding-top: 1.5mm; display: flex; justify-content: space-between; }
