/* file: css/00-tokens.css */
/*
 * Bloggmal: designtokens (Designrevisjon v2, 2026-09-18).
 * Definert på :root (for dialog/lightbox utenfor artikkelen) og .rg-blog.
 *
 * Konvensjoner for blokker:
 * - Alt i hovedkolonnen er 100 % av kolonnen. Ingen egne bredder eller
 *   negative marger. --blog-text/--blog-wide/--blog-full peker alle på
 *   hovedkolonnen og finnes bare for bakoverkompatibilitet.
 * - Paneler: fylt bakgrunn (--blog-panel*), --blog-radius, --blog-panel-pad.
 *   Ingen kantlinjer og ingen farget venstre- eller toppkant.
 */

/*
 * Høyden på temaets faste (sticky) header. Målt 18.09.2026: .site-header er
 * 80 px høy men position: relative, altså ikke fast. Da er forskyvningen 0.
 * WordPress-adminlinjen er fast når man er innlogget (32/46 px).
 * Settes bare her og på body, slik at .rg-blog arver riktig verdi.
 */
:root {
  --rg-site-header-h: 0px;
}

/*
 * Reservefont med samme mål som Source Sans 3 (font-display: swap i temaet).
 * Uten den tegnes header-teksten først i en bredere systemfont, og ingress,
 * piller og hovedbilde hopper når webfonten kommer (CLS). size-adjust er målt
 * i Chrome mot Arial: vanlig vekt 92,3 %, fet (600 til 800) ca. 90 %.
 * ascent/descent = Source Sans 3 (102,4 % / 40 %) delt på size-adjust.
 * Kursiv lages av nettleseren fra disse (samme bredde).
 */
@font-face {
  font-family: "Source Sans 3 Fallback";
  src: local("Arial"), local("ArialMT"), local("Helvetica"), local("Roboto");
  font-style: normal;
  font-weight: 200 549;
  size-adjust: 92.3%;
  ascent-override: 110.9%;
  descent-override: 43.3%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "Source Sans 3 Fallback";
  src: local("Arial Bold"), local("Arial-BoldMT"), local("Helvetica Bold"), local("Roboto Bold"), local("Roboto-Bold");
  font-style: normal;
  font-weight: 550 900;
  size-adjust: 90%;
  ascent-override: 113.8%;
  descent-override: 44.4%;
  line-gap-override: 0%;
}

body.admin-bar {
  --rg-site-header-h: 32px;
}

@media (max-width: 782px) {
  body.admin-bar {
    --rg-site-header-h: 46px;
  }
}

@media (max-width: 600px) {
  body.admin-bar {
    --rg-site-header-h: 0px;
  }
}

:root,
.rg-blog {
  /* Rutenett */
  --blog-main: 760px;
  --blog-side: 340px;
  --blog-col-gap: 64px;
  --blog-gutter: 16px;
  --blog-gap: clamp(28px, 3.5vw, 56px);

  /* Eldre breddetokens: alle betyr nå full bredde av hovedkolonnen */
  --blog-text: var(--blog-main);
  --blog-wide: var(--blog-main);
  --blog-full: var(--blog-main);

  /* Typografi */
  --blog-fs: 1.0625rem;
  --blog-lh: 1.6;
  --blog-h1: clamp(2rem, 1.35rem + 2.3vw, 2.875rem);
  --blog-h2: clamp(1.5rem, 1.2rem + 1.2vw, 1.875rem);
  --blog-h3: clamp(1.25rem, 1.1rem + .5vw, 1.375rem);
  --blog-small: .875rem;

  /* Farger */
  --blog-ink: var(--text-body, #222);
  --blog-ink-soft: #3a3a36;
  --blog-muted: #55554f;
  --blog-line: #e4e4e4;
  --blog-green: var(--theme-green, #40B800);
  --blog-green-hover: #389f00;
  --blog-green-ink: #2b6e00;
  --blog-dark: var(--bg-dark, #42423E);

  /* Knapper uten synlig kant og uten grønn fyllfarge (valgt av Aleks
     23.09, 29.09 og 06.10.2026):
     - hvit knapp i fargede bokser, myk grå knapp på hvit bakgrunn
     - mørk knapp for hovedhandlinger («Be om tilbud», sendeknapper)
     Hover endrer bakgrunnen, som på resten av nettstedet: hvite og grå
     knapper blir mørke med hvit tekst, mørke knapper blir nesten svarte.
     Kanten er gjennomsiktig. Den holder størrelsen lik og vises bare i
     Windows sin kontrastmodus. */
  --blog-btn-bg: #fff;
  --blog-btn-ink: #111;
  --blog-btn-line: transparent;
  --blog-btn-border: 1.5px;
  --blog-btn-bg-soft: var(--blog-chip-bg);
  --blog-btn-bg-hover: var(--blog-dark);
  --blog-btn-ink-hover: #fff;
  /* Mørk knapp: mørk bakgrunn som toppmenyen og hvit tekst. Hover: nesten svart. */
  --blog-btn-dark-bg: var(--blog-dark);
  --blog-btn-dark-bg-hover: #1f1f1d;
  --blog-btn-dark-ink: #fff;

  /* Paneler og piller (fylte flater, ingen kanter) */
  --blog-panel: #F4F5F2;
  --blog-panel-green: #EDF7E6;
  --blog-panel-yellow: #FFF5D1;
  --blog-panel-orange: #FCEBE1;
  --blog-chip-bg: #F1F2EE;
  --blog-green-bg: var(--blog-panel-green);
  --blog-panel-pad: 20px;
  --blog-panel-gap: 16px;

  /* Hjørner følger resten av rentalgroup.no (målt på forsiden 23.09.2026):
     kort, bokser og bilder 8 px (rounded-lg), knapper 6 px (.btn),
     skjemafelt og små merkelapper 4 px, ikonsirkler helt runde. */
  --blog-radius: 8px;
  --blog-radius-sm: 8px;
  --blog-radius-thumb: 8px;
  --blog-radius-btn: 6px;
  --blog-radius-field: 4px;
  --blog-radius-tag: 4px;
  --blog-radius-pill: 999px;

  --blog-shadow: 0 3px 6px rgba(0, 0, 0, .2);

  /* Avstand fra toppen ved hopp til anker og for fast sidekolonne */
  --blog-scroll-offset: calc(var(--rg-site-header-h) + 24px);
}

@media (min-width: 768px) {
  :root,
  .rg-blog {
    --blog-gutter: 24px;
    --blog-fs: 1.125rem;
    --blog-panel-pad: 24px;
  }
}

@media (min-width: 1024px) and (max-width: 1199.98px) {
  :root,
  .rg-blog {
    --blog-side: 300px;
    --blog-col-gap: 40px;
  }
}

/* file: css/10-layout.css */
/*
 * Bloggmal: ramme (hovedkolonne + sidekolonne), bredder, paneler, knapper,
 * typografi-grunnlag (Designrevisjon v2). Gamle moduler: 50-legacy.css.
 */

/* Hele siden har hvit bakgrunn (temaet gir .single-post #fafafa). */
body.rg-blog-single {
  background-color: #fff;
}

/* Brødsmuler: nettstedets grå stripe fra layouts.app, som på resten av
   rentalgroup.no (valgt av Aleks 06.10.2026). Bloggen har ingen egne. */

/* Ytre ramme */
.rg-blog {
  width: 100%;
  max-width: calc(var(--blog-main) + var(--blog-col-gap) + var(--blog-side) + 2 * var(--blog-gutter));
  margin-inline: auto;
  padding: clamp(20px, 2.5vw, 36px) var(--blog-gutter) calc(var(--blog-gap) * 1.5);
  background: #fff;
  color: var(--blog-ink);
  /* Temaets font (html) med målrettet reservefont (00-tokens.css). */
  font-family: "Source Sans 3", "Source Sans 3 Fallback", sans-serif;
  font-size: var(--blog-fs);
  line-height: var(--blog-lh);
  overflow-wrap: break-word;
}

/* Under 1024 px er det en kolonne. Den blir aldri bredere enn
   hovedkolonnen på desktop (760 px), slik at linjene ikke blir for lange
   mellom 808 og 1023 px. Kolonnen står da midt på siden. */
@media (max-width: 1023.98px) {
  .rg-blog {
    max-width: calc(var(--blog-main) + 2 * var(--blog-gutter));
  }
}

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

.rg-blog-main {
  min-width: 0;
}

/* Sidekolonnen: under artikkelen på mobil og nettbrett */
.rg-blog-side,
.rg-blog-side__track,
.rg-blog-side__sticky {
  display: flex;
  flex-direction: column;
  gap: var(--blog-panel-gap);
  min-width: 0;
}

.rg-blog-side {
  margin-top: calc(var(--blog-gap) * 1.25);
}

/*
 * Fra 1024 px: to kolonner. Headeren er egen rad over hovedkolonnen, så
 * sidekolonnen starter på høyde med hovedbildet. Sidekolonnen er like høy
 * som hovedkolonnen. .rg-blog-side__track fyller høyden over «Les også»,
 * og .rg-blog-side__sticky (innhold og be om tilbud) er sticky inni den.
 * Da følger panelene med ved rulling og slipper før «Les også» og
 * «Del artikkelen», som står nederst i kolonnen. Er panelene høyere enn
 * vinduet, ruller de internt (max-height + overflow-y).
 */
@media (min-width: 1024px) {
  .rg-blog {
    display: grid;
    grid-template-columns: minmax(0, var(--blog-main)) var(--blog-side);
    grid-template-areas:
      "header ."
      "main   side";
    column-gap: var(--blog-col-gap);
    justify-content: center;
    align-items: stretch;
  }

  .rg-blog > .rg-blog-header {
    grid-area: header;
  }

  .rg-blog > .rg-blog-main {
    grid-area: main;
  }

  .rg-blog > .rg-blog-side {
    grid-area: side;
  }

  .rg-blog-side {
    margin-top: 0;
  }

  .rg-blog-side__track {
    flex: 1 0 auto;
  }

  .rg-blog-side__sticky {
    position: sticky;
    top: calc(var(--rg-site-header-h) + 24px);
    max-height: calc(100vh - var(--rg-site-header-h) - 48px);
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #c9cac4 transparent;
  }
}

/* Temaet gir p, ul, ol, dl og table egen skriftstørrelse (text-lg).
   I bloggmalens egne deler arver de i stedet fra forelderen. Klasser i
   senere filer kan overstyre. Legacy-moduler beholder temaets regler. */
:is(.rg-blog-header, .rg-blog-hero, .rg-blog-summary, .rg-blog-toc, .rg-blog-block, .rg-blog-faq, .rg-blog-next, .rg-blog-side) :where(p, ul, ol, dl, table),
.rg-blog-legacy .comp-rich-text :where(p, ul, ol) {
  font-size: inherit;
}

/* Bredder: alle breddeklasser betyr full bredde av hovedkolonnen (V2.1). */
.rg-blog__w-text,
.rg-blog__w-wide,
.rg-blog__w-full {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: 0;
}

/* Vertikal rytme i hovedkolonnen */
.rg-blog-main > * + * {
  margin-top: var(--blog-gap);
}

/* Avstand fra headeren til hovedbildet (og til toppen av sidekolonnen) */
.rg-blog > .rg-blog-header {
  margin-bottom: 28px;
}

.rg-blog-main > .rg-blog-summary + .rg-blog-toc {
  margin-top: 16px;
}

.rg-blog-main > .rg-blog-faq,
.rg-blog-main > .rg-blog-next {
  margin-top: calc(var(--blog-gap) * 1.25);
}

.rg-blog-block + .rg-blog-block,
.rg-blog-lead + .rg-blog-legacy {
  margin-top: var(--blog-gap);
}

/* Resten av utdraget (.rg-blog-lead) leses som første avsnitt: starter den
   gamle teksten med et avsnitt (eventuelt etter en tom avstandsmodul), er
   luften den samme som mellom avsnitt. */
.rg-blog-lead + .rg-blog-legacy:has(
  > .module-wrapper-richtext:first-child > div > div:first-child > .comp-rich-text:first-child > p:first-child,
  > div:empty:first-child + .module-wrapper-richtext > div > div:first-child > .comp-rich-text:first-child > p:first-child
) {
  margin-top: 1em;
}

/* Overskrifter i brødteksten (lav spesifisitet, blokker kan overstyre) */
.rg-blog-body :where(h2) {
  font-size: var(--blog-h2);
  line-height: 1.2;
  font-weight: 700;
  text-wrap: balance;
}

.rg-blog-body :where(h3) {
  font-size: var(--blog-h3);
  line-height: 1.25;
  font-weight: 700;
}

.rg-blog [id] {
  scroll-margin-top: var(--blog-scroll-offset);
}

/* Skjult tekst for skjermlesere */
.rg-blog-sr {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Små ikoner (inline SVG, se blog.partials.icon) */
.rg-blog-icon {
  display: inline-block;
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  vertical-align: -3px;
}

/* Paneler: fylt flate, runde hjørner, ingen kantlinjer (V2.4) */
.rg-blog-panel {
  padding: var(--blog-panel-pad);
  border: 0;
  border-radius: var(--blog-radius);
  background: var(--blog-panel);
}

.rg-blog-panel--green {
  background: var(--blog-panel-green);
}

.rg-blog-panel--yellow {
  background: var(--blog-panel-yellow);
}

.rg-blog-panel--orange {
  background: var(--blog-panel-orange);
}

.rg-blog-panel__title {
  margin: 0 0 12px;
  font-size: 1.0625rem;
  line-height: 1.3;
  font-weight: 700;
  font-style: normal;
  color: var(--blog-ink);
}

/* Knapper (knapper er ikke paneler): hvit bakgrunn og mørk tekst, uten
   synlig kant. .rg-blog-btn--ghost finnes fortsatt i malene, men har samme
   stil. Se tokens for når knappen er mørk eller grå. */
.rg-blog-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5em;
  min-height: 48px;
  padding: 12px 22px;
  border: var(--blog-btn-border) solid var(--blog-btn-line);
  border-radius: var(--blog-radius-btn);
  background: var(--blog-btn-bg);
  color: var(--blog-btn-ink);
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease;
}

.rg-blog-btn:hover {
  background: var(--blog-btn-bg-hover);
  border-color: var(--blog-btn-line);
  box-shadow: none;
  color: var(--blog-btn-ink-hover);
  text-decoration: none;
}

/* Mørk knapp: brukes på «Be om tilbud» i sidekolonnen. */
.rg-blog-btn--dark {
  background: var(--blog-btn-dark-bg);
  color: var(--blog-btn-dark-ink);
}

.rg-blog-btn--dark:hover {
  background: var(--blog-btn-dark-bg-hover);
  border-color: var(--blog-btn-line);
  box-shadow: none;
  color: var(--blog-btn-dark-ink);
}

.rg-blog-btn--block {
  display: flex;
  width: 100%;
}

/* Fokus */
.rg-blog a:focus-visible,
.rg-blog button:focus-visible,
.rg-blog summary:focus-visible,
.rg-blog [tabindex]:focus-visible,
.rg-blog-btn:focus-visible {
  outline: 3px solid var(--blog-dark);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .rg-blog *,
  .rg-blog *::before,
  .rg-blog *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

/* Passordbeskyttet innlegg (single-post.blade.php): tittel og skjema i
   hovedkolonnen, fylt panel uten kanter. */
.rg-blog-protected {
  margin-top: 24px;
  padding: var(--blog-panel-pad);
  border-radius: var(--blog-radius);
  background: var(--blog-panel);
}

.rg-blog-protected .post-password-form p {
  margin: 0 0 12px;
}

.rg-blog-protected .post-password-form p:last-child {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
  margin-bottom: 0;
}

.rg-blog-protected .post-password-form input[type="password"] {
  display: block;
  min-height: 44px;
  margin-top: 4px;
  padding: 0 12px;
  border: 1px solid #c9cac4;
  border-radius: var(--blog-radius-btn);
  background: #fff;
}

.rg-blog-protected .post-password-form input[type="submit"] {
  min-height: 44px;
  padding: 0 20px;
  border: var(--blog-btn-border) solid var(--blog-btn-line);
  border-radius: var(--blog-radius-btn);
  background: var(--blog-btn-dark-bg);
  color: var(--blog-btn-dark-ink);
  font-weight: 700;
  cursor: pointer;
  transition: background-color .15s ease;
}

.rg-blog-protected .post-password-form input[type="submit"]:hover {
  background: var(--blog-btn-dark-bg-hover);
  border-color: var(--blog-btn-line);
  box-shadow: none;
  color: var(--blog-btn-dark-ink);
}

/* file: css/20-header.css */
/*
 * Bloggmal: header over kolonnene (H1, ingress, piller) og hovedbilde.
 * Brødsmulene er nettstedets grå stripe (layouts.app). Hvit bakgrunn, alt på samme venstrekant (V2.2).
 */
.rg-blog-header {
  margin-inline: 0;
  margin-top: 0;
  padding: 0;
  background: none;
}

/* Tittel */
.rg-blog-header__title {
  margin: 0;
  font-size: var(--blog-h1);
  line-height: 1.12;
  font-style: italic;
  font-weight: 800;
  letter-spacing: -.01em;
  color: var(--blog-ink);
  /* pretty (ikke balance): første linje fyller kolonnen som ingressen under,
     og siste linje får aldri ett ord alene. */
  text-wrap: pretty;
}

.rg-blog-header__ingress {
  margin: 16px 0 0;
  font-size: 1.1875rem;
  line-height: 1.5;
  color: var(--blog-ink-soft);
}

/* Piller */
.rg-blog-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}

.rg-blog-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  margin: 0;
  padding: 6px 12px;
  border-radius: var(--blog-radius-tag);
  background: var(--blog-chip-bg);
  font-size: var(--blog-small);
  line-height: 1.3;
  color: var(--blog-ink);
}

.rg-blog-chip .rg-blog-icon {
  color: var(--blog-muted);
}

.rg-blog-chip--avatar {
  padding-left: 4px;
}

.rg-blog-chip__avatar {
  display: block;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  overflow: hidden;
  border-radius: 50%;
  background: #fff;
}

.rg-blog-chip__img {
  display: block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  object-fit: cover;
}

.rg-blog-chip__strong {
  font-weight: 700;
}

.rg-blog-chip__muted {
  color: var(--blog-muted);
}

.rg-blog-chip__link {
  color: var(--blog-ink);
  text-decoration: none;
}

.rg-blog-chip__link:hover {
  text-decoration: underline;
  text-underline-offset: .15em;
}

/* Hovedbilde: full bredde av hovedkolonnen, 16:9 */
.rg-blog-hero {
  margin: 0;
}

.rg-blog-hero__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: var(--blog-radius);
  background: var(--blog-panel);
}

.rg-blog-hero__caption {
  margin-top: 8px;
  font-size: var(--blog-small);
  line-height: 1.45;
  color: var(--blog-muted);
}

/* file: css/30-summary-toc.css */
/*
 * Bloggmal: «Kort oppsummert» (grønn panel) og innholdsfortegnelse.
 * Mobil/nettbrett: sammenleggbar boks i hovedkolonnen (.rg-blog-toc).
 * Desktop: panel i sidekolonnen (.rg-blog-sidetoc), se 35-sidebar.css.
 */

/* Kort oppsummert */
.rg-blog-summary__title {
  margin: 0 0 10px;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--blog-ink);
}

