/* Page layout and visual roles. Shared tokens and components live in design-system.css. */
body :is(.rh-link,.text-link,.closing-link){min-height:44px;font-size:.9375rem!important}
body header.elementor-241{background:var(--ad-night)!important;position:relative;z-index:10}
body header.elementor-241 .elementor-element-4cfb43d{background:var(--ad-night)!important;padding:1rem var(--ad-pad)!important;min-height:90px}
body header.elementor-241 .elementor-element-4cfb43d>.e-con-inner{max-width:var(--ad-max)!important;gap:1rem!important;align-items:center!important}
body header.elementor-241 .elementor-element-c0c4d35{gap:.8rem!important;max-width:15rem}
body header.elementor-241 .elementor-element-c0bfeee img{width:2.75rem!important}
body header.elementor-241 .elementor-element-ff9b03f .elementor-heading-title{font:600 .8125rem/1.4 var(--ad-font)!important;letter-spacing:.08em!important;color:#f1f3f5!important}
body header.elementor-241 .elementor-nav-menu--main .elementor-item{font:500 .875rem/1.4 var(--ad-font)!important;padding:.85rem .6rem!important;min-height:44px;color:#e3e5ec!important}
body header.elementor-241 .elementor-nav-menu--main .elementor-item:hover{color:var(--ad-gold)!important}
body header.elementor-241 .elementor-sub-item{font:500 .9375rem/1.5 var(--ad-font)!important;padding:.7rem 1.1rem!important;min-height:44px}
body header.elementor-241 .sub-menu{border-radius:1rem!important;padding:.5rem!important;box-shadow:0 16px 36px #0002!important}
body header.elementor-241 .elementor-element-7d21dae{gap:.6rem!important;min-width:0}
body header.elementor-241 .elementor-button{white-space:normal}
body header.elementor-241 .elementor-element-8b54f41 .elementor-button{background:transparent!important;color:#f1f3f5!important;border:1px solid #78818d!important}
body header.elementor-241 .elementor-element-109cb2a .elementor-button{background:var(--ad-gold)!important;color:var(--ad-night)!important;border:1px solid var(--ad-gold)!important}
body header.elementor-241 .elementor-menu-toggle{min-width:44px;min-height:44px;border:1px solid #78818d;border-radius:999px;color:#f1f3f5!important}

/* Homepage hero: original image, heading, description, actions and next-course panel. */
body.home #content .rt-native-hero{background:var(--ad-surface)!important;padding:4.5rem var(--ad-pad)!important;min-height:42rem!important;overflow:visible!important}
body.home #content .rt-native-hero::before{background:transparent!important;opacity:0!important}
body.home #content .rt-native-hero>.e-con-inner{max-width:var(--ad-max)!important;min-height:33rem;position:relative;align-items:center!important;gap:2.5rem!important}
body.home #content .rt-native-hero>.rt-hero-media{left:auto!important;right:max(var(--ad-pad),calc((100% - var(--ad-max))/2))!important;top:4.5rem!important;bottom:auto!important;width:46%!important;max-width:35rem;height:calc(100% - 9rem)!important;border-radius:2rem;overflow:hidden;z-index:0}
body.home #content .rt-native-hero .rt-hero-media img{object-position:35% 50%!important}
body.home #content .rt-native-hero .elementor-element-1ba9f80{width:47%!important;max-width:35rem!important;gap:1.25rem!important;align-self:center!important}
body.home #content .rt-native-hero .elementor-element-6a98b36 .elementor-heading-title{color:var(--ad-muted)!important;font-size:.8125rem!important;letter-spacing:.09em!important}
body.home #content .rt-native-hero h1{color:var(--ad-ink)!important;max-width:34rem}
body.home #content .rt-native-hero .elementor-element-279d5f2 p{color:var(--ad-muted)!important;font:400 1.125rem/1.65 var(--ad-font)!important;max-width:29rem}
body.home #content .rt-native-hero .elementor-element-0cecb26{gap:.85rem!important;flex-wrap:wrap!important;margin-top:.25rem!important}
body.home #content .rt-native-hero .elementor-element-e646fc7 .elementor-button{background:var(--ad-gold)!important;color:var(--ad-night)!important}
body.home #content .rt-native-hero .elementor-element-735c61f .elementor-button{background:transparent!important;color:var(--ad-ink)!important;border:1px solid #969ca6!important}
body.home #content .rt-native-hero .elementor-element-70646b1{position:absolute!important;bottom:-2rem!important;right:1.5rem!important;left:auto!important;width:22rem!important;max-width:46%!important;z-index:3}
body.home #content .rt-native-hero .rt-nestekurs{color:var(--ad-ink)!important}
body.home #content .rt-nestekurs .rt-nk-etikett{font:600 .875rem/1.5 var(--ad-font)!important;color:var(--ad-muted)!important}
body.home #content .rt-nestekurs .rt-nk-dato{font:650 1.75rem/1.3 var(--ad-font)!important;color:var(--ad-ink)!important;margin-top:.35rem}
body.home #content .rt-nestekurs p{color:var(--ad-muted)!important;font-size:.9375rem!important}
body.home #content .rt-nestekurs a{color:var(--ad-ink)!important;display:inline-flex;align-items:center}

body #content .rt-home26{--rh-ink:var(--ad-ink);--rh-paper:var(--ad-surface);--rh-night:var(--ad-night);padding:clamp(3.5rem,6vw,5.5rem) 0!important;background:var(--ad-surface);font:400 1.0625rem/1.65 var(--ad-font)!important;color:var(--ad-muted)}
body #content :is(.rt-home26 .rh-wrap,.rt-home-finance .wrap,.rt-reviews26 .rtr-wrap,.rt-closing26 .closing-wrap){width:min(var(--ad-max),calc(100% - 2*var(--ad-pad)))!important;margin-inline:auto!important}
body #content .rt-home26 :is(.rh-eyebrow,.rh-tag){font-size:.8125rem!important;font-weight:600;letter-spacing:.07em!important}
body #content .rt-home26 .rh-heading{margin-bottom:2.5rem!important;max-width:49rem;text-align:left!important;margin-left:0!important}
body #content .rh-heading>p:last-child{font-size:1.0625rem!important;color:var(--ad-muted)!important}
body #content .rt-home26[aria-labelledby="rh-classes-title"]{background:var(--ad-group)!important}
body #content .rh-mosaic{grid-template-columns:1.1fr 1fr 1fr!important;grid-template-rows:minmax(17rem,auto) minmax(17rem,auto)!important;gap:1.25rem!important}
body #content .rh-tile{display:flex!important;align-items:flex-end!important;min-width:0;min-height:17rem}
body #content .rh-tile-copy{position:relative!important;inset:auto!important;padding:1.75rem!important;width:100%}
body #content .rh-tile strong{font-size:1.625rem!important;font-weight:600!important;line-height:1.2!important}
body #content .rh-desc{font-size:1rem!important;line-height:1.6!important;max-width:100%!important}
body #content .rh-tile-action{font-size:.9375rem!important;line-height:1.5!important;min-height:44px}
body #content :is(.rh-note,.rh-photo figcaption,.rh-package-note){font-size:.875rem!important;line-height:1.65!important}
body #content .rh-why{background:var(--ad-surface)!important}
body #content .rh-split{grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr))!important;gap:3.5rem!important}
body #content .rh-photo img{height:35rem!important;border-radius:var(--ad-radius)!important}
body #content .rh-benefits{gap:1.75rem!important}
body #content .rh-benefits article{border-top:1px solid #cbd0d7!important;padding-top:1rem!important}
body #content .rh-benefits p{font-size:1rem!important;line-height:1.6!important;color:var(--ad-muted)!important}
body #content .rh-package{background:var(--ad-night)!important;color:#d3d8e1!important}
body #content .rh-package h2,body #content .rh-package h3{color:#f1f3f5!important}
body #content .rh-package-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,25rem),1fr))!important;gap:4rem!important}
body #content .rh-includes li{font-size:1rem!important;line-height:1.55!important}
body #content .rh-price{font-size:3.5rem!important;letter-spacing:-.045em!important}
body #content .rh-gift{background:var(--ad-group)!important}
body #content .rh-gift-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,25rem),1fr))!important;gap:4rem!important}
body #content .rh-gift-card{transform:rotate(-1deg)!important;border-radius:var(--ad-radius)!important;box-shadow:0 16px 32px #16182612!important;min-height:19rem}
body #content .rh-gift-points{font-size:.9375rem!important;color:var(--ad-muted)!important}
body #content .rh-gift-card .rh-gift-line{font-size:1rem!important}
body #content .rh-gift-bottom{font-size:.75rem!important;letter-spacing:.05em!important;flex-wrap:wrap!important}

body #content .rt-home-finance{--paper:var(--ad-surface);--ink:var(--ad-ink);--muted:var(--ad-muted);--mist:var(--ad-group);font-family:var(--ad-font)!important}
body #content .rt-home-finance.finance-section{background:var(--ad-surface)!important;padding:5rem 0!important}
body #content .finance-grid{column-gap:4rem!important;grid-template-columns:1fr 1fr!important;grid-template-rows:auto 1fr!important}
body #content .rt-home-finance .copy-heading{align-self:start!important}
body #content .rt-home-finance :is(.intro,.payment-options dd>span){font-size:1rem!important;line-height:1.65!important;color:var(--ad-muted)!important}
body #content .rt-home-finance :is(.eligibility,.calculator-note,.duration-hint,.fees,.final-payment,.feedback){font-size:.875rem!important;line-height:1.6!important}
body #content .rt-home-finance :is(.field-label,.duration legend,.payment-options dd strong,.totals>div,.rate-line,.result-label){font-size:.9375rem!important}
body #content .rt-home-finance .duration-options{gap:.5rem!important;grid-template-columns:repeat(auto-fit,minmax(4.25rem,1fr))!important}
body #content .rt-home-finance .duration-options label>span{min-height:var(--ad-control-height);font-size:var(--ad-button-font-size)!important;flex-wrap:wrap;border-radius:var(--ad-field-radius)!important}
body #content .rt-home-finance .duration-options small{font-size:.8125rem!important}
body #content .rt-home-finance .calculator-heading{flex-wrap:wrap}
body #content .rt-home-finance .example-label{font-size:.8125rem!important}
body #content .rt-home-finance .monthly-row{flex-wrap:wrap!important;gap:1rem!important}
body #content .rt-home-finance .monthly>span:first-child{font-size:3rem!important;white-space:normal!important}

body #content .rt-reviews26{background:var(--ad-group)!important;padding:5rem 0!important;font-family:var(--ad-font)!important}
body #content .rt-reviews26 blockquote{font-size:1.125rem!important;line-height:1.65!important}
body #content .rt-reviews26 .reviews-footnote{font-size:.875rem!important}
body.home #content .elementor-element-ac806a4{background:var(--ad-surface)!important;padding:5rem var(--ad-pad)!important}
body.home #content .elementor-element-ac806a4>.e-con-inner{max-width:var(--ad-max)!important;gap:3.5rem!important;padding-top:0!important}
body.home #content .elementor-element-ac806a4 img{border-radius:var(--ad-radius)!important}
body.home #content .elementor-element-ac806a4 p{font:400 1.0625rem/1.65 var(--ad-font)!important;color:var(--ad-muted)!important}
body #content .rt-closing26{background:var(--ad-night)!important;padding:4rem 0!important;font-family:var(--ad-font)!important}
body #content .closing-copy p{font-size:1.0625rem!important}
body #content .closing-email{font-size:1rem!important;overflow-wrap:anywhere}
body #content .rt-relatert{background:var(--ad-surface)!important;width:min(var(--ad-max),calc(100% - 2*var(--ad-pad)))!important;padding:3.5rem 0!important;font-family:var(--ad-font)!important;margin-inline:auto!important}
body #content .rt-relatert-liste{gap:1rem!important}
body #content .rt-relatert-liste li{min-width:0}
body #content .rt-relatert-liste a{border:0!important;border-radius:0!important;padding:0!important;min-height:44px;display:flex;align-items:center}
body #content .rt-relatert-liste :is(p,span){font-size:.9375rem!important;line-height:1.6!important}
body footer.elementor-242{font-family:var(--ad-font)!important;background:var(--ad-night)!important}
body footer.elementor-242>.e-con{padding-inline:var(--ad-pad)!important}
body footer.elementor-242 .e-con-inner{max-width:var(--ad-max)!important}
body footer.elementor-242 :is(p,li,a){font-family:var(--ad-font)!important;font-size:.9375rem!important;line-height:1.65!important}
body footer.elementor-242 .elementor-element-3f963e9 p{font-size:.875rem!important}
body footer.elementor-242 a{min-height:44px;display:inline-flex;align-items:center;overflow-wrap:anywhere}
body #content :is(.rh-wrap,.finance-grid,.rh-benefits,.rh-split,.rh-package-grid,.rh-gift-grid,.reviews-grid,.closing-wrap)>*{min-width:0}
@media(max-width:1100px){body header.elementor-241 .elementor-element-4cfb43d>.e-con-inner{gap:.8rem!important}body header.elementor-241 .elementor-element-c0c4d35{max-width:11rem}body header.elementor-241 .elementor-item{padding-inline:.45rem!important}body.home #content .rt-native-hero>.rt-hero-media{width:43%!important}body #content .rh-split,body #content .rh-package-grid,body #content .rh-gift-grid{gap:2.5rem!important}}
@media(max-width:900px){body.home #content .rt-native-hero{padding:3rem var(--ad-pad)!important;min-height:0!important}body.home #content .rt-native-hero>.e-con-inner{display:flex!important;flex-direction:column!important;align-items:stretch!important;min-height:0!important;padding-bottom:0!important}body.home #content .rt-native-hero .elementor-element-1ba9f80{width:100%!important;max-width:100%!important;align-self:stretch!important}body.home #content .rt-native-hero h1{max-width:42rem}body.home #content .rt-native-hero>.rt-hero-media{position:relative!important;inset:auto!important;display:block!important;width:100%!important;max-width:100%!important;height:22rem!important;margin-bottom:2.5rem!important;border-radius:1.5rem!important}body.home #content .rt-native-hero .elementor-element-70646b1{position:relative!important;inset:auto!important;max-width:100%!important;width:100%!important}body #content .rh-mosaic{grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important}body #content .rh-main{grid-row:auto!important;grid-column:1/-1!important;min-height:24rem!important}body #content .finance-grid{grid-template-columns:1fr!important;grid-template-areas:'heading' 'calculator' 'details'!important;grid-template-rows:auto!important;gap:2rem!important}body #content .rh-photo img{height:28rem!important}body header.elementor-241 .elementor-element-4cfb43d{padding-block:.85rem!important}}
@media(max-width:600px){body header.elementor-241 .elementor-element-4cfb43d>.e-con-inner{flex-wrap:wrap!important;justify-content:space-between!important}body header.elementor-241 .elementor-element-c0c4d35{max-width:11rem!important}body header.elementor-241 .elementor-element-7d21dae{flex-wrap:wrap!important;gap:.5rem!important;width:auto!important;max-width:100%!important}body #content .rh-mosaic{grid-template-columns:1fr!important}body #content .rh-main{grid-column:auto!important;min-height:23rem!important}body #content .rh-tile{min-height:20rem!important}body #content .rh-tile-copy{padding:1.5rem!important}body #content .rh-benefits{grid-template-columns:1fr!important}body #content .rh-photo img{height:23rem!important}body #content .rh-gift-card{min-height:19rem!important;padding:1.5rem!important;aspect-ratio:auto!important}body #content .rh-gift-bottom{position:relative!important;inset:auto!important;margin-top:2rem!important;font-size:.8125rem!important}body #content .rh-gift-bottom span{white-space:normal!important}body #content .closing-wrap{grid-template-columns:1fr!important;gap:2rem!important}body #content .reviews-grid,
body #content .rt-relatert-liste{grid-template-columns:1fr!important}body #content .rh-price{font-size:3rem!important}body #content .rt-home-finance .payment-options>div{grid-template-columns:5rem 1fr!important;gap:1rem!important}}
@media(prefers-reduced-motion:reduce){body .rh-tile:hover img{transform:none!important}}
@media(max-width:900px){
  body.home #content .rt-native-hero{display:flex!important;flex-direction:column!important}
  body.home #content .rt-native-hero>.e-con-inner{display:contents!important}
  body.home #content .rt-native-hero .elementor-element-1ba9f80{order:1!important;padding:0!important}
  body.home #content .rt-native-hero .elementor-element-279d5f2{display:block!important}
  body.home #content .rt-native-hero>.rt-hero-media{order:2!important;margin-top:2rem!important;margin-bottom:2rem!important}
  body.home #content .rt-native-hero .elementor-element-70646b1{order:3!important}
}
/* Presentation only. The official page snapshots retain their copy, images,
   links, form markup and existing disclosure/selection behavior. */
/* Subpage foundations: keep familiar page anatomy while giving text room. */
body:not(.page-id-212) #content .rt-kal-hero {
  background: var(--ad-surface) !important;
  padding: clamp(3rem, 7vw, 5.5rem) var(--ad-pad) 0 !important;
  gap: 0 !important;
}
body:not(.page-id-212) #content .rt-kal-hero h1 {
  max-width: 20ch;
  margin-top: 1rem !important;
}
body:not(.page-id-212) #content :is(.rt-kal-intro, .rt-pr-intro) {
  font-size: 1.0625rem !important;
  line-height: 1.7 !important;
  color: var(--ad-muted) !important;
  max-width: 65ch !important;
  margin-top: 1.35rem !important;
}
body:not(.page-id-212) #content :is(.rt-kicker, .rt-pr-etikett, .rt-kal-maned, .rt-kf-etikett) {
  color: var(--ad-muted) !important;
  font-size: .875rem !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: .07em !important;
}
body:not(.page-id-212) #content :is(.rt-fotnote, .rt-pr-fot, .rt-varighet, .rt-pris-inkl) {
  font-size: .875rem !important;
  line-height: 1.6 !important;
  color: var(--ad-muted) !important;
}
body:not(.page-id-212) #content :is(.rt-duo, .rt-fh-duo, .rt-mk-duo, .rt-sikk-duo, .rt-oppf-duo, .rt-pr-hode, .rt-pr-tabeller, .rt-pr-gebyr-grid, .rt-pm-grid) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 27rem), 1fr)) !important;
  gap: clamp(1.75rem, 5vw, 3.5rem) !important;
  align-items: start !important;
}
body:not(.page-id-212) #content :is(.rt-duo, .rt-fh-duo, .rt-mk-duo, .rt-sikk-duo, .rt-oppf-duo, .rt-pr-hode, .rt-pr-tabeller, .rt-pr-gebyr-grid, .rt-pm-grid) > .e-con {
  min-width: 0 !important;
  width: 100% !important;
}
body:not(.page-id-212) #content :is(.rt-kal-sidekort p, .rt-kal-sidekort .rt-ks-linje, .rt-pr-sidekort p) {
  font-size: 1rem !important;
  line-height: 1.65 !important;
  color: var(--ad-muted) !important;
}
/* The user removed the facts row from the local basic-course draft. */
body.page-id-10 #content .elementor-element-3653173 { display: none !important; }
/* Contact: the existing message form and direct contact options stay together. */
body #content [data-rt="ctaband"] {
  left: auto !important;
  right: auto !important;
  min-width: 0 !important;
  width: 100% !important;
  padding: clamp(1.5rem, 4vw, 2.5rem) !important;
  gap: 2rem !important;
  flex-wrap: wrap !important;
}
body #content [data-rt="ctaband"] > div { min-width: 0 !important; }
body #content [data-rt="cta-knapper"] { gap: .75rem !important; flex-wrap: wrap !important; }
body.page-id-20 #content .elementor-element-464196e {
  --ad-card-padding: 1.25rem;
  --ad-field-padding: .55rem .75rem;
  --ad-textarea-height: 7rem;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr)) !important;
  gap: clamp(1.5rem, 3vw, 2.5rem) !important;
  padding: 2rem var(--ad-pad) !important;
  align-items: start !important;
}
body.page-id-20 #content .elementor-element-464196e > .e-con {
  width: 100% !important;
  min-width: 0 !important;
  gap: .75rem !important;
}
body.page-id-20 #content .elementor-element-3d3ab0e { padding: 0 !important; }
body.page-id-20 #content .elementor-element-3d3ab0e .elementor-widget-text-editor > p { margin: 0 !important; }
body.page-id-20 #content .rt-kt-skjema { margin-top: 0 !important; }
body.page-id-20 #content .rt-skjema p { margin: 0 0 .75rem !important; }
body.page-id-20 #content .rt-skjema .rt-fotnote { margin: .75rem 0 0 !important; }
body.page-id-20 #content .rt-skjema label {
  display: block;
}
body.page-id-20 #content .rt-skjema :is(input, textarea) { margin-top: .25rem !important; }
body.page-id-20 #content .rt-skjema textarea { height: 7rem; }
/* Keep the shared resize behavior and 3rem control height. */
body.page-id-20 #content .rt-kt-kontaktkort {
  min-height: 5rem;
  gap: 1rem !important;
}
body.page-id-20 #content .rt-kt-kk-etikett {
  color: var(--ad-muted) !important;
  font-size: .875rem !important;
  line-height: 1.4 !important;
}
body.page-id-20 #content .rt-kt-kk-verdi {
  font-size: clamp(1.0625rem, 2vw, 1.25rem) !important;
  font-weight: 650 !important;
  line-height: 1.4 !important;
  overflow-wrap: anywhere;
}
body.page-id-20 #content .rt-kt-pil { color: var(--ad-ink) !important; }
body.page-id-20 #content .rt-kt-tider { margin-top: .5rem !important; background: transparent !important; }
body.page-id-20 #content .rt-kt-tider > div {
  font-size: 1rem !important;
  line-height: 1.6 !important;
  background: var(--ad-surface) !important;
  border-top: 1px solid var(--ad-line);
  padding: 1rem 0 !important;
  flex-wrap: wrap !important;
  gap: .4rem 1rem !important;
}
/* Prices: keep every class, price, label and detail in its original component. */
body.page-id-17 #content .rt-pr-faner { gap: .65rem !important; margin-top: 2rem !important; }
body.page-id-17 #content .rt-pr-del { padding: 3rem var(--ad-pad) 0 !important; }
body.page-id-17 #content .rt-pr-hode { padding-bottom: 2rem !important; }
body.page-id-17 #content .rt-pr-hode img { border-radius: var(--ad-radius) !important; }
body.page-id-17 #content .rt-pr-pakker {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)) !important;
  gap: 1.25rem !important;
  margin-top: 2rem !important;
}
body.page-id-17 #content .rt-pr-kort {
  min-width: 0 !important;
  overflow: visible !important;
}
body.page-id-17 #content .rt-pr-baand {
  position: static !important;
  transform: none !important;
  width: fit-content !important;
  max-width: 100%;
  margin: 0 0 1rem !important;
  border-radius: 999px !important;
  padding: .45rem .75rem !important;
  font-size: .875rem !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: normal !important;
}
body.page-id-17 #content .rt-pr-navn {
  padding-right: 0 !important;
}
body.page-id-17 #content .rt-pr-pris { font-size: 2.25rem !important; line-height: 1.2 !important; letter-spacing: -.04em !important; font-weight: 650 !important; }
body.page-id-17 #content .rt-pr-timer { font-size: 1.0625rem !important; line-height: 1.5 !important; color: var(--ad-ink) !important; }
body.page-id-17 #content .rt-pr-liste { font-size: .9375rem !important; line-height: 1.6 !important; gap: .6rem !important; color: var(--ad-muted) !important; }
body.page-id-17 #content .rt-pksml { overflow-x: auto !important; max-width: 100%; border-radius: 1rem; }
body.page-id-17 #content .rt-pksml table { min-width: 44rem; }
body:not(.page-id-212) #content :is(.rt-pristabell, .rt-pr-linjer) table { border-radius: 1rem !important; box-shadow: none !important; background: var(--ad-surface) !important; }
body:not(.page-id-212) #content :is(.rt-pristabell, .rt-pr-linjer) td { font-size: 1rem !important; line-height: 1.5 !important; padding: .9rem 1rem !important; color: var(--ad-ink) !important; }
body:not(.page-id-212) #content .rt-pristabell h3 { font-size: .9375rem !important; line-height: 1.4 !important; margin: 1.75rem 0 .75rem !important; }
body.page-id-17 #content .rt-pksml :is(th, td) { font-size: .9375rem !important; line-height: 1.5 !important; padding: 1rem !important; }
body.page-id-17 #content :is(.rt-pksml-mnd, .rt-db-vilkaar) { font-size: .875rem !important; line-height: 1.5 !important; }
/* Course calendar and booking: flexible rows, comfortable existing controls. */
body:is(.page-id-6, .page-id-19) #content #kursliste.rt-kal-grid,
body:is(.page-id-6, .page-id-19) #content .rt-kal-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 27rem), 1fr)) !important;
  gap: 2rem !important;
  padding: 3rem var(--ad-pad) 0 !important;
  align-items: start !important;
}
body:is(.page-id-6, .page-id-19) #content .rt-kal-grid > .e-con { width: 100% !important; min-width: 0 !important; }
body:is(.page-id-6, .page-id-19) #content .rt-kursfilter { gap: .65rem !important; margin-bottom: 1.5rem !important; }
body:is(.page-id-6, .page-id-19) #content .rt-kal-rad {
  gap: 1rem !important;
  margin-top: 1rem !important;
}
body:is(.page-id-6, .page-id-19) #content .rt-kal-dato { width: 4.5rem !important; border-radius: .875rem !important; background: var(--ad-surface) !important; padding: .8rem 0 !important; }
body:is(.page-id-6, .page-id-19) #content .rt-kal-dag { font-size: 1.65rem !important; line-height: 1.2 !important; font-weight: 650 !important; color: var(--ad-ink) !important; }
body:is(.page-id-6, .page-id-19) #content .rt-kal-mnd { font-size: .875rem !important; line-height: 1.4 !important; }
body:is(.page-id-6, .page-id-19) #content .rt-kal-info { min-width: min(100%, 15rem) !important; }
body:is(.page-id-6, .page-id-19) #content .rt-kal-navn { font-size: 1.125rem !important; line-height: 1.4 !important; font-weight: 650 !important; }
body:is(.page-id-6, .page-id-19) #content :is(.rt-kal-detaljer, .rt-kal-status, .rt-kal-ics) { font-size: .9375rem !important; line-height: 1.5 !important; color: var(--ad-muted) !important; }
body:is(.page-id-6, .page-id-19) #content .rt-kal-ics { text-decoration: underline !important; text-underline-offset: .2em; }
body:is(.page-id-6, .page-id-19) #content :is(.rt-kv-tekst, .rt-kv-samtykke) { font-size: .9375rem !important; line-height: 1.6 !important; color: var(--ad-muted) !important; }
body:is(.page-id-6, .page-id-19) #content .rt-kv-felter { gap: .75rem !important; }
/* About: the same people, factual labels and photographs in calmer groups. */
body.page-id-21 #content .rt-fakta.er-3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)) !important; gap: 1rem !important; background: transparent !important; padding: 0 var(--ad-pad) !important; }
body.page-id-21 #content .rt-fakta-tall { font-size: 2.35rem !important; font-weight: 650 !important; line-height: 1.2 !important; color: var(--ad-ink) !important; }
body.page-id-21 #content .rt-fakta-tall-under { font-size: .9375rem !important; line-height: 1.5 !important; }
body.page-id-21 #content .rt-oo-herobilde { border-radius: var(--ad-radius) !important; }
body.page-id-21 #content .rt-oo-instr-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 26rem), 1fr)) !important; gap: 1.5rem !important; }
body.page-id-21 #content .rt-oo-instr {
  width: 100% !important;
  min-width: 0 !important;
  gap: 1.25rem !important;
  flex-wrap: wrap !important;
}
body.page-id-21 #content .rt-oo-instr-tekst { flex: 1 1 13rem !important; }
body.page-id-21 #content .rt-oo-instr p { font-size: 1rem !important; line-height: 1.65 !important; color: var(--ad-muted) !important; }
body.page-id-21 #content .rt-oo-instr p.rt-oo-instr-rolle { font-size: .9375rem !important; }
body.page-id-21 #content .rt-oo-steg { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)) !important; gap: 1.75rem !important; }
body.page-id-21 #content .rt-oo-steg > .e-con { width: 100% !important; min-width: 0 !important; }
body.page-id-21 #content .rt-tr-tekst { font-size: 1rem !important; line-height: 1.65 !important; }
/* Elementor's legacy mobile rules switch facts back to flex, and its widget
   widths can outlive a column's new size. Keep these groups inside their track. */
