/* Roalds front-CSS - designsystemets komponentstiler (rt-*), generert fra
   roalds-temaets style.css. Regenereres i sin helhet av byggeskriptet -
   ikke rediger kompatdelen for haand. */


/* ==== Skrifter (lokalt hostet — GDPR) ==== */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url('assets/fonts/inter-400.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url('assets/fonts/inter-500.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url('assets/fonts/inter-600.woff2') format('woff2'); }

/* ==== Grunntokens (fra Fargeprofil.dc.html) ==== */
:root {
	--rt-papir: #f6f4ef;
	--rt-kort: #fdfcf9;
	--rt-stripe: #efece5;
	--rt-linje: #dcd8ce;
	--rt-blekk: #201e1d;
	--rt-sekundaer: #4a4740;
	--rt-dempet: #6b6760;
	--rt-dempet-alt: #6d6960;
	--rt-gull: #f5d752;
	--rt-messing: #7a6413;
	--rt-nordsjo-lys: #4a7fb5;
	--rt-nordsjo: #2f5d8c;
	--rt-nordsjo-dyp: #1d3c5c;
	--rt-nordsjo-baand: #cddcea;
	--rt-nordsjo-strek: #5a90bf;
	--rt-natt: #161826;
	--rt-natt-kort: #232532;
	--rt-natt-tekst: #e9e9ed;
	--rt-natt-dempet: #9397ab;
	--rt-natt-meny: #cfd3e5;
	--rt-natt-sub: #d4d7e4;
	--rt-maxw: 1280px;
	--rt-pad: 56px;
	/* Sidepadding som samtidig sentrerer innholdet: på brede skjermer vokser
	   margen slik at innholdet aldri blir bredere enn --rt-maxw. Seksjonene
	   beholder full bredde, så bakgrunnsfarger og bånd går fortsatt kant til
	   kant — det er bare innholdet som holdes samlet. */
	--rt-side: max(var(--rt-pad), calc((100vw - var(--rt-maxw)) / 2));
}

body { margin: 0; overflow-x: clip; } /* clip, ikke hidden: hidden gjør body til scroll-container og knekker ankerhopp/scrollTo */
img { max-width: 100%; height: auto; }

/* Blokktemaets automatiske avstand mellom toppnivåblokker fjernes —
   header, hero og seksjoner skal ligge kant i kant (designet har ingen gap). */
.wp-site-blocks { --wp--style--block-gap: 0; }
.wp-site-blocks > * + * { margin-block-start: 0 !important; }
/* Sider som starter med en <style>-blokk: første synlige seksjon skal ikke
   arve flyt-avstanden (den usynlige stilblokken teller som søsken). Våre
   seksjoner bærer sin egen luft via padding — flytmargin på toppnivå nulles. */
.entry-content > style + *, .entry-content > *:first-child { margin-block-start: 0 !important; }
.entry-content > section, .entry-content > .rt-kal-grid, .entry-content > .rt-faq-grid,
.entry-content > .rt-tall, .entry-content > .wp-block-spacer { margin-block-start: 0 !important; }
/* .rt-ctaband holdes utenfor nullstillingen: kortet skal ha sin egen 76px
   toppmargin (og topp=""-attributtet skal kunne overstyre den inline). */
/* Samme flytmargin rammer også innsiden av våre egne rutenett: er beholderen
   en gruppeblokk vi styler som grid/flex, får kort 2..n 24px toppmargin og
   havner ut av linje. Nullstilles her — avstanden kommer fra grid-gap.
   Beholdere der barna har designede marginer (rt-pakkekort, rt-omtale,
   rt-delbkort, rt-kk-tekst) står med vilje utenfor. */
.rt-hero > *, .rt-hero-innhold > *, .rt-tall > *, .rt-klassekort-grid > *, .rt-klassekort > *,
.rt-pakke-duo > *, .rt-delb-grid > *, .rt-omtale-grid > *, .rt-omoss > * { margin-block-start: 0 !important; }

/* ==== Knapper (regel 03: én gullknapp per skjermflate) ==== */
.rt-btn-gull { display: inline-block; padding: 17px 26px; border-radius: 8px; background: var(--rt-gull); color: var(--rt-blekk); font: 500 15px/1 Inter, sans-serif; text-decoration: none; }
.rt-btn-gull-liten { display: inline-block; padding: 11px 16px; border-radius: 8px; background: var(--rt-gull); color: var(--rt-blekk); font: 500 13px/1 Inter, sans-serif; text-decoration: none; }
.rt-btn-omriss-lys { display: inline-block; padding: 17px 26px; border: 1px solid rgba(233,233,237,.4); border-radius: 8px; color: var(--rt-natt-tekst); font: 400 15px/1 Inter, sans-serif; text-decoration: none; }
.rt-btn-omriss-liten { display: inline-block; padding: 11px 14px; border: 1px solid rgba(233,233,237,.3); border-radius: 8px; color: var(--rt-natt-meny); font: 400 13px/1 Inter, sans-serif; text-decoration: none; }

/* ==== Topstripe ==== */
.rt-topstripe { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 11px var(--rt-side); background: var(--rt-stripe); font: 400 12.5px/1 Inter, sans-serif; color: var(--rt-dempet-alt); }
.rt-topstripe a { color: var(--rt-dempet-alt); text-decoration: none; }
.rt-topstripe a.rt-tlf { color: var(--rt-messing); }
.rt-topstripe .rt-dot { color: var(--rt-linje); }
.rt-topstripe > div { display: flex; align-items: center; gap: 18px; }

/* ==== Header (natt) ==== */
.rt-header { background: var(--rt-natt); display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 18px 40px; border-bottom: 1px solid rgba(233,233,237,.16); position: relative; }
.rt-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; flex: none; }
.rt-brand img { display: block; width: 30px; height: 30px; }
.rt-brand span { font: 600 12px/1 Inter, sans-serif; letter-spacing: .15em; color: var(--rt-gull); }
.rt-nav { display: flex; align-items: center; gap: 20px; font: 400 14px/1 Inter, sans-serif; color: var(--rt-natt-meny); white-space: nowrap; }
.rt-nav > a { color: var(--rt-natt-meny); text-decoration: none; }
.rt-nav > a:hover { color: var(--rt-natt-tekst); }
.rt-nav-cta { display: flex; align-items: center; gap: 12px; flex: none; white-space: nowrap; }

/* Klasser-dropdown (megapanel på stripe-bakgrunn) */
.rt-meny-gruppe { position: static; }
/* Padding/negativ margin: hover-flaten dekker hele headerhøyden, så musen når panelet uten å miste hover. */
.rt-meny-knapp { display: flex; align-items: center; gap: 7px; background: none; border: 0; padding: 18px 0; margin: -18px 0; color: var(--rt-natt-meny); font: 400 14px/1 Inter, sans-serif; cursor: pointer; }
.rt-meny-knapp .rt-pil { color: var(--rt-gull); font-size: 11px; }
.rt-megapanel { display: none; position: absolute; left: 0; right: 0; top: 100%; z-index: 40; background: var(--rt-stripe); border-bottom: 1px solid rgba(32,30,29,.12); padding: 28px 40px 30px; }
/* Usynlig bro over headerens kantlinje så hover ikke brytes på vei ned i panelet. */
.rt-megapanel::before { content: ''; position: absolute; left: 0; right: 0; top: -16px; height: 16px; }
.rt-meny-gruppe:hover .rt-megapanel, .rt-meny-gruppe:focus-within .rt-megapanel { display: block; }
.rt-meny-gruppe:hover .rt-meny-knapp, .rt-meny-gruppe:focus-within .rt-meny-knapp { color: var(--rt-natt-tekst); }
.rt-megagrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: stretch; }
.rt-megagrid.er-kurs { grid-template-columns: repeat(4, 1fr); gap: 16px; }
.rt-megakort { padding: 18px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); text-decoration: none; color: var(--rt-blekk); display: block; }
.rt-megakort.er-aktiv { box-shadow: 0 0 0 1px var(--rt-nordsjo-strek); }
.rt-megakort .rt-mk-tittel { font: 500 15.5px/1.2 Inter, sans-serif; }
.rt-megakort .rt-mk-under { font: 400 12.5px/1.5 Inter, sans-serif; color: var(--rt-dempet-alt); margin-top: 7px; }
.rt-megakort .rt-mk-pris { font: 500 13px/1 Inter, sans-serif; color: var(--rt-messing); margin-top: 14px; }

/* Mobilmeny (<900px): logo + hamburger */
.rt-hamburger { display: none; }
@media (max-width: 900px) {
	.rt-nav, .rt-nav-cta { display: none; }
	.rt-hamburger { display: block; position: relative; }
	.rt-hamburger > summary { list-style: none; cursor: pointer; color: var(--rt-natt-tekst); font: 500 14px/1 Inter, sans-serif; padding: 8px 10px; border: 1px solid rgba(233,233,237,.3); border-radius: 8px; }
	.rt-hamburger > summary::-webkit-details-marker { display: none; }
	.rt-hamburger[open] > div { position: absolute; right: 0; top: calc(100% + 10px); z-index: 50; min-width: 230px; background: var(--rt-natt); border: 1px solid rgba(233,233,237,.16); border-radius: 8px; padding: 12px; display: flex; flex-direction: column; gap: 4px; }
	.rt-hamburger a { display: block; padding: 10px 12px; border-radius: 6px; color: var(--rt-natt-meny); font: 400 14px/1 Inter, sans-serif; text-decoration: none; }
	.rt-hamburger a.rt-btn-gull-liten { background: var(--rt-gull); color: var(--rt-blekk); text-align: center; margin-top: 6px; }
	.rt-topstripe { display: none; }
}

/* ==== Seksjonsrammer ==== */
.rt-sek { padding: 76px var(--rt-side) 0; }
.rt-kicker { display: flex; align-items: center; gap: 12px; font: 500 11.5px/1 Inter, sans-serif; letter-spacing: .18em; color: var(--rt-nordsjo); text-transform: uppercase; }
.rt-h2 { margin: 16px 0 0; font: 500 40px/1.14 Inter, sans-serif; letter-spacing: -.02em; color: var(--rt-blekk); }
.rt-sek-hode { display: flex; align-items: baseline; justify-content: space-between; gap: 30px; flex-wrap: wrap; }
@media (max-width: 640px) { .rt-lenke-messing { white-space: normal; } }
.rt-lenke-messing { font: 400 14px/1 Inter, sans-serif; color: var(--rt-messing); text-decoration: none; white-space: nowrap; }

/* ==== Hero (forside) ==== */
.rt-hero { position: relative; min-height: 560px; overflow: hidden; background: var(--rt-natt); display: flex; flex-direction: column; }
.rt-hero-bilde { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rt-hero-gradient { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(22,24,38,.94) 0%, rgba(22,24,38,.74) 42%, rgba(22,24,38,.3) 72%, rgba(22,24,38,.12) 100%); }
.rt-hero-innhold { position: relative; flex: 1; display: grid; grid-template-columns: 1fr 300px; align-items: end; gap: 48px; padding: 60px var(--rt-side) 46px; }
.rt-hero .rt-kicker { color: var(--rt-gull); }
.rt-hero .rt-kicker .rt-strek { width: 28px; height: 1px; background: var(--rt-gull); }
.rt-hero h1 { margin: 20px 0 0; max-width: 800px; font: 500 68px/1.03 Inter, sans-serif; letter-spacing: -.03em; color: #fff; text-wrap: pretty; }
.rt-hero .rt-hero-under { margin: 20px 0 0; max-width: 520px; font: 400 17px/1.65 Inter, sans-serif; color: var(--rt-natt-sub); text-wrap: pretty; }
.rt-hero-ctaer { display: flex; align-items: center; gap: 14px; margin-top: 30px; flex-wrap: wrap; }
.rt-nestekurs { padding: 22px; border-radius: 8px; background: rgba(253,252,249,.9); box-shadow: 0 0 0 1px rgba(145,132,217,.55); }
.rt-nestekurs .rt-nk-etikett { font: 500 11px/1 Inter, sans-serif; letter-spacing: .12em; color: var(--rt-dempet-alt); text-transform: uppercase; }
.rt-nestekurs .rt-nk-dato { font: 500 26px/1.1 Inter, sans-serif; margin-top: 12px; color: var(--rt-blekk); }
.rt-nestekurs p { margin: 8px 0 0; font: 400 13px/1.55 Inter, sans-serif; color: var(--rt-sekundaer); }
.rt-nestekurs a { display: inline-block; margin-top: 14px; font: 400 13.5px/1 Inter, sans-serif; color: var(--rt-messing); text-decoration: none; }
@media (max-width: 900px) {
	.rt-hero h1 { font-size: 42px; }
	.rt-hero-innhold { grid-template-columns: 1fr; align-items: start; padding-top: 40px; }
}

/* ==== Tallbånd ==== */
.rt-tall { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(32,30,29,.14); }
.rt-tall > div { background: var(--rt-nordsjo-baand); padding: 30px 28px; text-align: center; }
.rt-tall .rt-tall-verdi { font: 500 32px/1 Inter, sans-serif; color: var(--rt-blekk); }
.rt-tall .rt-tall-verdi.er-messing { color: var(--rt-messing); }
.rt-tall .rt-tall-under { font: 400 13px/1.4 Inter, sans-serif; color: var(--rt-sekundaer); margin-top: 9px; }
@media (max-width: 900px) { .rt-tall { grid-template-columns: repeat(2, 1fr); } }

/* ==== Klassekort (foto) ==== */
.rt-klassekort-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 36px; }
.rt-klassekort { position: relative; display: block; height: 350px; border-radius: 8px; overflow: hidden; text-decoration: none; color: #fff; background: var(--rt-natt); }
.rt-klassekort img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rt-klassekort .rt-kk-gradient { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(22,24,38,0) 34%, rgba(22,24,38,.55) 64%, rgba(22,24,38,.93) 100%); }
.rt-klassekort .rt-kk-tekst { position: absolute; left: 0; right: 0; bottom: 0; padding: 26px 24px; }
.rt-klassekort .rt-kk-tittel { font: 500 20px/1.2 Inter, sans-serif; }
.rt-klassekort .rt-kk-under { font: 400 13.5px/1.55 Inter, sans-serif; color: var(--rt-natt-sub); margin-top: 8px; }
.rt-klassekort .rt-kk-pris { font: 500 14px/1 Inter, sans-serif; color: var(--rt-gull); margin-top: 16px; }
.rt-klassekort .rt-kk-pris.er-dempet { color: #b9bdcf; }
@media (max-width: 900px) { .rt-klassekort-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .rt-klassekort-grid { grid-template-columns: 1fr; } }

/* ==== Fire trinn ==== */
.rt-trinn-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 40px; }
.rt-trinn .rt-tr-linje { display: flex; align-items: center; }
.rt-trinn .rt-tr-prikk { width: 12px; height: 12px; border-radius: 50%; flex: none; }
.rt-trinn .rt-tr-strek { flex: 1; height: 1px; background: var(--rt-linje); }
.rt-trinn .rt-tr-tittel { font: 500 18px/1.25 Inter, sans-serif; margin-top: 20px; color: var(--rt-blekk); }
.rt-trinn .rt-tr-tekst { font: 400 13.5px/1.6 Inter, sans-serif; color: var(--rt-dempet-alt); margin-top: 9px; }
@media (max-width: 900px) { .rt-trinn-grid { grid-template-columns: repeat(2, 1fr); } }