.rg-blog-summary__list {
  margin: 0;
  padding-left: 1.25em;
  list-style: disc outside;
}

.rg-blog-summary__list li + li {
  margin-top: .4em;
}

.rg-blog-summary__list li::marker {
  color: var(--blog-ink);
}

/* Innholdsfortegnelse i hovedkolonnen (under 1024 px) */
.rg-blog-toc.rg-blog-panel {
  padding: 0;
}

.rg-blog-toc__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 52px;
  padding: 14px var(--blog-panel-pad);
  border-radius: var(--blog-radius);
  font-weight: 700;
  line-height: 1.3;
  cursor: pointer;
  list-style: none;
}

.rg-blog-toc__summary::-webkit-details-marker {
  display: none;
}

.rg-blog-toc__summary::after {
  content: "";
  flex: 0 0 auto;
  width: 9px;
  height: 9px;
  margin-right: 4px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform .2s ease;
}

.rg-blog-toc[open] > .rg-blog-toc__summary::after {
  transform: translateY(2px) rotate(-135deg);
}

.rg-blog-toc__list {
  margin: 0;
  padding: 0 var(--blog-panel-pad) var(--blog-panel-pad) calc(var(--blog-panel-pad) + 1.4em);
  list-style: decimal outside;
}

.rg-blog-toc__list li {
  padding-left: .2em;
}

.rg-blog-toc__list li + li {
  margin-top: .45em;
}

.rg-blog-toc__list li::marker {
  color: var(--blog-muted);
  font-weight: 700;
}

.rg-blog-toc__list a {
  color: var(--blog-ink);
  text-decoration: none;
}

.rg-blog-toc__list a:hover {
  color: var(--blog-green-ink);
  text-decoration: underline;
  text-underline-offset: .15em;
}

.rg-blog-toc__list a[aria-current="true"] {
  font-weight: 700;
  color: var(--blog-green-ink);
}

@media (min-width: 1024px) {
  .rg-blog-main > .rg-blog-toc {
    display: none;
  }
}

/* file: css/35-sidebar.css */
/*
 * Bloggmal: sidekolonnen (V2.3). Rekkefølge: Innhold, Be om tilbud,
 * Les også, Del artikkelen. Hver gruppe er et .rg-blog-panel.
 * Under 1024 px står sidekolonnen under artikkelen, og Innhold og
 * Be om tilbud skjules (de finnes i hovedkolonnen).
 * Rammen (sticky, kolonnebredde) ligger i 10-layout.css.
 */
.rg-blog-side .rg-blog-panel {
  margin: 0;
}

.rg-blog-side .rg-blog-sidetoc,
.rg-blog-side .rg-blog-sidecta {
  display: none;
}

/* Under 1024 px er den faste gruppen tom (innhold og «Be om tilbud» er
   skjult), så den skal ikke gi ekstra mellomrom. */
@media (max-width: 1023.98px) {
  .rg-blog-side__sticky {
    display: none;
  }
}

@media (min-width: 1024px) {
  .rg-blog-side .rg-blog-sidetoc,
  .rg-blog-side .rg-blog-sidecta {
    display: block;
  }
}

/* Del artikkelen */
.rg-blog-share__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rg-blog-share__list li {
  margin: 0;
}

.rg-blog-share__list li[hidden] {
  display: none;
}

.rg-blog-share__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 44px;
  height: 44px;
  padding: 0 12px; /* 12 px gir plass til kanten, så raden holder seg på én linje */
  border: var(--blog-btn-border) solid var(--blog-btn-line);
  border-radius: var(--blog-radius-btn);
  background: var(--blog-btn-bg);
  color: var(--blog-btn-ink);
  font: inherit;
  font-size: .9375rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease;
}

.rg-blog-share__btn .rg-blog-icon {
  width: 18px;
  height: 18px;
  vertical-align: 0;
}

.rg-blog-share__btn--linkedin,
.rg-blog-share__btn--facebook,
.rg-blog-share__btn--mail {
  width: 44px;
  padding: 0;
}

/* Smal sidekolonne (1024 til 1199 px): kopier-knappen vises som ikon, så
   raden får plass på én linje. Teksten finnes fortsatt for skjermlesere. */
@media (min-width: 1024px) and (max-width: 1199.98px) {
  .rg-blog-share__btn--copy {
    width: 44px;
    padding: 0;
  }

  .rg-blog-share__btn--copy span {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
  }
}

.rg-blog-share__btn:hover,
.rg-blog-share__btn.is-copied {
  background: var(--blog-btn-bg-hover);
  border-color: var(--blog-btn-line);
  box-shadow: none;
  color: var(--blog-btn-ink-hover);
  text-decoration: none;
}

.rg-blog-share__status {
  margin: 0;
  font-size: var(--blog-small);
  line-height: 1.4;
  color: var(--blog-green-ink);
  font-weight: 600;
}