body.page-id-21 #content .rt-fakta.er-3 {
  display: grid !important;
  --display: grid;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
body.page-id-21 #content :is(.rt-fakta > .e-con, .rt-oo-instr-grid, .rt-oo-instr, .rt-oo-instr-tekst),
body.page-id-21 #content :is(.rt-fakta, .rt-oo-instr) .elementor-widget {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
body.page-id-21 #content :is(.rt-fakta, .rt-oo-instr) p {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}
/* The partner's existing five-column calendar needs its own local scroll area.
   All headings, dates, locations and booking links remain in their table. */
body.page-id-6 #content .elementor-element-b713d18 {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
body.page-id-6 #content .rt-et-kal {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-inline: 0 !important;
  overflow-x: auto !important;
  border-radius: 1rem;
}
body.page-id-6 #content .rt-et-kal table {
  width: 100% !important;
  min-width: 36rem !important;
  border-collapse: collapse !important;
  background: var(--ad-surface) !important;
}
body.page-id-6 #content .rt-et-kal :is(th, td) {
  padding: .9rem 1rem !important;
  font-size: .9375rem !important;
  line-height: 1.6 !important;
  color: var(--ad-ink) !important;
  white-space: normal !important;
}
body.page-id-6 #content .rt-et-kal a {
  display: inline-flex;
  align-items: center;
  min-height: 3rem;
  text-decoration: underline;
  text-underline-offset: .2em;
}
/* Licence-page plugin: its existing content has separate local design tokens. */
body:not(.page-id-212) #content .rtcp-page {
  --paper: var(--ad-surface);
  --soft: var(--ad-group);
  --mist: var(--ad-group);
  --ink: var(--ad-ink);
  --muted: var(--ad-muted);
  --line: color-mix(in srgb, var(--ad-line) 45%, transparent);
  --gold: var(--ad-gold);
  --blue: var(--ad-ink);
  background: var(--ad-surface) !important;
  color: var(--ad-ink) !important;
  font-size: 1.0625rem !important;
  line-height: 1.65 !important;
}
body:not(.page-id-212) #content .rtcp-page .wrap { width: calc(100% - 2 * var(--ad-pad)) !important; max-width: var(--ad-max) !important; }
body:not(.page-id-212) #content .rtcp-page :is(.hero-grid, .requirements, .overview-grid, .licence-grid, .trailer-purchase) { grid-template-columns: repeat(auto-fit, minmax(min(100%, 27rem), 1fr)) !important; gap: clamp(2rem, 5vw, 4rem) !important; }
body:not(.page-id-212) #content .rtcp-page .hero { padding-block: clamp(3rem, 6vw, 5rem) !important; }
body:not(.page-id-212) #content .rtcp-page .intro { font-size: 1.125rem !important; line-height: 1.7 !important; }
body:not(.page-id-212) #content .rtcp-page :is(.eyebrow, .tag, .fine, .step .num, .quote figcaption) { font-size: .875rem !important; line-height: 1.55 !important; }
body:not(.page-id-212) #content .rtcp-page :is(.car-image, .hero-photo img) { border-radius: var(--ad-radius) !important; }
body:not(.page-id-212) #content .rtcp-page .car-image { box-shadow: none !important; }
body:not(.page-id-212) #content .rtcp-page .car-caption { font-size: .9375rem !important; line-height: 1.5 !important; }
body:not(.page-id-212) #content .rtcp-page .jumpnav .wrap { gap: .5rem 2rem !important; font-size: .9375rem !important; }
body:not(.page-id-212) #content .rtcp-page .jumpnav a { min-height: 3rem !important; }
body:not(.page-id-212) #content .rtcp-page :is(.section, .overview, .faq, .guides) { padding-block: clamp(2.25rem, 5vw, 4rem) !important; }
body:not(.page-id-212) #content .rtcp-page .section-head { align-items: start !important; flex-wrap: wrap !important; }
body:not(.page-id-212) #content .rtcp-page .section-head p { font-size: 1rem !important; line-height: 1.65 !important; }
body:not(.page-id-212) #content .rtcp-page :is(.package-grid, .package-grid.few-packages, .trailer-package-grid) { grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)) !important; gap: 1.25rem !important; }
body:not(.page-id-212) #content .rtcp-page .price { font-size: 2.35rem !important; font-weight: 650 !important; line-height: 1.2 !important; }
body:not(.page-id-212) #content .rtcp-page .package :is(.hours, .description, .checklist, h4) { font-size: .9375rem !important; line-height: 1.6 !important; }
body:not(.page-id-212) #content .rtcp-page .package .description { min-height: 0 !important; }
body:not(.page-id-212) #content .rtcp-page .button {
  max-width: 100%;
  min-width: 0;
  white-space: normal !important;
}
body:not(.page-id-212) #content .rtcp-page .textlink { font-size: 1rem !important; min-height: 3rem !important; display: inline-flex; align-items: center; }
body:not(.page-id-212) #content .rtcp-page .choice-summary { flex-wrap: wrap !important; gap: 1.5rem !important; }
body:not(.page-id-212) #content .rtcp-page .choice-summary .button { flex: 0 1 24rem !important; }
@media (max-width: 760px) {
  body:not(.page-id-212) #content .rtcp-page .choice-summary .button { flex-basis: auto !important; }
}
body:not(.page-id-212) #content .rtcp-page :is(.price-table, .details-price summary, .guide-grid a) { font-size: 1rem !important; line-height: 1.6 !important; }
body:not(.page-id-212) #content .rtcp-page :is(.steps, .faq-grid, .guide-grid, .guide-grid.rtcp-six-guides) { grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)) !important; gap: 1.5rem !important; }
body:not(.page-id-212) #content .rtcp-page .step p { font-size: 1rem !important; line-height: 1.65 !important; }
body:not(.page-id-212) #content .rtcp-page .faq details p { font-size: 1rem !important; line-height: 1.65 !important; padding: 0 1.2rem 1.2rem !important; }
body:not(.page-id-212) #content .rtcp-page .closing { background: var(--ad-night) !important; padding-block: 3rem !important; }
body:not(.page-id-212) #content .rtcp-page .closing .wrap { grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr)) !important; gap: 2.5rem !important; }
body:not(.page-id-212) #content .rtcp-page .closing p { font-size: 1rem !important; line-height: 1.65 !important; }
body:not(.page-id-212) #content .rtcp-page .closing-contact .phone { color: #fff !important; font-size: 1.75rem !important; line-height: 1.4 !important; }
body:not(.page-id-212) #content .rtcp-page .course-row p { font-size: .9375rem !important; }
body:not(.page-id-212) #content .rtcp-page .course-row .course-cost { display: block !important; }
body:not(.page-id-212) #content .rtcp-page dialog {
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
}
/* Each course has four distinct fields. Explicit areas keep date and action
   sizing independent of the price note; container queries also reflow large text. */