/* ==== Pakkekort ==== */
.rt-pakke-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.rt-pakkekort { padding: 32px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); }
.rt-pakkekort.er-utvalgt { background: linear-gradient(160deg, #e7eef5 0%, #fdfcf9 100%); box-shadow: 0 0 0 1px var(--rt-nordsjo-strek); }
.rt-pakkekort .rt-pk-hode { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.rt-pakkekort .rt-pk-navn { font: 500 20px/1.2 Inter, sans-serif; color: var(--rt-blekk); }
.rt-pakkekort .rt-pk-badge { font: 500 11.5px/1 Inter, sans-serif; padding: 6px 9px; border-radius: 4px; background: var(--rt-gull); color: var(--rt-blekk); }
.rt-pakkekort .rt-pk-pris { display: flex; align-items: baseline; gap: 9px; margin: 20px 0 6px; }
.rt-pakkekort .rt-pk-fra { font: 400 15px/1 Inter, sans-serif; color: #2c5883; }
.rt-pakkekort .rt-pk-belop { font: 500 40px/1 Inter, sans-serif; color: var(--rt-blekk); }
.rt-pakkekort .rt-pk-mnd { font: 400 13.5px/1.4 Inter, sans-serif; color: #2c5883; }
.rt-pakkekort .rt-pk-mnd.er-dempet { color: var(--rt-dempet-alt); }
.rt-pakkekort .rt-pk-innhold { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 20px; margin-top: 24px; font: 400 14px/1.5 Inter, sans-serif; color: var(--rt-sekundaer); }
.rt-pakkekort .rt-pk-fot { margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(32,30,29,.10); font: 400 13px/1.6 Inter, sans-serif; color: #5b5850; }
.rt-pakkekort .rt-pk-fot a { color: var(--rt-messing); text-decoration: none; }
.rt-pakkekort .rt-btn-gull, .rt-pakkekort .rt-btn-pakke-omriss { margin-top: 26px; }
.rt-btn-pakke-omriss { display: inline-block; padding: 15px 24px; border: 1px solid var(--rt-linje); border-radius: 8px; color: var(--rt-sekundaer); font: 400 14.5px/1 Inter, sans-serif; text-decoration: none; }
.rt-fotnote { margin: 18px 0 0; font: 400 12.5px/1.6 Inter, sans-serif; color: var(--rt-dempet); }
@media (max-width: 900px) { .rt-pakke-duo { grid-template-columns: 1fr; } }

/* ==== Delbetaling ==== */
.rt-delb-hode { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: end; }
.rt-delb-hode > p { margin: 0; font: 400 16px/1.7 Inter, sans-serif; color: #5b5850; text-wrap: pretty; }
.rt-delb-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 36px; }
.rt-delbkort { padding: 26px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); }
.rt-delbkort.er-utvalgt { box-shadow: 0 0 0 1px var(--rt-nordsjo-strek); }
.rt-delbkort .rt-db-navn { font: 400 13.5px/1.4 Inter, sans-serif; color: var(--rt-dempet-alt); }
.rt-delbkort .rt-db-pris { display: flex; align-items: baseline; gap: 7px; margin-top: 14px; }
.rt-delbkort .rt-db-belop { font: 500 30px/1 Inter, sans-serif; color: var(--rt-blekk); }
.rt-delbkort .rt-db-mnd { font: 400 14px/1 Inter, sans-serif; color: var(--rt-dempet-alt); }
.rt-delbkort .rt-db-under { font: 400 13px/1.5 Inter, sans-serif; color: #5b5850; margin-top: 10px; }
.rt-delb-fot { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin-top: 18px; }
.rt-delb-fot p { margin: 0; max-width: 720px; font: 400 12.5px/1.6 Inter, sans-serif; color: var(--rt-dempet); }
@media (max-width: 900px) { .rt-delb-hode, .rt-delb-grid { grid-template-columns: 1fr; } }

/* ==== Omtaler ==== */
.rt-omtale-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 36px; }
.rt-omtale { padding: 26px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); }
.rt-omtale .rt-om-stjerner { color: var(--rt-messing); font-size: 13px; letter-spacing: 3px; }
.rt-omtale p { margin: 16px 0 0; font: 400 15px/1.65 Inter, sans-serif; color: var(--rt-blekk); text-wrap: pretty; }
.rt-omtale .rt-om-hvem { display: flex; align-items: center; gap: 12px; margin-top: 20px; font: 400 13px/1.4 Inter, sans-serif; color: var(--rt-dempet-alt); }
.rt-omtale .rt-om-hvem strong { color: var(--rt-blekk); font-weight: 500; }
@media (max-width: 900px) { .rt-omtale-grid { grid-template-columns: 1fr; } }

/* ==== Om oss ==== */
.rt-omoss { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; padding: 76px var(--rt-side) 0; }
.rt-omoss img { display: block; width: 100%; height: 380px; object-fit: cover; border-radius: 12px; }
.rt-omoss p { margin: 20px 0 0; max-width: 520px; font: 400 16px/1.7 Inter, sans-serif; color: #5b5850; text-wrap: pretty; }
.rt-omoss p + p { margin-top: 14px; }
.rt-omoss .rt-lenke-messing { display: inline-block; margin-top: 24px; font-size: 14.5px; }
@media (max-width: 900px) { .rt-omoss { grid-template-columns: 1fr; } }

/* ==== CTA-bånd ==== */
.rt-ctaband { margin: 76px var(--rt-side) 0; padding: 52px; border-radius: 8px; background: linear-gradient(140deg, #dde8f1 0%, #cfdfec 100%); display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.rt-ctaband .rt-cta-tittel { font: 500 34px/1.15 Inter, sans-serif; letter-spacing: -.02em; color: var(--rt-blekk); }
.rt-ctaband p { margin: 14px 0 0; font: 400 15px/1.6 Inter, sans-serif; color: var(--rt-sekundaer); }
.rt-ctaband.er-kompakt .rt-cta-tittel { font-size: 32px; }
.rt-ctaband.er-kompakt p { max-width: 560px; }

/* ==== Bildehero — delt komponent (klasse-b, motorsykkel, tilhenger) ==== */
.rt-bildehero { position: relative; height: 480px; overflow: hidden; background: var(--rt-natt); }
.rt-bildehero-bilde { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background: #161826; }
.rt-bildehero-gradient { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(22,24,38,.94) 0%, rgba(22,24,38,.74) 42%, rgba(22,24,38,.3) 72%, rgba(22,24,38,.12) 100%); }
.rt-bildehero-innhold { position: relative; display: flex; flex-direction: column; justify-content: center; height: 100%; padding: 0 var(--rt-side); color: #fff; }
.rt-bildehero .rt-kicker { color: var(--rt-gull); }
.rt-bildehero .rt-kicker .rt-strek { width: 28px; height: 1px; background: var(--rt-gull); }
.rt-bildehero h1 { margin: 22px 0 0; max-width: 640px; font: 500 54px/1.08 Inter, sans-serif; letter-spacing: -.03em; color: #fff; text-wrap: pretty; }
.rt-bildehero-intro { margin: 20px 0 0; max-width: 540px; font: 400 17px/1.65 Inter, sans-serif; color: var(--rt-natt-sub); text-wrap: pretty; }
@media (max-width: 900px) {
	.rt-bildehero h1 { font-size: 40px; }
}

/* ==== Teksthero — delt tokolonners hero (tg, mørkekjøring, førstehjelp) ==== */
.rt-teksthero { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; padding-bottom: 68px; }
.rt-teksthero h1 { font-size: 52px; }
.rt-teksthero .rt-kal-intro { max-width: 540px; }

/* ==== Tallrad — delt statistikkstripe (4 kolonner; .er-3 gir 3) ==== */
.rt-tallrad { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(32,30,29,.10); }
.rt-tallrad.er-3 { grid-template-columns: repeat(3, 1fr); }
.rt-tallrad > div { background: #f6f4ef; padding: 28px; text-align: center; }
.rt-tallrad-verdi { font: 500 28px/1 Inter, sans-serif; color: #201e1d; }
.rt-tallrad-verdi.er-messing { color: #7a6413; }
.rt-tallrad-under { font: 400 13px/1.4 Inter, sans-serif; color: #6d6960; margin-top: 9px; }

/* ==== Inkludert-liste — delt «dette er med»-liste ==== */
.rt-inkludert { display: flex; flex-direction: column; gap: 1px; background: rgba(32,30,29,.10); margin-top: 24px; }
.rt-inkludert > div { background: #f6f4ef; display: flex; justify-content: space-between; gap: 24px; padding: 16px 2px; font: 400 15px/1.5 Inter, sans-serif; }

@media (max-width: 900px) {
	.rt-teksthero { grid-template-columns: 1fr; gap: 32px; padding-bottom: 52px; }
	.rt-teksthero h1 { font-size: 38px; }
	.rt-tallrad, .rt-tallrad.er-3 { grid-template-columns: repeat(2, 1fr); }
}

/* ==== Delte overskrifter (klassesider, kontakt, om oss, kurssider) ==== */
.rt-h2-liten { margin: 0; font: 500 30px/1.2 Inter, sans-serif; letter-spacing: -.01em; color: var(--rt-blekk); }

/* ==== Duo — delt tokolonners innholdsseksjon ==== */
.rt-duo { display: grid; grid-template-columns: 1.25fr 1fr; gap: 56px; align-items: start; }
.rt-duo.har-luft { padding: 76px var(--rt-side) 0; }

/* ==== Faktastripe på papir (klasse-b, motorsykkel, tilhenger) ==== */
.rt-fakta { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: rgba(32,30,29,.10); }
.rt-fakta.er-3 { grid-template-columns: repeat(3, 1fr); }
.rt-fakta > div { background: var(--rt-papir); padding: 28px; }
.rt-fakta-tall { font: 500 28px/1 Inter, sans-serif; color: var(--rt-blekk); }
.rt-fakta-tall.er-messing { color: var(--rt-messing); }
.rt-fakta-tall-under { font: 400 13px/1.4 Inter, sans-serif; color: var(--rt-dempet-alt); margin-top: 9px; }

/* ==== Inkludert-liste på papir (modifikator til .rt-inkludert) ==== */
.rt-inkludert.er-papir { margin-top: 0; }
.rt-inkludert.er-papir > div { background: var(--rt-papir); color: var(--rt-blekk); }
.rt-inkludert.er-papir > div span:last-child { color: var(--rt-dempet-alt); white-space: nowrap; }

/* ==== Priskort (klasse-b, motorsykkel, tilhenger) ==== */
.rt-priskort { padding: 32px; border-radius: 8px; background: linear-gradient(160deg, #e7eef5 0%, #fdfcf9 100%); box-shadow: 0 0 0 1px var(--rt-nordsjo-strek); }
.rt-pk-hode { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.rt-pk-navn { font: 500 19px/1.2 Inter, sans-serif; color: var(--rt-blekk); }
.rt-pk-badge { font: 500 11.5px/1 Inter, sans-serif; padding: 6px 9px; border-radius: 4px; background: var(--rt-gull); color: var(--rt-blekk); }
.rt-pk-pris { font: 500 38px/1 Inter, sans-serif; color: var(--rt-blekk); margin: 20px 0 6px; }
.rt-pk-mnd { font: 400 13.5px/1.5 Inter, sans-serif; color: #2c5883; }
.rt-pk-knapp { display: block; text-align: center; margin-top: 24px; padding: 16px; border-radius: 8px; background: var(--rt-gull); color: var(--rt-blekk); font: 500 14.5px/1 Inter, sans-serif; text-decoration: none; }
.rt-pk-omriss { display: block; text-align: center; margin-top: 10px; padding: 16px; border: 1px solid var(--rt-nordsjo-strek); border-radius: 8px; color: #2b5580; font: 400 14.5px/1 Inter, sans-serif; text-decoration: none; }
.rt-pk-fot { margin: 18px 0 0; font: 400 12.5px/1.6 Inter, sans-serif; color: var(--rt-dempet-alt); }

/* ==== Kursside-komponenter (grunnkurs, mørkekjøring, førstehjelp) ==== */
.rt-bildeplass { display: block; width: 100%; height: 380px; border-radius: 12px; background: #161826; }
.rt-kurs-sek .rt-strek { width: 28px; height: 1px; background: var(--rt-gull); }
.rt-trinn-grid.er-3 { grid-template-columns: repeat(3, 1fr); }
.rt-trinn-grid.er-5 { grid-template-columns: repeat(5, 1fr); }

@media (max-width: 900px) {
	.rt-duo { grid-template-columns: 1fr; }
	.rt-duo.har-luft { padding-top: 52px; }
	.rt-fakta, .rt-fakta.er-3 { grid-template-columns: repeat(2, 1fr); }
	.rt-trinn-grid.er-3, .rt-trinn-grid.er-5 { grid-template-columns: 1fr 1fr; }
}
.rt-ctaband .rt-cta-knapper { display: flex; gap: 12px; flex: none; flex-wrap: wrap; min-width: 0; }
@media (max-width: 640px) {
	.rt-ctaband { padding: 32px 24px; }
	.rt-ctaband .rt-cta-knapper { flex-direction: column; width: 100%; flex: 1 1 100%; }
	.rt-ctaband .rt-cta-knapper > a, .rt-ctaband .rt-cta-knapper > button { text-align: center; }
}
.rt-btn-tlf { padding: 17px 24px; border: 1px solid var(--rt-nordsjo-strek); border-radius: 8px; color: #22415f; font: 400 15px/1 Inter, sans-serif; text-decoration: none; }

/* ==== Footer (natt) ==== */
.rt-footer { background: var(--rt-natt); margin-top: 76px; padding: 52px var(--rt-side) 44px; border-top: 1px solid rgba(233,233,237,.16); display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; font: 400 14px/1.8 Inter, sans-serif; color: var(--rt-natt-dempet); }
.rt-footer img { display: block; height: 64px; width: auto; }
.rt-footer .rt-fo-tekst { margin-top: 18px; max-width: 280px; }
.rt-footer .rt-fo-tittel { font: 500 13px/1 Inter, sans-serif; color: var(--rt-natt-tekst); letter-spacing: .1em; text-transform: uppercase; }
.rt-footer .rt-fo-lenker { margin-top: 14px; display: flex; flex-direction: column; }
.rt-footer a { color: var(--rt-natt-meny); text-decoration: none; }
.rt-footer a:hover { color: var(--rt-natt-tekst); }
.rt-bunnlinje { background: var(--rt-natt); padding: 0 var(--rt-side) 40px; display: flex; justify-content: space-between; gap: 24px; font: 400 12.5px/1.6 Inter, sans-serif; color: var(--rt-natt-dempet); flex-wrap: wrap; }
.rt-bunnlinje a { color: var(--rt-natt-dempet); text-decoration: none; }
.rt-bunnlinje .rt-bl-lenker { display: flex; gap: 20px; }
.rt-footer, .rt-bunnlinje { overflow-wrap: anywhere; }
@media (max-width: 900px) { .rt-footer { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .rt-footer { grid-template-columns: 1fr; gap: 28px; } }

/* ==== Kurskalender (TABS, design 6n) ==== */
.rt-kal-hero { padding: 64px var(--rt-side) 0; background: radial-gradient(80% 110% at 0% 0%, #fdfcf9 0%, #f6f4ef 60%); }
.rt-kal-hero h1 { margin: 22px 0 0; font: 500 56px/1.08 Inter, sans-serif; letter-spacing: -.03em; color: var(--rt-blekk); text-wrap: pretty; }
.rt-kal-hero .rt-kal-intro { margin: 20px 0 0; max-width: 700px; font: 400 17px/1.65 Inter, sans-serif; color: #5b5850; text-wrap: pretty; }
.rt-kal-hero .rt-kicker .rt-strek { width: 28px; height: 1px; background: var(--rt-gull); }
.rt-kal-grid { display: grid; grid-template-columns: 1.6fr 1fr; gap: 56px; align-items: start; padding: 44px var(--rt-side) 0; }
.rt-kal-maned { font: 500 11.5px/1 Inter, sans-serif; letter-spacing: .16em; color: var(--rt-dempet-alt); text-transform: uppercase; margin-top: 36px; }
.rt-kal-maned:first-child { margin-top: 0; }
.rt-kal-rad { display: flex; align-items: center; gap: 24px; padding: 22px 26px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); margin-top: 12px; flex-wrap: wrap; }
.rt-kal-dato { flex: none; width: 64px; text-align: center; padding: 12px 0; border-radius: 6px; background: #e7eef5; }
.rt-kal-dag { font: 500 22px/1 Inter, sans-serif; color: var(--rt-messing); }
.rt-kal-mnd { font: 400 11px/1 Inter, sans-serif; color: var(--rt-dempet-alt); margin-top: 5px; }
.rt-kal-info { flex: 1; min-width: 200px; }
.rt-kal-navn { font: 500 17px/1.25 Inter, sans-serif; color: var(--rt-blekk); }
.rt-kal-detaljer { font: 400 13.5px/1.5 Inter, sans-serif; color: var(--rt-dempet-alt); margin-top: 5px; }
.rt-kal-status { flex: none; font: 400 13.5px/1 Inter, sans-serif; color: #2c5883; }
.rt-kal-status.er-fullt { color: var(--rt-dempet-alt); }
.rt-kal-knapp { flex: none; padding: 13px 20px; border-radius: 8px; border: 1px solid var(--rt-nordsjo-strek); background: transparent; color: #2b5580; font: 500 13.5px/1 Inter, sans-serif; cursor: pointer; }
.rt-kal-knapp.er-fullt { border-color: var(--rt-linje); color: var(--rt-dempet-alt); }
.rt-kal-sidekort { padding: 28px; border-radius: 8px; background: linear-gradient(160deg, #e7eef5 0%, #fdfcf9 100%); box-shadow: 0 0 0 1px var(--rt-nordsjo-strek); }
.rt-kal-sidekort.er-noytral { background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); margin-top: 20px; }
.rt-kal-sidekort .rt-ks-tittel { font: 500 19px/1.2 Inter, sans-serif; color: var(--rt-blekk); }
.rt-kal-sidekort p, .rt-kal-sidekort .rt-ks-linje { margin: 12px 0 0; font: 400 14.5px/1.7 Inter, sans-serif; color: var(--rt-dempet-alt); }
.rt-kal-sidekort .rt-btn-gull { display: block; text-align: center; margin-top: 22px; padding: 16px; }
@media (max-width: 900px) { .rt-kal-grid { grid-template-columns: 1fr; } .rt-kal-hero h1 { font-size: 38px; } }

/* ==== Nettbutikk (design 1a) ==== */
.rt-nb-velger { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 34px; }
.rt-nb-klasse { position: relative; border: 0; border-radius: 8px; overflow: hidden; background: var(--rt-natt); color: #fff; height: 120px; cursor: pointer; text-align: left; padding: 18px 20px; display: flex; flex-direction: column; justify-content: flex-end; gap: 6px; }
.rt-nb-klasse.er-valgt { box-shadow: 0 0 0 2px var(--rt-gull); }
.rt-nb-klassenavn { font: 500 18px/1.2 Inter, sans-serif; }
.rt-nb-klassestatus { font: 400 12.5px/1 Inter, sans-serif; color: var(--rt-natt-sub); }
.rt-nb-klasse.er-valgt .rt-nb-klassestatus { color: var(--rt-gull); }
.rt-nb-seksjon { padding: 56px var(--rt-side) 0; }
.rt-nb-grid { display: grid; grid-template-columns: 300px 1fr; gap: 48px; }
.rt-nb-h2 { margin: 14px 0 0; font: 500 34px/1.14 Inter, sans-serif; letter-spacing: -.02em; color: var(--rt-blekk); }
.rt-nb-intro { margin: 16px 0 0; font: 400 14.5px/1.65 Inter, sans-serif; color: #5b5850; text-wrap: pretty; }
.rt-nb-tips { margin-top: 20px; padding: 16px 18px; border-radius: 8px; background: #e7eef5; }
.rt-nb-tips div { font: 500 13px/1.4 Inter, sans-serif; color: #22415f; }
.rt-nb-tips span { display: block; font: 400 12.5px/1.55 Inter, sans-serif; color: #2c5883; margin-top: 4px; }
.rt-nb-rader { display: flex; flex-direction: column; gap: 16px; }
.rt-nb-delklasse { font: 500 12px/1 Inter, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--rt-dempet); margin-top: 10px; }
.rt-nb-rad { display: grid; grid-template-columns: 1.2fr .8fr auto; gap: 24px; align-items: center; padding: 24px 26px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); }
/* «Mest populær» markeres med merket og gullknappen — ikke med flatefarge.
   Den lyseblå bakgrunnen leste som «valgt rad», og med én per klasse på samme
   side ble det misvisende. Raden beholder papirflaten, men får blå kantstrek. */
.rt-nb-rad.er-utvalgt { box-shadow: 0 0 0 1px var(--rt-nordsjo-strek); }
.rt-nb-navn { font: 500 17px/1.2 Inter, sans-serif; color: var(--rt-blekk); }
.rt-nb-badge { font: 500 11px/1 Inter, sans-serif; padding: 5px 8px; border-radius: 4px; background: var(--rt-gull); color: var(--rt-blekk); vertical-align: 2px; }
.rt-nb-under { font: 400 13px/1.55 Inter, sans-serif; color: var(--rt-dempet-alt); margin-top: 5px; }
.rt-nb-pris { font: 500 24px/1 Inter, sans-serif; color: var(--rt-blekk); }
.rt-nb-pris .woocommerce-Price-amount { font: inherit; }
.rt-nb-mnd { font: 400 12.5px/1.4 Inter, sans-serif; color: var(--rt-dempet-alt); margin-top: 5px; }
.rt-nb-handling { display: flex; align-items: center; gap: 14px; }
.rt-nb-kurvknapp { display: inline-block; padding: 12px 18px; border: 1px solid #b8ab7a; border-radius: 8px; background: transparent; color: #5c4d10; font: 500 13px/1 Inter, sans-serif; text-decoration: none; cursor: pointer; }
.rt-nb-mer { font: 400 13px/1 Inter, sans-serif; color: var(--rt-messing); text-decoration: none; white-space: nowrap; }
.rt-nb-bygger { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 26px; border-radius: 8px; background: var(--rt-natt); color: var(--rt-natt-tekst); flex-wrap: wrap; }
.rt-nb-bygger-tittel { font: 500 16px/1.2 Inter, sans-serif; color: #fff; }
.rt-nb-bygger-under { font: 400 13px/1.55 Inter, sans-serif; color: #b2b6ca; margin-top: 5px; }
.rt-nb-bygger-knapp { flex: none; padding: 12px 18px; border: 1px solid rgba(245,215,82,.55); border-radius: 8px; color: var(--rt-gull); font: 500 13px/1 Inter, sans-serif; text-decoration: none; }
.rt-nb-bunn { margin: 64px var(--rt-side) 76px; border-top: 1px solid rgba(32,30,29,.12); padding-top: 40px; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.rt-nb-gavekort { border-radius: 8px; background: var(--rt-natt); color: var(--rt-natt-tekst); padding: 30px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.rt-nb-utstyrkort { border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); padding: 30px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.rt-nb-bunn-tittel { font: 500 19px/1.25 Inter, sans-serif; color: #fff; }
.rt-nb-bunn-tittel.er-blekk { color: var(--rt-blekk); margin-top: 14px; }
.rt-nb-bunn-under { font: 400 13px/1.55 Inter, sans-serif; color: #b2b6ca; margin-top: 6px; }
.rt-nb-bunn-under.er-dempet { color: var(--rt-dempet-alt); }
@media (max-width: 900px) { .rt-nb-velger { grid-template-columns: repeat(2, 1fr); } .rt-nb-grid, .rt-nb-bunn { grid-template-columns: 1fr; } .rt-nb-rad { grid-template-columns: 1fr; gap: 14px; } }

/* ==== WooCommerce-flater i profilen (kurv, kasse, produkt) ==== */
/* Kun innholds-wrapperen (div) — WooCommerce setter samme klasse på body. */
div.woocommerce { padding: 0 var(--rt-side); max-width: 1180px; margin: 0 auto; }
.woocommerce button.button, .woocommerce a.button, .woocommerce #place_order { background: var(--rt-gull) !important; color: var(--rt-blekk) !important; border: 0; border-radius: 8px; padding: 14px 22px; font: 500 14px/1 Inter, sans-serif; }
.woocommerce .input-text, .woocommerce select, .woocommerce textarea { width: 100%; box-sizing: border-box; border: 1px solid var(--rt-linje); border-radius: 8px; padding: 12px 14px; background: var(--rt-kort); font: 400 14px/1.4 Inter, sans-serif; color: var(--rt-blekk); }
/* Datofelt: iOS/Safari gir egne mål og midtstilt tekst — nullstill så det matcher tekstfeltene. */
.woocommerce input[type=date].input-text { -webkit-appearance: none; appearance: none; min-height: 45px; display: block; }
.woocommerce input[type=date].input-text::-webkit-date-and-time-value { text-align: left; }
.woocommerce table.shop_table { border: 0; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: var(--rt-linje); }
.woocommerce-message, .woocommerce-info { border-top-color: var(--rt-nordsjo); background: #e7eef5; color: #22415f; border-radius: 8px; }
.woocommerce-error { border-top-color: #a32d21; border-radius: 8px; }
.woocommerce form .form-row label { font: 400 13.5px/1.4 Inter, sans-serif; color: var(--rt-sekundaer); }

/* ---- Produktside (blokkmalen single-product.html) ---------------------
   Pakkene er tjenester uten produktbilde, så malen er én kolonne og alle
   bildeplassholdere er skrudd av — også i «Relaterte produkter». */
/* Én venstrekant for hele siden: beholderen har paddingen, blokkene inni
   nullstiller WP-layoutens egne bredder/marginer. */
.rt-produkt { max-width: 1180px; margin: 0 auto; padding: 26px var(--rt-side) 76px; box-sizing: border-box; }
.rt-produkt > * { max-width: none; margin-left: 0; margin-right: 0; }
.rt-produkt .wc-block-breadcrumbs { font: 400 13px/1.6 Inter, sans-serif; color: var(--rt-dempet); margin-bottom: 22px; }
.rt-produkt h1.wp-block-post-title { font: 500 40px/1.14 Inter, sans-serif; letter-spacing: -.02em; color: var(--rt-blekk); margin: 0 0 14px; }
.rt-produkt .wp-block-woocommerce-product-price { font: 500 32px/1 Inter, sans-serif; color: var(--rt-blekk); margin: 0 0 6px; }
.rt-produkt .wp-block-post-excerpt { max-width: 640px; }
.rt-produkt .wp-block-post-excerpt p { font: 400 16px/1.65 Inter, sans-serif; color: #5b5850; margin: 8px 0 0; }
.rt-produkt .wp-block-woocommerce-add-to-cart-form { margin: 24px 0 18px; }
.rt-produkt .wp-block-woocommerce-product-meta { font: 400 13px/1.6 Inter, sans-serif; color: var(--rt-dempet); }
.rt-produkt .wp-block-woocommerce-product-meta a { color: var(--rt-messing); text-decoration: none; }
/* Beskrivelsen (product-details, is-style-minimal) */
.rt-produkt .wp-block-woocommerce-product-details { max-width: 720px; margin-top: 30px; padding-top: 28px; border-top: 1px solid rgba(32,30,29,.12); }
.rt-produkt .wp-block-woocommerce-product-details .wc-tabs { display: none; }
.rt-produkt .wp-block-woocommerce-product-details h2 { font: 500 20px/1.25 Inter, sans-serif; color: var(--rt-blekk); margin: 26px 0 12px; }
.rt-produkt .wp-block-woocommerce-product-details p { font: 400 15.5px/1.7 Inter, sans-serif; color: #5b5850; margin: 0 0 14px; }
.rt-produkt .wp-block-woocommerce-product-details ul { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.rt-produkt .wp-block-woocommerce-product-details ul li { position: relative; padding-left: 26px; font: 400 15px/1.55 Inter, sans-serif; color: var(--rt-blekk); }
.rt-produkt .wp-block-woocommerce-product-details ul li::before { content: ""; position: absolute; left: 4px; top: 9px; width: 7px; height: 7px; border-radius: 50%; background: var(--rt-gull); }
/* Bildeplassholdere: produktene har ikke bilder, og den grå ruten er bare støy */
.woocommerce-product-gallery, .wp-block-woocommerce-product-image-gallery,
.wc-block-components-product-image, .wp-block-woocommerce-product-image,
img.woocommerce-placeholder { display: none !important; }
/* Relaterte produkter som kort */
.rt-produkt .wp-block-woocommerce-related-products > h2 { font: 500 24px/1.2 Inter, sans-serif; color: var(--rt-blekk); margin: 56px 0 20px; }
.rt-produkt .wc-block-product-template__responsive .wc-block-product,
.rt-produkt .wc-block-product-template li.wc-block-product { border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); padding: 22px; box-sizing: border-box; }
/* Mønsteret midtstiller tittel og pris — resten av siden er venstrestilt */
.rt-produkt .wc-block-product, .rt-produkt .wc-block-product .has-text-align-center { text-align: left; }
.rt-produkt .wc-block-product .wp-block-post-title { font: 500 16px/1.3 Inter, sans-serif; margin: 0 0 8px; }
.rt-produkt .wc-block-product .wp-block-post-title a { color: var(--rt-blekk); text-decoration: none; }
.rt-produkt .wc-block-product .wp-block-woocommerce-product-price { font: 500 18px/1 Inter, sans-serif; margin: 0 0 14px; }

.rt-kal-ics { display: inline-block; margin-top: 7px; font: 400 12.5px/1 Inter, sans-serif; color: var(--rt-messing); text-decoration: none; }
.rt-kal-ics:hover { text-decoration: underline; }

/* ==== Venteliste-dialog (fulle kurs i kurskalenderen) ==== */
.rt-vl { border: 1px solid var(--rt-linje); border-radius: 12px; padding: 26px; max-width: 420px; width: calc(100vw - 40px); background: var(--rt-kort); color: var(--rt-blekk); }
.rt-vl::backdrop { background: rgba(22, 24, 38, .55); }
.rt-vl-tittel { font: 500 20px/1.2 Inter, sans-serif; }
.rt-vl-kursnavn { margin: 8px 0 4px; font: 400 14px/1.5 Inter, sans-serif; color: var(--rt-sekundaer); }
.rt-vl label { display: block; margin-top: 12px; font: 400 13.5px/1.4 Inter, sans-serif; color: var(--rt-sekundaer); }
.rt-vl input:not([type=hidden]) { width: 100%; box-sizing: border-box; margin-top: 6px; border: 1px solid var(--rt-linje); border-radius: 8px; padding: 11px 13px; font: 400 14.5px/1.4 Inter, sans-serif; background: #fff; }
.rt-vl-knapper { display: flex; gap: 10px; justify-content: flex-end; margin-top: 18px; }
.rt-vl-avbryt { border: 1px solid var(--rt-linje); background: none; border-radius: 8px; padding: 12px 16px; font: 400 13.5px/1 Inter, sans-serif; cursor: pointer; color: var(--rt-sekundaer); }

/* ==== Kampanjer (design 9a) ==== */
.rt-ka-usp { display: flex; flex-direction: column; gap: 11px; margin-top: 24px; font: 400 15.5px/1.5 Inter, sans-serif; color: var(--rt-sekundaer); }
.rt-ka-usp > div { display: flex; gap: 12px; align-items: baseline; }
.rt-ka-usp > div > span:first-child { color: var(--rt-messing); font-weight: 600; }
.rt-ka-usp strong { font-weight: 600; color: var(--rt-blekk); }
.rt-ka-stjerner { display: flex; align-items: center; gap: 32px; margin: 44px var(--rt-side) 0; padding: 28px 32px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); }
.rt-ka-snitt { font: 500 40px/1 Inter, sans-serif; color: var(--rt-blekk); }
.rt-ka-rad { color: var(--rt-messing); font-size: 13px; letter-spacing: 3px; margin-top: 8px; }
.rt-ka-skille { width: 1px; align-self: stretch; background: rgba(32,30,29,.10); }
.rt-ka-under { font: 400 15px/1.6 Inter, sans-serif; color: var(--rt-dempet-alt); max-width: 620px; }
.rt-ka-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 36px; }
.rt-ka-kort { position: relative; display: block; height: 350px; border-radius: 8px; overflow: hidden; text-decoration: none; color: #fff; background: var(--rt-natt); }
.rt-ka-kort img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rt-ka-kort img.er-graa, .rt-ka-kort.er-utsolgt img { filter: grayscale(1); opacity: .55; }
.rt-ka-fyll { position: absolute; inset: 0; background: var(--rt-natt-kort); }
.rt-ka-gradient { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(22,24,38,0) 34%, rgba(22,24,38,.55) 64%, rgba(22,24,38,.93) 100%); }
.rt-ka-merke { position: absolute; top: 16px; left: 16px; padding: 8px 13px; border-radius: 6px; background: var(--rt-gull); color: var(--rt-blekk); font: 500 11.5px/1 Inter, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.rt-ka-tekst { position: absolute; left: 0; right: 0; bottom: 0; padding: 26px 24px; }
.rt-ka-tittel { font: 500 20px/1.2 Inter, sans-serif; }
.er-utsolgt .rt-ka-tittel { color: var(--rt-natt-tekst); }
.rt-ka-cta { font: 500 14px/1 Inter, sans-serif; color: var(--rt-gull); margin-top: 12px; }
.rt-ka-cta.er-dempet { color: #b9bdcf; }
.rt-ka-kjop { margin-top: 32px; padding: 28px; border-radius: 8px; background: linear-gradient(160deg, #e7eef5 0%, #fdfcf9 100%); box-shadow: 0 0 0 1px var(--rt-nordsjo-strek); }
.rt-ka-priser { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.rt-ka-forpris { font: 400 15px/1 Inter, sans-serif; color: var(--rt-dempet-alt); text-decoration: line-through; }
.rt-ka-pris { font: 500 34px/1 Inter, sans-serif; color: var(--rt-blekk); }
.rt-ka-detaljer { font: 400 13.5px/1.5 Inter, sans-serif; color: #2c5883; margin-top: 10px; }
.rt-ka-kjop .rt-btn-gull { margin-top: 20px; }
@media (max-width: 900px) { .rt-ka-grid { grid-template-columns: 1fr; } .rt-ka-stjerner { flex-direction: column; align-items: flex-start; gap: 16px; } }

/* ==== Pakkebyggeren (natt-flate per fargeprofilen regel 01) ==== */
.rt-pb { background: var(--rt-stripe); color: var(--rt-blekk); padding: 56px var(--rt-side) 76px; }
.rt-pb-hode { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.rt-pb .rt-kicker.er-pb { color: var(--rt-messing); }
.rt-pb .rt-kicker.er-pb .rt-strek { background: var(--rt-messing); }
.rt-pb h1 { margin: 18px 0 0; font: 500 40px/1.14 Inter, sans-serif; letter-spacing: -.02em; color: var(--rt-blekk); }
.rt-pb-hode p { margin: 0; max-width: 420px; font: 400 15px/1.65 Inter, sans-serif; color: var(--rt-dempet-alt); }
.rt-pb-grid { display: grid; grid-template-columns: 1fr 420px; gap: 40px; margin-top: 36px; align-items: start; }
.rt-pb-etikett { font: 500 12px/1 Inter, sans-serif; letter-spacing: .12em; color: var(--rt-dempet-alt); text-transform: uppercase; margin: 30px 0 13px; display: flex; align-items: baseline; justify-content: space-between; gap: 14px; }
.rt-pb-etikett:first-child { margin-top: 0; }
.rt-pb-anbefalt { border: 0; background: transparent; color: var(--rt-messing); font: 400 13px/1 Inter, sans-serif; cursor: pointer; text-transform: none; letter-spacing: 0; }
.rt-pb-klasser { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.rt-pb-klasser button { border: 0; border-radius: 8px; padding: 16px; text-align: left; cursor: pointer; background: var(--rt-kort); color: var(--rt-blekk); box-shadow: 0 0 0 1px var(--rt-linje); display: flex; flex-direction: column; gap: 8px; }
.rt-pb-klasser button.er-valgt { box-shadow: 0 0 0 2px var(--rt-messing); }
.rt-pb-klasser button span:first-child { font: 500 15px/1.2 Inter, sans-serif; }
.rt-pb-klasser button span:last-child { font: 500 13px/1 Inter, sans-serif; color: var(--rt-messing); }
.rt-pb-chips { display: flex; flex-wrap: wrap; gap: 9px; }
.rt-pb-chips button { border: 0; border-radius: 8px; padding: 13px 18px; cursor: pointer; background: var(--rt-kort); color: var(--rt-blekk); box-shadow: 0 0 0 1px var(--rt-linje); font: 400 14px/1 Inter, sans-serif; }
.rt-pb-chips button.er-valgt { box-shadow: 0 0 0 2px var(--rt-messing); }
.rt-pb-chips-sp { align-self: center; font: 400 13px/1 Inter, sans-serif; color: var(--rt-dempet-alt); margin-right: 4px; }
.rt-pb-pakker { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 14px; }
.rt-pb-pakke { position: relative; border: 0; border-radius: 8px; padding: 16px; text-align: left; cursor: pointer; background: var(--rt-kort); color: var(--rt-blekk); box-shadow: 0 0 0 1px var(--rt-linje); display: flex; flex-direction: column; gap: 6px; }
.rt-pb-pakke.er-valgt { box-shadow: 0 0 0 2px var(--rt-messing); }
.rt-pb-pakke-anb { position: absolute; top: -9px; right: 10px; background: var(--rt-messing); color: #fdfcf9; font: 500 10.5px/1 Inter, sans-serif; letter-spacing: .08em; text-transform: uppercase; padding: 4px 8px; border-radius: 999px; }
.rt-pb-pakke-navn { font: 500 15px/1.2 Inter, sans-serif; color: var(--rt-blekk); }
.rt-pb-pakke-under { font: 400 12.5px/1.45 Inter, sans-serif; color: var(--rt-dempet-alt); }
.rt-pb-pakke-pris { font: 500 14px/1 Inter, sans-serif; color: var(--rt-messing); margin-top: 2px; }
.rt-pb-tilp { display: grid; gap: 14px; margin-top: 18px; }
.rt-pb-tilp-rad { background: var(--rt-kort); border-radius: 8px; padding: 14px 16px; box-shadow: 0 0 0 1px var(--rt-linje); }
.rt-pb-tilp-navn { font: 500 14.5px/1.3 Inter, sans-serif; color: var(--rt-blekk); }
.rt-pb-tilp-besk { font: 400 12.5px/1.5 Inter, sans-serif; color: var(--rt-dempet-alt); margin-top: 3px; }
.rt-pb-tilp-alt { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.rt-pb-tilp-alt button { border: 0; border-radius: 8px; padding: 10px 14px; cursor: pointer; background: var(--rt-stripe); color: var(--rt-blekk); box-shadow: 0 0 0 1px var(--rt-linje); font: 400 13.5px/1 Inter, sans-serif; }
.rt-pb-tilp-alt button.er-valgt { box-shadow: 0 0 0 2px var(--rt-messing); }
.rt-pb-tilp-alt button span { color: var(--rt-messing); }
.rt-pb-tilp-alt.er-kort { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.rt-pb-tilp-kort { border: 0; border-radius: 8px; padding: 14px 16px; text-align: left; cursor: pointer; background: var(--rt-stripe); color: var(--rt-blekk); box-shadow: 0 0 0 1px var(--rt-linje); display: flex; flex-direction: column; gap: 5px; align-items: flex-start; }
.rt-pb-tilp-kort.er-valgt { box-shadow: 0 0 0 2px var(--rt-messing); background: var(--rt-kort); }
.rt-pb-tilp-kort .tk-navn { font: 500 14px/1.25 Inter, sans-serif; color: var(--rt-blekk); }
.rt-pb-tilp-kort .tk-besk { font: 400 12px/1.5 Inter, sans-serif; color: var(--rt-sekundaer); }
.rt-pb-tilp-kort .tk-pris { font: 500 12.5px/1 Inter, sans-serif; color: var(--rt-messing); margin-top: 2px; }
@media (max-width: 700px) { .rt-pb-tilp-alt.er-kort { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .rt-pb-pakker { grid-template-columns: 1fr; } }
.rt-pb-stepper { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.rt-pb-stepper > button { width: 52px; height: 52px; border: 0; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); color: var(--rt-blekk); font: 400 22px/1 Inter, sans-serif; cursor: pointer; }
.rt-pb-timer { font: 500 30px/1 Inter, sans-serif; text-align: center; min-width: 88px; color: var(--rt-blekk); }
.rt-pb-timer-under { font: 400 12.5px/1 Inter, sans-serif; color: var(--rt-dempet-alt); text-align: center; margin-top: 7px; }
.rt-pb-hint { font: 400 13.5px/1.55 Inter, sans-serif; color: var(--rt-dempet-alt); max-width: 300px; }
.rt-pb-kvittering { padding: 30px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-nordsjo-strek); }
.rt-pb-kv-hode { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; font: 500 18px/1.2 Inter, sans-serif; color: var(--rt-blekk); }
.rt-pb-kv-hode span:last-child { font: 400 13px/1 Inter, sans-serif; color: var(--rt-dempet-alt); }
.rt-pb-linjer { display: flex; flex-direction: column; gap: 11px; margin-top: 20px; font: 400 14px/1.4 Inter, sans-serif; color: var(--rt-sekundaer); }
.rt-pb-linjer > div { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; }
.rt-pb-linjer .er-rabatt { color: var(--rt-messing); }
.rt-pb-total { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--rt-linje); }
.rt-pb-total span:first-child { font: 400 13.5px/1 Inter, sans-serif; color: var(--rt-dempet-alt); }
.rt-pb-total span:last-child { font: 500 34px/1 Inter, sans-serif; color: var(--rt-blekk); }
.rt-pb-sparing { margin-top: 10px; font: 400 13.5px/1.5 Inter, sans-serif; color: var(--rt-messing); }
.rt-pb-mnder { display: flex; gap: 7px; margin-top: 22px; }
.rt-pb-mnder button { flex: 1; border: 0; border-radius: 8px; padding: 12px; cursor: pointer; background: var(--rt-stripe); box-shadow: 0 0 0 1px var(--rt-linje); color: var(--rt-sekundaer); font: 400 13px/1 Inter, sans-serif; }
.rt-pb-mnder button.er-valgt { box-shadow: 0 0 0 2px var(--rt-messing); color: var(--rt-blekk); }
.rt-pb-mndbelop { margin-top: 13px; font: 400 13.5px/1.55 Inter, sans-serif; color: var(--rt-sekundaer); }
.rt-pb-mndbelop strong { font: 500 22px/1 Inter, sans-serif; color: var(--rt-blekk); }
.rt-pb-bestill { display: block; width: 100%; text-align: center; margin-top: 22px; border: 0; cursor: pointer; }
.rt-pb-alt { margin-top: 14px; text-align: center; font: 400 13px/1.6 Inter, sans-serif; color: var(--rt-dempet-alt); }
.rt-pb-alt a, .rt-pb-alt button { color: var(--rt-messing); text-decoration: none; border: 0; background: transparent; font: inherit; cursor: pointer; }
@media (max-width: 900px) { .rt-pb-grid { grid-template-columns: 1fr; } .rt-pb-klasser { grid-template-columns: 1fr 1fr; } }

/* ==== Blogg (design 7u/7v) ==== */
.rt-bl-utvalgt { display: grid; grid-template-columns: 1fr 1fr; border-radius: 8px; overflow: hidden; background: var(--rt-kort); box-shadow: 0 0 0 1px #33607f; text-decoration: none; color: var(--rt-blekk); margin: 36px var(--rt-side) 0; }
.rt-bl-utvalgt img, .rt-bl-fyll { display: block; width: 100%; height: 100%; min-height: 240px; object-fit: cover; background: var(--rt-natt); }
.rt-bl-fyll.er-liten { min-height: 160px; height: 160px; }
.rt-bl-tekst { padding: 28px; }
.rt-bl-kicker { font: 400 11px/1 Inter, sans-serif; letter-spacing: .16em; color: #2b5580; text-transform: uppercase; }
.rt-bl-tittel { font: 500 24px/1.2 Inter, sans-serif; letter-spacing: -.01em; margin-top: 14px; }
.rt-bl-tittel.er-liten { font-size: 17px; line-height: 1.3; margin-top: 11px; }
.rt-bl-tekst p { margin: 12px 0 0; font: 400 14px/1.65 Inter, sans-serif; color: var(--rt-dempet); }
.rt-bl-les { font: 500 13.5px/1 Inter, sans-serif; color: var(--rt-messing); margin-top: 20px; }
.rt-bl-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 16px var(--rt-side) 0; }
.rt-bl-kort { border-radius: 8px; overflow: hidden; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); text-decoration: none; color: var(--rt-blekk); }
.rt-bl-kort img { display: block; width: 100%; height: 160px; object-fit: cover; }
.rt-bl-kort .rt-bl-tekst { padding: 22px; }
@media (max-width: 900px) { .rt-bl-utvalgt { grid-template-columns: 1fr; } .rt-bl-grid { grid-template-columns: 1fr; } }

/* ==== Artikkel ==== */
.rt-artikkel-hode { padding: 56px var(--rt-side) 0; text-align: left; }
.rt-artikkel-kicker a { font: 400 11.5px/1 Inter, sans-serif; letter-spacing: .16em; color: var(--rt-nordsjo); text-transform: uppercase; text-decoration: none; }
.rt-artikkel-hode h1 { font: 500 44px/1.1 Inter, sans-serif; letter-spacing: -.02em; margin: 14px 0 0; }
.rt-artikkel-dato { font: 400 13.5px/1 Inter, sans-serif; color: var(--rt-dempet); margin-top: 14px; }
.rt-artikkel { padding: 0 var(--rt-side) 24px; }
.rt-artikkel p, .rt-artikkel li { font: 400 16px/1.75 Inter, sans-serif; color: var(--rt-sekundaer); }
.rt-artikkel h2 { font: 500 26px/1.25 Inter, sans-serif; color: var(--rt-blekk); margin-top: 36px; }
.rt-artikkel a { color: var(--rt-messing); }

/* ==== Kontaktskjema ==== */
.rt-skjema { max-width: 520px; }
.rt-skjema label { font: 400 13.5px/1.4 Inter, sans-serif; color: var(--rt-sekundaer); }
.rt-skjema input:not([type=hidden]), .rt-skjema textarea { width: 100%; box-sizing: border-box; margin-top: 6px; border: 1px solid var(--rt-linje); border-radius: 8px; padding: 12px 14px; background: var(--rt-kort); font: 400 14.5px/1.4 Inter, sans-serif; color: var(--rt-blekk); }
.rt-skjema button { border: 0; cursor: pointer; }
.rt-skjema-kvittering { padding: 16px 18px; border-radius: 8px; background: #e7f0e9; color: #2f6b4f; font: 400 14.5px/1.5 Inter, sans-serif; margin-bottom: 16px; }
.rt-skjema-feil { padding: 16px 18px; border-radius: 8px; background: #f7e8e6; color: #a32d21; font: 400 14.5px/1.5 Inter, sans-serif; margin-bottom: 16px; }

/* ==== Trekkspill (FAQ o.l.) — gjenbrukbar på alle sider ==== */
.rt-acc { border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); margin-top: 10px; }
.rt-acc[open] { box-shadow: 0 0 0 1px var(--rt-nordsjo-strek); }
.rt-acc summary { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding: 20px 24px; cursor: pointer; list-style: none; font: 500 16px/1.4 Inter, sans-serif; color: var(--rt-blekk); }
.rt-acc summary::-webkit-details-marker { display: none; }
.rt-acc summary::after { content: '+'; flex: none; font: 400 20px/1 Inter, sans-serif; color: var(--rt-messing); }
.rt-acc[open] summary::after { content: '−'; }
.rt-acc-svar { padding: 0 24px 22px; font: 400 15px/1.7 Inter, sans-serif; color: var(--rt-sekundaer); }
.rt-acc-svar a { color: var(--rt-messing); }

/* ==== TABS-modal (bestillingsskjema) — overstyres til profilen ==== */
.tabs-modal .TABS .modal-header { background: var(--rt-natt); color: var(--rt-natt-tekst); }
.tabs-modal .TABS .btn-primary { background: var(--rt-gull); border-color: var(--rt-gull); color: var(--rt-blekk); }
.tabs-modal .TABS .btn-primary:hover { background: #e8c93e; border-color: #e8c93e; color: var(--rt-blekk); }
.tabs-modal .TABS .modal-content { border-radius: 8px; font-family: Inter, system-ui, sans-serif; }
.tabs-modal .TABS .form-control { border-radius: 8px; border-color: var(--rt-linje); }
.tabs-modal .TABS a { color: var(--rt-messing); }

/* ==== Pristabell (TABS) ==== */
.rt-pristabell h3 { margin: 28px 0 10px; font: 500 12px/1 Inter, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--rt-dempet); }
.rt-pristabell table { width: 100%; border-collapse: collapse; background: var(--rt-kort); border-radius: 8px; box-shadow: 0 0 0 1px var(--rt-linje); overflow: hidden; }
.rt-pristabell td { padding: 13px 18px; font: 400 14.5px/1.5 Inter, sans-serif; color: var(--rt-sekundaer); border-top: 1px solid var(--rt-linje); }
.rt-pris-for { color: var(--rt-dempet-alt); font-weight: 400; margin-right: 6px; }

/* ==== Kursmerker: «Nytt» og «Bare X igjen» i kurslistene ==== */
.rt-kursmerke { display: inline-block; margin-left: 10px; padding: 4px 9px; border-radius: 99px; font: 500 11.5px/1 Inter, sans-serif; vertical-align: 2px; }
.rt-kursmerke.er-nytt { background: var(--rt-nordsjo-baand); color: var(--rt-nordsjo-dyp); }
.rt-kursmerke.er-fullt-snart { background: var(--rt-gull); color: var(--rt-blekk); }

/* ==== Kursvarsel-abonnement (under kurslisten) ==== */
.rt-kursvarsel { margin: 44px var(--rt-side) 0; padding: 28px 32px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); }
.rt-kv-tittel { font: 500 20px/1.25 Inter, sans-serif; color: var(--rt-blekk); }
.rt-kv-tekst { margin: 8px 0 14px; font: 400 14.5px/1.6 Inter, sans-serif; color: var(--rt-dempet-alt); }
.rt-kv-felter { display: flex; gap: 10px; flex-wrap: wrap; }
.rt-kv-felter select, .rt-kv-felter input { padding: 13px 14px; border: 1px solid var(--rt-linje); border-radius: 8px; font: 400 14.5px/1 Inter, sans-serif; background: var(--rt-papir); }
.rt-kv-felter input[type="email"] { min-width: 220px; }
.rt-kv-samtykke { display: block; margin-top: 12px; font: 400 12.5px/1.5 Inter, sans-serif; color: var(--rt-dempet-alt); }
.rt-vl-kvittering { padding: 16px 20px; border-radius: 8px; background: var(--rt-nordsjo-baand); color: var(--rt-nordsjo-dyp); font: 400 15px/1.5 Inter, sans-serif; }

/* ==== Pakkesammenligner ==== */
.rt-pksml { overflow-x: auto; }
.rt-pksml table { width: 100%; border-collapse: collapse; background: var(--rt-kort); border-radius: 8px; box-shadow: 0 0 0 1px var(--rt-linje); overflow: hidden; }
.rt-pksml th, .rt-pksml td { padding: 13px 18px; font: 400 14.5px/1.5 Inter, sans-serif; color: var(--rt-sekundaer); border-top: 1px solid var(--rt-linje); text-align: center; }
.rt-pksml td:first-child, .rt-pksml th:first-child { text-align: left; color: var(--rt-blekk); }
.rt-pksml thead th { border-top: 0; font: 500 17px/1.3 Inter, sans-serif; color: var(--rt-blekk); vertical-align: top; padding-top: 22px; }
.rt-pksml .er-utvalgt { background: linear-gradient(160deg, #e7eef5 0%, #fdfcf9 100%); }
.rt-pksml-merke { display: block; margin: -6px auto 8px; width: max-content; padding: 4px 10px; border-radius: 99px; background: var(--rt-gull); color: var(--rt-blekk); font: 500 11.5px/1 Inter, sans-serif; }
.rt-pksml-pris { font: 500 24px/1 Inter, sans-serif; margin-top: 8px; }
.rt-pksml-mnd { font: 400 12.5px/1.4 Inter, sans-serif; color: #2c5883; margin-top: 5px; }
.rt-pksml-nei { color: var(--rt-dempet); }
.rt-pksml-spar td { font-weight: 500; color: var(--rt-blekk); }
.rt-pksml-kjop td { padding-bottom: 22px; }

/* ==== Kampanje koblet til kursdato ==== */
.rt-ka-kursinfo { margin: 14px 0; padding: 14px 18px; border-radius: 8px; background: var(--rt-nordsjo-baand); color: var(--rt-nordsjo-dyp); font: 400 14.5px/1.5 Inter, sans-serif; }

/* ==== Utskrift: rene prislister og kurskalendere, uten meny og knapper ==== */
@media print {
	.rt-topstripe, .rt-header, .rt-footer, footer, .rt-ctaband, .rt-kursfilter,
	.rt-kal-knapp, .rt-btn-gull, .rt-btn-tlf, .rt-btn-pakke-omriss, .rt-kal-ics,
	.rt-skiplenke, .rt-vl, .rt-hero-ctaer, #crisp-chatbox { display: none !important; }
	body { background: #fff !important; color: #000 !important; }
	.rt-sek, .rt-duo, .rt-kal-grid { padding-top: 12px !important; }
	.rt-pristabell table, .rt-kal-rad, .rt-kal-sidekort { box-shadow: none !important; border: 1px solid #ccc !important; break-inside: avoid; }
	.rt-pt-trekk { break-inside: avoid; }
	.rt-pt-trekk details, .rt-pristabell details { display: block; }
	.rt-pristabell details > *, .rt-pt-trekk > * { display: block !important; } /* trekkspill åpnes på papir */
	a { color: #000 !important; text-decoration: none; }
}

/* ==== Tilgjengelighet: hopp-til-innhold og synlig fokus ==== */
.rt-skiplenke { position: absolute; left: -9999px; top: 0; z-index: 1000; padding: 14px 22px; background: var(--rt-blekk); color: #fff; font: 500 15px/1 Inter, sans-serif; text-decoration: none; border-radius: 0 0 8px 0; }
.rt-skiplenke:focus { left: 0; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 2px solid var(--rt-nordsjo); outline-offset: 2px; }

/* ==== Prisliste-varianter: kort og trekkspill ==== */
.rt-pristabell.er-kort { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.rt-priskort-mini { padding: 20px 22px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); }
.rt-pk-mini-type { font: 500 11px/1 Inter, sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--rt-dempet); }
.rt-pk-mini-navn { font: 500 16px/1.3 Inter, sans-serif; color: var(--rt-blekk); margin-top: 8px; }
.rt-pk-mini-tid { font: 400 12.5px/1 Inter, sans-serif; color: var(--rt-dempet-alt); margin-top: 5px; }
.rt-pk-mini-pris { font: 500 20px/1 Inter, sans-serif; color: var(--rt-blekk); margin-top: 12px; }
.rt-pt-trekk { border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); margin-top: 10px; overflow: hidden; }
.rt-pt-trekk summary { cursor: pointer; padding: 16px 18px; font: 500 15px/1 Inter, sans-serif; color: var(--rt-blekk); list-style: none; display: flex; justify-content: space-between; }
.rt-pt-trekk summary::-webkit-details-marker { display: none; }
.rt-pt-trekk .rt-pt-antall { color: var(--rt-dempet-alt); font-weight: 400; }
.rt-pt-trekk table { box-shadow: none; border-radius: 0; }

/* ==== Kursliste: kompakt kortvisning + klassefilter ==== */
.rt-kurs-kortgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; }
.rt-kurskort { padding: 18px 20px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.rt-kk-dato { font: 500 13px/1 Inter, sans-serif; color: var(--rt-messing); }
.rt-kk-navn { font: 500 16px/1.3 Inter, sans-serif; color: var(--rt-blekk); }
.rt-kk-info { font: 400 13px/1.4 Inter, sans-serif; color: var(--rt-dempet-alt); }
.rt-kurskort .rt-kal-knapp { margin-top: 8px; }
.rt-kursfilter { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 18px; }
.rt-kursfilter button { padding: 9px 16px; border-radius: 99px; border: 1px solid var(--rt-linje); background: var(--rt-kort); font: 500 13.5px/1 Inter, sans-serif; color: var(--rt-sekundaer); cursor: pointer; }
.rt-kursfilter button.er-valgt { background: var(--rt-blekk); border-color: var(--rt-blekk); color: #fff; }
.rt-kf-etikett { align-self: center; font: 500 12px/1 Inter, sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--rt-dempet); margin-right: 4px; min-width: 52px; }
.rt-vis-flere { display: block; margin: 22px auto 0; padding: 14px 26px; border-radius: 99px; border: 1px solid var(--rt-linje); background: var(--rt-kort); font: 500 14.5px/1 Inter, sans-serif; color: var(--rt-blekk); cursor: pointer; }
@media (max-width: 900px) {
	.rt-pristabell.er-kort { grid-template-columns: 1fr 1fr; }
}
.rt-avtale-sats { font: 500 13px/1 Inter, sans-serif; color: var(--rt-messing); vertical-align: 4px; margin-left: 8px; }
.rt-pristabell tr:first-child td { border-top: 0; }
.rt-pristabell td.rt-pris { text-align: right; font-weight: 500; color: var(--rt-blekk); white-space: nowrap; font-variant-numeric: tabular-nums; }
.rt-pristabell .rt-varighet { color: var(--rt-dempet); font-size: 12.5px; }

@media (max-width: 900px) { :root { --rt-pad: 20px; } .rt-h2 { font-size: 30px; } .rt-sek { padding-top: 52px; } }

/* ---- Gutenberg-byggeklosser: kjerneblokker i temadrakt ---------------------
   Sider bygges med kjerneblokker (group/columns/table/details/buttons) i stedet
   for Tilpasset HTML. Reglene her kler blokk-markupen i eksisterende klasser. */
p.rt-kicker { margin: 0; }
p.rt-kicker::before { content: ""; width: 28px; height: 1px; background: var(--rt-gull); flex: none; }
.wp-block-button.is-style-rt-gull .wp-block-button__link { padding: 17px 26px; border-radius: 8px; border: 0; background: var(--rt-gull); color: var(--rt-blekk); font: 500 15px/1 Inter, sans-serif; text-decoration: none; }
.wp-block-button.is-style-rt-omriss .wp-block-button__link { padding: 15px 24px; border: 1px solid var(--rt-linje); border-radius: 8px; background: transparent; color: var(--rt-sekundaer); font: 400 14.5px/1 Inter, sans-serif; text-decoration: none; }
p.rt-acc-svar { margin: 0; }

/* ---- Delbetaling (bygget med Gutenberg-blokker) ---- */
.rt-dbt-duo { padding: 56px var(--rt-side) 0; align-items: flex-start; gap: 56px; }
.rt-dbt-sek { padding: 72px var(--rt-side) 0; }
.rt-dbt-h2-liten { margin: 0; font: 500 30px/1.2 Inter, sans-serif; letter-spacing: -.01em; color: var(--rt-blekk); }
.rt-dbt-kort { padding: 28px; border-radius: 8px; background: linear-gradient(160deg, #e7eef5 0%, #fdfcf9 100%); box-shadow: 0 0 0 1px var(--rt-nordsjo-strek); }
.rt-dbt-belop { display: flex; align-items: baseline; gap: 10px; }
.rt-dbt-tall { font: 500 52px/1 Inter, sans-serif; color: var(--rt-messing); }
.rt-dbt-permnd { font: 400 16px/1 Inter, sans-serif; color: #22415f; }
.rt-dbt-meta { font: 400 14px/1.5 Inter, sans-serif; color: var(--rt-dempet); margin-top: 10px; }
.rt-dbt-rader { display: flex; flex-direction: column; gap: 1px; background: rgba(32,30,29,.10); margin-top: 22px; }
.rt-dbt-rader > div { background: #eef2f6; display: flex; justify-content: space-between; gap: 24px; padding: 13px 2px; font: 400 14px/1.5 Inter, sans-serif; color: var(--rt-blekk); }
.rt-dbt-rader > div span:last-child { color: var(--rt-dempet); white-space: nowrap; }
.rt-dbt-kort .rt-btn-gull { display: block; text-align: center; margin-top: 24px; padding: 16px; }
.rt-dbt-ink { margin: 24px 0 0; }
.rt-dbt-ink table { border-collapse: collapse; width: 100%; }
.rt-dbt-ink td { padding: 16px 2px; font: 400 15px/1.5 Inter, sans-serif; color: var(--rt-blekk); border: 0; }
.rt-dbt-ink tr + tr td { border-top: 1px solid rgba(32,30,29,.10); }
.rt-dbt-ink td:last-child { text-align: right; color: var(--rt-dempet); white-space: nowrap; }
.rt-dbt-valg { margin-top: 32px; gap: 20px; }
.rt-dbt-valgkort { padding: 28px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); }
.rt-dbt-valgkort.er-utvalgt { background: linear-gradient(160deg, #e7eef5 0%, #fdfcf9 100%); box-shadow: 0 0 0 1px var(--rt-nordsjo-strek); }
.rt-dbt-valgkort p { margin: 12px 0 0; font: 400 14.5px/1.7 Inter, sans-serif; color: var(--rt-dempet-alt); }
.rt-dbt-valgkort p.rt-dbt-vk-etikett { margin: 0 0 12px; font: 500 11.5px/1 Inter, sans-serif; letter-spacing: .12em; color: var(--rt-messing); text-transform: uppercase; }
.rt-dbt-valgkort p.rt-dbt-vk-tittel { margin: 0; font: 500 19px/1.25 Inter, sans-serif; color: var(--rt-blekk); }
.rt-dbt-steg { margin-top: 40px; gap: 24px; }
.rt-dbt-steg .rt-trinn p { margin: 0; }
.rt-dbt-steg .rt-trinn p.rt-tr-tittel { margin-top: 20px; }
.rt-dbt-steg .rt-trinn p.rt-tr-tekst { margin-top: 9px; }
.rt-trinn hr.rt-tr-linje { position: relative; display: block; margin: 0; border: 0; width: 100%; height: 12px; background: none; overflow: visible; opacity: 1; }
.rt-trinn hr.rt-tr-linje::before { content: ""; position: absolute; left: 0; top: 0; width: 12px; height: 12px; border-radius: 50%; background: var(--rt-nordsjo-strek); }
.rt-trinn hr.rt-tr-linje::after { content: ""; position: absolute; left: 22px; right: 0; top: 5.5px; height: 1px; background: var(--rt-linje); }
.rt-trinn.er-steg1 hr.rt-tr-linje::before { background: #f5d752; box-shadow: 0 0 0 5px rgba(248,221,92,.2); }
.rt-trinn.er-steg1 hr.rt-tr-linje::after { background: linear-gradient(90deg, #5a90bf, #dcd8ce); }
.rt-trinn.er-steg2 hr.rt-tr-linje::before { background: #5a90bf; }
.rt-trinn.er-steg3 hr.rt-tr-linje::before { background: #c1d8e9; }
.rt-trinn.er-steg3 hr.rt-tr-linje::after { display: none; }
.rt-dbt-sporsmal { margin-top: 22px; max-width: 820px; }
@media (max-width: 900px) {
	.rt-dbt-tall { font-size: 40px; }
	.rt-dbt-duo, .rt-dbt-valg, .rt-dbt-steg { flex-wrap: wrap; }
	.rt-dbt-duo > .wp-block-column, .rt-dbt-valg > .wp-block-column, .rt-dbt-steg > .wp-block-column { flex-basis: 100% !important; }
}

/* ==== Sidespesifikk CSS — flyttet fra Tilpasset HTML-blokkene ved blokk-konverteringen ==== */
.rt-pris-inkl { display: block; font: 400 12.5px/1.5 Inter, sans-serif; color: var(--rt-dempet); margin-top: 2px; }

/* ---- Priser (bygget med Gutenberg-blokker) ---- */

/* Fane-strimmel (renderes av [rt_prisfaner]-kortkoden i functions.php) */
.rt-pr-faner { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 32px; padding-bottom: 8px; }
.rt-pr-fane { padding: 12px 18px; border: 0; border-radius: 99px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); color: var(--rt-sekundaer); font: 400 13.5px/1 Inter, sans-serif; cursor: pointer; }
.rt-pr-fane.er-valgt { box-shadow: 0 0 0 2px var(--rt-gull); color: var(--rt-blekk); font-weight: 500; }

/* Klassedeler (wp:group med tagName section + anchor pris-*) */
.rt-pr-del { padding: 56px var(--rt-side) 0; }
.rt-pr-del[hidden] { display: none; }

/* Hode: kicker/tittel/intro + bilde (wp:columns rt-pr-hode) */
.rt-pr-hode { gap: 56px; align-items: flex-end; padding-bottom: 32px; border-bottom: 1px solid rgba(32,30,29,.12); }
.rt-pr-hode > .wp-block-column:first-child { flex-grow: 1.15; }
h2.rt-pr-h2 { margin: 20px 0 0; font: 500 46px/1.06 Inter, sans-serif; letter-spacing: -.03em; color: var(--rt-blekk); }
p.rt-pr-intro { margin: 18px 0 0; max-width: 560px; font: 400 16px/1.65 Inter, sans-serif; color: #5b5850; text-wrap: pretty; }
.wp-block-image.rt-pr-bilde { margin: 0; }
.wp-block-image.rt-pr-bilde img { display: block; width: 100%; height: 220px; border-radius: 10px; object-fit: cover; }
/* Bildeplassholder: tom kolonne med klassen rt-pr-plass tegner den mørke flaten selv */
.wp-block-column.rt-pr-plass::before { content: ""; display: block; width: 100%; height: 220px; border-radius: 10px; background: #161826; }

/* Pakkekort (wp:columns rt-pr-pakker, kolonner med rt-pr-kort) */
.rt-pr-pakker { gap: 20px; margin-top: 32px; }
.wp-block-column.rt-pr-kort { padding: 26px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); display: flex; flex-direction: column; box-sizing: border-box; position: relative; overflow: hidden; }
.wp-block-column.rt-pr-kort.er-gull { box-shadow: 0 0 0 1px var(--rt-gull); }
/* Båndet er et avsnitt; kortets overflow:hidden klipper hjørnene (før: egen 150px-wrapper) */
p.rt-pr-baand { position: absolute; top: 26px; right: -56px; width: 200px; margin: 0; padding: 7px 22px; box-sizing: border-box; transform: rotate(45deg); white-space: nowrap; background: var(--rt-gull); color: var(--rt-blekk); font: 500 10px/1 Inter, sans-serif; letter-spacing: .1em; text-transform: uppercase; text-align: center; pointer-events: none; }
p.rt-pr-baand.er-noytral { background: var(--rt-linje); color: var(--rt-sekundaer); }
p.rt-pr-navn { margin: 0; padding-right: 104px; min-height: 24px; font: 500 17px/1.2 Inter, sans-serif; color: var(--rt-blekk); }
p.rt-pr-pris { margin: 14px 0 6px; font: 500 32px/1 Inter, sans-serif; color: var(--rt-blekk); }
p.rt-pr-timer { margin: 0 0 14px; padding-bottom: 14px; border-bottom: 1px solid rgba(32,30,29,.10); font: 500 13.5px/1.5 Inter, sans-serif; color: var(--rt-messing); }
ul.rt-pr-liste { list-style: none; margin: 0; padding: 0 0 26px; display: flex; flex-direction: column; gap: 8px; flex: 1; font: 400 13.5px/1.5 Inter, sans-serif; color: var(--rt-sekundaer); }
ul.rt-pr-liste li { margin: 0; }
/* Kjøpsknapp: wp:buttons (is-style-rt-gull / is-style-rt-omriss) i full bredde nederst i kortet */
.wp-block-buttons.rt-pr-kjop { margin-top: auto; }
.wp-block-buttons.rt-pr-kjop .wp-block-button { width: 100%; }
.wp-block-buttons.rt-pr-kjop .wp-block-button__link { display: block; width: 100%; box-sizing: border-box; text-align: center; padding: 15px; font-size: 14px; }

/* Pakkesammenligner (wp:details rt-pr-sml med wp:shortcode inni) */
.rt-pr-sml { margin-top: 26px; }
.rt-pr-sml > summary { cursor: pointer; padding: 16px 20px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); font: 500 15px/1.3 Inter, sans-serif; color: var(--rt-blekk); list-style-position: inside; }
.rt-pr-sml[open] > summary { border-radius: 8px 8px 0 0; margin-bottom: 14px; }

/* Enkeltpriser og tillegg (wp:columns rt-pr-tabeller; radene er wp:table rt-pr-linjer) */
.rt-pr-tabeller { gap: 56px; margin-top: 40px; align-items: flex-start; }
p.rt-pr-etikett { margin: 0 0 16px; font: 500 11.5px/1 Inter, sans-serif; letter-spacing: .16em; color: var(--rt-dempet-alt); text-transform: uppercase; }
.rt-pr-tabeller .rt-pristabell h3:first-child { margin-top: 0; }
figure.wp-block-table.rt-pr-linjer { margin: 0; }
.rt-pr-linjer table { border-collapse: collapse; width: 100%; }
.rt-pr-linjer td { padding: 13px 2px; font: 400 14px/1.5 Inter, sans-serif; color: var(--rt-blekk); border: 0; }
.rt-pr-linjer tr + tr td { border-top: 1px solid rgba(32,30,29,.10); }
.rt-pr-linjer td:last-child { text-align: right; color: var(--rt-sekundaer); white-space: nowrap; }
p.rt-pr-fot { margin: 16px 0 0; font: 400 12.5px/1.6 Inter, sans-serif; color: var(--rt-dempet); }

/* Gebyrdelen (wp:columns rt-pr-gebyr-grid + sidekort som wp:group) */
.rt-pr-gebyr-grid { gap: 56px; align-items: flex-start; }
h2.rt-pr-h3 { margin: 0 0 20px; font: 500 30px/1.2 Inter, sans-serif; letter-spacing: -.02em; color: var(--rt-blekk); }
.wp-block-group.rt-pr-sidekort { padding: 28px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); }
.wp-block-group.rt-pr-sidekort.er-gull { box-shadow: 0 0 0 1px var(--rt-gull); }
.rt-pr-sidekort + .rt-pr-sidekort { margin-top: 20px; }
.rt-pr-sidekort p { margin: 12px 0 0; font: 400 14.5px/1.7 Inter, sans-serif; color: var(--rt-dempet-alt); }
.rt-pr-sidekort p.rt-pr-sk-tittel { margin: 0; font: 500 19px/1.2 Inter, sans-serif; color: var(--rt-blekk); }
.rt-pr-sidekort p a { color: var(--rt-messing); text-decoration: none; }
.wp-block-buttons.rt-pr-sk-knapp { margin-top: 22px; }
.wp-block-buttons.rt-pr-sk-knapp .wp-block-button { width: 100%; }
.wp-block-buttons.rt-pr-sk-knapp .wp-block-button__link { display: block; width: 100%; box-sizing: border-box; text-align: center; padding: 16px; font-size: 14.5px; }

@media (max-width: 900px) {
	.rt-pr-hode, .rt-pr-pakker, .rt-pr-tabeller, .rt-pr-gebyr-grid { flex-wrap: wrap; }
	.rt-pr-hode > .wp-block-column, .rt-pr-pakker > .wp-block-column, .rt-pr-tabeller > .wp-block-column, .rt-pr-gebyr-grid > .wp-block-column { flex-basis: 100% !important; }
	.rt-pr-hode { align-items: flex-start; }
	h2.rt-pr-h2 { font-size: 34px; }
}

/* ---- Kurs og klasser (bygget med Gutenberg-blokker) ---- */
.rt-kurs-klasser { padding: 56px var(--rt-side) 0; }
.rt-kurs-grid { gap: 20px; }
.rt-kurs-grid > .wp-block-column { display: flex; }
.rt-kurs-kort { display: block; width: 100%; border-radius: 8px; overflow: hidden; background: #fdfcf9; box-shadow: 0 0 0 1px #dcd8ce; text-decoration: none; color: #201e1d; }
.rt-kurs-kort.er-utvalgt { box-shadow: 0 0 0 1px #5a90bf; }
.rt-kurs-kort img { display: block; width: 100%; height: 180px; object-fit: cover; }
.rt-kurs-bilde { display: block; width: 100%; height: 180px; background: #161826; }
.rt-kurs-kort-innhold { padding: 26px; }
.rt-kurs-kort-tittel { font: 500 20px/1.2 Inter, sans-serif; }
.rt-kurs-kort-innhold p { margin: 12px 0 0; font: 400 14.5px/1.6 Inter, sans-serif; color: #6d6960; }
.rt-kurs-pris { font: 500 14.5px/1 Inter, sans-serif; color: #7a6413; margin-top: 20px; }
.rt-kurs-pris.er-dempet { color: #6d6960; }
.rt-kurs-h3 { margin: 0; font: 500 30px/1.2 Inter, sans-serif; letter-spacing: -.01em; color: #201e1d; }
.rt-kurs-intro { margin: 14px 0 0; max-width: 640px; font: 400 15px/1.65 Inter, sans-serif; color: #6d6960; }
.rt-kurs-kursgrid { flex-wrap: wrap !important; gap: 20px; margin-top: 32px; }
.rt-kurs-kursgrid > .wp-block-column { display: flex; flex: 0 0 calc((100% - 40px)/3); }
.rt-kurs-lite { display: block; width: 100%; box-sizing: border-box; padding: 26px; border-radius: 8px; background: #fdfcf9; box-shadow: 0 0 0 1px #dcd8ce; text-decoration: none; color: #201e1d; }
.rt-kurs-lite-tittel { font: 500 18px/1.25 Inter, sans-serif; }
.rt-kurs-lite p { margin: 11px 0 0; font: 400 14px/1.6 Inter, sans-serif; color: #6d6960; }
@media (max-width: 900px) {
	.rt-kurs-grid { flex-wrap: wrap !important; }
	.rt-kurs-grid > .wp-block-column { flex-basis: 100% !important; }
	.rt-kurs-kursgrid > .wp-block-column { flex-basis: 100% !important; }
}

/* ---- Kurskalender (bygget med Gutenberg-blokker) ---- */
/* Siden hadde ingen <style>, men blokk-markupen trenger disse justeringene:
   rt-kal-grid er nå wp:columns (global .rt-kal-grid har display:grid — reglene
   under gjør at layouten holder også om flex fra wp-block-columns vinner),
   og sidekort-tittel/gullknapp er nå paragraph/button-blokker. */
.wp-block-columns.rt-kal-grid { gap: 56px; }
.wp-block-columns.rt-kal-grid > .wp-block-column:first-child { flex-grow: 1.6; }
.rt-kal-sidekort p.rt-ks-tittel { margin: 0; }
.rt-kal-sidekort .wp-block-buttons { margin-top: 22px; }
.rt-kal-sidekort .wp-block-button { width: 100%; }
.rt-kal-sidekort .is-style-rt-gull .wp-block-button__link { display: block; width: 100%; box-sizing: border-box; text-align: center; padding: 16px; }
@media (max-width: 900px) {
	.rt-kal-grid { flex-wrap: wrap; }
	.wp-block-columns.rt-kal-grid > .wp-block-column { flex-basis: 100% !important; }
}

/* ---- Kontakt (bygget med Gutenberg-blokker) ---- */
.rt-kt-kortgrid { padding: 44px var(--rt-side) 0; gap: 16px; }
.rt-kt-kortgrid p, .rt-kt-kart p { margin: 0; }
.rt-kt-kontaktkort { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 26px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); text-decoration: none; color: var(--rt-blekk); }
.rt-kt-kk-etikett { display: block; font: 400 12.5px/1 Inter, sans-serif; color: var(--rt-dempet); }
.rt-kt-kk-verdi { display: block; font: 500 18px/1.2 Inter, sans-serif; margin-top: 8px; }
.rt-kt-pil { color: var(--rt-messing); }
.rt-kt-kart { padding: 20px var(--rt-side) 0; }
.rt-kt-kartkort { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; height: 260px; border-radius: 10px; background: var(--rt-natt); text-decoration: none; text-align: center; padding: 0 24px; }
.rt-kt-kartkort .rt-kt-adresse { font: 500 18px/1.3 Inter, sans-serif; color: var(--rt-natt-tekst); }
.rt-kt-kartkort .rt-kt-kartlenke { font: 400 14px/1 Inter, sans-serif; color: var(--rt-gull); }
.rt-kt-veilenke { display: inline-block; margin-top: 14px; font: 400 14px/1 Inter, sans-serif; color: var(--rt-messing); text-decoration: none; }
.rt-kt-duo { padding: 64px var(--rt-side) 0; gap: 56px; align-items: flex-start; }
.rt-kt-tider { display: flex; flex-direction: column; gap: 1px; background: rgba(32,30,29,.1); margin-top: 24px; }
.rt-kt-tider > div { background: var(--rt-papir); display: flex; justify-content: space-between; gap: 20px; padding: 15px 2px; font: 400 15px/1.5 Inter, sans-serif; color: var(--rt-blekk); }
.rt-kt-tider > div span:last-child { color: var(--rt-dempet); white-space: nowrap; }
.rt-kt-skjema { margin-top: 24px; }
@media (max-width: 900px) {
	.rt-kt-kortgrid, .rt-kt-duo { flex-wrap: wrap; }
	.rt-kt-kortgrid > .wp-block-column, .rt-kt-duo > .wp-block-column { flex-basis: 100% !important; }
	.rt-kt-duo { gap: 44px; }
}

/* ---- Påmelding (bygget med Gutenberg-blokker) ---- */
.rt-pm-grid { padding: 48px var(--rt-side) 0; gap: 56px; align-items: flex-start; }
.wp-block-columns.rt-pm-grid > .wp-block-column:first-child { flex-grow: 1.5; }
p.rt-pm-steg { margin: 0; font: 500 12px/1 Inter, sans-serif; letter-spacing: .12em; color: var(--rt-dempet); text-transform: uppercase; }
p.rt-pm-steg.er-senere { margin-top: 40px; }
.rt-pm-valg { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }
.rt-pm-valg p { margin: 0; }
.rt-pm-valgkort { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 20px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); text-decoration: none; }
.rt-pm-valgkort:hover { box-shadow: 0 0 0 1px var(--rt-nordsjo-strek); }
.rt-pm-valgkort span:first-child { font: 400 15.5px/1.2 Inter, sans-serif; color: var(--rt-sekundaer); }
.rt-pm-valgkort span:last-child { font: 400 14px/1 Inter, sans-serif; color: var(--rt-messing); flex: none; }
.wp-block-buttons.rt-pm-ga-rad { margin-top: 18px; }
.wp-block-button.rt-pm-ga .wp-block-button__link { display: inline-flex; align-items: center; gap: 9px; }
p.rt-pm-fotnote { margin-top: 12px; }
.rt-kal-sidekort p.rt-pm-tlfrad, .rt-kal-sidekort p.rt-pm-merlenke { margin: 14px 0 0; }
.rt-pm-sidekort-tlf { display: inline-block; }
.rt-pm-kursliste { margin-top: 32px; }
@media (max-width: 900px) {
	.rt-pm-grid { flex-wrap: wrap; }
	.rt-pm-grid > .wp-block-column { flex-basis: 100% !important; }
	.rt-pm-valg { grid-template-columns: 1fr; }
}

/* ---- Ofte spurt (bygget med Gutenberg-blokker) ---- */
.rt-faq-grid { padding: 44px var(--rt-side) 0; gap: 56px; align-items: flex-start; }
.wp-block-columns.rt-faq-grid > .wp-block-column:first-child { flex-grow: 1.6; }
@media (max-width: 900px) {
	.rt-faq-grid { flex-wrap: wrap; }
	.wp-block-columns.rt-faq-grid > .wp-block-column { flex-basis: 100% !important; }
}

/* ---- Elevomtaler (bygget med Gutenberg-blokker) ---- */
.rt-eo-snitt { display: flex; align-items: center; gap: 28px; margin: 44px var(--rt-side) 0; padding: 26px 30px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); }
.rt-eo-snitt > p { margin: 0; font: 400 14.5px/1.6 Inter, sans-serif; color: var(--rt-dempet); }
.rt-eo-tallblokk p.rt-eo-snitt-tall { margin: 0; font: 500 38px/1 Inter, sans-serif; color: var(--rt-blekk); }
.rt-eo-tallblokk p.rt-eo-snitt-stjerner { margin: 8px 0 0; color: var(--rt-messing); font-size: 12px; letter-spacing: 3px; }
hr.rt-eo-skille { margin: 0; border: 0; width: 1px; height: auto; align-self: stretch; background: rgba(32,30,29,.1); opacity: 1; }
.rt-eo-sek { padding: 32px var(--rt-side) 0; }
.rt-eo-grid { gap: 20px; flex-wrap: wrap !important; }
.wp-block-columns.rt-eo-grid > .wp-block-column { flex-basis: calc(50% - 10px) !important; flex-grow: 0; }
.rt-omtale p.rt-om-stjerner { margin: 0; }
p.rt-om-hvem::before { content: ""; width: 34px; height: 34px; border-radius: 50%; background: var(--rt-natt); flex: none; }
.wp-block-buttons.rt-eo-google { margin-top: 26px; }
@media (max-width: 900px) {
	.wp-block-columns.rt-eo-grid > .wp-block-column { flex-basis: 100% !important; }
}

/* ---- Om oss (bygget med Gutenberg-blokker) ---- */
.wp-block-spacer.rt-oo-herobilde { margin-top: 36px; margin-bottom: 44px; border-radius: 10px; background: var(--rt-natt); }
.wp-block-columns.rt-fakta { gap: 1px; flex-wrap: wrap !important; }
.rt-fakta p.rt-fakta-tall { margin: 0; }
.rt-fakta p.rt-fakta-tall-under { margin: 9px 0 0; }
.rt-oo-instr-grid { gap: 20px; margin-top: 28px; }
.wp-block-column.rt-oo-instr { display: flex; gap: 20px; padding: 24px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); }
.rt-oo-instr::before { content: ""; width: 110px; height: 138px; flex: none; border-radius: 8px; background: var(--rt-natt); }
.rt-oo-instr-tekst { min-width: 0; }
.rt-oo-instr p { margin: 12px 0 0; font: 400 14px/1.6 Inter, sans-serif; color: var(--rt-dempet); }
.rt-oo-instr p.rt-oo-instr-navn { margin: 0; font: 500 18px/1.2 Inter, sans-serif; color: var(--rt-blekk); }
.rt-oo-instr p.rt-oo-instr-rolle { margin: 6px 0 0; font: 400 13px/1.4 Inter, sans-serif; color: var(--rt-nordsjo); }
.rt-oo-steg { margin-top: 40px; gap: 24px; }
.rt-oo-steg .rt-trinn p { margin: 0; }
.rt-oo-steg .rt-trinn p.rt-tr-tittel { margin-top: 20px; }
.rt-oo-steg .rt-trinn p.rt-tr-tekst { margin-top: 9px; }
.rt-trinn.er-oo1 hr.rt-tr-linje::before { background: #f5d752; box-shadow: 0 0 0 4px rgba(248,221,92,.2); }
.rt-trinn.er-oo2 hr.rt-tr-linje::before { background: #33607f; }
.rt-trinn.er-oo3 hr.rt-tr-linje::before { background: #a9c4d9; }
.rt-trinn.er-oo4 hr.rt-tr-linje::before { background: #dcd8ce; }
.rt-trinn.er-oo4 hr.rt-tr-linje::after { display: none; }
@media (max-width: 900px) {
	.wp-block-spacer.rt-oo-herobilde { height: 260px !important; }
	.wp-block-columns.rt-fakta.er-3 > .wp-block-column { flex-basis: calc(50% - 1px) !important; flex-grow: 0; }
	.rt-oo-instr-grid { flex-wrap: wrap; }
	.rt-oo-instr-grid > .wp-block-column { flex-basis: 100% !important; }
	.rt-oo-steg { flex-wrap: wrap; }
	.wp-block-columns.rt-oo-steg > .wp-block-column { flex-basis: calc(50% - 12px) !important; flex-grow: 0; }
}

/* ---- Klasse B (bygget med Gutenberg-blokker) ---- */
/* Bildehero: bilde som wp:image-figur, gradient som ::after (dekorative div-er droppet).
   Delt med motorsykkel/tilhenger — samme regler ligger i deres CSS-filer, merge én gang. */
.rt-bildehero figure.rt-bildehero-bilde { margin: 0; }
.rt-bildehero-bilde img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rt-bildehero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(22,24,38,.94) 0%, rgba(22,24,38,.74) 42%, rgba(22,24,38,.3) 72%, rgba(22,24,38,.12) 100%); }
.rt-bildehero-innhold { z-index: 1; }
/* Omriss-knapp på natt-flate (erstatter rt-btn-omriss-lys) */
.rt-bildehero .wp-block-button.is-style-rt-omriss .wp-block-button__link { padding: 17px 26px; border: 1px solid rgba(233,233,237,.4); background: transparent; color: var(--rt-natt-tekst); font: 400 15px/1 Inter, sans-serif; }

/* Faktastripe som kolonner (flex fra wp-block-columns tar layouten) */
.wp-block-columns.rt-fakta { display: flex; gap: 1px; }
p.rt-fakta-tall { margin: 0; }
p.rt-fakta-tall-under { margin: 9px 0 0; }

/* Fire trinn som kolonner */
.wp-block-columns.rt-trinn-grid { display: flex; gap: 24px; margin-top: 40px; }
.rt-trinn-grid .rt-trinn p { margin: 0; }
.rt-trinn-grid .rt-trinn p.rt-tr-tittel { margin-top: 20px; }
.rt-trinn-grid .rt-trinn p.rt-tr-tekst { margin-top: 9px; }
.rt-trinn.er-steg3.har-strek hr.rt-tr-linje::after { display: block; }
.rt-trinn.er-steg4 hr.rt-tr-linje::before { background: #dcd8ce; }
.rt-trinn.er-steg4 hr.rt-tr-linje::after { display: none; }

/* Duo som kolonner (1.25fr / 1fr fra grid-oppsettet) */
.wp-block-columns.rt-duo { display: flex; gap: 56px; align-items: flex-start; }
.wp-block-columns.rt-duo > .wp-block-column:first-child { flex: 1.25 1 0; }
.wp-block-columns.rt-duo > .wp-block-column:last-child { flex: 1 1 0; }

/* Inkludert-liste som tabell (mønster fra rt-dbt-ink) */
.rt-kb-ink { margin: 24px 0 0; }
.rt-kb-ink table { border-collapse: collapse; width: 100%; }
.rt-kb-ink td { padding: 16px 2px; font: 400 15px/1.5 Inter, sans-serif; color: var(--rt-blekk); border: 0; }
.rt-kb-ink tr + tr td { border-top: 1px solid rgba(32,30,29,.10); }
.rt-kb-ink td:last-child { text-align: right; color: var(--rt-dempet-alt); white-space: nowrap; }

/* Infokort (automat) */
.rt-kb-infokort { margin-top: 32px; padding: 28px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); }
.rt-kb-infokort p { margin: 12px 0 0; font: 400 14.5px/1.7 Inter, sans-serif; color: var(--rt-dempet-alt); }
.rt-kb-infokort p.rt-kb-ik-tittel { margin: 0; font: 500 18px/1.25 Inter, sans-serif; color: var(--rt-blekk); }

/* Priskort som kolonne: blokk-knapper i full bredde (erstatter rt-pk-knapp/rt-pk-omriss) */
.rt-pk-hode p { margin: 0; }
.rt-priskort p.rt-pk-mnd { margin: 0; }
.rt-priskort .wp-block-buttons { flex-direction: column; gap: 10px; margin-top: 24px; }
.rt-priskort .wp-block-button { width: 100%; }
.rt-priskort .wp-block-button .wp-block-button__link { display: block; box-sizing: border-box; width: 100%; text-align: center; padding: 16px; font: 500 14.5px/1 Inter, sans-serif; }
.rt-priskort .wp-block-button.is-style-rt-omriss .wp-block-button__link { border: 1px solid var(--rt-nordsjo-strek); background: transparent; color: #2b5580; font: 400 14.5px/1 Inter, sans-serif; }

/* Ofte spurt (erstatter inline style margin-top/max-width) */
.rt-kb-sporsmal { margin-top: 22px; max-width: 820px; }

@media (max-width: 900px) {
	.wp-block-columns.rt-fakta, .wp-block-columns.rt-trinn-grid, .wp-block-columns.rt-duo { flex-wrap: wrap; }
	.wp-block-columns.rt-fakta > .wp-block-column { flex-basis: calc(50% - 1px) !important; }
	.wp-block-columns.rt-trinn-grid > .wp-block-column { flex-basis: calc(50% - 12px) !important; }
	.wp-block-columns.rt-duo > .wp-block-column { flex-basis: 100% !important; }
}

/* ---- Motorsykkel (bygget med Gutenberg-blokker) ---- */
/* Bildehero: bilde som wp:image-figur, gradient som ::after (dekorative div-er droppet).
   Delt med klasse-b/tilhenger — samme regler ligger i deres CSS-filer, merge én gang. */
/* Omriss-knapp på natt-flate (erstatter rt-btn-omriss-lys) */

/* Faktastripe som kolonner (flex fra wp-block-columns tar layouten; er-3 trenger ingen egen regel) */

/* Fire trinn som kolonner */

/* Duo som kolonner (1.25fr / 1fr fra grid-oppsettet) */

/* Inkludert-liste som tabell (mønster fra rt-dbt-ink) */
.rt-mc-ink { margin: 24px 0 0; }
.rt-mc-ink table { border-collapse: collapse; width: 100%; }
.rt-mc-ink td { padding: 16px 2px; font: 400 15px/1.5 Inter, sans-serif; color: var(--rt-blekk); border: 0; }
.rt-mc-ink tr + tr td { border-top: 1px solid rgba(32,30,29,.10); }
.rt-mc-ink td:last-child { text-align: right; color: var(--rt-dempet-alt); white-space: nowrap; }

/* Priskort som kolonne: blokk-knapper i full bredde (erstatter rt-pk-knapp/rt-pk-omriss) */

/* Ofte spurt (erstatter inline style margin-top/max-width) */
.rt-mc-sporsmal { margin-top: 22px; max-width: 820px; }

@media (max-width: 900px) {
	.wp-block-columns.rt-fakta, .wp-block-columns.rt-trinn-grid, .wp-block-columns.rt-duo { flex-wrap: wrap; }
	.wp-block-columns.rt-fakta > .wp-block-column { flex-basis: calc(50% - 1px) !important; }
	.wp-block-columns.rt-trinn-grid > .wp-block-column { flex-basis: calc(50% - 12px) !important; }
	.wp-block-columns.rt-duo > .wp-block-column { flex-basis: 100% !important; }
}

/* ---- Tilhenger (bygget med Gutenberg-blokker) ---- */
/* Bildehero uten bilde: tom plassholder-div droppet (seksjonen har allerede natt-bakgrunn),
   gradient som ::after. Delt med klasse-b/motorsykkel — samme regler i deres CSS-filer, merge én gang. */
/* Omriss-knapp på natt-flate (erstatter rt-btn-omriss-lys) */

/* Faktastripe som kolonner (flex fra wp-block-columns tar layouten; er-3 trenger ingen egen regel) */

/* Tre trinn som kolonner (var sidens egen .rt-th-trinn-grid) */
.wp-block-columns.rt-th-trinn-grid { gap: 24px; margin-top: 40px; }
.rt-th-trinn-grid .rt-trinn p { margin: 0; }
.rt-th-trinn-grid .rt-trinn p.rt-tr-tittel { margin-top: 20px; }
.rt-th-trinn-grid .rt-trinn p.rt-tr-tekst { margin-top: 9px; }

/* Duo som kolonner (1.25fr / 1fr fra grid-oppsettet) */

/* Inkludert-liste som tabell (mønster fra rt-dbt-ink) */
.rt-th-ink { margin: 24px 0 0; }
.rt-th-ink table { border-collapse: collapse; width: 100%; }
.rt-th-ink td { padding: 16px 2px; font: 400 15px/1.5 Inter, sans-serif; color: var(--rt-blekk); border: 0; }
.rt-th-ink tr + tr td { border-top: 1px solid rgba(32,30,29,.10); }
.rt-th-ink td:last-child { text-align: right; color: var(--rt-dempet-alt); white-space: nowrap; }

/* Priskort som kolonne: blokk-knapper i full bredde (erstatter rt-pk-knapp/rt-pk-omriss) */

/* Ofte spurt (erstatter inline style margin-top/max-width) */
.rt-th-sporsmal { margin-top: 22px; max-width: 820px; }

@media (max-width: 900px) {
	.wp-block-columns.rt-fakta, .wp-block-columns.rt-th-trinn-grid, .wp-block-columns.rt-duo { flex-wrap: wrap; }
	.wp-block-columns.rt-fakta > .wp-block-column { flex-basis: calc(50% - 1px) !important; }
	.wp-block-columns.rt-th-trinn-grid > .wp-block-column, .wp-block-columns.rt-duo > .wp-block-column { flex-basis: 100% !important; }
}

/* ---- Trafikalt grunnkurs (bygget med Gutenberg-blokker) ---- */
/* Teksthero som kolonner (bildeplass-div er nå en tom kolonne med klassen rt-bildeplass) */
.wp-block-columns.rt-teksthero { display: flex; gap: 56px; align-items: center; padding-bottom: 68px; }

/* Tallrad som kolonner (flex fra wp-block-columns tar layouten) */
.wp-block-columns.rt-tallrad { display: flex; gap: 1px; }
p.rt-tallrad-verdi { margin: 0; }
p.rt-tallrad-under { margin: 9px 0 0; }

/* Fem dager som kolonner */
.rt-trinn-grid.er-5 .rt-tr-tittel { font-size: 17px; }
/* Prikk-varianter (utfyller er-steg1–3 i style.css) */
.rt-trinn.er-steg-gull hr.rt-tr-linje::before { background: #f5d752; box-shadow: 0 0 0 5px rgba(248,221,92,.2); }
.rt-trinn.er-steg-sand hr.rt-tr-linje::before { background: #dcd8ce; }
.rt-trinn.uten-strek hr.rt-tr-linje::after { display: none; }

/* Merknadskort (fra sidens gamle <style>) */
.rt-tg-merk { margin-top: 32px; padding: 28px; border-radius: 8px; background: #fdfcf9; box-shadow: 0 0 0 1px #dcd8ce; }
.rt-tg-merk p { margin: 12px 0 0; max-width: 820px; font: 400 14.5px/1.7 Inter, sans-serif; color: #4a4740; }
.rt-tg-merk p.rt-tg-merk-tittel { margin: 0; max-width: none; font: 500 18px/1.25 Inter, sans-serif; color: #7a6413; }

/* Duo som kolonner (1.25fr / 1fr fra grid-oppsettet) */

/* Inkludert-liste som tabell (mønster fra rt-dbt-ink; uten er-papir-fargene) */
.rt-tg-ink { margin: 24px 0 0; }
.rt-tg-ink table { border-collapse: collapse; width: 100%; }
.rt-tg-ink td { padding: 16px 2px; font: 400 15px/1.5 Inter, sans-serif; border: 0; }
.rt-tg-ink tr + tr td { border-top: 1px solid rgba(32,30,29,.10); }
.rt-tg-ink td:last-child { text-align: right; }

/* Sidekort: tittel som avsnitt + gullknapp som blokk-knapp */
.rt-kal-sidekort .wp-block-button .wp-block-button__link { display: block; box-sizing: border-box; width: 100%; text-align: center; padding: 16px; }

/* Ofte spurt (erstatter inline style margin-top/max-width) */
.rt-tg-sporsmal { margin-top: 22px; max-width: 820px; }

@media (max-width: 900px) {
	.wp-block-columns.rt-teksthero, .wp-block-columns.rt-tallrad, .wp-block-columns.rt-trinn-grid, .wp-block-columns.rt-duo { flex-wrap: wrap; }
	.wp-block-columns.rt-teksthero { padding-bottom: 52px; }
	.wp-block-columns.rt-teksthero > .wp-block-column, .wp-block-columns.rt-duo > .wp-block-column { flex-basis: 100% !important; }
	.wp-block-columns.rt-tallrad > .wp-block-column { flex-basis: calc(50% - 1px) !important; }
	.wp-block-columns.rt-trinn-grid > .wp-block-column { flex-basis: calc(50% - 12px) !important; }
}

/* ---- Sikkerhetskurs (bygget med Gutenberg-blokker) ---- */
.rt-sikk-hero { padding: 64px var(--rt-side) 68px; background: radial-gradient(80% 110% at 0% 0%, #fdfcf9 0%, #f6f4ef 60%); }
.rt-sikk-hero h1 { margin: 22px 0 0; font: 500 52px/1.08 Inter, sans-serif; letter-spacing: -.03em; color: #201e1d; text-wrap: pretty; }
.rt-sikk-hero-kol { align-items: center; gap: 56px; }
.rt-sikk-hero-kol > .wp-block-column { align-self: center; }
.rt-sikk-intro { margin: 20px 0 0; max-width: 540px; font: 400 17px/1.65 Inter, sans-serif; color: #5b5850; text-wrap: pretty; }
.rt-sikk-tall { gap: 1px; background: rgba(32,30,29,.10); }
.rt-sikk-tall > .wp-block-column { background: #f6f4ef; padding: 28px; text-align: center; }
p.rt-sikk-tall-verdi { margin: 0; font: 500 28px/1 Inter, sans-serif; color: #201e1d; }
p.rt-sikk-tall-verdi.er-messing { color: #7a6413; }
p.rt-sikk-tall-under { margin: 9px 0 0; font: 400 13px/1.4 Inter, sans-serif; color: #6d6960; }
.rt-sikk-steg { margin-top: 40px; gap: 24px; }
.rt-sikk-steg .rt-trinn p { margin: 0; }
.rt-sikk-steg .rt-trinn p.rt-tr-tittel { margin-top: 20px; }
.rt-sikk-steg .rt-trinn p.rt-tr-tekst { margin-top: 9px; }
.rt-sikk-duo { align-items: flex-start; gap: 56px; }
.rt-sikk-duo > .wp-block-column { align-self: flex-start; }
.rt-sikk-duo > .wp-block-column:first-child { flex: 1.25 1 0; }
.rt-sikk-duo > .wp-block-column:last-child { flex: 1 1 0; }
.rt-sikk-h3 { margin: 0; font: 500 30px/1.2 Inter, sans-serif; letter-spacing: -.01em; color: #201e1d; }
.rt-sikk-liste { margin: 24px 0 0; }
.rt-sikk-liste table { border-collapse: collapse; width: 100%; }
.rt-sikk-liste td { padding: 16px 2px; font: 400 15px/1.5 Inter, sans-serif; color: #201e1d; border: 0; }
.rt-sikk-liste tr + tr td { border-top: 1px solid rgba(32,30,29,.10); }
.rt-sikk-liste td:last-child { text-align: right; color: #6d6960; white-space: nowrap; }
.rt-sikk-sporsmal { margin-top: 22px; max-width: 820px; }
.rt-kal-sidekort .wp-block-button.is-style-rt-gull .wp-block-button__link { display: block; width: 100%; box-sizing: border-box; text-align: center; padding: 16px; }
@media (max-width: 900px) {
	.rt-sikk-hero-kol, .rt-sikk-tall, .rt-sikk-steg, .rt-sikk-duo { flex-wrap: wrap !important; }
	.rt-sikk-hero-kol > .wp-block-column, .rt-sikk-steg > .wp-block-column, .rt-sikk-duo > .wp-block-column { flex-basis: 100% !important; }
	.rt-sikk-tall > .wp-block-column { flex: 0 0 calc(50% - .5px) !important; }
	.rt-sikk-hero h1 { font-size: 38px; }
}

/* ---- Mørkekjøring (bygget med Gutenberg-blokker) ---- */
.rt-mk-hero { align-items: center; gap: 56px; padding-bottom: 68px; }
.rt-mk-hero > .wp-block-column { align-self: center; }
.rt-kal-hero .rt-mk-hero h1 { font-size: 52px; }
.rt-kal-hero .rt-mk-hero .rt-kal-intro { max-width: 540px; }
.rt-mk-tall { gap: 1px; background: rgba(32,30,29,.10); }
.rt-mk-tall > .wp-block-column { background: #f6f4ef; padding: 28px; text-align: center; }
p.rt-mk-tall-verdi { margin: 0; font: 500 28px/1 Inter, sans-serif; color: #201e1d; }
p.rt-mk-tall-verdi.er-messing { color: #7a6413; }
p.rt-mk-tall-under { margin: 9px 0 0; font: 400 13px/1.4 Inter, sans-serif; color: #6d6960; }
.rt-mk-steg { margin-top: 40px; gap: 24px; }
.rt-mk-steg .rt-trinn p { margin: 0; }
.rt-mk-steg .rt-trinn p.rt-tr-tittel { margin-top: 20px; }
.rt-mk-steg .rt-trinn p.rt-tr-tekst { margin-top: 9px; }
.rt-mk-duo { align-items: flex-start; gap: 56px; }
.rt-mk-duo > .wp-block-column { align-self: flex-start; }
.rt-mk-duo > .wp-block-column:first-child { flex: 1.25 1 0; }
.rt-mk-duo > .wp-block-column:last-child { flex: 1 1 0; }
.rt-mk-ink { margin: 24px 0 0; }
.rt-mk-ink table { border-collapse: collapse; width: 100%; }
.rt-mk-ink td { padding: 16px 2px; font: 400 15px/1.5 Inter, sans-serif; color: #201e1d; border: 0; }
.rt-mk-ink tr + tr td { border-top: 1px solid rgba(32,30,29,.10); }
.rt-mk-ink td:last-child { text-align: right; color: #6d6960; white-space: nowrap; }
.rt-mk-sporsmal { margin-top: 22px; max-width: 820px; }
@media (max-width: 900px) {
	.rt-mk-hero, .rt-mk-tall, .rt-mk-steg, .rt-mk-duo { flex-wrap: wrap !important; }
	.rt-mk-hero > .wp-block-column, .rt-mk-duo > .wp-block-column { flex-basis: 100% !important; }
	.rt-mk-steg > .wp-block-column { flex: 0 0 calc(50% - 12px) !important; }
	.rt-mk-tall > .wp-block-column { flex: 0 0 calc(50% - .5px) !important; }
	.rt-mk-hero { gap: 32px; padding-bottom: 52px; }
	.rt-kal-hero .rt-mk-hero h1 { font-size: 38px; }
}

/* ---- Oppfriskningskjøring (bygget med Gutenberg-blokker) ---- */
.rt-oppf-hero { padding: 64px var(--rt-side) 68px; background: radial-gradient(80% 110% at 0% 0%, #fdfcf9 0%, #f6f4ef 60%); }
.rt-oppf-hero h1 { margin: 22px 0 0; font: 500 52px/1.08 Inter, sans-serif; letter-spacing: -.03em; color: #201e1d; text-wrap: pretty; }
.rt-oppf-hero-kol { align-items: center; gap: 56px; }
.rt-oppf-hero-kol > .wp-block-column { align-self: center; }
.rt-oppf-intro { margin: 20px 0 0; max-width: 540px; font: 400 17px/1.65 Inter, sans-serif; color: #5b5850; text-wrap: pretty; }
.rt-oppf-tall { gap: 1px; background: rgba(32,30,29,.10); }
.rt-oppf-tall > .wp-block-column { background: #f6f4ef; padding: 28px; text-align: center; }
p.rt-oppf-tall-verdi { margin: 0; font: 500 28px/1 Inter, sans-serif; color: #201e1d; }
p.rt-oppf-tall-verdi.er-messing { color: #7a6413; }
p.rt-oppf-tall-under { margin: 9px 0 0; font: 400 13px/1.4 Inter, sans-serif; color: #6d6960; }
.rt-oppf-steg { margin-top: 40px; gap: 24px; }
.rt-oppf-steg .rt-trinn p { margin: 0; }
.rt-oppf-steg .rt-trinn p.rt-tr-tittel { margin-top: 20px; }
.rt-oppf-steg .rt-trinn p.rt-tr-tekst { margin-top: 9px; }
.rt-oppf-duo { align-items: flex-start; gap: 56px; }
.rt-oppf-duo > .wp-block-column { align-self: flex-start; }
.rt-oppf-duo > .wp-block-column:first-child { flex: 1.25 1 0; }
.rt-oppf-duo > .wp-block-column:last-child { flex: 1 1 0; }
.rt-oppf-h3 { margin: 0; font: 500 30px/1.2 Inter, sans-serif; letter-spacing: -.01em; color: #201e1d; }
.rt-oppf-liste { margin: 24px 0 0; }
.rt-oppf-liste table { border-collapse: collapse; width: 100%; }
.rt-oppf-liste td { padding: 16px 2px; font: 400 15px/1.5 Inter, sans-serif; color: #201e1d; border: 0; }
.rt-oppf-liste tr + tr td { border-top: 1px solid rgba(32,30,29,.10); }
.rt-oppf-liste td:last-child { text-align: right; color: #6d6960; white-space: nowrap; }
.rt-oppf-sporsmal { margin-top: 22px; max-width: 820px; }
@media (max-width: 900px) {
	.rt-oppf-hero-kol, .rt-oppf-tall, .rt-oppf-steg, .rt-oppf-duo { flex-wrap: wrap !important; }
	.rt-oppf-hero-kol > .wp-block-column, .rt-oppf-steg > .wp-block-column, .rt-oppf-duo > .wp-block-column { flex-basis: 100% !important; }
	.rt-oppf-tall > .wp-block-column { flex: 0 0 calc(50% - .5px) !important; }
	.rt-oppf-hero h1 { font-size: 38px; }
}

/* ---- Førstehjelp (bygget med Gutenberg-blokker) ---- */
.rt-fh-hero { align-items: center; gap: 56px; padding-bottom: 68px; }
.rt-fh-hero > .wp-block-column { align-self: center; }
.rt-kal-hero .rt-fh-hero h1 { font-size: 52px; }
.rt-kal-hero .rt-fh-hero .rt-kal-intro { max-width: 540px; }
.rt-fh-tall { gap: 1px; background: rgba(32,30,29,.10); }
.rt-fh-tall > .wp-block-column { background: #f6f4ef; padding: 28px; text-align: center; }
p.rt-fh-tall-verdi { margin: 0; font: 500 28px/1 Inter, sans-serif; color: #201e1d; }
p.rt-fh-tall-verdi.er-messing { color: #7a6413; }
p.rt-fh-tall-under { margin: 9px 0 0; font: 400 13px/1.4 Inter, sans-serif; color: #6d6960; }
.rt-fh-steg { margin-top: 40px; gap: 24px; }
.rt-fh-steg .rt-trinn p { margin: 0; }
.rt-fh-steg .rt-trinn p.rt-tr-tittel { margin-top: 20px; }
.rt-fh-steg .rt-trinn p.rt-tr-tekst { margin-top: 9px; }
.rt-fh-duo { align-items: flex-start; gap: 56px; }
.rt-fh-duo > .wp-block-column { align-self: flex-start; }
.rt-fh-duo > .wp-block-column:first-child { flex: 1.25 1 0; }
.rt-fh-duo > .wp-block-column:last-child { flex: 1 1 0; }
.rt-fh-ink { margin: 24px 0 0; }
.rt-fh-ink table { border-collapse: collapse; width: 100%; }
.rt-fh-ink td { padding: 16px 2px; font: 400 15px/1.5 Inter, sans-serif; color: #201e1d; border: 0; }
.rt-fh-ink tr + tr td { border-top: 1px solid rgba(32,30,29,.10); }
.rt-fh-ink td:last-child { text-align: right; color: #6d6960; white-space: nowrap; }
.rt-fh-sporsmal { margin-top: 22px; max-width: 820px; }
@media (max-width: 900px) {
	.rt-fh-hero, .rt-fh-tall, .rt-fh-steg, .rt-fh-duo { flex-wrap: wrap !important; }
	.rt-fh-hero > .wp-block-column, .rt-fh-duo > .wp-block-column { flex-basis: 100% !important; }
	.rt-fh-steg > .wp-block-column { flex: 0 0 calc(50% - 12px) !important; }
	.rt-fh-tall > .wp-block-column { flex: 0 0 calc(50% - .5px) !important; }
	.rt-fh-hero { gap: 32px; padding-bottom: 52px; }
	.rt-kal-hero .rt-fh-hero h1 { font-size: 38px; }
}

/* Delbetalingsvelgeren (/delbetaling/) — klasse → pakke → betalingsmåter */
.rt-dbv { margin-top: 8px; }
.rt-dbv-etikett { font: 500 11.5px/1 Inter, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--rt-messing); margin: 40px 0 14px; }
.rt-dbv-klasser, .rt-dbv-pakker { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; }
.rt-dbv-pakker { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.rt-dbv-klasser button, .rt-dbv-pakker button { position: relative; border: 0; border-radius: 8px; padding: 16px; text-align: left; cursor: pointer; background: var(--rt-kort); color: var(--rt-blekk); box-shadow: 0 0 0 1px var(--rt-linje); display: flex; flex-direction: column; gap: 8px; font: 500 15px/1.25 Inter, sans-serif; }
.rt-dbv-klasser button.er-valgt, .rt-dbv-pakker button.er-valgt { box-shadow: 0 0 0 2px var(--rt-gull); }
.rt-dbv-klasser button span:last-child { font: 500 12.5px/1 Inter, sans-serif; color: var(--rt-messing); }
.rt-dbv-pk-merke { position: absolute; top: -10px; right: 12px; padding: 4px 10px; border-radius: 99px; background: var(--rt-gull); color: var(--rt-blekk); font: 500 11.5px/1 Inter, sans-serif; }
.rt-dbv-pk-pris { font: 500 20px/1 Inter, sans-serif; color: var(--rt-messing); }
.rt-dbv-inkl { margin: 0 0 18px; }
.rt-dbv-mater { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 20px; align-items: stretch; }
.rt-dbv-kort { padding: 24px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); }
.rt-dbv-kort.er-utvalgt { background: linear-gradient(160deg, #e7eef5 0%, #fdfcf9 100%); box-shadow: 0 0 0 1px var(--rt-nordsjo-strek); }
.rt-dbv-kort p { margin: 10px 0 0; font: 400 14px/1.6 Inter, sans-serif; color: var(--rt-dempet-alt); }
.rt-dbv-kort p.rt-dbv-vk-etikett { margin: 0 0 12px; font: 500 11.5px/1 Inter, sans-serif; letter-spacing: .12em; color: var(--rt-messing); text-transform: uppercase; }
.rt-dbv-kort p.rt-dbv-belop { margin: 0; font: 500 26px/1.15 Inter, sans-serif; color: var(--rt-blekk); }
.rt-dbv-kort.er-utvalgt p.rt-dbv-belop { color: var(--rt-messing); }
.rt-dbv-belop span { font: 400 14px/1 Inter, sans-serif; color: var(--rt-dempet); margin-left: 4px; }
.rt-dbv-kjop { display: inline-block; margin-top: 24px; padding: 15px 28px; }
@media (max-width: 700px) { .rt-dbv-klasser, .rt-dbv-pakker { grid-template-columns: 1fr 1fr; } }

/* ==== Delbetalingskalkulator [tabs_delbetaling_kalkulator] ====
   Tre moduser: velg pakke, sett budsjett, søk om beløp. Gjenbruker
   variablene og kortspråket fra rt-dbv over. */
/* To spalter: valg til venstre, prisen festet til høyre. Uten dette havner
   resultatet 1100 px under knappene, og eleven må scrolle for å se hva et
   valg gjorde med prisen — som er hele poenget med kalkulatoren. */
.rt-dbk { margin-top: 8px; }
.rt-dbk-rutenett { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 400px); gap: 32px; align-items: start; margin-top: 24px; }
.rt-dbk-panel { position: sticky; top: 24px; }
@media (max-width: 900px) {
	.rt-dbk-rutenett { grid-template-columns: 1fr; gap: 24px; }
	.rt-dbk-panel { position: static; }
}
.rt-dbk-moduser { display: flex; gap: 8px; flex-wrap: wrap; padding: 6px; border-radius: 10px; background: var(--rt-stripe); max-width: 640px; }
.rt-dbk-moduser button { flex: 1 1 auto; border: 0; border-radius: 7px; padding: 13px 18px; cursor: pointer; background: transparent; color: var(--rt-sekundaer); font: 500 14.5px/1 Inter, sans-serif; white-space: nowrap; }
.rt-dbk-moduser button.er-valgt { background: var(--rt-kort); color: var(--rt-blekk); box-shadow: 0 1px 3px rgba(32,30,29,.12); }
.rt-dbk p.rt-dbk-modusforklaring { margin: 0 0 22px; font: 400 15px/1.6 Inter, sans-serif; color: var(--rt-dempet-alt); }
.rt-dbk-felt { margin-top: 22px; }
.rt-dbk-valg > .rt-dbk-felt:first-of-type { margin-top: 0; }
.rt-dbk-felt[hidden] { display: none; }
.rt-dbk-etikett { display: block; font: 500 11.5px/1 Inter, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--rt-messing); margin: 0 0 10px; }
.rt-dbk-chips { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.rt-dbk-chips button { border: 0; border-radius: 8px; padding: 11px 13px; text-align: left; cursor: pointer; background: var(--rt-kort); color: var(--rt-blekk); box-shadow: 0 0 0 1px var(--rt-linje); display: flex; flex-direction: column; gap: 3px; font: 500 14px/1.25 Inter, sans-serif; }
/* Klassevalget er bare navn + kode — komprimeres så alle seks får plass
   på to rader også i den smale venstrespalten på nettbrett. */
.rt-dbk-felt[data-vis="pakke budsjett"]:first-of-type .rt-dbk-chips { grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); }
/* Nedbetalingstid er korte etiketter — flere får plass per rad. */
.rt-dbk-felt[data-vis="pakke belop"] .rt-dbk-chips { grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); }
.rt-dbk-chips button.er-valgt { box-shadow: 0 0 0 2px var(--rt-gull); }
.rt-dbk-chip-under { font: 400 12.5px/1.35 Inter, sans-serif; color: var(--rt-dempet); }
.rt-dbk-chip-pris { display: block; margin-bottom: 3px; font: 500 15px/1.2 Inter, sans-serif; color: var(--rt-messing); }
.rt-dbk-teller { display: flex; align-items: center; gap: 14px; }
.rt-dbk-teller button { width: 42px; height: 42px; border: 0; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); color: var(--rt-blekk); font: 500 19px/1 Inter, sans-serif; cursor: pointer; }
.rt-dbk-teller output { min-width: 46px; text-align: center; font: 500 19px/1 Inter, sans-serif; color: var(--rt-blekk); }
.rt-dbk-tall { display: flex; align-items: center; gap: 10px; font: 400 15px/1 Inter, sans-serif; color: var(--rt-dempet-alt); }
.rt-dbk-tall input { width: 170px; padding: 14px 16px; border: 0; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); color: var(--rt-blekk); font: 500 18px/1 Inter, sans-serif; }
.rt-dbk p.rt-dbk-hint { margin: 10px 0 0; font: 400 13.5px/1.6 Inter, sans-serif; color: var(--rt-dempet); }
.rt-dbk-innhold:not(:empty) { margin-top: 22px; padding: 14px 18px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); }
.rt-dbk-innhold[hidden] { display: none; }
.rt-dbk-innhold summary { cursor: pointer; list-style: none; font: 500 13.5px/1.3 Inter, sans-serif; color: var(--rt-sekundaer); }
.rt-dbk-innhold summary::-webkit-details-marker { display: none; }
.rt-dbk-innhold summary::before { content: "▸ "; color: var(--rt-messing); }
.rt-dbk-innhold[open] summary::before { content: "▾ "; }
.rt-dbk-innhold summary span { color: var(--rt-dempet); font-weight: 400; }
.rt-dbk-inn-liste { margin: 14px 0 2px; padding: 0; list-style: none; display: grid; gap: 8px; }
.rt-dbk-inn-liste li { font: 400 14.5px/1.5 Inter, sans-serif; color: var(--rt-sekundaer); padding-left: 22px; position: relative; }
.rt-dbk-inn-liste li::before { content: "✓"; position: absolute; left: 0; color: var(--rt-messing); font-size: 13px; }
.rt-dbk-inn-liste li strong { color: var(--rt-blekk); font-weight: 500; }
.rt-dbk-inn-regn { color: var(--rt-dempet); font-size: 13.5px; }
.rt-dbk-resultat { padding: 24px; border-radius: 10px; background: linear-gradient(160deg, #e7eef5 0%, #fdfcf9 100%); box-shadow: 0 0 0 1px var(--rt-nordsjo-strek); }
@media (max-width: 900px) { .rt-dbk-resultat { margin-top: 4px; } }
.rt-dbk p.rt-dbk-svar { margin: 0 0 18px; font: 400 16px/1.5 Inter, sans-serif; color: var(--rt-nordsjo-dyp); }
.rt-dbk p.rt-dbk-belop-stort { margin: 0; font: 500 38px/1.1 Inter, sans-serif; color: var(--rt-messing); }
.rt-dbk-belop-stort span { font: 400 15px/1 Inter, sans-serif; color: var(--rt-dempet); margin-left: 6px; }
.rt-dbk p.rt-dbk-kostnad { margin: 10px 0 0; font: 400 14.5px/1.6 Inter, sans-serif; color: var(--rt-sekundaer); }
.rt-dbk-tabell { width: 100%; margin: 24px 0 0; border-collapse: collapse; font: 400 14.5px/1.5 Inter, sans-serif; }
.rt-dbk-tabell td { padding: 11px 0; border-bottom: 1px solid rgba(32,30,29,.1); color: var(--rt-sekundaer); }
.rt-dbk-tabell td:last-child { text-align: right; white-space: nowrap; color: var(--rt-blekk); }
.rt-dbk-tabell tr.rt-dbk-sum td { border-bottom: 0; padding-top: 16px; font-weight: 500; color: var(--rt-blekk); font-size: 16px; }
.rt-dbk-plan { margin-top: 22px; border-top: 1px solid rgba(32,30,29,.12); padding-top: 18px; }
.rt-dbk-plan summary { cursor: pointer; font: 500 14.5px/1 Inter, sans-serif; color: var(--rt-nordsjo); list-style: none; padding: 4px 0; }
.rt-dbk-plan summary::-webkit-details-marker { display: none; }
.rt-dbk-plan summary::before { content: "▸ "; color: var(--rt-messing); }
.rt-dbk-plan[open] summary::before { content: "▾ "; }
.rt-dbk-plan-innhold { margin-top: 16px; }
.rt-dbk p.rt-dbk-plan-intro { margin: 0 0 14px; font: 400 14px/1.6 Inter, sans-serif; color: var(--rt-dempet-alt); }
.rt-dbk p.rt-dbk-plan-enkel { margin: 20px 0 0; padding-top: 18px; border-top: 1px solid rgba(32,30,29,.12); font: 400 14.5px/1.6 Inter, sans-serif; color: var(--rt-sekundaer); }
.rt-dbk-plan-innhold { overflow-x: auto; }
.rt-dbk-plantabell { width: 100%; min-width: 560px; border-collapse: collapse; font: 400 13.5px/1.4 Inter, sans-serif; }
.rt-dbk-plantabell th { text-align: right; padding: 9px 8px; border-bottom: 1px solid var(--rt-linje); font: 500 11.5px/1.3 Inter, sans-serif; letter-spacing: .06em; text-transform: uppercase; color: var(--rt-messing); white-space: nowrap; }
.rt-dbk-plantabell th:first-child, .rt-dbk-plantabell th:nth-child(2) { text-align: left; }
.rt-dbk-plantabell td { text-align: right; padding: 9px 8px; border-bottom: 1px solid rgba(32,30,29,.07); color: var(--rt-sekundaer); white-space: nowrap; }
.rt-dbk-plantabell td:first-child, .rt-dbk-plantabell td:nth-child(2) { text-align: left; color: var(--rt-dempet); }
.rt-dbk-plantabell td strong { color: var(--rt-blekk); font-weight: 500; }
.rt-dbk-plantabell tfoot td { border-bottom: 0; border-top: 1px solid var(--rt-linje); padding-top: 12px; font-weight: 500; color: var(--rt-blekk); }
/* ==== Søknadsskjema [tabs_delbetaling_soknad] ==== */
.rt-dbs { max-width: 780px; }
/* Fra 1200px er det plass til to spalter: skjemaet til venstre, sammendraget
   klebrig til høyre, slik at beløpet står synlig mens eleven fyller ut.
   Under brekkpunktet er alt som før — én spalte, sammendraget først. */
@media (min-width: 1200px) {
	.rt-dbs { max-width: 1180px; display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 48px; align-items: start; }
	.rt-dbs > .rt-dbs-feil { grid-column: 1 / -1; grid-row: 1; }
	.rt-dbs > .rt-dbs-skjema { grid-column: 1; grid-row: 2; margin-top: 0; }
	/* Sammendraget (med fotnoten inni) klebrer seg fast i høyre spalte, slik at
	   beløpet står synlig mens eleven fyller ut skjemaet. Det kommer først i
	   DOM, så begge festes til rad 2 for å havne side ved side. */
	.rt-dbs > .rt-dbs-sammendrag { grid-column: 2; grid-row: 2; align-self: start; position: sticky; top: 96px; }
}
.rt-dbs-sammendrag { padding: 28px; border-radius: 10px; background: linear-gradient(160deg, #e7eef5 0%, #fdfcf9 100%); box-shadow: 0 0 0 1px var(--rt-nordsjo-strek); }
.rt-dbs-sammendrag h2 { margin: 0 0 18px; font: 500 20px/1.2 Inter, sans-serif; color: var(--rt-blekk); }
.rt-dbs-tabell { width: 100%; border-collapse: collapse; font: 400 14.5px/1.5 Inter, sans-serif; }
.rt-dbs-tabell td { padding: 11px 0; border-bottom: 1px solid rgba(32,30,29,.1); color: var(--rt-sekundaer); }
.rt-dbs-tabell td:last-child { text-align: right; white-space: nowrap; color: var(--rt-blekk); }
.rt-dbs-tabell tr.rt-dbs-sum td { border-bottom: 0; padding-top: 16px; font-weight: 500; color: var(--rt-blekk); font-size: 16px; }
.rt-dbs-plan { margin-top: 18px; border-top: 1px solid rgba(32,30,29,.12); padding-top: 16px; }
.rt-dbs-plan summary { cursor: pointer; font: 500 14.5px/1 Inter, sans-serif; color: var(--rt-nordsjo); list-style: none; }
.rt-dbs-plan summary::-webkit-details-marker { display: none; }
.rt-dbs-plan summary::before { content: "▸ "; color: var(--rt-messing); }
.rt-dbs-plan[open] summary::before { content: "▾ "; }
.rt-dbs-plan-innhold { margin-top: 14px; overflow-x: auto; }
.rt-dbs-plantabell { width: 100%; min-width: 560px; border-collapse: collapse; font: 400 13.5px/1.4 Inter, sans-serif; }
.rt-dbs-plantabell th { text-align: right; padding: 9px 8px; border-bottom: 1px solid var(--rt-linje); font: 500 11.5px/1.3 Inter, sans-serif; letter-spacing: .06em; text-transform: uppercase; color: var(--rt-messing); white-space: nowrap; }
.rt-dbs-plantabell th:first-child, .rt-dbs-plantabell th:nth-child(2) { text-align: left; }
.rt-dbs-plantabell td { text-align: right; padding: 9px 8px; border-bottom: 1px solid rgba(32,30,29,.07); color: var(--rt-sekundaer); white-space: nowrap; }
.rt-dbs-plantabell td:first-child, .rt-dbs-plantabell td:nth-child(2) { text-align: left; color: var(--rt-dempet); }
.rt-dbs p.rt-dbs-fot { margin: 16px 0 0; font: 400 13px/1.6 Inter, sans-serif; color: var(--rt-dempet); }
.rt-dbs-skjema { margin-top: 40px; }
.rt-dbs-skjema h2 { margin: 36px 0 10px; font: 500 19px/1.2 Inter, sans-serif; color: var(--rt-blekk); }
.rt-dbs-skjema h2:first-child { margin-top: 0; }
.rt-dbs p.rt-dbs-hjelp { margin: 0 0 18px; font: 400 14px/1.6 Inter, sans-serif; color: var(--rt-dempet-alt); }
.rt-dbs-rad { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.rt-dbs-rad:has(.rt-dbs-felt:only-child) { grid-template-columns: 1fr; }
.rt-dbs-felt { display: flex; flex-direction: column; gap: 7px; }
.rt-dbs-felt label { font: 500 13.5px/1.3 Inter, sans-serif; color: var(--rt-sekundaer); }
.rt-dbs-pakrevd { color: var(--rt-messing); }
.rt-dbs-felt input { padding: 13px 15px; border: 0; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); color: var(--rt-blekk); font: 400 15px/1.3 Inter, sans-serif; }
.rt-dbs-felt input:focus { outline: 0; box-shadow: 0 0 0 2px var(--rt-nordsjo-strek); }
.rt-dbs-vilkar { display: grid; gap: 14px; margin: 18px 0 24px; padding: 22px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); }
.rt-dbs-avkryss { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: start; font: 400 14.5px/1.6 Inter, sans-serif; color: var(--rt-sekundaer); cursor: pointer; }
.rt-dbs-avkryss input { margin-top: 4px; width: 18px; height: 18px; accent-color: var(--rt-messing); }
.rt-dbs-hp { position: absolute; left: -9999px; }
.rt-dbs p.rt-dbs-send { margin: 28px 0 12px; }
.rt-dbs-send .rt-btn-gull { border: 0; cursor: pointer; font: 500 15px/1 Inter, sans-serif; }
.rt-dbs-feil { padding: 16px 20px; margin-bottom: 24px; border-radius: 8px; background: #fdeeee; box-shadow: 0 0 0 1px #e5b4b4; }
.rt-dbs-feil p { margin: 0; font: 400 14.5px/1.6 Inter, sans-serif; color: #8a2b2b; }
.rt-dbs-takk, .rt-dbs-tom { padding: 32px; border-radius: 10px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); }
.rt-dbs-takk h2 { margin: 0 0 14px; font: 500 22px/1.2 Inter, sans-serif; color: var(--rt-blekk); }
.rt-dbs-takk p, .rt-dbs-tom p { margin: 0 0 12px; font: 400 15px/1.6 Inter, sans-serif; color: var(--rt-sekundaer); }
@media (max-width: 700px) {
	.rt-dbs-rad { grid-template-columns: 1fr; }
	.rt-dbs-sammendrag { padding: 22px 18px; }
}

.rt-dbk-varsel { font: 400 15px/1.6 Inter, sans-serif; color: var(--rt-sekundaer); }
.rt-dbk-varsel p { margin: 0 0 10px; }
.rt-dbk-varsel p:last-child { margin-bottom: 0; }
.rt-dbk-handling { margin-top: 26px; }
.rt-dbk-handling .rt-btn-gull { border: 0; cursor: pointer; font: 500 15px/1 Inter, sans-serif; }
@media (max-width: 700px) {
	.rt-dbk-chips { grid-template-columns: 1fr 1fr; }
	.rt-dbk-resultat { padding: 22px 18px; }
	.rt-dbk p.rt-dbk-belop-stort { font-size: 32px; }
}

/* ==== Forside og kurs-kort som kjerneblokker (blokk-konverteringen aug. 2026) ====
   Forsiden og kortene på kurs-siden bygges nå med group/image/paragraph-blokker.
   Reglene her kler blokk-markupen i de eksisterende klassene: figur-marginer
   nulles, avsnitts-marginer strammes inn, og kortlenken strekkes over hele
   kortet med ::after (lenken ligger på tittelen — bedre for skjermlesere). */

/* Hero: bildet er nå en figur (wp:image) som fyller seksjonen */
.wp-block-image.rt-hero-bilde { margin: 0; }
.rt-hero-bilde img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Omriss-knapp på hero-natten (erstatter rt-btn-omriss-lys) */
.rt-hero .wp-block-button.is-style-rt-omriss .wp-block-button__link { padding: 17px 26px; border: 1px solid rgba(233,233,237,.4); background: transparent; color: var(--rt-natt-tekst); font: 400 15px/1 Inter, sans-serif; }

/* Tallbåndet: gruppene er celler, avsnittene tall og undertekst */
.rt-tall p { margin: 0; }

/* Seksjonshodenes pil-lenke ligger i et avsnitt */
p.rt-sek-lenke { margin: 0; }

/* Klassekort: figur + gradient + tekstgruppe; tittel-lenken dekker kortet.
   Kortet er egen stablingskontekst: bilde og gradient bak (z-index -1),
   tekstgruppen statisk i bunn (flex-end) — da posisjoneres lenkens ::after
   mot selve kortet og hele flaten blir klikkbar, som før konverteringen. */
.rt-klassekort { z-index: 0; display: flex; align-items: flex-end; }
.rt-klassekort .wp-block-image { margin: 0; }
.rt-klassekort img, .rt-klassekort .rt-kk-gradient { z-index: -1; }
.rt-klassekort .rt-kk-tekst { position: static; width: 100%; box-sizing: border-box; padding: 26px 24px; }
.rt-kk-tekst p { margin: 0; }
.rt-kk-tekst p.rt-kk-under { margin-top: 8px; }
.rt-kk-tekst p.rt-kk-pris { margin-top: 16px; }
.rt-klassekort a { color: inherit; text-decoration: none; }
.rt-klassekort p.rt-kk-tittel a::after { content: ""; position: absolute; inset: 0; }

/* Trinnraden: forsiden har fire steg — steg 3 beholder streken, steg 4 er uten */
.rt-trinn.har-strek hr.rt-tr-linje::after { display: block; }
.rt-trinn.er-steg4 hr.rt-tr-linje::before { background: #dcd8ce; }
.rt-trinn.er-steg4 hr.rt-tr-linje::after { display: none; }

/* Pakkekortene: avsnitts-marginer nulles, knappen får kortets luft */
.rt-pakkekort p { margin: 0; }
.rt-pakkekort .rt-pk-fot { margin-top: 18px; }
.rt-pakkekort .wp-block-buttons { margin-top: 26px; }

/* Delbetalingskortene */
.rt-delbkort p { margin: 0; }

/* Omtaler: stjernene øverst uten sitat-margin; hvem-linjen som vanlig avsnitt */
.rt-omtale p.rt-om-stjerner { margin: 0; }
.rt-omtale p.rt-om-hvem { display: block; }

/* Om oss: figuren uten margin, les-mer-lenken i eget avsnitt */
.rt-omoss .wp-block-image { margin: 0; }
p.rt-omoss-les { margin-top: 24px; }
.rt-omoss p.rt-omoss-les .rt-lenke-messing { margin-top: 0; }

/* Kurs-siden: kortene er grupper med lenket tittel som dekker hele kortet */
.rt-kurs-kort, .rt-kurs-lite { position: relative; }
.rt-kurs-kort .wp-block-image { margin: 0; }
.rt-kurs-kort a, .rt-kurs-lite a { color: inherit; text-decoration: none; }
h3.rt-kurs-kort-tittel, h3.rt-kurs-lite-tittel { margin: 0; }
.rt-kurs-kort-tittel a::after, .rt-kurs-lite-tittel a::after { content: ""; position: absolute; inset: 0; }
.rt-kurs-kort-innhold p.rt-kurs-pris { font: 500 14.5px/1 Inter, sans-serif; color: #7a6413; margin: 20px 0 0; }
.rt-kurs-kort-innhold p.rt-kurs-pris.er-dempet { color: #6d6960; }

/* WooCommerce-sidene: div.woocommerce får sidemargen --rt-side (352px per side
   på brede skjermer), men ligger allerede inne i en innholdsspalte som gir
   luften. Med content-box kommer padding i tillegg til bredden, så innholdet
   klemmes sammen — verst på min konto, der spalten blir 16px og WooCommerce
   sine 30%/68% ender på ~5px og ~11px oppå hverandre. På kasse og handlekurv
   krymper innholdet fra 1000px til 476px. Sidemargen hører ikke hjemme her. */
.woocommerce-account div.woocommerce,
.woocommerce-cart div.woocommerce,
.woocommerce-checkout div.woocommerce { padding-left: 0; padding-right: 0; }

/* ==== Elementor-tillegg (haandskrevet, bevares av generatoren) ========= */

/* Gullknappen bor her (ikke i kit-en). */
.elementor-widget-button .elementor-button {
	background-color: var(--rt-gull);
	color: var(--rt-blekk);
	border-radius: 8px;
	font-family: Inter, sans-serif;
	font-weight: 500;
}
.elementor-widget-button .elementor-button:hover,
.elementor-widget-button .elementor-button:focus {
	background-color: #efc93b;
	color: var(--rt-blekk);
}

/* Widget-wrappere er position:relative og kaprer absolutt-posisjonerte
   figurer (hero-bilder, gradienter) - gjor dem statiske. */
.e-con.wp-block-group .elementor-widget-text-editor,
.e-con.wp-block-column .elementor-widget-text-editor { position: static; }

/* Kolonner i grid-seksjoner: la forelderens grid styre sporene. */
.e-con.e-con.e-con.rt-duo > .e-con.wp-block-column,
.e-con.e-con.e-con.rt-eo-grid > .e-con.wp-block-column,
.e-con.e-con.e-con.rt-fakta > .e-con.wp-block-column,
.e-con.e-con.e-con.rt-faq-grid > .e-con.wp-block-column,
.e-con.e-con.e-con.rt-fh-duo > .e-con.wp-block-column,
.e-con.e-con.e-con.rt-kal-grid > .e-con.wp-block-column,
.e-con.e-con.e-con.rt-klassekort-grid > .e-con.wp-block-column,
.e-con.e-con.e-con.rt-kt-duo > .e-con.wp-block-column,
.e-con.e-con.e-con.rt-kt-kortgrid > .e-con.wp-block-column,
.e-con.e-con.e-con.rt-kurs-grid > .e-con.wp-block-column,
.e-con.e-con.e-con.rt-kurs-kursgrid > .e-con.wp-block-column,
.e-con.e-con.e-con.rt-mk-duo > .e-con.wp-block-column,
.e-con.e-con.e-con.rt-omtale-grid > .e-con.wp-block-column,
.e-con.e-con.e-con.rt-oo-instr-grid > .e-con.wp-block-column,
.e-con.e-con.e-con.rt-oppf-duo > .e-con.wp-block-column,
.e-con.e-con.e-con.rt-pakke-duo > .e-con.wp-block-column,
.e-con.e-con.e-con.rt-pm-grid > .e-con.wp-block-column,
.e-con.e-con.e-con.rt-pr-gebyr-grid > .e-con.wp-block-column,
.e-con.e-con.e-con.rt-pr-hode > .e-con.wp-block-column,
.e-con.e-con.e-con.rt-pr-tabeller > .e-con.wp-block-column,
.e-con.e-con.e-con.rt-sikk-duo > .e-con.wp-block-column,
.e-con.e-con.e-con.rt-th-trinn-grid > .e-con.wp-block-column,
.e-con.e-con.e-con.rt-trinn-grid > .e-con.wp-block-column { width: 100%; }

/* Rader i konverterte seksjoner brytes kun paa smale flater. */
@media (max-width: 1024px) {
	.e-con.wp-block-columns, .e-con.wp-block-group { flex-wrap: wrap; }
}

/* Sidekurven (Pro Menu Cart): Kasse baerer gullet, vis-kurv er sekundaer. */
.elementor-menu-cart__footer-buttons .elementor-button--checkout {
	background: var(--rt-gull); color: var(--rt-blekk);
}
.elementor-menu-cart__footer-buttons .elementor-button--checkout:hover { background: #efc93b; color: var(--rt-blekk); }
.elementor-menu-cart__footer-buttons .elementor-button--view-cart {
	background: var(--rt-stripe); color: var(--rt-blekk); box-shadow: 0 0 0 1px var(--rt-linje);
}
.elementor-menu-cart__footer-buttons .elementor-button--view-cart:hover { background: var(--rt-kort); color: var(--rt-blekk); }

/* Sidekurven (Pro Menu Cart) i merkevaredrakt. */
.elementor-menu-cart__main{background:var(--rt-kort) !important;border-left:1px solid var(--rt-linje);box-shadow:-8px 0 30px rgba(22,24,38,.18);font-family:Inter,sans-serif;padding:28px 24px}
.elementor-menu-cart__main *{font-family:Inter,sans-serif !important}
.elementor-menu-cart__products .woocommerce-mini-cart-item a{color:var(--rt-blekk);text-decoration:none;font-weight:500}
.elementor-menu-cart__products .woocommerce-mini-cart-item{border-bottom:1px solid var(--rt-linje);padding:14px 0}
.elementor-menu-cart__products .quantity, .elementor-menu-cart__products .woocommerce-Price-amount{color:var(--rt-sekundaer);font-weight:400}
.elementor-menu-cart__subtotal{font:500 17px/1.4 Inter,sans-serif !important;color:var(--rt-blekk);border-top:1px solid var(--rt-linje);padding-top:16px}
.elementor-menu-cart__footer-buttons .elementor-button--checkout{background:var(--rt-gull) !important;color:var(--rt-blekk) !important;border-radius:8px !important;font-weight:500 !important}
.elementor-menu-cart__footer-buttons .elementor-button--checkout:hover{background:#efc93b !important}
.elementor-menu-cart__footer-buttons .elementor-button--view-cart{background:var(--rt-stripe) !important;color:var(--rt-blekk) !important;box-shadow:0 0 0 1px var(--rt-linje);border-radius:8px !important}
.elementor-menu-cart__close-button{color:var(--rt-dempet)}
.elementor-menu-cart__remove-item{color:var(--rt-dempet) !important}
a.added_to_cart{display:none !important}

/* Basetypografi — bar Woo-markup (kasse, handlekurv, min konto) har ingen
   temastiler etter at Hello-reset ble slaatt av. */
body{font-family:Inter,system-ui,sans-serif;color:var(--rt-blekk)}
h1,h2,h3,h4,h5{font-family:Inter,sans-serif;font-weight:500;letter-spacing:-.01em}
.woocommerce-info,.woocommerce-message{background:var(--rt-nordsjo-baand) !important;color:var(--rt-blekk) !important;border-top-color:var(--rt-nordsjo) !important;font-family:Inter,sans-serif}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{border:1px solid var(--rt-linje);border-radius:8px;padding:12px 14px;background:var(--rt-kort)}
.woocommerce form .form-row label{font:500 14px/1.4 Inter,sans-serif;color:var(--rt-sekundaer)}

/* Kassens elevfelter: valgkort i stedet for raa radioknapper. */
#rt_kjoper_type_field .woocommerce-input-wrapper{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}
#rt_kjoper_type_field label.radio{display:flex;align-items:center;gap:10px;margin:0;padding:14px 18px;background:var(--rt-kort);box-shadow:0 0 0 1px var(--rt-linje);border-radius:8px;cursor:pointer;font:500 14px/1.3 Inter,sans-serif;color:var(--rt-blekk)}
#rt_kjoper_type_field label.radio:has(input:checked){box-shadow:0 0 0 2px var(--rt-gull)}
#rt_kjoper_type_field input.input-radio{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
#rt_kjoper_type_field label.radio:has(input:focus-visible){outline:2px solid var(--rt-nordsjo);outline-offset:2px}
#rt_kjoper_type_field span.description{display:block;background:var(--rt-nordsjo-baand) !important;color:var(--rt-blekk) !important;border:0 !important;border-radius:8px;padding:12px 16px;margin-top:12px;font:400 13.5px/1.5 Inter,sans-serif}
#rt_kjoper_type_field span.description::before,#rt_kjoper_type_field span.description::after{display:none !important}
#rt_elev_navn_field,#rt_elev_fodselsdato_field{float:none !important;width:100% !important;max-width:360px;text-align:left !important;margin-left:0 !important}
#rt_elev_fodselsdato_field input{width:100%}

/* Fjern-kryss i kassens ordreoppsummering. */
a.rt-kasse-fjern{display:inline-block;width:18px;height:18px;line-height:18px;text-align:center;border-radius:99px;color:var(--rt-linje);text-decoration:none;font-size:13px;margin-right:4px;opacity:.7;transition:color .15s,opacity .15s}
a.rt-kasse-fjern:hover{color:var(--rt-feil);opacity:1}
.woocommerce-checkout-review-order-table th:first-child,.woocommerce-checkout-review-order-table td:first-child{padding-left:18px !important}
.e-con.e-con.e-con.rt-kal-hero{padding:64px var(--rt-side) 0 !important;display:flex !important;--display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;align-items:center;gap:56px}
.e-con.e-con.e-con.rt-kal-hero-hoved{flex:1 1 480px !important;min-width:0}
.e-con.e-con.e-con.rt-kal-hero-kort{flex:0 1 380px !important;min-width:300px}
@media (max-width:1024px){.e-con.e-con.e-con.rt-kal-hero-kort{flex:1 1 100% !important}}
/* Roalds CTA-komponent (Elementor 4, «Roalds CTA»): data-rt-attributter i stedet for
   klasser, fordi atomiske elementer rendrer sitt eget class-attributt og nettleseren
   forkaster vårt duplikat. Speiler .rt-ctaband-reglene. */
[data-rt="ctaband"]{width:auto !important;margin:76px var(--rt-side) 0 !important;padding:52px !important;border-radius:8px;background:linear-gradient(140deg,#dde8f1 0%,#cfdfec 100%) !important;display:flex !important;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap}
[data-rt="ctaband"]>div{width:auto !important;min-width:0}
[data-rt="cta-tittel"]{margin:0 !important;font:500 34px/1.15 Inter,sans-serif !important;letter-spacing:-.02em;color:var(--rt-blekk)}
[data-rt="ctaband"] p{margin:14px 0 0;font:400 15px/1.6 Inter,sans-serif;color:var(--rt-sekundaer)}
[data-rt="cta-knapper"]{display:flex !important;gap:12px;flex:none;flex-wrap:wrap;min-width:0}
[data-rt="btn-tlf"]{display:inline-block;padding:17px 24px !important;border:1px solid var(--rt-nordsjo-strek) !important;border-radius:8px;background:transparent !important;color:#22415f !important;font:400 15px/1 Inter,sans-serif !important;text-decoration:none}
[data-rt="btn-gull"]{display:inline-block;padding:17px 26px !important;border-radius:8px;background:var(--rt-gull) !important;color:var(--rt-blekk) !important;font:500 15px/1 Inter,sans-serif !important;text-decoration:none}
@media (max-width:640px){[data-rt="ctaband"]{padding:32px 24px !important}[data-rt="cta-knapper"]{flex-direction:column;width:100%;flex:1 1 100%}[data-rt="cta-knapper"]>a{text-align:center}}
/* Priskort: like knapper, side om side når det er plass */
.e-con.e-con.e-con.rt-priskort .wp-block-buttons{flex-direction:row !important;flex-wrap:wrap !important;align-items:stretch}
.e-con.e-con.e-con.rt-priskort .wp-block-buttons .wp-block-buttons{margin-top:0 !important;flex:1 1 220px;min-width:0;display:flex !important}
.e-con.e-con.e-con.rt-priskort .wp-block-buttons > .wp-block-button{flex:1 1 220px;width:auto !important;min-width:0}
.e-con.e-con.e-con.rt-priskort .wp-block-buttons .wp-block-buttons .wp-block-button{flex:1 1 auto;width:100% !important}
.e-con.e-con.e-con.rt-priskort .wp-block-button.is-style-rt-omriss .wp-block-button__link{padding:15px 16px}

/* ==== Elementor-kompat (autogenerert) ================================== */
.entry-content > .e-con.e-con.e-con.rt-kal-grid, .entry-content > .e-con.e-con.e-con.rt-faq-grid, .entry-content > .e-con.e-con.e-con.rt-tall { margin-block-start: 0 !important; }
.e-con.e-con.e-con.rt-hero-innhold > *, .e-con.e-con.e-con.rt-tall > *, .e-con.e-con.e-con.rt-klassekort-grid > *, .e-con.e-con.e-con.rt-klassekort > *, .e-con.e-con.e-con.rt-pakke-duo > *, .e-con.e-con.e-con.rt-omtale-grid > *, .e-con.e-con.e-con.rt-omoss > * { margin-block-start: 0 !important; }
/* ==== Seksjonsrammer ==== */
.e-con.e-con.e-con.rt-sek { padding: 76px var(--rt-side) 0; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-sek-hode { display: flex !important; align-items: baseline; justify-content: space-between; gap: 30px; flex-wrap: wrap !important; --display: flex !important; }
/* ==== Hero (forside) ==== */
.e-con.e-con.e-con.rt-hero { position: relative !important; min-height: 560px; overflow: hidden !important; background: var(--rt-natt); display: flex !important; flex-direction: column; --display: flex !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-hero-gradient { position: absolute !important; inset: 0; background: linear-gradient(90deg, rgba(22,24,38,.94) 0%, rgba(22,24,38,.74) 42%, rgba(22,24,38,.3) 72%, rgba(22,24,38,.12) 100%); }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-hero-innhold { position: relative !important; flex: 1; display: grid !important; grid-template-columns: 1fr 300px !important; align-items: end; gap: 48px; padding: 60px var(--rt-side) 46px; --display: grid !important; }
.e-con.e-con.e-con.rt-hero .rt-kicker { color: var(--rt-gull); }
.e-con.e-con.e-con.rt-hero .rt-kicker .rt-strek { width: 28px; height: 1px !important; background: var(--rt-gull); }
.e-con.e-con.e-con.rt-hero h1 { margin: 20px 0 0; max-width: 800px; font: 500 68px/1.03 Inter, sans-serif; letter-spacing: -.03em; color: #fff; text-wrap: pretty; }
.e-con.e-con.e-con.rt-hero .rt-hero-under { margin: 20px 0 0; max-width: 520px; font: 400 17px/1.65 Inter, sans-serif; color: var(--rt-natt-sub); text-wrap: pretty; }
/* ==== Tallbånd ==== */
.e-con.e-con.e-con.rt-tall { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 1px; background: rgba(32,30,29,.14); --display: grid !important; }
.e-con.e-con.e-con.rt-tall > div { background: var(--rt-nordsjo-baand); padding: 30px 28px; text-align: center; }
.e-con.e-con.e-con.rt-tall .rt-tall-verdi { font: 500 32px/1 Inter, sans-serif; color: var(--rt-blekk); }
.e-con.e-con.e-con.rt-tall .rt-tall-verdi.er-messing { color: var(--rt-messing); }
.e-con.e-con.e-con.rt-tall .rt-tall-under { font: 400 13px/1.4 Inter, sans-serif; color: var(--rt-sekundaer); margin-top: 9px; }
/* ==== Klassekort (foto) ==== */
.e-con.e-con.e-con.rt-klassekort-grid { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 20px; margin-top: 36px; --display: grid !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-klassekort { position: relative !important; display: block !important; height: 350px !important; border-radius: 8px; overflow: hidden !important; text-decoration: none; color: #fff; background: var(--rt-natt); --display: block !important; }
.e-con.e-con.e-con.rt-klassekort img { position: absolute !important; inset: 0; width: 100%; height: 100% !important; object-fit: cover; }
.e-con.e-con.e-con.rt-klassekort .e-con.e-con.e-con.rt-kk-gradient { position: absolute !important; inset: 0; background: linear-gradient(180deg, rgba(22,24,38,0) 34%, rgba(22,24,38,.55) 64%, rgba(22,24,38,.93) 100%); }
.e-con.e-con.e-con.rt-klassekort .e-con.e-con.e-con.rt-kk-tekst { position: absolute !important; left: 0; right: 0; bottom: 0; padding: 26px 24px; }
.e-con.e-con.e-con.rt-klassekort .rt-kk-tittel { font: 500 20px/1.2 Inter, sans-serif; }
.e-con.e-con.e-con.rt-klassekort .rt-kk-under { font: 400 13.5px/1.55 Inter, sans-serif; color: var(--rt-natt-sub); margin-top: 8px; }
.e-con.e-con.e-con.rt-klassekort .rt-kk-pris { font: 500 14px/1 Inter, sans-serif; color: var(--rt-gull); margin-top: 16px; }
.e-con.e-con.e-con.rt-klassekort .rt-kk-pris.er-dempet { color: #b9bdcf; }
/* ==== Fire trinn ==== */
.e-con.e-con.e-con.rt-trinn-grid { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 24px; margin-top: 40px; --display: grid !important; }
.e-con.e-con.e-con.rt-trinn .rt-tr-linje { display: flex !important; align-items: center; --display: flex !important; }
.e-con.e-con.e-con.rt-trinn .rt-tr-prikk { width: 12px; height: 12px !important; border-radius: 50%; flex: none; }
.e-con.e-con.e-con.rt-trinn .rt-tr-strek { flex: 1; height: 1px !important; background: var(--rt-linje); }
.e-con.e-con.e-con.rt-trinn .rt-tr-tittel { font: 500 18px/1.25 Inter, sans-serif; margin-top: 20px; color: var(--rt-blekk); }
.e-con.e-con.e-con.rt-trinn .rt-tr-tekst { font: 400 13.5px/1.6 Inter, sans-serif; color: var(--rt-dempet-alt); margin-top: 9px; }
/* ==== Pakkekort ==== */
.e-con.e-con.e-con.rt-pakke-duo { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 24px; --display: grid !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-pakkekort { padding: 32px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-pakkekort.er-utvalgt { background: linear-gradient(160deg, #e7eef5 0%, #fdfcf9 100%); box-shadow: 0 0 0 1px var(--rt-nordsjo-strek); }
.e-con.e-con.e-con.rt-pakkekort .e-con.e-con.e-con.rt-pk-hode { display: flex !important; align-items: baseline; justify-content: space-between; gap: 16px; --display: flex !important; }
.e-con.e-con.e-con.rt-pakkekort .rt-pk-navn { font: 500 20px/1.2 Inter, sans-serif; color: var(--rt-blekk); }
.e-con.e-con.e-con.rt-pakkekort .rt-pk-badge { font: 500 11.5px/1 Inter, sans-serif; padding: 6px 9px; border-radius: 4px; background: var(--rt-gull); color: var(--rt-blekk); }
.e-con.e-con.e-con.rt-pakkekort .e-con.e-con.e-con.rt-pk-pris { display: flex !important; align-items: baseline; gap: 9px; margin: 20px 0 6px; --display: flex !important; }
.e-con.e-con.e-con.rt-pakkekort .rt-pk-fra { font: 400 15px/1 Inter, sans-serif; color: #2c5883; }
.e-con.e-con.e-con.rt-pakkekort .rt-pk-belop { font: 500 40px/1 Inter, sans-serif; color: var(--rt-blekk); }
.e-con.e-con.e-con.rt-pakkekort .rt-pk-mnd { font: 400 13.5px/1.4 Inter, sans-serif; color: #2c5883; }
.e-con.e-con.e-con.rt-pakkekort .rt-pk-mnd.er-dempet { color: var(--rt-dempet-alt); }
.e-con.e-con.e-con.rt-pakkekort .e-con.e-con.e-con.rt-pk-innhold { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px 20px; margin-top: 24px; font: 400 14px/1.5 Inter, sans-serif; color: var(--rt-sekundaer); --display: grid !important; }
.e-con.e-con.e-con.rt-pakkekort .rt-pk-fot { margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(32,30,29,.10); font: 400 13px/1.6 Inter, sans-serif; color: #5b5850; }
.e-con.e-con.e-con.rt-pakkekort .rt-pk-fot a { color: var(--rt-messing); text-decoration: none; }
.e-con.e-con.e-con.rt-pakkekort .rt-btn-gull, .e-con.e-con.e-con.rt-pakkekort .rt-btn-pakke-omriss { margin-top: 26px; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-delbkort.er-utvalgt { box-shadow: 0 0 0 1px var(--rt-nordsjo-strek); }
/* ==== Omtaler ==== */
.e-con.e-con.e-con.rt-omtale-grid { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 20px; margin-top: 36px; --display: grid !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-omtale { padding: 26px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); }
.e-con.e-con.e-con.rt-omtale .rt-om-stjerner { color: var(--rt-messing); font-size: 13px; letter-spacing: 3px; }
.e-con.e-con.e-con.rt-omtale p { margin: 16px 0 0; font: 400 15px/1.65 Inter, sans-serif; color: var(--rt-blekk); text-wrap: pretty; }
.e-con.e-con.e-con.rt-omtale .rt-om-hvem { display: flex !important; align-items: center; gap: 12px; margin-top: 20px; font: 400 13px/1.4 Inter, sans-serif; color: var(--rt-dempet-alt); --display: flex !important; }
.e-con.e-con.e-con.rt-omtale .rt-om-hvem strong { color: var(--rt-blekk); font-weight: 500; }
/* ==== Om oss ==== */
.e-con.e-con.e-con.rt-omoss { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 56px; align-items: center; padding: 76px var(--rt-side) 0; --display: grid !important; }
.e-con.e-con.e-con.rt-omoss img { display: block !important; width: 100%; height: 380px !important; object-fit: cover; border-radius: 12px; --display: block !important; }
.e-con.e-con.e-con.rt-omoss p { margin: 20px 0 0; max-width: 520px; font: 400 16px/1.7 Inter, sans-serif; color: #5b5850; text-wrap: pretty; }
.e-con.e-con.e-con.rt-omoss p + p { margin-top: 14px; }
.e-con.e-con.e-con.rt-omoss .rt-lenke-messing { display: inline-block !important; margin-top: 24px; font-size: 14.5px; }
tilhenger) ==== */
.e-con.e-con.e-con.rt-bildehero { position: relative !important; height: 480px !important; overflow: hidden !important; background: var(--rt-natt); }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-bildehero-innhold { position: relative !important; display: flex !important; flex-direction: column; justify-content: center; height: 100% !important; padding: 0 var(--rt-side); color: #fff; --display: flex !important; }
.e-con.e-con.e-con.rt-bildehero .rt-kicker { color: var(--rt-gull); }
.e-con.e-con.e-con.rt-bildehero .rt-kicker .rt-strek { width: 28px; height: 1px !important; background: var(--rt-gull); }
.e-con.e-con.e-con.rt-bildehero h1 { margin: 22px 0 0; max-width: 640px; font: 500 54px/1.08 Inter, sans-serif; letter-spacing: -.03em; color: #fff; text-wrap: pretty; }
førstehjelp) ==== */
.e-con.e-con.e-con.rt-teksthero { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 56px; align-items: center; padding-bottom: 68px; --display: grid !important; }
.e-con.e-con.e-con.rt-teksthero h1 { font-size: 52px; }
.e-con.e-con.e-con.rt-teksthero .rt-kal-intro { max-width: 540px; }
/* ==== Tallrad — delt statistikkstripe (4 kolonner; .er-3 gir 3) ==== */
.e-con.e-con.e-con.rt-tallrad { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 1px; background: rgba(32,30,29,.10); --display: grid !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-tallrad.er-3 { grid-template-columns: repeat(3, 1fr) !important; }
.e-con.e-con.e-con.rt-tallrad > div { background: #f6f4ef; padding: 28px; text-align: center; }
/* ==== Duo — delt tokolonners innholdsseksjon ==== */
.e-con.e-con.e-con.rt-duo { display: grid !important; grid-template-columns: 1.25fr 1fr !important; gap: 56px; align-items: start; --display: grid !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-duo.har-luft { padding: 76px var(--rt-side) 0; }
tilhenger) ==== */
.e-con.e-con.e-con.rt-fakta { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 1px; background: rgba(32,30,29,.10); --display: grid !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-fakta.er-3 { grid-template-columns: repeat(3, 1fr) !important; }
.e-con.e-con.e-con.rt-fakta > div { background: var(--rt-papir); padding: 28px; }
tilhenger) ==== */
.e-con.e-con.e-con.rt-priskort { padding: 32px; border-radius: 8px; background: linear-gradient(160deg, #e7eef5 0%, #fdfcf9 100%); box-shadow: 0 0 0 1px var(--rt-nordsjo-strek); }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-pk-hode { display: flex !important; align-items: baseline; justify-content: space-between; gap: 16px; --display: flex !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-pk-pris { font: 500 38px/1 Inter, sans-serif; color: var(--rt-blekk); margin: 20px 0 6px; }
førstehjelp) ==== */
.e-con.e-con.e-con.rt-bildeplass { display: block !important; width: 100%; height: 380px !important; border-radius: 12px; background: #161826; --display: block !important; }
.e-con.e-con.e-con.rt-kurs-sek .rt-strek { width: 28px; height: 1px !important; background: var(--rt-gull); }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-trinn-grid.er-3 { grid-template-columns: repeat(3, 1fr) !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-trinn-grid.er-5 { grid-template-columns: repeat(5, 1fr) !important; }
design 6n) ==== */
.e-con.e-con.e-con.rt-kal-hero { padding: 64px var(--rt-side) 0; background: radial-gradient(80% 110% at 0% 0%, #fdfcf9 0%, #f6f4ef 60%); }
.e-con.e-con.e-con.rt-kal-hero h1 { margin: 22px 0 0; font: 500 56px/1.08 Inter, sans-serif; letter-spacing: -.03em; color: var(--rt-blekk); text-wrap: pretty; }
.e-con.e-con.e-con.rt-kal-hero .rt-kal-intro { margin: 20px 0 0; max-width: 700px; font: 400 17px/1.65 Inter, sans-serif; color: #5b5850; text-wrap: pretty; }
.e-con.e-con.e-con.rt-kal-hero .rt-kicker .rt-strek { width: 28px; height: 1px !important; background: var(--rt-gull); }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-kal-grid { display: grid !important; grid-template-columns: 1.6fr 1fr !important; gap: 56px; align-items: start; padding: 44px var(--rt-side) 0; --display: grid !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-kal-sidekort { padding: 28px; border-radius: 8px; background: linear-gradient(160deg, #e7eef5 0%, #fdfcf9 100%); box-shadow: 0 0 0 1px var(--rt-nordsjo-strek); }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-kal-sidekort.er-noytral { background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); margin-top: 20px; }
.e-con.e-con.e-con.rt-kal-sidekort .rt-ks-tittel { font: 500 19px/1.2 Inter, sans-serif; color: var(--rt-blekk); }
.e-con.e-con.e-con.rt-kal-sidekort p, .e-con.e-con.e-con.rt-kal-sidekort .rt-ks-linje { margin: 12px 0 0; font: 400 14.5px/1.7 Inter, sans-serif; color: var(--rt-dempet-alt); }
.e-con.e-con.e-con.rt-kal-sidekort .rt-btn-gull { display: block !important; text-align: center; margin-top: 22px; padding: 16px; --display: block !important; }
men får blå kantstrek. */
.e-con.e-con.e-con.rt-nb-rad.er-utvalgt { box-shadow: 0 0 0 1px var(--rt-nordsjo-strek); }
.rt-pksml .e-con.e-con.e-con.er-utvalgt { background: linear-gradient(160deg, #e7eef5 0%, #fdfcf9 100%); }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-dbt-sek { padding: 72px var(--rt-side) 0; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-dbt-valgkort.er-utvalgt { background: linear-gradient(160deg, #e7eef5 0%, #fdfcf9 100%); box-shadow: 0 0 0 1px var(--rt-nordsjo-strek); }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-dbt-steg { margin-top: 40px; gap: 24px; }
.e-con.e-con.e-con.rt-dbt-steg .rt-trinn p { margin: 0; }
.e-con.e-con.e-con.rt-dbt-steg .rt-trinn p.rt-tr-tittel { margin-top: 20px; }
.e-con.e-con.e-con.rt-dbt-steg .rt-trinn p.rt-tr-tekst { margin-top: 9px; }
.e-con.e-con.e-con.rt-trinn hr.rt-tr-linje { position: relative !important; display: block !important; margin: 0; border: 0; width: 100%; height: 12px !important; background: none; overflow: visible !important; opacity: 1; --display: block !important; }
.e-con.e-con.e-con.rt-trinn hr.rt-tr-linje::before { content: ""; position: absolute !important; left: 0; top: 0; width: 12px; height: 12px !important; border-radius: 50%; background: var(--rt-nordsjo-strek); }
.e-con.e-con.e-con.rt-trinn hr.rt-tr-linje::after { content: ""; position: absolute !important; left: 22px; right: 0; top: 5.5px; height: 1px !important; background: var(--rt-linje); }
.e-con.e-con.e-con.rt-trinn.er-steg1 hr.rt-tr-linje::before { background: #f5d752; box-shadow: 0 0 0 5px rgba(248,221,92,.2); }
.e-con.e-con.e-con.rt-trinn.er-steg1 hr.rt-tr-linje::after { background: linear-gradient(90deg, #5a90bf, #dcd8ce); }
.e-con.e-con.e-con.rt-trinn.er-steg2 hr.rt-tr-linje::before { background: #5a90bf; }
.e-con.e-con.e-con.rt-trinn.er-steg3 hr.rt-tr-linje::before { background: #c1d8e9; }
.e-con.e-con.e-con.rt-trinn.er-steg3 hr.rt-tr-linje::after { display: none !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-dbt-sporsmal { margin-top: 22px; max-width: 820px; }
/* Klassedeler (wp:group med tagName section + anchor pris-*) */
.e-con.e-con.e-con.rt-pr-del { padding: 56px var(--rt-side) 0; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-pr-del[hidden] { display: none !important; }
/* Hode: kicker/tittel/intro + bilde (wp:columns rt-pr-hode) */
.e-con.e-con.e-con.rt-pr-hode { gap: 56px; align-items: flex-end; padding-bottom: 32px; border-bottom: 1px solid rgba(32,30,29,.12); }
.e-con.e-con.e-con.rt-pr-hode > .e-con.e-con.e-con.wp-block-column:first-child { flex-grow: 1.15; }
/* Bildeplassholder: tom kolonne med klassen rt-pr-plass tegner den mørke flaten selv */
.e-con.e-con.e-con.wp-block-column.rt-pr-plass::before { content: ""; display: block !important; width: 100%; height: 220px !important; border-radius: 10px; background: #161826; --display: block !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.wp-block-column.rt-pr-kort { padding: 26px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); display: flex !important; flex-direction: column; box-sizing: border-box; position: relative !important; overflow: hidden !important; --display: flex !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.wp-block-column.rt-pr-kort.er-gull { box-shadow: 0 0 0 1px var(--rt-gull); }
p.e-con.e-con.e-con.e-con.e-con.e-con.rt-pr-baand.er-noytral { background: var(--rt-linje); color: var(--rt-sekundaer); }
/* Enkeltpriser og tillegg (wp:columns rt-pr-tabeller; radene er wp:table rt-pr-linjer) */
.e-con.e-con.e-con.rt-pr-tabeller { gap: 56px; margin-top: 40px; align-items: flex-start; }
.e-con.e-con.e-con.rt-pr-tabeller .rt-pristabell h3:first-child { margin-top: 0; }
/* Gebyrdelen (wp:columns rt-pr-gebyr-grid + sidekort som wp:group) */
.e-con.e-con.e-con.rt-pr-gebyr-grid { gap: 56px; align-items: flex-start; }
.e-con.e-con.e-con.e-con.e-con.e-con.wp-block-group.rt-pr-sidekort { padding: 28px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); }
.e-con.e-con.e-con.e-con.e-con.e-con.wp-block-group.rt-pr-sidekort.er-gull { box-shadow: 0 0 0 1px var(--rt-gull); }
.e-con.e-con.e-con.rt-pr-sidekort + .e-con.e-con.e-con.rt-pr-sidekort { margin-top: 20px; }
.e-con.e-con.e-con.rt-pr-sidekort p { margin: 12px 0 0; font: 400 14.5px/1.7 Inter, sans-serif; color: var(--rt-dempet-alt); }
.e-con.e-con.e-con.rt-pr-sidekort p.rt-pr-sk-tittel { margin: 0; font: 500 19px/1.2 Inter, sans-serif; color: var(--rt-blekk); }
.e-con.e-con.e-con.rt-pr-sidekort p a { color: var(--rt-messing); text-decoration: none; }
/* ---- Kurs og klasser (bygget med Gutenberg-blokker) ---- */
.e-con.e-con.e-con.rt-kurs-klasser { padding: 56px var(--rt-side) 0; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-kurs-grid { gap: 20px; }
.e-con.e-con.e-con.rt-kurs-grid > .e-con.e-con.e-con.wp-block-column { display: flex !important; --display: flex !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-kurs-kort { display: block !important; width: 100%; border-radius: 8px; overflow: hidden !important; background: #fdfcf9; box-shadow: 0 0 0 1px #dcd8ce; text-decoration: none; color: #201e1d; --display: block !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-kurs-kort.er-utvalgt { box-shadow: 0 0 0 1px #5a90bf; }
.e-con.e-con.e-con.rt-kurs-kort img { display: block !important; width: 100%; height: 180px !important; object-fit: cover; --display: block !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-kurs-bilde { display: block !important; width: 100%; height: 180px !important; background: #161826; --display: block !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-kurs-kort-innhold { padding: 26px; }
.e-con.e-con.e-con.rt-kurs-kort-innhold p { margin: 12px 0 0; font: 400 14.5px/1.6 Inter, sans-serif; color: #6d6960; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-kurs-kursgrid { flex-wrap: wrap !important; gap: 20px; margin-top: 32px; }
.e-con.e-con.e-con.rt-kurs-kursgrid > .e-con.e-con.e-con.wp-block-column { display: flex !important; flex: 0 0 calc((100% - 40px)/3); --display: flex !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-kurs-lite { display: block !important; width: 100%; box-sizing: border-box; padding: 26px; border-radius: 8px; background: #fdfcf9; box-shadow: 0 0 0 1px #dcd8ce; text-decoration: none; color: #201e1d; --display: block !important; }
.e-con.e-con.e-con.rt-kurs-lite p { margin: 11px 0 0; font: 400 14px/1.6 Inter, sans-serif; color: #6d6960; }
og sidekort-tittel/gullknapp er nå paragraph/button-blokker. */
.e-con.e-con.e-con.wp-block-columns.rt-kal-grid { gap: 56px; }
.e-con.e-con.e-con.wp-block-columns.rt-kal-grid > .e-con.e-con.e-con.wp-block-column:first-child { flex-grow: 1.6; }
.e-con.e-con.e-con.rt-kal-sidekort p.rt-ks-tittel { margin: 0; }
.e-con.e-con.e-con.rt-kal-sidekort .wp-block-buttons { margin-top: 22px; }
.e-con.e-con.e-con.rt-kal-sidekort .wp-block-button { width: 100%; }
.e-con.e-con.e-con.rt-kal-sidekort .is-style-rt-gull .wp-block-button__link { display: block !important; width: 100%; box-sizing: border-box; text-align: center; padding: 16px; --display: block !important; }
/* ---- Kontakt (bygget med Gutenberg-blokker) ---- */
.e-con.e-con.e-con.rt-kt-kortgrid { padding: 44px var(--rt-side) 0; gap: 16px; }
.e-con.e-con.e-con.rt-kt-kortgrid p, .e-con.e-con.e-con.rt-kt-kart p { margin: 0; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-kt-kart { padding: 20px var(--rt-side) 0; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-kt-duo { padding: 64px var(--rt-side) 0; gap: 56px; align-items: flex-start; }
/* ---- Påmelding (bygget med Gutenberg-blokker) ---- */
.e-con.e-con.e-con.rt-pm-grid { padding: 48px var(--rt-side) 0; gap: 56px; align-items: flex-start; }
.e-con.e-con.e-con.wp-block-columns.rt-pm-grid > .e-con.e-con.e-con.wp-block-column:first-child { flex-grow: 1.5; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-pm-valg { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 12px; margin-top: 18px; --display: grid !important; }
.e-con.e-con.e-con.rt-pm-valg p { margin: 0; }
.e-con.e-con.e-con.rt-kal-sidekort p.rt-pm-tlfrad, .e-con.e-con.e-con.rt-kal-sidekort p.rt-pm-merlenke { margin: 14px 0 0; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-pm-kursliste { margin-top: 32px; }
/* ---- Ofte spurt (bygget med Gutenberg-blokker) ---- */
.e-con.e-con.e-con.rt-faq-grid { padding: 44px var(--rt-side) 0; gap: 56px; align-items: flex-start; }
.e-con.e-con.e-con.wp-block-columns.rt-faq-grid > .e-con.e-con.e-con.wp-block-column:first-child { flex-grow: 1.6; }
/* ---- Elevomtaler (bygget med Gutenberg-blokker) ---- */
.e-con.e-con.e-con.rt-eo-snitt { display: flex !important; align-items: center; gap: 28px; margin: 44px var(--rt-side) 0; padding: 26px 30px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); --display: flex !important; }
.e-con.e-con.e-con.rt-eo-snitt > p { margin: 0; font: 400 14.5px/1.6 Inter, sans-serif; color: var(--rt-dempet); }
.e-con.e-con.e-con.rt-eo-tallblokk p.rt-eo-snitt-tall { margin: 0; font: 500 38px/1 Inter, sans-serif; color: var(--rt-blekk); }
.e-con.e-con.e-con.rt-eo-tallblokk p.rt-eo-snitt-stjerner { margin: 8px 0 0; color: var(--rt-messing); font-size: 12px; letter-spacing: 3px; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-eo-sek { padding: 32px var(--rt-side) 0; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-eo-grid { gap: 20px; flex-wrap: wrap !important; }
.e-con.e-con.e-con.wp-block-columns.rt-eo-grid > .e-con.e-con.e-con.wp-block-column { flex-basis: calc(50% - 10px) !important; flex-grow: 0; }
.e-con.e-con.e-con.rt-omtale p.rt-om-stjerner { margin: 0; }
.e-con.e-con.e-con.e-con.e-con.e-con.wp-block-columns.rt-fakta { gap: 1px; flex-wrap: wrap !important; }
.e-con.e-con.e-con.rt-fakta p.rt-fakta-tall { margin: 0; }
.e-con.e-con.e-con.rt-fakta p.rt-fakta-tall-under { margin: 9px 0 0; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-oo-instr-grid { gap: 20px; margin-top: 28px; }
.e-con.e-con.e-con.e-con.e-con.e-con.wp-block-column.rt-oo-instr { display: flex !important; gap: 20px; padding: 24px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); --display: flex !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-oo-instr::before { content: ""; width: 110px; height: 138px !important; flex: none; border-radius: 8px; background: var(--rt-natt); }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-oo-instr-tekst { min-width: 0; }
.e-con.e-con.e-con.rt-oo-instr p { margin: 12px 0 0; font: 400 14px/1.6 Inter, sans-serif; color: var(--rt-dempet); }
.e-con.e-con.e-con.rt-oo-instr p.rt-oo-instr-navn { margin: 0; font: 500 18px/1.2 Inter, sans-serif; color: var(--rt-blekk); }
.e-con.e-con.e-con.rt-oo-instr p.rt-oo-instr-rolle { margin: 6px 0 0; font: 400 13px/1.4 Inter, sans-serif; color: var(--rt-nordsjo); }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-oo-steg { margin-top: 40px; gap: 24px; }
.e-con.e-con.e-con.rt-oo-steg .rt-trinn p { margin: 0; }
.e-con.e-con.e-con.rt-oo-steg .rt-trinn p.rt-tr-tittel { margin-top: 20px; }
.e-con.e-con.e-con.rt-oo-steg .rt-trinn p.rt-tr-tekst { margin-top: 9px; }
.e-con.e-con.e-con.rt-trinn.er-oo1 hr.rt-tr-linje::before { background: #f5d752; box-shadow: 0 0 0 4px rgba(248,221,92,.2); }
.e-con.e-con.e-con.rt-trinn.er-oo2 hr.rt-tr-linje::before { background: #33607f; }
.e-con.e-con.e-con.rt-trinn.er-oo3 hr.rt-tr-linje::before { background: #a9c4d9; }
.e-con.e-con.e-con.rt-trinn.er-oo4 hr.rt-tr-linje::before { background: #dcd8ce; }
.e-con.e-con.e-con.rt-trinn.er-oo4 hr.rt-tr-linje::after { display: none !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-bildehero::after { content: ""; position: absolute !important; inset: 0; background: linear-gradient(90deg, rgba(22,24,38,.94) 0%, rgba(22,24,38,.74) 42%, rgba(22,24,38,.3) 72%, rgba(22,24,38,.12) 100%); }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-bildehero-innhold { z-index: 1; }
/* Faktastripe som kolonner (flex fra wp-block-columns tar layouten) */
.e-con.e-con.e-con.wp-block-columns.rt-fakta { display: flex !important; gap: 1px; --display: flex !important; }
/* Fire trinn som kolonner */
.e-con.e-con.e-con.wp-block-columns.rt-trinn-grid { display: flex !important; gap: 24px; margin-top: 40px; --display: flex !important; }
.e-con.e-con.e-con.rt-trinn-grid .rt-trinn p { margin: 0; }
.e-con.e-con.e-con.rt-trinn-grid .rt-trinn p.rt-tr-tittel { margin-top: 20px; }
.e-con.e-con.e-con.rt-trinn-grid .rt-trinn p.rt-tr-tekst { margin-top: 9px; }
.e-con.e-con.e-con.rt-trinn.er-steg3.har-strek hr.rt-tr-linje::after { display: block !important; --display: block !important; }
.e-con.e-con.e-con.rt-trinn.er-steg4 hr.rt-tr-linje::before { background: #dcd8ce; }
.e-con.e-con.e-con.rt-trinn.er-steg4 hr.rt-tr-linje::after { display: none !important; }
/* Duo som kolonner (1.25fr / 1fr fra grid-oppsettet) */
.e-con.e-con.e-con.wp-block-columns.rt-duo { display: flex !important; gap: 56px; align-items: flex-start; --display: flex !important; }
.e-con.e-con.e-con.wp-block-columns.rt-duo > .e-con.e-con.e-con.wp-block-column:first-child { flex: 1.25 1 0; }
.e-con.e-con.e-con.wp-block-columns.rt-duo > .e-con.e-con.e-con.wp-block-column:last-child { flex: 1 1 0; }
/* Infokort (automat) */
.e-con.e-con.e-con.rt-kb-infokort { margin-top: 32px; padding: 28px; border-radius: 8px; background: var(--rt-kort); box-shadow: 0 0 0 1px var(--rt-linje); }
.e-con.e-con.e-con.rt-kb-infokort p { margin: 12px 0 0; font: 400 14.5px/1.7 Inter, sans-serif; color: var(--rt-dempet-alt); }
.e-con.e-con.e-con.rt-kb-infokort p.rt-kb-ik-tittel { margin: 0; font: 500 18px/1.25 Inter, sans-serif; color: var(--rt-blekk); }
.e-con.e-con.e-con.rt-priskort p.rt-pk-mnd { margin: 0; }
.e-con.e-con.e-con.rt-priskort .wp-block-buttons { flex-direction: column; gap: 10px; margin-top: 24px; }
.e-con.e-con.e-con.rt-priskort .wp-block-button { width: 100%; }
.e-con.e-con.e-con.rt-priskort .wp-block-button .wp-block-button__link { display: block !important; box-sizing: border-box; width: 100%; text-align: center; padding: 16px; font: 500 14.5px/1 Inter, sans-serif; --display: block !important; }
.e-con.e-con.e-con.rt-priskort .wp-block-button.is-style-rt-omriss .wp-block-button__link { border: 1px solid var(--rt-nordsjo-strek); background: transparent; color: #2b5580; font: 400 14.5px/1 Inter, sans-serif; }
/* Ofte spurt (erstatter inline style margin-top/max-width) */
.e-con.e-con.e-con.rt-kb-sporsmal { margin-top: 22px; max-width: 820px; }
/* Priskort som kolonne: blokk-knapper i full bredde (erstatter rt-pk-knapp/rt-pk-omriss) */

/* Ofte spurt (erstatter inline style margin-top/max-width) */
.e-con.e-con.e-con.rt-mc-sporsmal { margin-top: 22px; max-width: 820px; }
merge én gang. */
/* Omriss-knapp på natt-flate (erstatter rt-btn-omriss-lys) */

/* Faktastripe som kolonner (flex fra wp-block-columns tar layouten; er-3 trenger ingen egen regel) */

/* Tre trinn som kolonner (var sidens egen .rt-th-trinn-grid) */
.e-con.e-con.e-con.wp-block-columns.rt-th-trinn-grid { gap: 24px; margin-top: 40px; }
.e-con.e-con.e-con.rt-th-trinn-grid .rt-trinn p { margin: 0; }
.e-con.e-con.e-con.rt-th-trinn-grid .rt-trinn p.rt-tr-tittel { margin-top: 20px; }
.e-con.e-con.e-con.rt-th-trinn-grid .rt-trinn p.rt-tr-tekst { margin-top: 9px; }
/* Priskort som kolonne: blokk-knapper i full bredde (erstatter rt-pk-knapp/rt-pk-omriss) */

/* Ofte spurt (erstatter inline style margin-top/max-width) */
.e-con.e-con.e-con.rt-th-sporsmal { margin-top: 22px; max-width: 820px; }
/* ---- Trafikalt grunnkurs (bygget med Gutenberg-blokker) ---- */
/* Teksthero som kolonner (bildeplass-div er nå en tom kolonne med klassen rt-bildeplass) */
.e-con.e-con.e-con.wp-block-columns.rt-teksthero { display: flex !important; gap: 56px; align-items: center; padding-bottom: 68px; --display: flex !important; }
/* Tallrad som kolonner (flex fra wp-block-columns tar layouten) */
.e-con.e-con.e-con.wp-block-columns.rt-tallrad { display: flex !important; gap: 1px; --display: flex !important; }
.e-con.e-con.e-con.rt-trinn.er-steg-sand hr.rt-tr-linje::before { background: #dcd8ce; }
.e-con.e-con.e-con.rt-trinn.uten-strek hr.rt-tr-linje::after { display: none !important; }
/* Merknadskort (fra sidens gamle <style>) */
.e-con.e-con.e-con.rt-tg-merk { margin-top: 32px; padding: 28px; border-radius: 8px; background: #fdfcf9; box-shadow: 0 0 0 1px #dcd8ce; }
.e-con.e-con.e-con.rt-tg-merk p { margin: 12px 0 0; max-width: 820px; font: 400 14.5px/1.7 Inter, sans-serif; color: #4a4740; }
.e-con.e-con.e-con.rt-tg-merk p.rt-tg-merk-tittel { margin: 0; max-width: none; font: 500 18px/1.25 Inter, sans-serif; color: #7a6413; }
/* Ofte spurt (erstatter inline style margin-top/max-width) */
.e-con.e-con.e-con.rt-tg-sporsmal { margin-top: 22px; max-width: 820px; }
/* ---- Sikkerhetskurs (bygget med Gutenberg-blokker) ---- */
.e-con.e-con.e-con.rt-sikk-hero { padding: 64px var(--rt-side) 68px; background: radial-gradient(80% 110% at 0% 0%, #fdfcf9 0%, #f6f4ef 60%); }
.e-con.e-con.e-con.rt-sikk-hero h1 { margin: 22px 0 0; font: 500 52px/1.08 Inter, sans-serif; letter-spacing: -.03em; color: #201e1d; text-wrap: pretty; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-sikk-hero-kol { align-items: center; gap: 56px; }
.e-con.e-con.e-con.rt-sikk-hero-kol > .e-con.e-con.e-con.wp-block-column { align-self: center; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-sikk-tall { gap: 1px; background: rgba(32,30,29,.10); }
.e-con.e-con.e-con.rt-sikk-tall > .e-con.e-con.e-con.wp-block-column { background: #f6f4ef; padding: 28px; text-align: center; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-sikk-steg { margin-top: 40px; gap: 24px; }
.e-con.e-con.e-con.rt-sikk-steg .rt-trinn p { margin: 0; }
.e-con.e-con.e-con.rt-sikk-steg .rt-trinn p.rt-tr-tittel { margin-top: 20px; }
.e-con.e-con.e-con.rt-sikk-steg .rt-trinn p.rt-tr-tekst { margin-top: 9px; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-sikk-duo { align-items: flex-start; gap: 56px; }
.e-con.e-con.e-con.rt-sikk-duo > .e-con.e-con.e-con.wp-block-column { align-self: flex-start; }
.e-con.e-con.e-con.rt-sikk-duo > .e-con.e-con.e-con.wp-block-column:first-child { flex: 1.25 1 0; }
.e-con.e-con.e-con.rt-sikk-duo > .e-con.e-con.e-con.wp-block-column:last-child { flex: 1 1 0; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-sikk-sporsmal { margin-top: 22px; max-width: 820px; }
.e-con.e-con.e-con.rt-kal-sidekort .wp-block-button.is-style-rt-gull .wp-block-button__link { display: block !important; width: 100%; box-sizing: border-box; text-align: center; padding: 16px; --display: block !important; }
/* ---- Mørkekjøring (bygget med Gutenberg-blokker) ---- */
.e-con.e-con.e-con.rt-mk-hero { align-items: center; gap: 56px; padding-bottom: 68px; }
.e-con.e-con.e-con.rt-mk-hero > .e-con.e-con.e-con.wp-block-column { align-self: center; }
.e-con.e-con.e-con.rt-kal-hero .rt-mk-hero h1 { font-size: 52px; }
.e-con.e-con.e-con.rt-kal-hero .rt-mk-hero .rt-kal-intro { max-width: 540px; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-mk-tall { gap: 1px; background: rgba(32,30,29,.10); }
.e-con.e-con.e-con.rt-mk-tall > .e-con.e-con.e-con.wp-block-column { background: #f6f4ef; padding: 28px; text-align: center; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-mk-steg { margin-top: 40px; gap: 24px; }
.e-con.e-con.e-con.rt-mk-steg .rt-trinn p { margin: 0; }
.e-con.e-con.e-con.rt-mk-steg .rt-trinn p.rt-tr-tittel { margin-top: 20px; }
.e-con.e-con.e-con.rt-mk-steg .rt-trinn p.rt-tr-tekst { margin-top: 9px; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-mk-duo { align-items: flex-start; gap: 56px; }
.e-con.e-con.e-con.rt-mk-duo > .e-con.e-con.e-con.wp-block-column { align-self: flex-start; }
.e-con.e-con.e-con.rt-mk-duo > .e-con.e-con.e-con.wp-block-column:first-child { flex: 1.25 1 0; }
.e-con.e-con.e-con.rt-mk-duo > .e-con.e-con.e-con.wp-block-column:last-child { flex: 1 1 0; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-mk-sporsmal { margin-top: 22px; max-width: 820px; }
/* ---- Oppfriskningskjøring (bygget med Gutenberg-blokker) ---- */
.e-con.e-con.e-con.rt-oppf-hero { padding: 64px var(--rt-side) 68px; background: radial-gradient(80% 110% at 0% 0%, #fdfcf9 0%, #f6f4ef 60%); }
.e-con.e-con.e-con.rt-oppf-hero h1 { margin: 22px 0 0; font: 500 52px/1.08 Inter, sans-serif; letter-spacing: -.03em; color: #201e1d; text-wrap: pretty; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-oppf-hero-kol { align-items: center; gap: 56px; }
.e-con.e-con.e-con.rt-oppf-hero-kol > .e-con.e-con.e-con.wp-block-column { align-self: center; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-oppf-tall { gap: 1px; background: rgba(32,30,29,.10); }
.e-con.e-con.e-con.rt-oppf-tall > .e-con.e-con.e-con.wp-block-column { background: #f6f4ef; padding: 28px; text-align: center; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-oppf-steg { margin-top: 40px; gap: 24px; }
.e-con.e-con.e-con.rt-oppf-steg .rt-trinn p { margin: 0; }
.e-con.e-con.e-con.rt-oppf-steg .rt-trinn p.rt-tr-tittel { margin-top: 20px; }
.e-con.e-con.e-con.rt-oppf-steg .rt-trinn p.rt-tr-tekst { margin-top: 9px; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-oppf-duo { align-items: flex-start; gap: 56px; }
.e-con.e-con.e-con.rt-oppf-duo > .e-con.e-con.e-con.wp-block-column { align-self: flex-start; }
.e-con.e-con.e-con.rt-oppf-duo > .e-con.e-con.e-con.wp-block-column:first-child { flex: 1.25 1 0; }
.e-con.e-con.e-con.rt-oppf-duo > .e-con.e-con.e-con.wp-block-column:last-child { flex: 1 1 0; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-oppf-sporsmal { margin-top: 22px; max-width: 820px; }
/* ---- Førstehjelp (bygget med Gutenberg-blokker) ---- */
.e-con.e-con.e-con.rt-fh-hero { align-items: center; gap: 56px; padding-bottom: 68px; }
.e-con.e-con.e-con.rt-fh-hero > .e-con.e-con.e-con.wp-block-column { align-self: center; }
.e-con.e-con.e-con.rt-kal-hero .rt-fh-hero h1 { font-size: 52px; }
.e-con.e-con.e-con.rt-kal-hero .rt-fh-hero .rt-kal-intro { max-width: 540px; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-fh-tall { gap: 1px; background: rgba(32,30,29,.10); }
.e-con.e-con.e-con.rt-fh-tall > .e-con.e-con.e-con.wp-block-column { background: #f6f4ef; padding: 28px; text-align: center; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-fh-steg { margin-top: 40px; gap: 24px; }
.e-con.e-con.e-con.rt-fh-steg .rt-trinn p { margin: 0; }
.e-con.e-con.e-con.rt-fh-steg .rt-trinn p.rt-tr-tittel { margin-top: 20px; }
.e-con.e-con.e-con.rt-fh-steg .rt-trinn p.rt-tr-tekst { margin-top: 9px; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-fh-duo { align-items: flex-start; gap: 56px; }
.e-con.e-con.e-con.rt-fh-duo > .e-con.e-con.e-con.wp-block-column { align-self: flex-start; }
.e-con.e-con.e-con.rt-fh-duo > .e-con.e-con.e-con.wp-block-column:first-child { flex: 1.25 1 0; }
.e-con.e-con.e-con.rt-fh-duo > .e-con.e-con.e-con.wp-block-column:last-child { flex: 1 1 0; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-fh-sporsmal { margin-top: 22px; max-width: 820px; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-dbv-kort.er-utvalgt { background: linear-gradient(160deg, #e7eef5 0%, #fdfcf9 100%); box-shadow: 0 0 0 1px var(--rt-nordsjo-strek); }
.e-con.e-con.e-con.rt-dbv-kort.er-utvalgt p.rt-dbv-belop { color: var(--rt-messing); }
som før konverteringen. */
.e-con.e-con.e-con.rt-klassekort { z-index: 0; display: flex !important; align-items: flex-end; --display: flex !important; }
.e-con.e-con.e-con.rt-klassekort .wp-block-image { margin: 0; }
.e-con.e-con.e-con.rt-klassekort img, .e-con.e-con.e-con.rt-klassekort .e-con.e-con.e-con.rt-kk-gradient { z-index: -1; }
.e-con.e-con.e-con.rt-klassekort .e-con.e-con.e-con.rt-kk-tekst { position: static !important; width: 100%; box-sizing: border-box; padding: 26px 24px; }
.e-con.e-con.e-con.rt-kk-tekst p { margin: 0; }
.e-con.e-con.e-con.rt-kk-tekst p.rt-kk-under { margin-top: 8px; }
.e-con.e-con.e-con.rt-kk-tekst p.rt-kk-pris { margin-top: 16px; }
.e-con.e-con.e-con.rt-klassekort a { color: inherit; text-decoration: none; }
.e-con.e-con.e-con.rt-klassekort p.rt-kk-tittel a::after { content: ""; position: absolute !important; inset: 0; }
.e-con.e-con.e-con.rt-trinn.er-steg4 hr.rt-tr-linje::before { background: #dcd8ce; }
.e-con.e-con.e-con.rt-trinn.er-steg4 hr.rt-tr-linje::after { display: none !important; }
.e-con.e-con.e-con.rt-pakkekort .rt-pk-fot { margin-top: 18px; }
.e-con.e-con.e-con.rt-pakkekort .wp-block-buttons { margin-top: 26px; }
.e-con.e-con.e-con.rt-omtale p.rt-om-hvem { display: block !important; --display: block !important; }
.e-con.e-con.e-con.rt-omoss p.rt-omoss-les .rt-lenke-messing { margin-top: 0; }
/* Kurs-siden: kortene er grupper med lenket tittel som dekker hele kortet */
.e-con.e-con.e-con.rt-kurs-kort, .e-con.e-con.e-con.e-con.e-con.e-con.rt-kurs-lite { position: relative !important; }
.e-con.e-con.e-con.rt-kurs-kort .wp-block-image { margin: 0; }
.e-con.e-con.e-con.rt-kurs-kort a, .e-con.e-con.e-con.rt-kurs-lite a { color: inherit; text-decoration: none; }
.e-con.e-con.e-con.rt-kurs-kort-innhold p.rt-kurs-pris { font: 500 14.5px/1 Inter, sans-serif; color: #7a6413; margin: 20px 0 0; }
.e-con.e-con.e-con.rt-kurs-kort-innhold p.rt-kurs-pris.er-dempet { color: #6d6960; }

@media (max-width: 900px) {
.e-con.e-con.e-con.rt-hero h1 { font-size: 42px; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-hero-innhold { grid-template-columns: 1fr !important; align-items: start; padding-top: 40px; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.e-con.e-con.e-con.rt-tall { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.e-con.e-con.e-con.rt-klassekort-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 640px) {
.e-con.e-con.e-con.e-con.e-con.e-con.rt-klassekort-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.e-con.e-con.e-con.rt-trinn-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.e-con.e-con.e-con.rt-pakke-duo { grid-template-columns: 1fr !important; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.e-con.e-con.e-con.rt-omtale-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.e-con.e-con.e-con.rt-omoss { grid-template-columns: 1fr !important; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.rt-bildehero h1 { font-size: 40px; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.e-con.e-con.e-con.rt-teksthero { grid-template-columns: 1fr !important; gap: 32px; padding-bottom: 52px; }
.e-con.e-con.e-con.rt-teksthero h1 { font-size: 38px; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-tallrad, .e-con.e-con.e-con.e-con.e-con.e-con.rt-tallrad.er-3 { grid-template-columns: repeat(2, 1fr) !important; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.e-con.e-con.e-con.rt-duo { grid-template-columns: 1fr !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-duo.har-luft { padding-top: 52px; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-fakta, .e-con.e-con.e-con.e-con.e-con.e-con.rt-fakta.er-3 { grid-template-columns: repeat(2, 1fr) !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-trinn-grid.er-3, .e-con.e-con.e-con.e-con.e-con.e-con.rt-trinn-grid.er-5 { grid-template-columns: 1fr 1fr !important; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.e-con.e-con.e-con.rt-kal-grid { grid-template-columns: 1fr !important; }
.e-con.e-con.e-con.rt-kal-hero h1 { font-size: 38px; }
}

@media print {
.e-con.e-con.e-con.e-con.e-con.e-con.rt-sek, .e-con.e-con.e-con.e-con.e-con.e-con.rt-duo, .e-con.e-con.e-con.e-con.e-con.e-con.rt-kal-grid { padding-top: 12px !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-kal-sidekort { box-shadow: none !important; border: 1px solid #ccc !important; break-inside: avoid; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.e-con.e-con.e-con.rt-sek { padding-top: 52px; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.e-con.e-con.e-con.rt-dbt-steg { flex-wrap: wrap !important; }
.rt-dbt-duo > .e-con.e-con.e-con.wp-block-column, .rt-dbt-valg > .e-con.e-con.e-con.wp-block-column, .e-con.e-con.e-con.rt-dbt-steg > .e-con.e-con.e-con.wp-block-column { flex-basis: 100% !important; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.e-con.e-con.e-con.rt-pr-hode, .e-con.e-con.e-con.e-con.e-con.e-con.rt-pr-tabeller, .e-con.e-con.e-con.e-con.e-con.e-con.rt-pr-gebyr-grid { flex-wrap: wrap !important; }
.e-con.e-con.e-con.rt-pr-hode > .e-con.e-con.e-con.wp-block-column, .rt-pr-pakker > .e-con.e-con.e-con.wp-block-column, .e-con.e-con.e-con.rt-pr-tabeller > .e-con.e-con.e-con.wp-block-column, .e-con.e-con.e-con.rt-pr-gebyr-grid > .e-con.e-con.e-con.wp-block-column { flex-basis: 100% !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-pr-hode { align-items: flex-start; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.e-con.e-con.e-con.rt-kurs-grid { flex-wrap: wrap !important; }
.e-con.e-con.e-con.rt-kurs-grid > .e-con.e-con.e-con.wp-block-column { flex-basis: 100% !important; }
.e-con.e-con.e-con.rt-kurs-kursgrid > .e-con.e-con.e-con.wp-block-column { flex-basis: 100% !important; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.e-con.e-con.e-con.rt-kal-grid { flex-wrap: wrap !important; }
.e-con.e-con.e-con.wp-block-columns.rt-kal-grid > .e-con.e-con.e-con.wp-block-column { flex-basis: 100% !important; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.e-con.e-con.e-con.rt-kt-kortgrid, .e-con.e-con.e-con.e-con.e-con.e-con.rt-kt-duo { flex-wrap: wrap !important; }
.e-con.e-con.e-con.rt-kt-kortgrid > .e-con.e-con.e-con.wp-block-column, .e-con.e-con.e-con.rt-kt-duo > .e-con.e-con.e-con.wp-block-column { flex-basis: 100% !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-kt-duo { gap: 44px; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.e-con.e-con.e-con.rt-pm-grid { flex-wrap: wrap !important; }
.e-con.e-con.e-con.rt-pm-grid > .e-con.e-con.e-con.wp-block-column { flex-basis: 100% !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-pm-valg { grid-template-columns: 1fr !important; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.e-con.e-con.e-con.rt-faq-grid { flex-wrap: wrap !important; }
.e-con.e-con.e-con.wp-block-columns.rt-faq-grid > .e-con.e-con.e-con.wp-block-column { flex-basis: 100% !important; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.wp-block-columns.rt-eo-grid > .e-con.e-con.e-con.wp-block-column { flex-basis: 100% !important; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.wp-block-columns.rt-fakta.er-3 > .e-con.e-con.e-con.wp-block-column { flex-basis: calc(50% - 1px) !important; flex-grow: 0; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-oo-instr-grid { flex-wrap: wrap !important; }
.e-con.e-con.e-con.rt-oo-instr-grid > .e-con.e-con.e-con.wp-block-column { flex-basis: 100% !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-oo-steg { flex-wrap: wrap !important; }
.e-con.e-con.e-con.wp-block-columns.rt-oo-steg > .e-con.e-con.e-con.wp-block-column { flex-basis: calc(50% - 12px) !important; flex-grow: 0; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.e-con.e-con.e-con.wp-block-columns.rt-fakta, .e-con.e-con.e-con.e-con.e-con.e-con.wp-block-columns.rt-trinn-grid, .e-con.e-con.e-con.e-con.e-con.e-con.wp-block-columns.rt-duo { flex-wrap: wrap !important; }
.e-con.e-con.e-con.wp-block-columns.rt-fakta > .e-con.e-con.e-con.wp-block-column { flex-basis: calc(50% - 1px) !important; }
.e-con.e-con.e-con.wp-block-columns.rt-trinn-grid > .e-con.e-con.e-con.wp-block-column { flex-basis: calc(50% - 12px) !important; }
.e-con.e-con.e-con.wp-block-columns.rt-duo > .e-con.e-con.e-con.wp-block-column { flex-basis: 100% !important; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.e-con.e-con.e-con.wp-block-columns.rt-fakta, .e-con.e-con.e-con.e-con.e-con.e-con.wp-block-columns.rt-trinn-grid, .e-con.e-con.e-con.e-con.e-con.e-con.wp-block-columns.rt-duo { flex-wrap: wrap !important; }
.e-con.e-con.e-con.wp-block-columns.rt-fakta > .e-con.e-con.e-con.wp-block-column { flex-basis: calc(50% - 1px) !important; }
.e-con.e-con.e-con.wp-block-columns.rt-trinn-grid > .e-con.e-con.e-con.wp-block-column { flex-basis: calc(50% - 12px) !important; }
.e-con.e-con.e-con.wp-block-columns.rt-duo > .e-con.e-con.e-con.wp-block-column { flex-basis: 100% !important; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.e-con.e-con.e-con.wp-block-columns.rt-fakta, .e-con.e-con.e-con.e-con.e-con.e-con.wp-block-columns.rt-th-trinn-grid, .e-con.e-con.e-con.e-con.e-con.e-con.wp-block-columns.rt-duo { flex-wrap: wrap !important; }
.e-con.e-con.e-con.wp-block-columns.rt-fakta > .e-con.e-con.e-con.wp-block-column { flex-basis: calc(50% - 1px) !important; }
.e-con.e-con.e-con.wp-block-columns.rt-th-trinn-grid > .e-con.e-con.e-con.wp-block-column, .e-con.e-con.e-con.wp-block-columns.rt-duo > .e-con.e-con.e-con.wp-block-column { flex-basis: 100% !important; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.e-con.e-con.e-con.wp-block-columns.rt-teksthero, .e-con.e-con.e-con.e-con.e-con.e-con.wp-block-columns.rt-tallrad, .e-con.e-con.e-con.e-con.e-con.e-con.wp-block-columns.rt-trinn-grid, .e-con.e-con.e-con.e-con.e-con.e-con.wp-block-columns.rt-duo { flex-wrap: wrap !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.wp-block-columns.rt-teksthero { padding-bottom: 52px; }
.e-con.e-con.e-con.wp-block-columns.rt-teksthero > .e-con.e-con.e-con.wp-block-column, .e-con.e-con.e-con.wp-block-columns.rt-duo > .e-con.e-con.e-con.wp-block-column { flex-basis: 100% !important; }
.e-con.e-con.e-con.wp-block-columns.rt-tallrad > .e-con.e-con.e-con.wp-block-column { flex-basis: calc(50% - 1px) !important; }
.e-con.e-con.e-con.wp-block-columns.rt-trinn-grid > .e-con.e-con.e-con.wp-block-column { flex-basis: calc(50% - 12px) !important; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.e-con.e-con.e-con.rt-sikk-hero-kol, .e-con.e-con.e-con.e-con.e-con.e-con.rt-sikk-tall, .e-con.e-con.e-con.e-con.e-con.e-con.rt-sikk-steg, .e-con.e-con.e-con.e-con.e-con.e-con.rt-sikk-duo { flex-wrap: wrap !important; }
.e-con.e-con.e-con.rt-sikk-hero-kol > .e-con.e-con.e-con.wp-block-column, .e-con.e-con.e-con.rt-sikk-steg > .e-con.e-con.e-con.wp-block-column, .e-con.e-con.e-con.rt-sikk-duo > .e-con.e-con.e-con.wp-block-column { flex-basis: 100% !important; }
.e-con.e-con.e-con.rt-sikk-tall > .e-con.e-con.e-con.wp-block-column { flex: 0 0 calc(50% - .5px) !important; }
.e-con.e-con.e-con.rt-sikk-hero h1 { font-size: 38px; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.e-con.e-con.e-con.rt-mk-hero, .e-con.e-con.e-con.e-con.e-con.e-con.rt-mk-tall, .e-con.e-con.e-con.e-con.e-con.e-con.rt-mk-steg, .e-con.e-con.e-con.e-con.e-con.e-con.rt-mk-duo { flex-wrap: wrap !important; }
.e-con.e-con.e-con.rt-mk-hero > .e-con.e-con.e-con.wp-block-column, .e-con.e-con.e-con.rt-mk-duo > .e-con.e-con.e-con.wp-block-column { flex-basis: 100% !important; }
.e-con.e-con.e-con.rt-mk-steg > .e-con.e-con.e-con.wp-block-column { flex: 0 0 calc(50% - 12px) !important; }
.e-con.e-con.e-con.rt-mk-tall > .e-con.e-con.e-con.wp-block-column { flex: 0 0 calc(50% - .5px) !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-mk-hero { gap: 32px; padding-bottom: 52px; }
.e-con.e-con.e-con.rt-kal-hero .rt-mk-hero h1 { font-size: 38px; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.e-con.e-con.e-con.rt-oppf-hero-kol, .e-con.e-con.e-con.e-con.e-con.e-con.rt-oppf-tall, .e-con.e-con.e-con.e-con.e-con.e-con.rt-oppf-steg, .e-con.e-con.e-con.e-con.e-con.e-con.rt-oppf-duo { flex-wrap: wrap !important; }
.e-con.e-con.e-con.rt-oppf-hero-kol > .e-con.e-con.e-con.wp-block-column, .e-con.e-con.e-con.rt-oppf-steg > .e-con.e-con.e-con.wp-block-column, .e-con.e-con.e-con.rt-oppf-duo > .e-con.e-con.e-con.wp-block-column { flex-basis: 100% !important; }
.e-con.e-con.e-con.rt-oppf-tall > .e-con.e-con.e-con.wp-block-column { flex: 0 0 calc(50% - .5px) !important; }
.e-con.e-con.e-con.rt-oppf-hero h1 { font-size: 38px; }
}

@media (max-width: 900px) {
.e-con.e-con.e-con.e-con.e-con.e-con.rt-fh-hero, .e-con.e-con.e-con.e-con.e-con.e-con.rt-fh-tall, .e-con.e-con.e-con.e-con.e-con.e-con.rt-fh-steg, .e-con.e-con.e-con.e-con.e-con.e-con.rt-fh-duo { flex-wrap: wrap !important; }
.e-con.e-con.e-con.rt-fh-hero > .e-con.e-con.e-con.wp-block-column, .e-con.e-con.e-con.rt-fh-duo > .e-con.e-con.e-con.wp-block-column { flex-basis: 100% !important; }
.e-con.e-con.e-con.rt-fh-steg > .e-con.e-con.e-con.wp-block-column { flex: 0 0 calc(50% - 12px) !important; }
.e-con.e-con.e-con.rt-fh-tall > .e-con.e-con.e-con.wp-block-column { flex: 0 0 calc(50% - .5px) !important; }
.e-con.e-con.e-con.e-con.e-con.e-con.rt-fh-hero { gap: 32px; padding-bottom: 52px; }
.e-con.e-con.e-con.rt-kal-hero .rt-fh-hero h1 { font-size: 38px; }
}