.rg-blog-share__status:not(:empty) {
  margin-top: 10px;
}

/* Innhold (desktop) */
.rg-blog-sidetoc__list {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: rg-blog-sidetoc;
}

.rg-blog-sidetoc__item {
  counter-increment: rg-blog-sidetoc;
  margin: 0;
}

.rg-blog-sidetoc__item + .rg-blog-sidetoc__item {
  margin-top: 1px;
}

.rg-blog-sidetoc__link {
  display: flex;
  gap: 10px;
  padding: 5px 0;
  font-size: .9375rem;
  line-height: 1.4;
  color: var(--blog-ink);
  text-decoration: none;
}

/* Smal sidekolonne: litt mindre tekst, så innholdsfortegnelsen får plass
   i høyden også på lave skjermer (1024 x 768). */
@media (min-width: 1024px) and (max-width: 1199.98px) {
  .rg-blog-sidetoc__link {
    font-size: .875rem;
  }
}

.rg-blog-sidetoc__link::before {
  content: counter(rg-blog-sidetoc) ".";
  flex: 0 0 1.5em;
  color: var(--blog-muted);
  font-variant-numeric: tabular-nums;
}

.rg-blog-sidetoc__link:hover {
  color: var(--blog-green-ink);
  text-decoration: underline;
  text-underline-offset: .15em;
}

/* Aktivt punkt: farge og tykk understrek, ikke fet skrift. Fet tekst er
   bredere, bryter linjene annerledes og flytter alt under (CLS ved
   rulling). */
.rg-blog-sidetoc__link[aria-current="true"] {
  color: var(--blog-green-ink);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: .2em;
}

.rg-blog-sidetoc__link[aria-current="true"]::before {
  color: var(--blog-green-ink);
}

/* Be om tilbud */
.rg-blog-sidecta__text {
  margin: 0 0 16px;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--blog-ink);
}

/* Les også */
.rg-blog-related__list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rg-blog-related__item {
  margin: 0;
}

.rg-blog-related__link {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 8px;
  margin-inline: -8px;
  border-radius: var(--blog-radius-sm);
  color: var(--blog-ink);
  text-decoration: none;
  transition: background-color .15s ease;
}

.rg-blog-related__link:hover {
  background: #fff;
  color: var(--blog-ink);
  text-decoration: none;
}

.rg-blog-related__media {
  flex: 0 0 72px;
  width: 72px;
  height: 56px;
  overflow: hidden;
  border-radius: var(--blog-radius-thumb);
  background: var(--blog-chip-bg);
}

/* Innlegg uten fremhevet bilde: grønn flate med et lite artikkelikon */
.rg-blog-related__media--empty {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--blog-panel-green);
  color: var(--blog-green-ink);
}

.rg-blog-related__media--empty .rg-blog-icon {
  width: 22px;
  height: 22px;
  vertical-align: 0;
}

.rg-blog-related__media img,
.rg-blog-related__img {
  display: block;
  width: 72px;
  height: 56px;
  object-fit: cover;
}

.rg-blog-related__body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.rg-blog-related__date {
  order: -1;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .8125rem;
  line-height: 1.3;
  color: var(--blog-muted);
}

.rg-blog-related__date .rg-blog-icon {
  width: 14px;
  height: 14px;
}

.rg-blog-related__title {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  font-size: .9375rem;
  line-height: 1.35;
  font-weight: 700;
}

.rg-blog-related__link:hover .rg-blog-related__title {
  text-decoration: underline;
  text-underline-offset: .15em;
}

/* file: css/40-faq-next-related.css */
/*
 * Bloggmal: FAQ og «Neste steg» i hovedkolonnen.
 * «Les også» ligger i sidekolonnen (35-sidebar.css).
 */

/* FAQ: hvert spørsmål er sitt eget nøytrale panel (radius 12, mellomrom 8) */
.rg-blog-faq__title {
  margin: 0 0 16px;
  font-size: var(--blog-h2);
  line-height: 1.2;
  font-weight: 700;
  color: var(--blog-ink);
}

.rg-blog-faq__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.rg-blog-faq__item {
  border: 0;
  border-radius: var(--blog-radius-sm);
  background: var(--blog-panel);
}

.rg-blog-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px var(--blog-panel-pad);
  border-radius: var(--blog-radius-sm);
  cursor: pointer;
  list-style: none;
}

.rg-blog-faq__question::-webkit-details-marker {
  display: none;
}

.rg-blog-faq__question h3 {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.35;
  font-weight: 700;
  color: var(--blog-ink);
}

.rg-blog-faq__question::after {
  content: "";
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  margin-right: 4px;
  border-right: 2px solid var(--blog-ink);
  border-bottom: 2px solid var(--blog-ink);
  transform: translateY(-3px) rotate(45deg);
  transition: transform .2s ease;
}

.rg-blog-faq__item[open] > .rg-blog-faq__question::after {
  transform: translateY(3px) rotate(-135deg);
}

.rg-blog-faq__answer {
  padding: 0 var(--blog-panel-pad) var(--blog-panel-pad);
}

.rg-blog-faq__answer > * {
  margin: 0 0 1em;
}

.rg-blog-faq__answer > :last-child {
  margin-bottom: 0;
}

.rg-blog-faq__answer ul {
  padding-left: 1.4em;
  list-style: disc outside;
}

.rg-blog-faq__answer ol {
  padding-left: 1.4em;
  list-style: decimal outside;
}

.rg-blog-faq__answer a {
  color: var(--blog-green-ink);
  text-decoration: underline;
  text-underline-offset: .15em;
}