body #content .rtcp-page[data-page="kode-160"] #kurs .course-list {
  container: rt-code-courses / inline-size;
  display: grid;
  gap: 1rem;
}
body #content .rtcp-page[data-page="kode-160"] #kurs .course-row {
  grid-template-columns: 4.25rem minmax(0, 1fr) minmax(0, 12.5rem) minmax(0, 15rem) !important;
  grid-template-areas: "date info price action" !important;
  align-items: center !important;
  gap: 1.5rem !important;
}
body #content .rtcp-page[data-page="kode-160"] #kurs .course-row > * { min-width: 0 !important; }
body #content .rtcp-page[data-page="kode-160"] #kurs .course-row > .datebox {
  grid-area: date !important;
  width: 4.25rem !important;
  max-width: 100% !important;
  justify-self: start !important;
  padding: .7rem .4rem !important;
}
body #content .rtcp-page[data-page="kode-160"] #kurs .datebox strong { font-size: 1.625rem !important; line-height: 1.2 !important; }
body #content .rtcp-page[data-page="kode-160"] #kurs .datebox span { font-size: .875rem !important; line-height: 1.5 !important; color: var(--ad-muted) !important; }
body #content .rtcp-page[data-page="kode-160"] #kurs .course-row > div:nth-child(2) { grid-area: info !important; }
body #content .rtcp-page[data-page="kode-160"] #kurs .course-row > .course-cost { grid-area: price !important; }
body #content .rtcp-page[data-page="kode-160"] #kurs .course-row h3 {
  margin-bottom: .35rem !important;
}
body #content .rtcp-page[data-page="kode-160"] #kurs .course-row p { color: var(--ad-muted) !important; line-height: 1.6 !important; }
body #content .rtcp-page[data-page="kode-160"] #kurs .course-row > .button {
  grid-area: action !important;
  justify-self: end !important;
  width: fit-content !important;
  max-width: 100% !important;
  gap: .75rem !important;
}
body #content .rtcp-page[data-page="kode-160"] #kurs .split-note {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr)) !important;
  gap: 2rem !important;
  padding-top: 2rem !important;
  border-top: 1px solid #d9dde2;
}
body #content .rtcp-page[data-page="kode-160"] #kurs .split-note p { font-size: 1rem !important; line-height: 1.65 !important; }
body #content .rtcp-page[data-page="kode-160"] .course-panel .course-preview p {
  font-size: .9375rem !important;
  line-height: 1.6 !important;
}
@container rt-code-courses (max-width: 58rem) {
  body #content .rtcp-page[data-page="kode-160"] #kurs .course-row {
    grid-template-columns: 4.25rem minmax(0, 1fr) !important;
    grid-template-areas: "date info" ". price" ". action" !important;
    align-items: start !important;
    gap: .75rem 1.25rem !important;
  }
  body #content .rtcp-page[data-page="kode-160"] #kurs .course-row > .button { justify-self: start !important; }
}
@container rt-code-courses (max-width: 20rem) {
  body #content .rtcp-page[data-page="kode-160"] #kurs .course-row {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: "date" "info" "price" "action" !important;
    padding: var(--ad-card-padding-compact) !important;
    gap: 1rem !important;
  }
}
@media (max-width: 640px) {
  body:not(.page-id-212) #content :is(.rt-pristabell, .rt-pr-linjer) td { padding: .8rem .55rem !important; white-space: normal !important; }
  body:not(.page-id-212) #content .rtcp-page .closing-contact { padding: 1.5rem 0 0 !important; border-left: 0 !important; }
  body:is(.page-id-6, .page-id-19) #content .rt-kal-rad { padding: var(--ad-card-padding-compact) !important; }
}
/* Mørkekjøring: the original three facts sit inside the existing season card. */
body.page-id-11 #content .elementor-element-1d3839a .rt-mk-tall {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: .875rem 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
}
body.page-id-11 #content .elementor-element-1d3839a .rt-mk-tall > .e-con {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: .5rem 1rem !important;
  flex: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: .625rem 0 !important;
  border-top: 1px solid #cbd0d7;
  background: transparent !important;
  text-align: left !important;
  box-sizing: border-box !important;
}
body.page-id-11 #content .elementor-element-1d3839a .rt-mk-tall :is(.elementor-widget, .elementor-widget-container) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}
body.page-id-11 #content .elementor-element-1d3839a .rt-mk-tall > .e-con > .elementor-widget {
  min-width: min(100%, 4rem) !important;
}
body.page-id-11 #content .elementor-element-1d3839a .rt-mk-tall > .e-con > .elementor-widget:first-child {
  flex: .4 1 calc(40% - .5rem) !important;
}
body.page-id-11 #content .elementor-element-1d3839a .rt-mk-tall > .e-con > .elementor-widget:last-child {
  flex: .6 1 calc(60% - .5rem) !important;
}
body.page-id-11 #content .elementor-element-1d3839a .rt-mk-tall p.rt-mk-tall-verdi {
  margin: 0 !important;
  font: 600 1.0625rem/1.45 var(--ad-font) !important;
  color: var(--ad-ink) !important;
}
body.page-id-11 #content .elementor-element-1d3839a .rt-mk-tall p.rt-mk-tall-under {
  margin: 0 !important;
  font: 400 .875rem/1.55 var(--ad-font) !important;
  color: var(--ad-muted) !important;
}
/* Native desktop/tablet disclosure; mobile uses the existing hamburger menu. */
body header.elementor-241 .rt-student-access {
  position: relative;
  display: inline-block;
  font-family: var(--ad-font, system-ui, sans-serif);
  text-align: left;
}
body header.elementor-241 .rt-student-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  box-sizing: border-box;
  border: 1px solid #78818d;
  background: transparent;
  color: #f1f3f5;
  list-style: none;
  cursor: pointer;
  user-select: none;
}
body header.elementor-241 .rt-student-trigger::-webkit-details-marker { display: none; }
body header.elementor-241 .rt-student-trigger:hover,
body header.elementor-241 .rt-student-access[open] > .rt-student-trigger {
  background: #ffffff0d;
  border-color: #bac1cb;
}
body header.elementor-241 .rt-student-trigger:active { background: #ffffff1a; }
body header.elementor-241 .rt-student-chevron {
  flex: none;
  width: 1rem;
  height: 1rem;
  transition: transform .15s ease;
}
body header.elementor-241 .rt-student-access[open] .rt-student-chevron { transform: rotate(180deg); }
body header.elementor-241 .rt-student-links {
  position: absolute;
  inset: calc(100% + .6rem) 0 auto auto;
  z-index: 20;
  width: max-content;
  min-width: min(15rem, calc(100vw - 2rem));
  max-width: calc(100vw - 2rem);
  box-sizing: border-box;
  padding: .45rem;
  border: 1px solid #4b5263;
  border-radius: 1rem;
  background: var(--ad-night, #161826);
  color: #f1f3f5;
  box-shadow: 0 12px 32px #0003;
}
body header.elementor-241 .rt-student-links a {
  display: flex;
  align-items: center;
  min-height: var(--ad-control-height);
  box-sizing: border-box;
  padding: .7rem .85rem;
  border-radius: .65rem;
  color: #f1f3f5 !important;
  font-size: .9375rem;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
}
body header.elementor-241 .rt-student-links a:hover {
  background: #242837;
  color: var(--ad-gold, #f5d752) !important;
}
body header.elementor-241 .rt-student-links a:active { background: #303545; }
body header .rt-student-mobile { display: none !important; }
@media (max-width: 767px) {
  body header.elementor-241 .rt-student-access { display: none; }
  body header .elementor-nav-menu--dropdown.elementor-nav-menu__container > ul > .rt-student-mobile { display: block !important; }
}
@media (prefers-reduced-motion: reduce) {
  body header.elementor-241 .rt-student-chevron { transition: none; }
}
/* The existing photo covers the complete hero. Copy and course card remain in normal
   flow above the overlay, so larger text can increase the section height. */
body.home #content .rt-native-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden !important;
  background: var(--ad-night, #161826) !important;
}
body.home #content .rt-native-hero > .rt-hero-media {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
  z-index: 0;
}
body.home #content .rt-native-hero .rt-hero-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
}
body.home #content .rt-native-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(16, 21, 31, .9), rgba(16, 21, 31, .8) 55%, rgba(16, 21, 31, .42)) !important;
  opacity: 1 !important;
  z-index: 1;
  pointer-events: none;
}
body.home #content .rt-native-hero > .e-con-inner {
  display: flex !important;
  flex-grow: 0 !important;
  margin-block: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  position: relative;
  z-index: 2;
}
body.home #content .rt-native-hero .elementor-element-1ba9f80 { padding: 0 !important; }
body.home #content .rt-native-hero .elementor-element-1ba9f80 h1 { color: #fff !important; }
body.home #content .rt-native-hero .elementor-element-6a98b36 .elementor-heading-title { color: var(--ad-gold, #f5d752) !important; }
body.home #content .rt-native-hero .elementor-element-279d5f2 p { color: #eef2f7 !important; }
body.home #content .rt-native-hero .elementor-element-735c61f .elementor-button {
  color: #fff !important;
  border-color: #dce0e6 !important;
  background: rgba(16, 21, 31, .2) !important;
}
body.home #content .rt-native-hero .elementor-element-1ba9f80 .elementor-button:focus-visible { outline-color: var(--ad-gold, #f5d752) !important; }
body.home #content .rt-native-hero .elementor-element-70646b1 {
  position: relative !important;
  inset: auto !important;
  width: min(44%, 28rem) !important;
  max-width: 44% !important;
  min-width: 0 !important;
  flex: 0 0 auto !important;
  align-self: flex-end !important;
  margin-top: 0 !important;
  /* Match the existing action row's 10px bottom padding. */
  margin-bottom: 10px !important;
  margin-left: auto !important;
  padding: 0 !important;
  overflow: visible !important;
}
body.home #content .rt-native-hero .elementor-element-70646b1 :is(.elementor-widget, .elementor-widget-container) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
/* The availability line is a status, while the calendar remains an action. */
body.home #content .rt-native-hero .rt-nestekurs > p {
  display: table;
  width: fit-content;
  max-width: 100%;
  box-sizing: border-box;
  margin: .5rem 0 0 !important;
  padding: .25rem .65rem;
  border-radius: .5rem;
  background: #fff4d1;
  color: #674900 !important;
  font-weight: 550 !important;
  line-height: 1.45 !important;
}
body.home #content .rt-native-hero .rt-nestekurs > a {
  width: fit-content;
  max-width: 100%;
  margin-top: .75rem !important;
}
@media (max-width: 900px) {
  body.home #content .rt-native-hero > .e-con-inner {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  body.home #content .rt-native-hero::before { background: rgba(16, 21, 31, .78) !important; }
  body.home #content .rt-native-hero .elementor-element-70646b1 {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    align-self: stretch !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
  }
}
@media (max-width: 600px) {
  body.home #content .rt-native-hero { padding-block: 1.75rem !important; }
  body.home #content .rt-native-hero > .e-con-inner { gap: 1rem !important; }
  body.home #content .rt-native-hero .elementor-element-1ba9f80 { gap: .75rem !important; }
  body.home #content .rt-native-hero .elementor-element-279d5f2 p {
    margin: 0 !important;
    font-size: 1.0625rem !important;
    line-height: 1.6 !important;
  }
  body.home #content .rt-native-hero .elementor-element-0cecb26 {
    gap: .5rem !important;
    margin-top: 0 !important;
    padding: 0 !important;
  }
}
/* Shared visual rules for every redesigned page. Loaded after layout styles.
   Existing Elementor, Gutenberg and plugin classes are adapters to these rules;
   source HTML and the original comparison view remain unchanged. */
