/*
Theme Name: Roalds Trafikkskole
Theme URI: https://roaldstrafikkskole.no
Author: Roalds Trafikkskole AS
Description: Skolens eget blokktema: designsystemet (farger, typografi, seksjoner) for roaldstrafikkskole.no. Bygget fra Claude Design-prosjektet; Fargeprofil.dc.html er autoritativ stilguide.
Version: 1.9.9
Requires at least: 6.5
Requires PHP: 8.1
License: Proprietary
Text Domain: roalds
*/

/* ==== 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: 1440px;
	--rt-pad: 56px;
}

body { margin: 0; overflow-x: hidden; }
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-pad); 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-pad) 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-pad) 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-pad) 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-pad) 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-pad); 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-pad) 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-pad) 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-pad) 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-pad) 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-pad) 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-pad) 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-pad) 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-pad); 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-pad) 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-pad) 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-pad) 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-pad) 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-pad) 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-pad) 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-pad) 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-pad) 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-pad) 0; align-items: flex-start; gap: 56px; }
.rt-dbt-sek { padding: 72px var(--rt-pad) 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-pad) 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-pad) 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-pad) 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-pad) 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-pad) 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-pad) 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-pad) 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-pad) 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-pad) 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-pad) 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-pad) 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; } }

/* ==== 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; }