/* Neste steg: grønn panel med primærknapp */
.rg-blog-next {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

@media (min-width: 768px) {
  .rg-blog-next {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    padding: 32px;
  }
}

.rg-blog-next__title {
  margin: 0;
  font-size: clamp(1.375rem, 1.2rem + .8vw, 1.75rem);
  line-height: 1.2;
  font-weight: 800;
  font-style: italic;
  color: var(--blog-ink);
}

.rg-blog-next__text {
  margin: 8px 0 0;
  color: var(--blog-ink);
}

.rg-blog-next__action {
  flex: 0 0 auto;
}

/* Mobil: knappen i full bredde, som i CTA-blokken (.rg-blog-cta__btn). */
.rg-blog-next__btn {
  width: 100%;
}

@media (min-width: 768px) {
  .rg-blog-next__btn {
    width: auto;
  }
}

/* file: css/50-legacy.css */
/*
 * Legacy: gamle moduler fra side-byggeren tvinges inn i hovedkolonnen med
 * samme venstrekant (V2.1). Temaets breddeklasser nullstilles, og modulene
 * får samme uttrykk som bloggblokkene (V2.4): venstrestilte overskrifter,
 * fylte flater med runde hjørner, ingen skygger og ingen fargede kanter.
 */
.rg-blog-legacy {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: 0;
}

/* Avstandsmoduler (spacer = tom <div class="h-8">) fjernes. Luften mellom
   modulene settes likt nedenfor. */
.rg-blog-legacy > div:empty:not([class*="module-wrapper"]) {
  display: none;
}

.rg-blog-legacy > div,
.rg-blog-legacy > div > div {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Lik vertikal rytme: ingen egen luft i modulene, samme avstand mellom
   moduler som mellom bloggblokker (--blog-gap). */
.rg-blog .rg-blog-legacy > [class*="module-wrapper"],
.rg-blog .rg-blog-legacy > [class*="module-wrapper"] > div {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Tekst og bilde (text_and_media) og skjemamodulen (rg-form) er ikke
   module-wrapper, men får samme rytme. */
.rg-blog .rg-blog-legacy > :is(.module-text-and-media, .rg-form) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.rg-blog-legacy > :is([class*="module-wrapper"], .module-text-and-media, .rg-form) ~ :is([class*="module-wrapper"], .module-text-and-media, .rg-form) {
  margin-top: var(--blog-gap);
}

.rg-blog .rg-blog-legacy :is(
  .content-max-width,
  .max-width-content,
  .text-max-width,
  .max-width-richtext,
  .faq-list,
  .map-max-width,
  .post-content-column,
  [class*="media-width-"],
  [class^="max-w-"],
  [class*=" max-w-"]
) {
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/*
 * Nullstillingen over gjelder ytre bredder. Innvendig luft beholdes:
 *
 * Tekst og bilde (text_and_media, fullwidth): tekstkolonnen står på
 * kolonnens venstrekant med 20 px over seg når bilde og tekst står under
 * hverandre, og med 32 px luft mot bildet når de står side om side (fra
 * 1024 px). Boxed-varianten har egne flater i temaet og røres ikke.
 */
.rg-blog .rg-blog-legacy .module-text-and-media.fullwidth .tm-col:not(.img-col) {
  padding: 20px 0 0 !important;
}

@media (min-width: 1024px) {
  .rg-blog .rg-blog-legacy .module-text-and-media.fullwidth .lg\:flex.image-left > .tm-col:not(.img-col) {
    padding: 0 0 0 32px !important;
  }

  .rg-blog .rg-blog-legacy .module-text-and-media.fullwidth .lg\:flex.image-right > .tm-col:not(.img-col) {
    padding: 0 32px 0 0 !important;
  }
}

/*
 * Fylte flater (V2.4): moduler med bakgrunnsfarge blir paneler med
 * --blog-panel-pad og --blog-radius. Fargen beholdes.
 * - text_and_media med farge (module-rg-*, fullwidth): temaet legger
 *   fargen på kolonnene under 1024 px og på modulen over. Her ligger den
 *   alltid på modulen.
 * - andre moduler med fargeklasse (rg-green, rg-blue ...), for eksempel
 *   lenkekort på grønn bakgrunn. Toppbildet (rg_hero) har bilde som flate
 *   og røres ikke.
 * - skjemaet (rg-form) på mørk flate.
 */
.rg-blog .rg-blog-legacy > .module-text-and-media.fullwidth[class*="module-rg-"],
.rg-blog .rg-blog-legacy > [class*="module-wrapper"]:is(.rg-green, .rg-blue, .rg-gray, .rg-yellow, .rg-orange):not(.module-wrapper-rg-hero),
.rg-blog .rg-blog-legacy > .rg-form > [class*="bg-"] {
  margin-bottom: 0;
  padding: var(--blog-panel-pad) !important;
  border-radius: var(--blog-radius);
}

.rg-blog .rg-blog-legacy > .module-text-and-media.fullwidth.module-rg-green {
  background-color: var(--bg-green-content);
}

.rg-blog .rg-blog-legacy > .module-text-and-media.fullwidth.module-rg-blue {
  background-color: var(--bg-blue-content);
}

.rg-blog .rg-blog-legacy > .module-text-and-media.fullwidth.module-rg-gray {
  background-color: var(--bg-gray-content);
}

.rg-blog .rg-blog-legacy > .module-text-and-media.fullwidth.module-rg-yellow {
  background-color: var(--bg-yellow-content);
}

.rg-blog .rg-blog-legacy > .module-text-and-media.fullwidth.module-rg-orange {
  background-color: var(--bg-orange-content);
}

.rg-blog .rg-blog-legacy > .module-text-and-media.fullwidth[class*="module-rg-"] .tm-col {
  background-color: transparent;
}

/* Tomme overskrifter (modulfelt uten tekst) tar ikke plass */
.rg-blog-legacy :is(h2, h3, h4):empty {
  display: none;
}

/* Alle overskrifter står på venstrekanten */
.rg-blog-legacy :is(h2, h3, h4).text-center {
  text-align: left;
}

/* Brødtekst */
.rg-blog-legacy .comp-rich-text {
  margin-bottom: 0;
  font-size: var(--blog-fs);
  line-height: var(--blog-lh);
}

.rg-blog-legacy .comp-rich-text > * {
  margin-top: 0;
  margin-bottom: 1em;
}

.rg-blog-legacy .comp-rich-text > :last-child {
  margin-bottom: 0;
}

.rg-blog-legacy .comp-rich-text > :is(h2, h3, h4) {
  margin-top: 1.4em;
  margin-bottom: .4em;
  line-height: 1.3;
}

.rg-blog-legacy .comp-rich-text > :is(h2, h3, h4):first-child {
  margin-top: 0;
}

/* Modultittel i tekstmodulen (H2 eller H3 over teksten) */
.rg-blog .rg-blog-legacy .module-wrapper-richtext > div > :is(h2, h3) {
  margin-top: 0 !important;
  margin-bottom: .5em !important;
}

.rg-blog-legacy .comp-rich-text a {
  color: var(--blog-green-ink);
  text-decoration: underline;
  text-underline-offset: .15em;
}

.rg-blog-legacy .comp-rich-text li::marker {
  color: var(--blog-ink);
}

.rg-blog-legacy img {
  max-width: 100%;
  height: auto;
}

/* Bilder og flater med samme hjørner som resten av malen, uten skygge */
.rg-blog-legacy .rg-media img,
.rg-blog-legacy .no-clip {
  border-radius: var(--blog-radius);
}

.rg-blog-legacy :is(.rg-hero, .content-grid-link, .grid-box) {
  border-radius: var(--blog-radius);
  overflow: hidden;
  box-shadow: none;
}

.rg-blog-legacy .module-wrapper-columns h2.text-center {
  margin-bottom: 16px;
}

/* Gamle produktkort (pc-grid): temaets -15 px marg trekkes inn, så kortene
   står på venstrekanten (kortene har 5 px luft til siden under 768 px og
   15 px fra 768 px). Ingen skygger (V2.4). */
.rg-blog .rg-blog-legacy .pc-grid {
  margin-left: -5px !important;
  margin-right: -5px !important;
}

@media (min-width: 768px) {
  .rg-blog .rg-blog-legacy .pc-grid {
    margin-left: -15px !important;
    margin-right: -15px !important;
  }
}

.rg-blog .rg-blog-legacy .pc-grid-item > a {
  border-radius: var(--blog-radius);
  box-shadow: none !important;
}

.rg-blog .rg-blog-legacy .btn,
.rg-blog .rg-blog-legacy .btn:hover {
  border-radius: var(--blog-radius-btn);
  box-shadow: none !important;
}

/* Gamle grønne knapper uten grønt og uten synlig kant, som malens knapper:
   avspilling og lukk video blir hvite, knapper og skjemaknappen mørke. */
.rg-blog .rg-blog-legacy :is(.btn-primary, .btn-play, .hideVideo, .gform_button) {
  border: var(--blog-btn-border) solid var(--blog-btn-line);
  background: var(--blog-btn-bg);
  color: var(--blog-btn-ink);
}

/* Skjemaknappen uten skygge, som malens knapper. Avspillingsknappen beholder
   skyggen fordi den ligger over et bilde. */
.rg-blog .rg-blog-legacy .gform_button {
  box-shadow: none;
}

.rg-blog .rg-blog-legacy :is(.btn-primary, .btn-play, .hideVideo, .gform_button):hover {
  border-color: var(--blog-btn-line);
  background: var(--blog-btn-bg-hover);
  color: var(--blog-btn-ink-hover);
}

.rg-blog .rg-blog-legacy .gform_button:hover {
  box-shadow: none;
}

/* Hovedknapper står ofte på hvit bakgrunn: mørke, som «Be om tilbud». */
.rg-blog .rg-blog-legacy :is(.btn-primary, .gform_button) {
  background: var(--blog-btn-dark-bg);
  color: var(--blog-btn-dark-ink);
}

.rg-blog .rg-blog-legacy :is(.btn-primary, .gform_button):hover {
  background: var(--blog-btn-dark-bg-hover);
  color: var(--blog-btn-dark-ink);
}

@media (min-width: 640px) {
  .rg-blog-legacy .module-wrapper-columns .sm\:grid > .content-grid-link {
    margin-bottom: 0;
  }
}

/* Gammelt sitat (testimonial): nøytral panel i stedet for grønn venstrekant */
.rg-blog .rg-blog-legacy .module-wrapper-testimonial > div > div {
  padding: var(--blog-panel-pad) !important;
  border-radius: var(--blog-radius);
  background: var(--blog-panel);
}

.rg-blog-legacy .module-wrapper-testimonial .border-l {
  border-left: 0 !important;
  padding-left: 0 !important;
}

/* Samme oppsett som sitatblokken: grønt anførselstegn, sitatet, og under
   det et lite rundt portrett (48 px) med navnet ved siden av. */
.rg-blog-legacy .module-wrapper-testimonial .md\:flex {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  grid-template-areas:
    "text text"
    "media name";
  column-gap: 12px;
  align-items: center;
}

.rg-blog-legacy .module-wrapper-testimonial .md\:flex:not(:has(> [class*="md:w-[120px]"])) {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "text"
    "name";
}

.rg-blog-legacy .module-wrapper-testimonial [class*="md:w-[120px]"] {
  grid-area: media;
  width: 48px;
  padding: 0;
}

.rg-blog-legacy .module-wrapper-testimonial [class*="md:w-[120px]"] > div {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #fff;
}

.rg-blog-legacy .module-wrapper-testimonial [class*="md:w-[120px]"] img {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
}

.rg-blog-legacy .module-wrapper-testimonial .md\:flex-1 {
  display: contents;
}

.rg-blog-legacy .module-wrapper-testimonial .md\:flex-1 > .italic {
  grid-area: text;
  margin: 0 0 20px;
  font-size: clamp(1.1875rem, 1.1rem + .45vw, 1.375rem);
  line-height: 1.45;
  font-style: italic;
  font-weight: 600;
  color: var(--blog-ink);
}

.rg-blog-legacy .module-wrapper-testimonial .md\:flex-1 > .italic::before {
  content: "";
  display: block;
  width: 40px;
  height: 30px;
  margin: 0 0 14px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 24'%3E%3Cpath fill='%2340B800' d='M0 24v-9.9C0 6.2 4.9 1.1 12.6 0l.9 4.4c-4.2 1-6.4 3.4-6.8 7.3H13V24zm18.5 0v-9.9C18.5 6.2 23.4 1.1 31.1 0l.9 4.4c-4.2 1-6.4 3.4-6.8 7.3h6.3V24z'/%3E%3C/svg%3E") no-repeat left center / contain;
}

.rg-blog-legacy .module-wrapper-testimonial .md\:flex-1 > strong {
  grid-area: name;
  font-size: .9375rem;
  line-height: 1.4;
  font-weight: 700;
  text-transform: none;
  opacity: 1;
  color: var(--blog-ink);
}

/*
 * Kontaktpersoner (person_grid, «Jeg hjelper deg gjerne!»): grønn panel
 * som ekspertkortet. Rundt bilde 72 px til venstre, tekst ved siden av,
 * alt venstrestilt. To kolonner fra 640 px når det er flere personer.
 */
.rg-blog .rg-blog-legacy .module-wrapper-persongrid > .person-grid {
  padding: var(--blog-panel-pad) !important;
  border-radius: var(--blog-radius);
  background: var(--blog-panel-green);
  color: var(--blog-ink);
}

.rg-blog-legacy .person-grid > :is(h2, h3) {
  margin: 0 0 16px;
  font-size: var(--blog-h3);
  line-height: 1.25;
  font-weight: 700;
  text-align: left;
  color: var(--blog-ink);
}

.rg-blog .rg-blog-legacy .person-grid > div[class*="person_grid"] {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 20px;
  margin: 0;
}

@media (min-width: 640px) {
  .rg-blog .rg-blog-legacy .person-grid > div[class*="person_grid"]:has(> .person + .person) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.rg-blog .rg-blog-legacy .person-grid .person {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  column-gap: 16px;
  align-items: start;
  width: auto;
  margin: 0;
  padding: 0;
}

.rg-blog .rg-blog-legacy .person-grid .person > .image {
  width: 72px;
  margin: 0 !important;
}

.rg-blog-legacy .person-grid .person .image img {
  display: block;
  width: 72px;
  height: 72px;
  max-width: none;
  border: 0;
  border-radius: 50%;
  object-fit: cover;
  background: #fff;
}

.rg-blog-legacy .person-grid .person .text-center {
  min-width: 0;
  text-align: left;
}

.rg-blog-legacy .person-grid .person strong {
  display: block;
  margin: 0;
  font-size: 1.1875rem;
  line-height: 1.25;
  font-weight: 700;
  color: var(--blog-ink);
}

.rg-blog-legacy .person-grid .person ul {
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
  font-size: .9375rem;
  line-height: 1.45;
  color: var(--blog-muted);
}

.rg-blog-legacy .person-grid .person li {
  margin: 2px 0 0;
}

.rg-blog-legacy .person-grid .person li .italic {
  font-style: normal;
}

.rg-blog-legacy .person-grid .person a {
  color: var(--blog-green-ink);
  text-decoration: underline;
  text-underline-offset: .18em;
  overflow-wrap: anywhere;
}

/*
 * Lenkekort (rentalgroup.page_links): nøytrale kort som produktkortene.
 * Bildet med 12 px radius inni kortet, tittel under, venstrestilt.
 */
.rg-blog .rg-blog-legacy .page-links {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.rg-blog-legacy .page-links > .flex {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

@media (min-width: 640px) {
  .rg-blog-legacy .page-links > .flex {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: var(--blog-panel-gap);
  }
}

.rg-blog-legacy .page-link-box {
  width: auto;
  padding: 0;
}

.rg-blog-legacy .page-link {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 10px;
  border-radius: var(--blog-radius);
  background: var(--blog-panel);
  box-shadow: none;
  color: var(--blog-ink);
  text-decoration: none;
  transition: background-color .15s ease;
}

.rg-blog-legacy .page-link:hover {
  background: #ecede8;
}

.rg-blog-legacy .page-link .img {
  aspect-ratio: 4 / 3;
  border-radius: var(--blog-radius-sm);
  object-fit: cover;
}

.rg-blog-legacy .page-link .label {
  position: static;
  display: block;
  padding: 12px 6px 4px;
  background: none;
  color: var(--blog-ink);
  text-align: left;
}

.rg-blog-legacy .page-link .label .inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.rg-blog-legacy .page-link .label.greenlink .inner span {
  border-bottom: 0;
  padding-right: 0;
  font-size: 1rem;
  line-height: 1.35;
  font-weight: 700;
}

.rg-blog-legacy .page-link .label .inner .icon {
  position: static;
  flex: 0 0 auto;
  color: var(--blog-green-ink);
}

.rg-blog-legacy .page-link:hover .label .inner .text {
  text-decoration: underline;
  text-underline-offset: .15em;
}

/* file: css/90-print.css */
/*
 * Bloggmal: utskrift. Sidekolonnen skjules, hovedkolonnen får hele bredden.
 */
@media print {
  .rg-blog-single .site-header,
  .rg-blog-single .site-footer,
  .rg-blog-single .breadcrumbs,
  .rg-blog-single #nav-wrapper,
  .rg-blog-single #CybotCookiebotDialog,
  .rg-blog-side,
  .rg-blog-toc,
  .rg-blog-next,
  .rg-blog-block--cta,
  .rg-blog-block--form,
  .rg-blog-block--departments,
  .rg-blog-block--video,
  .rg-blog-legacy .module-wrapper-rg-product-search,
  .rg-blog-legacy .gform_wrapper {
    display: none !important;
  }

  .rg-blog {
    display: block !important;
    max-width: none;
    padding: 0;
    font-size: 11pt;
  }

  .rg-blog,
  .rg-blog *,
  .rg-blog-header {
    color: #000 !important;
    box-shadow: none !important;
  }

  .rg-blog-panel,
  .rg-blog-chip,
  .rg-blog-faq__item {
    background: transparent !important;
    padding-inline: 0 !important;
  }

  .rg-blog-summary {
    padding: 8pt 0 !important;
  }

  .rg-blog-chip {
    padding: 0 8pt 0 0;
  }

  .rg-blog a {
    text-decoration: underline;
  }

  .rg-blog-body h2,
  .rg-blog-body h3,
  .rg-blog-faq__question {
    break-after: avoid;
  }

  .rg-blog img,
  .rg-blog figure,
  .rg-blog-summary {
    break-inside: avoid;
  }
}

/* file: css/blocks/cta.css */
/*
 * Bloggblokk: Handlingsknapp (CTA). Bare klasser under .rg-blog-cta.
 * Designrevisjon v2: begge stiler er et grønt panel (.rg-blog-panel
 * .rg-blog-panel--green) i full kolonnebredde med primærknapp
 * (.rg-blog-btn). Ingen kantlinjer. Samme uttrykk som «Neste steg».
 * - band: tekst til venstre og knapp til høyre fra 768 px.
 * - box:  knappen står under teksten.
 */
.rg-blog-cta {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 18px;
  color: var(--blog-ink);
}

@media (min-width: 768px) {
  .rg-blog-cta.rg-blog-panel {
    padding: 32px;
  }
}

.rg-blog-cta__content {
  min-width: 0;
}

.rg-blog-cta .rg-blog-cta__title {
  margin: 0;
  font-size: clamp(1.3125rem, 1.15rem + .7vw, 1.625rem);
  line-height: 1.2;
  font-weight: 800;
  font-style: italic;
  color: var(--blog-ink);
  text-wrap: balance;
}

.rg-blog-cta .rg-blog-cta__text {
  margin: 8px 0 0;
  color: var(--blog-ink);
}

.rg-blog-cta__action {
  flex: 0 0 auto;
  min-width: 0;
}

.rg-blog-cta__btn {
  width: 100%;
}

.rg-blog-cta__icon {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
}

@media (min-width: 768px) {
  .rg-blog-cta__btn {
    width: auto;
  }

  .rg-blog-cta--box .rg-blog-cta__action {
    align-self: flex-start;
  }

  .rg-blog-cta--band {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
  }
}

/* file: css/blocks/departments.css */
/*
 * Bloggblokk: Finn avdeling. Bare klasser under .rg-blog-departments.
 * Designrevisjon v2: hvert kort er en nøytral panel (.rg-blog-panel,
 * radius 16, ingen kantlinjer og ingen farget toppkant).
 * 1 kolonne under 640 px, 2 kolonner fra 640 px. Blokken fyller hele
 * hovedkolonnen; ingen egne bredder.
 */
.rg-blog-departments__title {
  margin: 0 0 1rem;
  font-size: var(--blog-h2);
  line-height: 1.2;
  font-weight: 700;
  color: var(--blog-ink);
  text-wrap: balance;
}

.rg-blog-departments__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 640px) {
  .rg-blog-departments__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--blog-panel-gap);
  }
}

.rg-blog-departments__item {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
  /* Panelflate, radius og null kant kommer fra .rg-blog-panel. */
  padding: 18px 20px;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--blog-ink);
}

@media (min-width: 640px) {
  .rg-blog-departments__item {
    padding: var(--blog-panel-pad);
  }
}

/*
 * Ujevnt antall kort (for eksempel alle 9 avdelinger): det siste kortet er et
 * vanlig kort i venstre kolonne, likt de andre (valgt av Aleks 06.10.2026).
 */

.rg-blog-departments__name {
  margin: 0;
  font-size: 1.1875rem;
  line-height: 1.25;
  font-weight: 700;
  font-style: normal;
  color: var(--blog-ink);
}

.rg-blog-departments__address {
  margin: 2px 0 0;
  font-size: .9375rem;
  line-height: 1.4;
  color: var(--blog-muted);
}

.rg-blog-departments__contact {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.rg-blog-departments__contact-item {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  margin: 0;
}

.rg-blog-departments__icon {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  color: var(--blog-green-ink);
}

.rg-blog-departments__phone,
.rg-blog-departments__email {
  min-width: 0;
  color: var(--blog-ink);
  text-decoration: underline;
  text-decoration-color: rgba(34, 34, 34, .3);
  text-underline-offset: .18em;
  overflow-wrap: anywhere;
}

.rg-blog-departments__phone {
  font-weight: 700;
  white-space: nowrap;
}

.rg-blog-departments__phone:hover,
.rg-blog-departments__email:hover {
  color: var(--blog-green-ink);
  text-decoration-color: currentColor;
}

.rg-blog-departments__more {
  margin: auto 0 0;
  padding-top: 14px;
}

.rg-blog-departments__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  color: var(--blog-green-ink);
  text-decoration: underline;
  text-underline-offset: .18em;
}

.rg-blog-departments__link:hover {
  color: var(--blog-green-ink);
  text-decoration-thickness: 2px;
}

.rg-blog-departments__arrow {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  transition: transform .15s ease;
}

.rg-blog-departments__link:hover .rg-blog-departments__arrow {
  transform: translateX(3px);
}

.rg-blog-departments__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

@media print {
  .rg-blog-departments__item {
    break-inside: avoid;
  }
}

/* file: css/blocks/expert.css */
/*
 * Bloggblokk: Ekspertkort. Bare klasser under .rg-blog-expert.
 * Grønn panel (.rg-blog-panel--green), ingen kantlinjer.
 * Tekst og knapper til venstre, stort portrett til høyre (valgt av Aleks
 * 06.10.2026): 200 px bredt fra 640 px, 104 px på mobil, format 4:5.
 *
 * Under 640 px: overskrift og navn ved siden av bildet, tekst og knapper i
 * full bredde under. Fra 640 px: alt innhold til venstre, bildet til høyre
 * over hele kortets høyde. Blokken fyller hele hovedkolonnen.
 */
.rg-blog-expert {
  /* Panelflate, radius, padding og null kant kommer fra .rg-blog-panel. */
  color: var(--blog-ink);
  font-size: 1rem;
  line-height: 1.5;
}

/* Standardoverskrift («Spør en fagperson»): paneltittel, ikke heading */
.rg-blog-expert__eyebrow {
  margin: 0 0 16px;
  font-size: 1.0625rem;
  line-height: 1.3;
  font-weight: 700;
  font-style: normal;
  color: var(--blog-ink);
}

/* Egen overskrift fra redaktøren (H2, med i innholdsfortegnelsen) */
.rg-blog-expert__title {
  margin: 0 0 16px;
  font-size: var(--blog-h3);
  line-height: 1.25;
  font-weight: 700;
  color: var(--blog-ink);
  text-wrap: balance;
}

.rg-blog-expert__card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 104px;
  grid-template-areas:
    "head media"
    "person media"
    "text text"
    "actions actions";
  grid-template-rows: auto 1fr auto auto;
  column-gap: 16px;
  align-items: start;
}

.rg-blog-expert__card--no-image {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "head"
    "person"
    "text"
    "actions";
  grid-template-rows: auto;
}

@media (min-width: 640px) {
  .rg-blog-expert__card {
    grid-template-columns: minmax(0, 1fr) 200px;
    grid-template-areas:
      "head media"
      "person media"
      "text media"
      "actions media";
    grid-template-rows: auto auto auto 1fr;
    column-gap: 24px;
  }

  /* Knappene står nederst, på linje med bunnen av bildet. Teksten følger
     toppen av bildet (valgt av Aleks 07.10.2026). */
  .rg-blog-expert__actions {
    align-self: end;
  }

  .rg-blog-expert__card--no-image {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "head"
      "person"
      "text"
      "actions";
    grid-template-rows: auto;
  }
}

.rg-blog-expert__head {
  grid-area: head;
  min-width: 0;
}

.rg-blog-expert__media {
  grid-area: media;
  width: 100%;
}

.rg-blog-expert__img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  aspect-ratio: 4 / 5;
  border-radius: var(--blog-radius);
  object-fit: cover;
  background: #fff;
}

.rg-blog-expert__person {
  grid-area: person;
  min-width: 0;
}

.rg-blog-expert__name {
  margin: 0;
  font-size: 1.1875rem;
  line-height: 1.25;
  font-weight: 700;
  color: var(--blog-ink);
}

.rg-blog-expert__role,
.rg-blog-expert__department {
  margin: 2px 0 0;
  font-size: .9375rem;
  line-height: 1.4;
  color: var(--blog-muted);
}

.rg-blog-expert__department-link {
  color: var(--blog-green-ink);
  text-decoration: underline;
  text-underline-offset: .18em;
}

.rg-blog-expert__department-link:hover {
  color: var(--blog-green-ink);
  text-decoration-thickness: 2px;
}

.rg-blog-expert__text {
  grid-area: text;
  margin: 14px 0 0;
  font-size: 1rem;
  color: var(--blog-ink-soft);
}

.rg-blog-expert__actions {
  grid-area: actions;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.rg-blog-expert__btn {
  flex: 0 1 auto;
  max-width: 100%;
}

.rg-blog-expert__icon {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
}

/* Smale skjermer: knappene deler bredden, og stables når de ikke får plass. */
@media (max-width: 639.98px) {
  .rg-blog-expert__btn {
    flex: 1 1 140px;
    padding-inline: 14px;
  }
}

@media print {
  .rg-blog-expert {
    break-inside: avoid;
  }

  .rg-blog-expert__actions {
    display: none;
  }
}

/* file: css/blocks/factbox.css */
/*
 * Bloggblokk: Faktaboks. Bare klasser under .rg-blog-factbox.
 * Designrevisjon v2: fylt panel (.rg-blog-panel) i full kolonnebredde,
 * runde hjørner og ingen kantlinjer. Flatefarge per type:
 * fakta = nøytral, tips = gul, warning (Viktig) = oransje.
 * Padding, radius og bakgrunn kommer fra .rg-blog-panel i 10-layout.css.
 * Ikonfargene har minst 4.5:1 mot sin flate.
 */
.rg-blog-factbox {
  --factbox-icon: var(--blog-green-ink);

  margin: 0;
  color: var(--blog-ink);
  font-size: var(--blog-fs);
  line-height: var(--blog-lh);
}

.rg-blog-factbox--tips {
  --factbox-icon: #8a6100;
}

.rg-blog-factbox--warning {
  --factbox-icon: #a8431a;
}

.rg-blog-factbox .rg-blog-factbox__title {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 0 10px;
  font-size: 1.0625rem;
  font-weight: 700;
  font-style: normal;
  line-height: 1.35;
  color: var(--blog-ink);
}

.rg-blog-factbox__title:last-child {
  margin-bottom: 0;
}

.rg-blog-factbox__icon {
  display: inline-flex;
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin-top: .05em;
  color: var(--factbox-icon);
}

.rg-blog-factbox__icon svg {
  display: block;
  width: 20px;
  height: 20px;
}

.rg-blog-factbox__label {
  min-width: 0;
}

.rg-blog-factbox__content > * {
  margin: 0 0 .75em;
}

.rg-blog-factbox__content > :last-child {
  margin-bottom: 0;
}

.rg-blog-factbox__content ul,
.rg-blog-factbox__content ol {
  padding-left: 1.4em;
}

.rg-blog-factbox__content ul {
  list-style: disc outside;
}

.rg-blog-factbox__content ol {
  list-style: decimal outside;
}

.rg-blog-factbox__content li + li {
  margin-top: .3em;
}

.rg-blog-factbox__content li > ul,
.rg-blog-factbox__content li > ol {
  margin-top: .3em;
}

.rg-blog-factbox__content li::marker {
  color: var(--blog-ink);
}

.rg-blog-factbox__content a {
  color: var(--blog-green-ink);
  text-decoration: underline;
  text-underline-offset: .15em;
}

.rg-blog-factbox__content a:hover {
  text-decoration-thickness: 2px;
}

.rg-blog-factbox__content strong,
.rg-blog-factbox__content b {
  font-weight: 700;
}

.rg-blog-factbox__content em,
.rg-blog-factbox__content i {
  font-style: italic;
}

/* Sitat inne i boksen: lys, innfelt flate i stedet for kantlinje */
.rg-blog-factbox__content blockquote {
  margin: 0 0 .75em;
  padding: 12px 16px;
  border: 0;
  border-radius: var(--blog-radius-sm);
  background: rgba(255, 255, 255, .7);
  font-style: italic;
}

.rg-blog-factbox__content blockquote > * {
  margin: 0;
}

.rg-blog-factbox__content blockquote > * + * {
  margin-top: .5em;
}

/* file: css/blocks/form.css */
/*
 * Bloggblokk: Skjema. Bare klasser under .rg-blog-form.
 * Designrevisjon v2: nøytralt panel (.rg-blog-panel) i full kolonnebredde.
 * Temaets .rg-form-box er laget for mørk bakgrunn (hvite etiketter,
 * gjennomsiktige felt). Her overstyres den, bare inne i .rg-blog-form:
 * - alle felt i en kolonne og full bredde, etiketter på samme venstrekant
 *   som feltene og overskriften
 * - hvite felt med radius 10. Feltkanten (1 px) er kontrollens omriss,
 *   ikke en panelkant: den trengs for 3:1 mot flaten (WCAG 1.4.11)
 * - sendeknappen er mørk, som «Be om tilbud» (.rg-blog-btn--dark)
 */
.rg-blog-form {
  --form-field-line: #85857f;
  --form-field-h: 48px;

  color: var(--blog-ink);
}

.rg-blog-form .rg-blog-form__title {
  margin: 0;
  font-size: clamp(1.3125rem, 1.15rem + .7vw, 1.625rem);
  line-height: 1.2;
  font-weight: 800;
  font-style: italic;
  color: var(--blog-ink);
  text-wrap: balance;
}

.rg-blog-form .rg-blog-form__intro {
  margin: 8px 0 0;
  color: var(--blog-ink);
}

.rg-blog-form__title + .rg-blog-form__form,
.rg-blog-form__intro + .rg-blog-form__form {
  margin-top: 20px;
}

.rg-blog-form .rg-blog-form__form {
  min-width: 0;
  margin-inline: 0;
  font-size: 1rem;
  line-height: 1.5;
}

.rg-blog-form .gform_wrapper,
.rg-blog-form .gform_wrapper form {
  margin: 0;
  max-width: none;
}

.rg-blog-form .gform_heading {
  display: none;
}

.rg-blog-form a {
  color: var(--blog-green-ink);
  text-decoration: underline;
  text-underline-offset: .15em;
}

.rg-blog-form a:hover {
  text-decoration-thickness: 2px;
}

/* En kolonne, full bredde */
.rg-blog-form .rg-form-box .gform_fields {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 0;
  margin: 0;
  padding: 0;
}

.rg-blog-form .rg-form-box .gform_fields > .gfield {
  width: 100%;
  max-width: none;
  margin: 0 0 16px;
  padding: 0;
}

.rg-blog-form .rg-form-box .gform_fields > :is(.gfield--type-hidden, .gfield--type-captcha, .gform_hidden) {
  height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.rg-blog-form .rg-form-box .gform_fields > .gfield--type-consent {
  margin-bottom: 4px;
  padding: 0;
}

/* Etiketter */
.rg-blog-form .rg-form-box .gfield_label {
  display: block;
  margin: 0 0 6px;
  padding: 0;
  font-size: 1rem;
  line-height: 1.35;
  font-weight: 700;
  color: var(--blog-ink);
}

/* Samtykkefeltets gruppetittel («Consent») er skjult i temaet; behold det. */
.rg-blog-form .rg-form-box .gfield--type-consent > .gfield_label {
  display: none;
}

.rg-blog-form .gfield_required,
.rg-blog-form .gfield_required_asterisk {
  margin-left: 2px;
  color: #b3261e;
}

/* Felt */
.rg-blog-form .rg-form-box .gfield :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="url"], textarea, select) {
  display: block;
  width: 100%;
  max-width: none;
  min-height: var(--form-field-h);
  margin: 0;
  padding: 11px 14px;
  border: 1px solid var(--form-field-line);
  border-radius: var(--blog-radius-field);
  background-color: #fff;
  box-shadow: none;
  color: var(--blog-ink);
  font: inherit;
  font-size: 1rem;
  line-height: 1.5;
}

.rg-blog-form .rg-form-box .gfield textarea {
  min-height: 120px;
  resize: vertical;
}

.rg-blog-form .rg-form-box .gfield select {
  padding-right: 44px;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23222' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px 8px;
  cursor: pointer;
}

.rg-blog-form .rg-form-box .gfield :is(input, textarea, select)::placeholder {
  color: var(--blog-muted);
  opacity: 1;
}

.rg-blog-form .rg-form-box .gfield :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="url"], textarea, select):focus {
  border-color: var(--blog-green-ink);
  outline: 2px solid var(--blog-green-ink);
  outline-offset: 0;
  box-shadow: none;
}