@font-face {
  font-family: ADInter;
  src: url('assets/inter-var.woff2') format('woff2');
  font-weight: 100 900;
  font-display: swap;
}
:root {
  color-scheme: light;
  --ad-surface: #fff;
  --ad-group: #f4f5f7;
  --ad-ink: #171b20;
  --ad-muted: #60666f;
  --ad-line: #8a919c;
  --ad-card-line: #d9dde2;
  --ad-gold: #f5d752;
  --ad-gold-hover: #efc93b;
  --ad-gold-active: #e6bc2a;
  --ad-night: #161826;
  --ad-focus: #145ac8;
  --ad-font: system-ui, -apple-system, BlinkMacSystemFont, ADInter, sans-serif;
  --ad-max: 1200px;
  --ad-pad: clamp(1.25rem, 4vw, 3.5rem);
  --ad-radius: 1.5rem;
  --ad-radius-small: 1rem;
  --ad-pill-radius: 999px;
  --ad-heading-weight: 650;
  --ad-h1-size: clamp(2.35rem, 4.5vw, 3.9rem);
  --ad-h1-line: 1.1;
  --ad-h2-size: clamp(1.7rem, 3vw, 2.6rem);
  --ad-h2-line: 1.2;
  --ad-h3-size: 1.25rem;
  --ad-h3-line: 1.3;
  --ad-control-height: 3rem;
  --ad-button-font-size: 1rem;
  --ad-button-line: 1.45;
  --ad-button-weight: 600;
  --ad-button-padding: .75rem 1.25rem;
  --ad-button-small-size: .8125rem;
  --ad-button-small-padding: .75rem 1rem;
  --ad-card-padding: clamp(1.25rem, 3vw, 2rem);
  --ad-card-padding-compact: 1rem 1.25rem;
  --ad-field-padding: .8rem .95rem;
  --ad-field-radius: .75rem;
  --ad-field-line: 1.5;
  --ad-textarea-height: 10rem;
  /* Legacy components consume the same palette and page dimensions. */
  --rt-papir: var(--ad-surface);
  --rt-kort: var(--ad-surface);
  --rt-stripe: var(--ad-group);
  --rt-blekk: var(--ad-ink);
  --rt-sekundaer: var(--ad-muted);
  --rt-dempet: var(--ad-muted);
  --rt-dempet-alt: var(--ad-muted);
  --rt-linje: var(--ad-card-line);
  --rt-pad: var(--ad-pad);
  --rt-maxw: var(--ad-max);
}
/* Important component rules in this layer take precedence over the original
   WordPress styles. :where keeps adapters weak so explicit variants win. */
@layer roalds-components {
html { scroll-padding-top: 2rem; }

body {
  background: var(--ad-surface) !important;
  color: var(--ad-ink);
  font: 400 1.0625rem/1.65 var(--ad-font) !important;
  -webkit-font-smoothing: antialiased;
}

body #content { font-family: var(--ad-font); max-width: 100%; padding: 0; }

body :is(.rtcp-page, .rtgp-info, .rtgp-purchase-form) { font-family: var(--ad-font) !important; }

body :is(#content, main.site-main) img { max-width: 100% !important; height: auto; }

body :is(#content, main.site-main) :is(h1, h2, h3) {
  font-family: var(--ad-font) !important;
  font-weight: var(--ad-heading-weight) !important;
  text-wrap: balance;
  overflow-wrap: anywhere;
}

body :is(#content, main.site-main) h1 {
  font-size: var(--ad-h1-size) !important;
  line-height: var(--ad-h1-line) !important;
  letter-spacing: -.045em !important;
}

body :is(#content, main.site-main) h2 {
  font-size: var(--ad-h2-size) !important;
  line-height: var(--ad-h2-line) !important;
  letter-spacing: -.035em !important;
}

body :is(#content, main.site-main) h3 {
  font-size: var(--ad-h3-size) !important;
  line-height: var(--ad-h3-line) !important;
  letter-spacing: -.02em !important;
}

/* Some existing card titles are paragraphs; give them the same title role. */

body #content :where(.rt-ks-tittel, .rt-pr-sk-tittel, .rt-kv-tittel, .rt-pm-steg,
  .rt-oo-instr-navn, .rt-tr-tittel, .rt-pr-navn) {
  font: var(--ad-heading-weight) var(--ad-h3-size)/var(--ad-h3-line) var(--ad-font) !important;
  letter-spacing: -.02em !important;
  color: var(--ad-card-title, var(--ad-ink)) !important;
  text-transform: none !important;
}

body #content :is(p, li, dd) { overflow-wrap: anywhere; }
}
@layer roalds-components {
/* Buttons: shared geometry, with primary/outline/selected semantic variants.
   Never select bare .button: cookie controls and image viewers also use it. */

body :is(#content, .rtgp-purchase-form, .rt-next-course-dialog) :where(.elementor-button, .wp-block-button__link,
  .rh-button, .primary-button, .closing-button, .rt-btn-gull, .rt-btn-gull-liten,
  .rt-vl-avbryt, .rt-pr-fane, .rt-kal-knapp, .rt-pm-sidekort-tlf,
  .rtcp-page .button, .rt-kursfilter button, .single_add_to_cart_button,
  [data-rt="cta-knapper"] a, .rt-nestekurs > a, .rt-next-course-action,
  .rt-next-dialog-actions button) {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  box-sizing: border-box !important;
  min-height: var(--ad-control-height) !important;
  max-width: 100%;
  min-width: 0;
  padding: var(--ad-button-padding) !important;
  border-radius: var(--ad-pill-radius) !important;
  font: var(--ad-button-weight) var(--ad-button-font-size)/var(--ad-button-line) var(--ad-font) !important;
  text-align: center;
  text-decoration: none !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  transition: background .16s, border-color .16s, transform .16s;
}

body :is(#content, .rtgp-purchase-form, .rt-next-course-dialog) :where(.rt-btn-gull, .rt-btn-gull-liten, .rh-button, .primary-button,
  .closing-button, .rt-pm-ga .wp-block-button__link, .single_add_to_cart_button,
  .rtcp-page .button:not(.outline):not([aria-pressed="true"]),
  .rt-next-course > .rt-next-course-action, .rt-next-dialog-actions button[type="submit"]) {
  border: 1px solid var(--ad-gold) !important;
  background: var(--ad-gold) !important;
  color: var(--ad-night) !important;
}

body :is(#content, .rtgp-purchase-form, .rt-next-course-dialog) :where(.rt-btn-gull, .rt-btn-gull-liten, .rh-button, .primary-button,
  .closing-button, .rt-pm-ga .wp-block-button__link, .single_add_to_cart_button,
  .rtcp-page .button:not(.outline):not([aria-pressed="true"]),
  .rt-next-course > .rt-next-course-action, .rt-next-dialog-actions button[type="submit"]):hover {
  background: var(--ad-gold-hover) !important;
  border-color: var(--ad-gold-hover) !important;
}

body :is(#content, .rtgp-purchase-form, .rt-next-course-dialog) :where(.rt-btn-gull, .rt-btn-gull-liten, .rh-button, .primary-button,
  .closing-button, .rt-pm-ga .wp-block-button__link, .single_add_to_cart_button,
  .rtcp-page .button:not(.outline):not([aria-pressed="true"]),
  .rt-next-course > .rt-next-course-action, .rt-next-dialog-actions button[type="submit"]):active {
  background: var(--ad-gold-active) !important;
}

body :is(#content, .rt-next-course-dialog) :where(.rt-vl-avbryt, .rt-pr-fane, .rt-kal-knapp, .rt-pm-sidekort-tlf,
  .rt-kursfilter button, .rt-nestekurs > a, .rtcp-page .button.outline:not([aria-pressed="true"]),
  .rt-next-course-alternative .rt-next-course-action, .rt-next-dialog-actions button:not([type="submit"])) {
  border: 1px solid var(--ad-line) !important;
  background: var(--ad-surface) !important;
  color: var(--ad-ink) !important;
}

body :is(#content, .rt-next-course-dialog) :where(.rt-vl-avbryt, .rt-pr-fane, .rt-kal-knapp, .rt-pm-sidekort-tlf,
  .rt-kursfilter button, .rt-nestekurs > a, .rtcp-page .button.outline:not([aria-pressed="true"]),
  .rt-next-course-alternative .rt-next-course-action, .rt-next-dialog-actions button:not([type="submit"])):hover { background: var(--ad-group) !important; }

body #content :is(.rt-pr-fane.er-valgt, .rt-kursfilter button.er-valgt,
  .rtcp-page .button[aria-pressed="true"]) {
  background: var(--ad-night) !important;
  border-color: var(--ad-night) !important;
  color: var(--ad-surface) !important;
}