.rg-blog-form select option {
  color: var(--blog-ink);
  background: #fff;
}

/* Samtykke: egen avkrysningsboks (temaets pseudo-boks er for mørk flate) */
.rg-blog-form .rg-form-box .gfield--type-consent .ginput_container {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding-top: 0;
}

.rg-blog-form .rg-form-box .gfield--type-consent input[type="checkbox"] {
  flex: 0 0 auto;
  position: relative;
  width: 22px;
  height: 22px;
  margin: 1px 0 0;
  padding: 0;
  border: 1.5px solid var(--form-field-line);
  border-radius: var(--blog-radius-field);
  background-color: #fff;
  background-image: none;
  box-shadow: none;
  color: var(--blog-ink);
  appearance: none;
  cursor: pointer;
}

.rg-blog-form .rg-form-box .gfield--type-consent input[type="checkbox"]::before {
  content: none;
  display: none;
}

.rg-blog-form .rg-form-box .gfield--type-consent input[type="checkbox"]:checked {
  border-color: var(--blog-green);
  background-color: var(--blog-green);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='11' viewBox='0 0 14 11'%3E%3Cpath d='M1.5 5.5 5.2 9 12.5 1.5' fill='none' stroke='%23111' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 14px 11px;
}

.rg-blog-form .rg-form-box .gfield--type-consent input[type="checkbox"]:checked::after {
  content: none;
  display: none;
}

.rg-blog-form .rg-form-box .gfield--type-consent input[type="checkbox"]:focus-visible {
  outline: 3px solid var(--blog-dark);
  outline-offset: 2px;
}

.rg-blog-form .rg-form-box .gfield_consent_label {
  margin: 0;
  padding: 0;
  font-size: 1rem;
  line-height: 1.45;
  font-weight: 400;
  color: var(--blog-ink);
  cursor: pointer;
}

.rg-blog-form .rg-form-box .gfield_description {
  margin: 8px 0 0;
  padding: 0;
  font-size: .875rem;
  line-height: 1.5;
  color: var(--blog-ink-soft);
}

/* Feilmeldinger */
.rg-blog-form .rg-form-box .gform_validation_errors {
  margin: 0 0 16px;
  padding: 12px 16px;
  border: 0;
  border-radius: var(--blog-radius-sm);
  background: #fbe4e2;
  box-shadow: none;
  color: #7a1712;
}

.rg-blog-form .rg-form-box .gform_validation_errors :is(h2, .gform_submission_error) {
  margin: 0;
  padding: 0;
  background: none;
  color: inherit;
  font-size: 1rem;
  font-weight: 700;
}

.rg-blog-form .rg-form-box .validation_message {
  margin-top: 6px;
  padding: 6px 10px;
  border-radius: var(--blog-radius);
  background: #fbe4e2;
  color: #7a1712;
  font-size: .875rem;
}

.rg-blog-form .rg-form-box .gfield.gfield_error :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="url"], textarea, select) {
  border-color: #b3261e;
}

/* Firmaoppslag (brreg): lys nedtrekksliste */
.rg-blog-form .brreg-dropdown ul {
  margin: 4px 0 0;
  border-radius: var(--blog-radius-field);
  background: #fff;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .12);
  color: var(--blog-ink);
  overflow: hidden;
}

/* Sendeknapp: mørk hovedknapp, som «Be om tilbud» (.rg-blog-btn--dark) */
.rg-blog-form .rg-form-box .gform_footer {
  display: block;
  margin: 20px 0 0;
  padding: 0;
}

.rg-blog-form .rg-form-box .gform_footer :is(input[type="submit"], button, .gform_button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 12px 22px;
  border: var(--blog-btn-border) solid var(--blog-btn-line);
  border-radius: var(--blog-radius-btn);
  background: var(--blog-btn-dark-bg);
  box-shadow: none;
  color: var(--blog-btn-dark-ink);
  font: inherit;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: normal;
  text-transform: none;
  text-align: center;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease;
  -webkit-appearance: none;
  appearance: none;
}

.rg-blog-form .rg-form-box .gform_footer :is(input[type="submit"], button, .gform_button):hover {
  background: var(--blog-btn-dark-bg-hover);
  border-color: var(--blog-btn-line);
  box-shadow: none;
  color: var(--blog-btn-dark-ink);
}

.rg-blog-form .rg-form-box .gform_footer :is(input[type="submit"], button, .gform_button):focus-visible {
  outline: 3px solid var(--blog-dark);
  outline-offset: 2px;
}

@media (min-width: 768px) {
  .rg-blog-form .rg-form-box .gform_footer :is(input[type="submit"], button, .gform_button) {
    width: auto;
  }
}

/* Takk-melding etter innsending */
.rg-blog-form .gform_confirmation_message {
  margin: 0;
  padding: 0;
  color: var(--blog-ink);
}

/* file: css/blocks/gallery.css */
/*
 * Bloggblokk: Galleri. Bare klasser under .rg-blog-gallery.
 * Designrevisjon v2: rutenettet fyller hovedkolonnen. 2 kolonner på mobil,
 * valgt antall (2 eller 3) fra 768px. Bildene har --blog-radius-sm (12px).
 * Lysboksen (<dialog class="rg-blog-gallery__dialog">) lages av gallery.js
 * inne i galleriet og vises i nettleserens toppnivå (top layer).
 */
.rg-blog-gallery__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 768px) {
  .rg-blog-gallery__grid {
    gap: 16px;
  }

  .rg-blog-gallery--cols-3 .rg-blog-gallery__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.rg-blog-gallery__item {
  min-width: 0;
  margin: 0;
}

/* Oddetall bilder: siste bilde fyller hele raden der rutenettet har to
   kolonner, så det ikke blir et tomt halvfelt (--span settes i prepare). */
.rg-blog-gallery__item--span {
  grid-column: 1 / -1;
}

.rg-blog-gallery__item--span .rg-blog-gallery__img {
  aspect-ratio: 16 / 9;
}

@media (min-width: 768px) {
  .rg-blog-gallery--cols-3 .rg-blog-gallery__item--span {
    grid-column: auto;
  }

  .rg-blog-gallery--cols-3 .rg-blog-gallery__item--span .rg-blog-gallery__img {
    aspect-ratio: 4 / 3;
  }
}

.rg-blog-gallery__figure {
  margin: 0;
}

.rg-blog-gallery__trigger {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--blog-radius-sm);
  background: var(--blog-panel);
  color: inherit;
  font: inherit;
  text-align: left;
  overflow: hidden;
  cursor: zoom-in;
}

.rg-blog-gallery__img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.rg-blog-gallery__icon {
  position: absolute;
  right: 8px;
  bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: rgba(17, 17, 17, .72);
  color: #fff;
  pointer-events: none;
}

.rg-blog-gallery__icon svg {
  display: block;
}

.rg-blog-gallery__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.rg-blog-gallery__caption {
  margin-top: 6px;
  font-size: var(--blog-small);
  line-height: 1.4;
  color: var(--blog-muted);
}

@media (prefers-reduced-motion: no-preference) {
  .rg-blog-gallery__img {
    transition: transform .25s ease;
  }

  .rg-blog-gallery__trigger:hover .rg-blog-gallery__img {
    transform: scale(1.03);
  }
}

/* Lysboks */
.rg-blog-gallery__dialog {
  position: fixed;
  inset: 0;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: rgba(17, 17, 17, .95);
  color: #fff;
  font-size: 1rem;
  line-height: 1.45;
  overflow: hidden;
}

.rg-blog-gallery__dialog[open] {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}

.rg-blog-gallery__dialog::backdrop {
  background: rgba(0, 0, 0, .6);
}

.rg-blog-gallery__dialog *,
.rg-blog-gallery__dialog *::before,
.rg-blog-gallery__dialog *::after {
  box-sizing: border-box;
}

.rg-blog-gallery__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px var(--blog-gutter);
}

.rg-blog-gallery__count {
  margin: 0;
  font-size: .9375rem;
  font-weight: 700;
}

.rg-blog-gallery__stage {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  justify-items: center;
  align-items: center;
  min-height: 0;
  margin: 0;
  padding: 0 var(--blog-gutter) 16px;
}