/* Full courses retain their visible status and existing event behaviour. */

body #content .rt-kal-knapp.er-fullt { background: var(--ad-group) !important; color: var(--ad-muted) !important; }

body :is(#content, .rtgp-purchase-form) :is(button:disabled, input:disabled, select:disabled, textarea:disabled) { cursor: not-allowed; }
}
@layer roalds-components {
/* Header actions share the compact button size; navigation links keep their role. */

body header.elementor-241 :is(.elementor-button, .rt-student-trigger) {
  min-height: var(--ad-control-height) !important;
  padding: var(--ad-button-small-padding) !important;
  border-radius: var(--ad-pill-radius) !important;
  font: var(--ad-button-weight) var(--ad-button-small-size)/var(--ad-button-line) var(--ad-font) !important;
}

body header.elementor-241 .elementor-element-ff9b03f .elementor-heading-title {
  white-space: normal !important;
  overflow-wrap: anywhere;
}
}
@layer roalds-components {
/* Cards use a shared surface, edge, radius and inset. Semantic variants below
   change the palette; layouts and component-specific content stay in page CSS. */

body #content :where(.rt-kal-sidekort, .rt-pr-sidekort, .rt-pr-kort, .rt-kt-kontaktkort,
  .rt-kursvarsel, .rt-oo-instr, .rt-fakta.er-3 > .e-con,
  .rtcp-page .package, .rtcp-page .licence-card, .rtcp-page .overview-card,
  .rtcp-page .compare-panel, .rtcp-page .course-panel, .rtcp-page dialog,
  .rt-nestekurs, .rh-includes, .finance-calculator, .featured-review,
  .supporting-review, .closing-contact, .rt-relatert-liste li,
  .rt-pm-grid > .elementor-element-bd61a32, .elementor-element-cbf82e4) {
  box-sizing: border-box;
  min-width: 0;
  padding: var(--ad-card-padding) !important;
  border: 1px solid var(--ad-card-border, var(--ad-card-line)) !important;
  border-radius: var(--ad-radius) !important;
  background: var(--ad-card-background, var(--ad-group)) !important;
  box-shadow: none !important;
  overflow-wrap: anywhere;
}

body #content :is(.rt-nestekurs, .rt-kt-kontaktkort, .finance-calculator,
  .featured-review, .supporting-review) { --ad-card-background: var(--ad-surface); }

/* Featured reviews use the same readable light palette as supporting reviews. */

body #content .featured-review,
body #content .featured-review figcaption strong { color: var(--ad-ink) !important; }

body #content .featured-review :is(.class-label, figcaption > span:last-child > span) {
  color: var(--ad-muted) !important;
}

body #content .featured-review .stars { color: #8a6b08 !important; }

body #content .featured-review :is(.class-label, figcaption) { border-color: var(--ad-card-line) !important; }

body #content :is(.rh-includes, .closing-contact, .rtcp-page .course-panel,
  .rt-pm-grid .elementor-element-abe2c82) {
  --ad-card-background: var(--ad-night);
  --ad-card-border: #596074;
  --ad-card-title: #fff;
  color: #d8dde6 !important;
}

body #content .rh-includes { --ad-card-background: #232737; }

body #content :is(.rtcp-page .course-panel, .rt-pm-grid .elementor-element-abe2c82) :is(h2, h3, .rt-ks-tittel) {
  color: var(--ad-card-title) !important;
}

body #content .rt-pm-grid .elementor-element-abe2c82 .rt-ks-linje { color: #d8dde6 !important; }