.rg-blog-gallery__full {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  min-height: 0;
  object-fit: contain;
  border-radius: var(--blog-radius-sm);
}

.rg-blog-gallery__full-caption {
  max-width: 72ch;
  margin: 0;
  padding-top: 10px;
  font-size: .9375rem;
  line-height: 1.45;
  text-align: center;
  color: #f2f2f2;
}

.rg-blog-gallery__close,
.rg-blog-gallery__nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  border: 1px solid rgba(255, 255, 255, .35);
  color: #fff;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.rg-blog-gallery__close {
  gap: 6px;
  min-height: 44px;
  padding: 8px 14px;
  border-radius: var(--blog-radius-btn);
  background: rgba(255, 255, 255, .12);
}

.rg-blog-gallery__nav {
  position: absolute;
  top: 50%;
  width: 44px;
  height: 44px;
  padding: 0;
  border-radius: 50%;
  background: rgba(17, 17, 17, .72);
  transform: translateY(-50%);
}

.rg-blog-gallery__nav--prev {
  left: 8px;
}

.rg-blog-gallery__nav--next {
  right: 8px;
}

.rg-blog-gallery__nav[hidden] {
  display: none;
}

.rg-blog-gallery__close svg,
.rg-blog-gallery__nav svg {
  display: block;
  flex: none;
}

.rg-blog-gallery__close:hover,
.rg-blog-gallery__nav:hover {
  background: rgba(255, 255, 255, .24);
}

.rg-blog-gallery__dialog .rg-blog-gallery__close:focus-visible,
.rg-blog-gallery__dialog .rg-blog-gallery__nav:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 2px;
}

@media (min-width: 768px) {
  .rg-blog-gallery__stage {
    padding: 0 72px 24px;
  }

  .rg-blog-gallery__nav {
    width: 52px;
    height: 52px;
  }

  .rg-blog-gallery__nav--prev {
    left: 12px;
  }

  .rg-blog-gallery__nav--next {
    right: 12px;
  }
}

@media print {
  .rg-blog-gallery__icon,
  .rg-blog-gallery__dialog {
    display: none !important;
  }

  .rg-blog-gallery__img {
    transform: none !important;
  }
}

/* file: css/blocks/image.css */
/*
 * Bloggblokk: Bilde. Bare klasser under .rg-blog-image.
 * Designrevisjon v2: bildet fyller hovedkolonnen (samme venstrekant og
 * bredde som tekst og hovedbilde), runde hjørner (--blog-radius) og
 * bildetekst under, stilt som bildeteksten til hovedbildet.
 * Bildets eget format beholdes (ingen beskjæring av innholdsbilder).
 */
.rg-blog-image {
  margin: 0;
}

.rg-blog-image__img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: var(--blog-radius);
  background: var(--blog-panel);
}

.rg-blog-image__link {
  display: block;
  border-radius: var(--blog-radius);
}

.rg-blog-image__link:hover .rg-blog-image__img {
  opacity: .92;
}

.rg-blog-image__caption {
  margin-top: 8px;
  font-size: var(--blog-small);
  line-height: 1.45;
  color: var(--blog-muted);
}

@media (prefers-reduced-motion: no-preference) {
  .rg-blog-image__img {
    transition: opacity .15s ease;
  }
}

/* file: css/blocks/products.css */
/*
 * Bloggblokk: Produktkort. Bare klasser under .rg-blog-products.
 * Designrevisjon v2: kortene er nøytrale paneler (.rg-blog-panel, radius 16,
 * ingen kantlinjer). Produktbildet står på en hvit flate med radius 12 inni
 * kortet (bildet hentes med «contain», så hele maskinen vises).
 *
 * Under 640 px: liggende kort i en kolonne (bilde 40 %, tekst ved siden av).
 * Fra 640 px: to kolonner med stående kort. Et kort som står alene på
 * siste rad (1 eller 3 produkter) fyller begge kolonnene og er liggende.
 * Blokken fyller hele hovedkolonnen; ingen egne bredder.
 * Hele kortet er klikkbart via lenken i H3 (::after over kortet).
 */
.rg-blog-products__title {
  margin: 0 0 1rem;
  font-size: var(--blog-h2);
  line-height: 1.2;
  font-weight: 700;
  color: var(--blog-ink);
  text-wrap: balance;
}

.rg-blog-products__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rg-blog-products__item {
  min-width: 0;
  margin: 0;
  padding: 0;
}

/* Kortet: nøytral panel. Liggende som standard. */
.rg-blog-products__card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 40%) minmax(0, 1fr);
  align-items: center;
  height: 100%;
  /* Panelflate, radius og null kant kommer fra .rg-blog-panel. */
  padding: 10px;
  transition: background-color .15s ease;
}

.rg-blog-products__card:hover {
  background: #ECEDE8;
}

/* Hvit bildeflate med 12 px radius */
.rg-blog-products__media {
  position: relative;
  min-width: 0;
  padding: 6px;
  border-radius: var(--blog-radius-sm);
  background: #fff;
  overflow: hidden;
}

/* Symbolene øverst til høyre i bildet, som på forsidens produktkort
   (.custom_attr_grid: 24 px høye, 10 px fra kanten). */
.rg-blog-products__badges {
  position: absolute;
  top: 10px;
  right: 10px;
  display: flex;
  gap: 4px;
  pointer-events: none;
}

.rg-blog-products__badge {
  display: block;
  width: auto;
  max-width: none;
  height: 24px;
}

.rg-blog-products__img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 354 / 270;
  object-fit: contain;
  background: #fff;
}

.rg-blog-products__body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  padding: 4px 6px 4px 14px;
}

.rg-blog-products__name {
  margin: 0;
  font-size: 1.0625rem;
  line-height: 1.25;
  font-weight: 700;
  font-style: normal;
  color: var(--blog-ink);
}

.rg-blog-products__link {
  color: var(--blog-ink);
  text-decoration: none;
}

.rg-blog-products__link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit;
}

.rg-blog-products__card:hover .rg-blog-products__link {
  color: var(--blog-ink);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: .18em;
}

/* Fokus rundt hele kortet (overstyrer .rg-blog a:focus-visible på selve teksten) */
.rg-blog-products .rg-blog-products__link:focus-visible {
  outline: none;
}

.rg-blog-products .rg-blog-products__link:focus-visible::after {
  border-radius: var(--blog-radius);
  outline: 3px solid var(--blog-dark);
  outline-offset: 2px;
}

.rg-blog-products__subtitle {
  margin: 0;
  font-size: var(--blog-small);
  line-height: 1.4;
  color: var(--blog-muted);
}

.rg-blog-products__note {
  margin: 4px 0 0;
  font-size: var(--blog-small);
  line-height: 1.4;
  font-weight: 600;
  color: var(--blog-green-ink);
}

.rg-blog-products__more {
  margin: 20px 0 0;
}

/* Knappen står på hvit bakgrunn, så den får en myk grå flate. */
.rg-blog-products__more .rg-blog-btn {
  max-width: 100%;
  background: var(--blog-btn-bg-soft);
}

.rg-blog-products__more .rg-blog-btn:hover {
  background: var(--blog-btn-bg-hover);
  color: var(--blog-btn-ink-hover);
}

.rg-blog-products__arrow {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  transition: transform .15s ease;
}

.rg-blog-products__more .rg-blog-btn:hover .rg-blog-products__arrow {
  transform: translateX(3px);
}

@media (min-width: 640px) {
  .rg-blog-products__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--blog-panel-gap);
  }

  .rg-blog-products__card {
    padding: 12px;
  }

  /* Stående kort (to i bredden) */
  .rg-blog-products__item:not(.rg-blog-products__item--span) .rg-blog-products__card {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    align-items: stretch;
  }

  .rg-blog-products__item:not(.rg-blog-products__item--span) .rg-blog-products__body {
    justify-content: flex-start;
    padding: 16px 8px 8px;
  }

  .rg-blog-products__media {
    padding: 8px;
  }

  .rg-blog-products__name {
    font-size: 1.1875rem;
  }

  .rg-blog-products__subtitle,
  .rg-blog-products__note {
    font-size: .9375rem;
  }

  /* Alene på siste rad: fyller begge kolonnene, liggende kort */
  .rg-blog-products__item--span {
    grid-column: 1 / -1;
  }

  .rg-blog-products__item--span .rg-blog-products__body {
    gap: 6px;
    padding: 8px 16px 8px 24px;
  }

  .rg-blog-products__item--span .rg-blog-products__name {
    font-size: var(--blog-h3);
  }
}

@media print {
  .rg-blog-products__card {
    break-inside: avoid;
  }

  .rg-blog-products__more {
    display: none;
  }
}

/* file: css/blocks/quote.css */
/*
 * Bloggblokk: Sitat. Bare klasser under .rg-blog-quote.
 * Designrevisjon v2: nøytralt panel (.rg-blog-panel) i full kolonnebredde,
 * stort grønt anførselstegn (SVG) og rundt portrett på 48 px.
 * Ingen kantlinjer. Padding, radius og bakgrunn kommer fra .rg-blog-panel.
 */
.rg-blog-quote {
  margin: 0;
  color: var(--blog-ink);
}

.rg-blog-quote__mark {
  display: block;
  width: 40px;
  height: 30px;
  margin: 0 0 14px;
  color: var(--blog-green);
}

.rg-blog-quote .rg-blog-quote__text {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font-size: clamp(1.1875rem, 1.1rem + .45vw, 1.375rem);
  line-height: 1.45;
  font-style: italic;
  font-weight: 600;
  color: var(--blog-ink);
  quotes: none;
}

.rg-blog-quote__text::before,
.rg-blog-quote__text::after {
  content: none;
}

.rg-blog-quote__text p {
  margin: 0;
  font-size: inherit;
}

.rg-blog-quote__text p + p {
  margin-top: .75em;
}

.rg-blog-quote__caption {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 20px;
  font-size: .9375rem;
  line-height: 1.4;
}

.rg-blog-quote__media {
  flex: 0 0 auto;
  display: block;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  overflow: hidden;
  background: #fff;
}

.rg-blog-quote .rg-blog-quote__img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  border-radius: 50%;
  object-fit: cover;
}

.rg-blog-quote__meta {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.rg-blog-quote__type {
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--blog-green-ink);
}

.rg-blog-quote__name {
  font-weight: 700;
  color: var(--blog-ink);
}

.rg-blog-quote__role {
  color: var(--blog-muted);
}

/* file: css/blocks/steps.css */
/*
 * Bloggblokk: Steg for steg. Bare klasser under .rg-blog-steps.
 * Designrevisjon v2: grønne nummer-sirkler (CSS-teller), ingen paneler,
 * ingen kantlinjer eller loddrette streker. Full kolonnebredde; sirklene
 * står på hovedkolonnens venstrekant.
 */
.rg-blog-steps__title {
  margin: 0 0 .75em;
}

.rg-blog-steps {
  --steps-size: 36px;
  --steps-space: 14px;

  display: flex;
  flex-direction: column;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: rg-blog-step;
  font-size: var(--blog-fs);
  line-height: var(--blog-lh);
  color: var(--blog-ink);
}

@media (min-width: 768px) {
  .rg-blog-steps {
    --steps-size: 40px;
    --steps-space: 18px;

    gap: 28px;
  }
}

.rg-blog-steps .rg-blog-steps__item {
  position: relative;
  margin: 0;
  padding: 0 0 0 calc(var(--steps-size) + var(--steps-space));
  min-height: var(--steps-size);
  counter-increment: rg-blog-step;
}

/* Nummer-sirkel: mørk tekst på merkevaregrønn (7.3:1) */
.rg-blog-steps__item::before {
  content: counter(rg-blog-step);
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--steps-size);
  height: var(--steps-size);
  border-radius: 50%;
  background: var(--blog-green);
  color: #111;
  font-size: 1.0625rem;
  font-weight: 800;
  line-height: 1;
  font-style: normal;
}

.rg-blog-steps .rg-blog-steps__heading {
  margin: 0;
  padding-top: calc((var(--steps-size) - 1.3em) / 2);
  font-size: var(--blog-h3);
  line-height: 1.3;
  font-weight: 700;
}

.rg-blog-steps__heading + .rg-blog-steps__text {
  margin-top: .35em;
}

.rg-blog-steps__text:first-child {
  padding-top: calc((var(--steps-size) - 1.6em) / 2);
}

.rg-blog-steps__text p {
  margin: 0;
}

.rg-blog-steps__text p + p {
  margin-top: .75em;
}

@media print {
  .rg-blog-steps__item::before {
    outline: 2px solid #000;
    outline-offset: -2px;
  }

  .rg-blog-steps__item {
    break-inside: avoid;
  }
}

/* file: css/blocks/table.css */
/*
 * Bloggblokk: Tabell. Bare klasser under .rg-blog-table.
 * Designrevisjon v2: tabellen fyller hovedkolonnen og ligger i en omslutning
 * med runde hjørner (--blog-radius) som klipper innholdet. Toppraden har
 * nøytral fyll (--blog-panel). Ingen kantlinjer rundt, bare 1px skillelinjer
 * mellom radene (--blog-line). Tabellteksten står over omslutningen.
 * Mobil (<768px): med topprad stables radene som kort (nøytrale paneler),
 * og hver celle viser kolonnenavnet fra data-label. Uten topprad scroller
 * tabellen sidelengs inne i omslutningen.
 */
.rg-blog-table {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--blog-ink);
}

.rg-blog-table__caption {
  margin: 0 0 12px;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--blog-ink);
}

/* Omslutning: runde hjørner, klipper toppradens fyll. Scroller ved behov. */
.rg-blog-table__scroll {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  border-radius: var(--blog-radius);
  background: #fff;
  -webkit-overflow-scrolling: touch;
}

.rg-blog-table .rg-blog-table__table {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: inherit;
}

.rg-blog-table__table th,
.rg-blog-table__table td {
  min-width: 7em;
  padding: 12px 16px;
  border: 0;
  text-align: left;
  vertical-align: top;
}

/* 1px skillelinje mellom radene (ikke under siste rad) */
.rg-blog-table__body .rg-blog-table__row + .rg-blog-table__row > * {
  border-top: 1px solid var(--blog-line);
}

.rg-blog-table__table .rg-blog-table__colheader {
  padding-top: 14px;
  padding-bottom: 14px;
  background: var(--blog-panel);
  font-weight: 700;
  line-height: 1.3;
}

/* Første og siste kolonne har samme innrykk som tekst i paneler */
.rg-blog-table__table tr > :first-child {
  padding-left: var(--blog-panel-pad);
}

.rg-blog-table__table tr > :last-child {
  padding-right: var(--blog-panel-pad);
}

/* Uten topprad: tabellen er et nøytralt panel, så formen synes */
.rg-blog-table--scroll .rg-blog-table__scroll {
  background: var(--blog-panel);
}

.rg-blog-table__cell--rowheader {
  font-weight: 700;
}

.rg-blog-table__value strong,
.rg-blog-table__value b {
  font-weight: 700;
}

.rg-blog-table__value em,
.rg-blog-table__value i {
  font-style: italic;
}

.rg-blog-table__value a {
  color: var(--blog-green-ink);
  text-decoration: underline;
  text-underline-offset: .15em;
}

/* Mobil: tabell uten topprad scroller, men med tettere celler */
@media (max-width: 767.98px) {
  .rg-blog-table--scroll .rg-blog-table__table th,
  .rg-blog-table--scroll .rg-blog-table__table td {
    min-width: 5.5em;
    padding: 10px 12px;
  }

  .rg-blog-table--scroll .rg-blog-table__table tr > :first-child {
    padding-left: var(--blog-panel-pad);
  }

  .rg-blog-table--scroll .rg-blog-table__table tr > :last-child {
    padding-right: var(--blog-panel-pad);
  }
}

/* Mobil: rader som kort (bare når tabellen har topprad) */
@media (max-width: 767.98px) {
  .rg-blog-table--stack .rg-blog-table__scroll {
    overflow: visible;
    border-radius: 0;
    background: none;
  }

  .rg-blog-table--stack .rg-blog-table__table,
  .rg-blog-table--stack .rg-blog-table__body,
  .rg-blog-table--stack .rg-blog-table__row,
  .rg-blog-table--stack .rg-blog-table__cell {
    display: block;
    width: 100%;
  }

  .rg-blog-table--stack .rg-blog-table__head {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }

  /* Hver rad er et nøytralt panel (samme uttrykk som FAQ-radene) */
  .rg-blog-table--stack .rg-blog-table__row {
    padding: 4px var(--blog-panel-pad);
    border-radius: var(--blog-radius-sm);
    background: var(--blog-panel);
  }

  .rg-blog-table--stack .rg-blog-table__row + .rg-blog-table__row {
    margin-top: 8px;
  }

  .rg-blog-table--stack .rg-blog-table__table .rg-blog-table__cell {
    min-width: 0;
    padding: 10px 0;
    border-top: 0;
    overflow-wrap: anywhere;
  }

  /* Skillelinje mellom synlige celler i kortet (tomme celler er skjult) */
  .rg-blog-table--stack .rg-blog-table__table .rg-blog-table__cell:not(.rg-blog-table__cell--empty) ~ .rg-blog-table__cell {
    border-top: 1px solid var(--blog-line);
  }

  .rg-blog-table--stack .rg-blog-table__cell[data-label] {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    gap: 12px;
  }

  .rg-blog-table--stack .rg-blog-table__cell[data-label]::before {
    content: attr(data-label);
    content: attr(data-label) / "";
    font-weight: 700;
    color: var(--blog-muted);
  }

  /* Første kolonne som radoverskrift: tittel på kortet */
  .rg-blog-table--stack .rg-blog-table__table .rg-blog-table__cell--rowheader {
    display: block;
    padding: 12px 0;
    font-size: 1.0625rem;
    line-height: 1.35;
  }

  .rg-blog-table--stack .rg-blog-table__cell--rowheader[data-label]::before {
    content: none;
  }

  /* Tomme celler vises ikke i kortet */
  .rg-blog-table--stack .rg-blog-table__table .rg-blog-table__cell--empty {
    display: none;
  }
}

@media print {
  .rg-blog-table__scroll {
    overflow: visible;
    border-radius: 0;
  }

  .rg-blog-table__table th,
  .rg-blog-table__table td {
    min-width: 0;
    border-bottom: 1px solid #999;
  }
}

/* file: css/blocks/text.css */
/*
 * Bloggblokk: Tekst. Bare klasser under .rg-blog-text.
 * Ren typografi i full bredde av hovedkolonnen (Designrevisjon v2).
 * Ingen egne bredder eller marger til siden.
 */
.rg-blog-text__heading {
  margin: 0 0 .6em;
}

.rg-blog-text {
  font-size: var(--blog-fs);
  line-height: var(--blog-lh);
  color: var(--blog-ink);
}

.rg-blog-text > * {
  margin: 0 0 1em;
}

.rg-blog-text > :last-child {
  margin-bottom: 0;
}

.rg-blog-text h2 {
  margin-top: 1.6em;
  margin-bottom: .5em;
}

.rg-blog-text h3 {
  margin-top: 1.4em;
  margin-bottom: .4em;
}

.rg-blog-text > h2:first-child,
.rg-blog-text > h3:first-child {
  margin-top: 0;
}

.rg-blog-text ul,
.rg-blog-text ol {
  padding-left: 1.5em;
}

.rg-blog-text ul {
  list-style: disc outside;
}

.rg-blog-text ol {
  list-style: decimal outside;
}

.rg-blog-text li + li {
  margin-top: .35em;
}

.rg-blog-text li > ul,
.rg-blog-text li > ol {
  margin-top: .35em;
}

.rg-blog-text li::marker {
  color: var(--blog-ink);
}

.rg-blog-text a {
  color: var(--blog-green-ink);
  text-decoration: underline;
  text-underline-offset: .15em;
}

.rg-blog-text a:hover {
  text-decoration-thickness: 2px;
}

.rg-blog-text strong,
.rg-blog-text b {
  font-weight: 700;
}

.rg-blog-text em,
.rg-blog-text i {
  font-style: italic;
}

/* Sitat i brødteksten: fylt nøytral flate med runde hjørner (V2.4),
   ingen farget venstrekant. */
.rg-blog-text blockquote {
  margin-inline: 0;
  padding: 16px 20px;
  border: 0;
  border-radius: var(--blog-radius-sm);
  background: var(--blog-panel);
  color: var(--blog-ink-soft);
  font-style: italic;
}

.rg-blog-text blockquote > * {
  margin: 0;
}

.rg-blog-text blockquote > * + * {
  margin-top: .75em;
}

.rg-blog-text img {
  max-width: 100%;
  height: auto;
  border-radius: var(--blog-radius);
}

/* file: css/blocks/video.css */
/*
 * Bloggblokk: Video (klikk for å laste). Bare klasser under .rg-blog-video.
 * Designrevisjon v2: rammen fyller hovedkolonnen, er 16:9 og har samme
 * runde hjørner som bilder (--blog-radius, 16px). Knappen (og senere
 * iframen) fyller rammen og arver hjørnene. Rammen har ikke overflow: hidden,
 * slik at fokusmarkeringen rundt knappen ikke kuttes.
 */
.rg-blog-video {
  margin: 0;
}

.rg-blog-video__frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: var(--blog-radius);
  background: var(--blog-dark);
}

@supports not (aspect-ratio: 16 / 9) {
  .rg-blog-video__frame {
    height: 0;
    padding-top: 56.25%;
  }
}

.rg-blog-video__button,
.rg-blog-video__iframe {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  border: 0;
  border-radius: inherit;
}

.rg-blog-video__iframe {
  display: block;
  background: #000;
}

.rg-blog-video__button {
  display: block;
  padding: 0;
  overflow: hidden;
  background: transparent;
  color: #fff;
  font: inherit;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.rg-blog-video .rg-blog-video__button:focus-visible {
  outline: 3px solid var(--blog-dark);
  outline-offset: 2px;
}

.rg-blog-video__img {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  transition: transform .3s ease;
}

.rg-blog-video__button:hover .rg-blog-video__img {
  transform: scale(1.02);
}

.rg-blog-video__play {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 56px;
  height: 56px;
  transform: translate(-50%, -50%);
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .45));
}

.rg-blog-video__icon {
  display: block;
  width: 100%;
  height: 100%;
}

/* Hover: sirkelen blir mørk og trekanten hvit, som de andre knappene. */
.rg-blog-video__icon circle,
.rg-blog-video__icon path {
  transition: fill .15s ease;
}

.rg-blog-video__button:hover .rg-blog-video__icon circle,
.rg-blog-video__button:focus-visible .rg-blog-video__icon circle {
  fill: var(--blog-btn-bg-hover);
}

.rg-blog-video__button:hover .rg-blog-video__icon path,
.rg-blog-video__button:focus-visible .rg-blog-video__icon path {
  fill: var(--blog-btn-ink-hover);
}

.rg-blog-video__label {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 28px 16px 12px;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, .78));
  color: #fff;
  font-size: .875rem;
  line-height: 1.3;
  font-weight: 700;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rg-blog-video--no-thumb .rg-blog-video__label {
  background: none;
}

.rg-blog-video__note {
  margin: 8px 0 0;
  color: var(--blog-muted);
  font-size: var(--blog-small);
  line-height: 1.45;
}

.rg-blog-video__fallback {
  margin: .4em 0 0;
  font-size: .9375rem;
}

.rg-blog-video__fallback a {
  color: var(--blog-green-ink);
  text-decoration: underline;
  text-underline-offset: .15em;
}

@media (min-width: 768px) {
  .rg-blog-video__play {
    width: 72px;
    height: 72px;
  }

  .rg-blog-video__label {
    padding: 48px 24px 18px;
    font-size: 1rem;
    white-space: normal;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
}

@media (min-width: 1024px) {
  .rg-blog-video__play {
    width: 80px;
    height: 80px;
  }

  .rg-blog-video__label {
    font-size: 1.125rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rg-blog-video__img,
  .rg-blog-video__play {
    transition: none;
  }

  .rg-blog-video__button:hover .rg-blog-video__img {
    transform: none;
  }
}