body #content .rtcp-page .closing h2 { color: var(--ad-surface) !important; }

body #content .rtcp-page .course-panel :is(h4, .textlink, .datebox) { color: #f1f3f5 !important; }

body #content .rtcp-page .course-panel .course-preview p { color: #d3d8e1 !important; }

body #content :is(.rt-pr-kort.er-gull, .rtcp-page .package.selected) {
  border: 2px solid var(--ad-gold) !important;
}

body #content .rt-kt-kontaktkort:hover { background: var(--ad-group) !important; }

/* Quiet support sections have an explicit variant shared across pages. */

body #content .rt-kal-sidekort.er-noytral {
  padding: 1.125rem .25rem 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--ad-card-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

body #content :where(.rt-kal-rad, .rtcp-page .course-row, .rt-pm-valgkort) {
  box-sizing: border-box;
  min-width: 0;
  padding: var(--ad-card-padding-compact) !important;
  border: 1px solid var(--ad-card-line) !important;
  border-radius: var(--ad-radius-small) !important;
  background: var(--ad-group) !important;
  box-shadow: none !important;
}

body #content .rt-pm-valgkort { background: var(--ad-surface) !important; text-decoration: none !important; }

body #content .rt-pm-valgkort:hover { border-color: var(--ad-line) !important; background: var(--ad-group) !important; }

body #content :is(.rt-pm-valgkort, .rt-pm-sidekort-tlf, .rt-nestekurs > a):active { background: #e6e9ee !important; }

body #content .rt-pm-valgkort span:first-child {
  font: var(--ad-heading-weight) 1.0625rem/1.4 var(--ad-font) !important;
  color: var(--ad-ink) !important;
}

body #content .rt-pm-valgkort span:last-child {
  border-radius: 50%;
  background: var(--ad-group);
  color: var(--ad-ink) !important;
  font: 500 1.125rem/1 var(--ad-font) !important;
}

body #content .rt-kal-sidekort.er-noytral a:not(.rt-pm-sidekort-tlf) { color: var(--ad-focus) !important; }

body #content [data-rt="ctaband"] { box-sizing: border-box !important; border-radius: var(--ad-radius) !important; }

body #content .rtcp-page .course-row > .datebox {
  background: var(--ad-surface) !important;
  border-color: var(--ad-card-line) !important;
  border-radius: var(--ad-field-radius) !important;
}

body #content :is(.rt-pr-sml > summary, .rtcp-page .faq summary) {
  min-height: var(--ad-control-height) !important;
  padding: 1rem 1.25rem !important;
  font: 600 1rem/1.5 var(--ad-font) !important;
  background: var(--ad-group) !important;
  border-radius: var(--ad-radius-small) !important;
  box-shadow: none !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}

body #content .rtcp-page .faq details { border-radius: var(--ad-radius-small) !important; background: var(--ad-group) !important; }

/* Image tiles and gift-card illustrations share radius, not content-card insets. */

body #content :is(.rh-tile, .rh-gift-card, .rtcp-page .car-image, .rtcp-page .hero-photo img) { border-radius: var(--ad-radius) !important; }
}
@layer roalds-components {
/* Fields: content forms, calculators and the gift product use one definition.
   Checkboxes, radios, hidden values and action inputs are deliberately excluded. */

body :is(#content, .rtgp-purchase-form, .rt-next-course-dialog) :where(.rt-skjema, .rt-kursskjema-form,
  .rt-soknad-skjema, .rt-kursvarsel, .rt-vl, .rt-portal-sok,
  .rt-dbk, .finance-calculator, .rtgp-purchase-form, [data-next-waitlist])
  :where(input:not([hidden]):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]), select, textarea),
body .rt-next-course-dialog select,
body.rt-gift-page .rtgp-purchase-form :is(input[type="number"], input[type="email"], input:not([type]), textarea) {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: var(--ad-control-height) !important;
  padding: var(--ad-field-padding) !important;
  border: 1px solid var(--ad-line) !important;
  border-radius: var(--ad-field-radius) !important;
  background: var(--ad-surface) !important;
  color: var(--ad-ink) !important;
  font: 400 1rem/var(--ad-field-line) var(--ad-font) !important;
}

body :is(#content, .rtgp-purchase-form) textarea {
  min-height: var(--ad-textarea-height) !important;
  resize: vertical;
}

body #content .rt-skjema label {
  color: var(--ad-ink) !important;
  font: 550 1rem/var(--ad-field-line) var(--ad-font) !important;
}
}
@layer roalds-components {
body :is(a, button, input, textarea, select, summary):focus-visible {
  outline: 3px solid var(--ad-focus) !important;
  outline-offset: 4px !important;
}

body :is(header, footer, .rh-package, .rt-closing26, .rtcp-page .closing,
  .rt-native-hero .elementor-element-1ba9f80) :is(a, button, summary):focus-visible { outline-color: var(--ad-gold) !important; }

body header.elementor-241 .rt-student-links a:focus-visible { outline-offset: 0 !important; }
}
@media (max-width: 600px) {
  :root {
    --ad-h1-size: clamp(2.125rem, 5.8vw, 2.375rem);
    --ad-card-padding: 1.25rem;
    --ad-card-padding-compact: .75rem 1rem;
  }
}
@media (prefers-contrast: more) {
  :root { --ad-muted: #42474f; --ad-line: #5a6370; --ad-card-line: #5a6370; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  body *, body *::before, body *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
