* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Plus Jakarta Sans', 'Jakarta Fallback', system-ui, -apple-system, sans-serif;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Plus Jakarta Sans', 'Jakarta Fallback', system-ui, -apple-system, sans-serif;
  margin: 0.5em 0;
  line-height: 1.2;
}

p {
  font-family: 'Plus Jakarta Sans', 'Jakarta Fallback', system-ui, -apple-system, sans-serif;
  font-size: 1.0625rem;
  font-style: normal;
  font-weight: 500;
  margin: 0.5em 0;
  line-height: 1.6;
}

h1 { font-size: 1.875rem; font-weight: 600; }
h2 { font-size: 1.75rem; font-weight: 700; }
h3 { font-size: 1.625rem; font-weight: 700; }
h4 { font-size: 1.5rem; font-weight: 600; }
h5 { font-size: 1.5rem; font-weight: 700; }
h6 { font-size: 1.25rem; font-weight: 600; }

/* ─── HEADER & FOOTER ─── */
header,
footer {
  background: #091531;
  color: #ffffff;
}

header {
  font-size: 1.0625rem;
  font-weight: 500;
  font-style: normal;
  padding: 1em 0;
  position: sticky;
  top: 0;
  z-index: 100;
}

footer {
  font-size: 0.875rem;
  font-weight: 400;
  font-style: normal;
}

header a,
footer a {
  color: #ffffff;
  text-decoration: none;
}

header a:visited,
footer a:visited { color: #ffffff; }
.header-nav a { margin-left: 1em; }

/* ─── Hover-streg (orange) under menupunkterne — kun på fuld desktop,
       hvor menuen ligger vandret i headeren (1200px+). Glider ind fra
       venstre ved hover, som på driveteam.dk — men i husets orange. ─── */
@media (min-width: 1200px) {
  .header-nav > a,
  .header-nav .nav-dropdown-toggle {
    position: relative;
  }
  .header-nav > a::after,
  .header-nav .nav-dropdown-toggle::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -6px;
    height: 3px;
    background: #E07B20;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.22s ease;
    pointer-events: none;
  }
  .header-nav > a:hover::after,
  .header-nav > a:focus-visible::after,
  .header-nav .nav-dropdown-toggle:hover::after,
  .header-nav .nav-dropdown:hover .nav-dropdown-toggle::after,
  .header-nav .nav-dropdown.open .nav-dropdown-toggle::after {
    transform: scaleX(1);
  }
}

/* ─── DROPDOWN ─── */
.nav-dropdown {
  position: relative;
  display: inline-flex;
  align-items: center;
  margin-left: 1em;
}

.nav-dropdown-toggle {
  display: flex;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  margin-left: 0 !important;
}

.nav-dropdown-pil {
  font-size: 0.625rem;
  transition: transform 0.2s ease;
}

.nav-dropdown.open .nav-dropdown-pil {
  transform: rotate(180deg);
}

.nav-dropdown-menu {
  display: none;
  position: absolute;
  top: calc(100% + 14px);
  left: 0;
  background: #ffffff;
  border-top: 2px solid #E07B20;
  border-radius: 0 0 8px 8px;
  list-style: none;
  padding: 0.5em 0;
  margin: 0;
  min-width: 210px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.18);
  z-index: 999;
}

.nav-dropdown.open .nav-dropdown-menu {
  display: block;
}

.nav-dropdown-menu li a {
  display: block;
  padding: 0.6em 1.2em;
  font-size: 1rem;
  font-weight: 500;
  color: #091531;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.15s, color 0.15s;
  margin-left: 0 !important;
}

.nav-dropdown-menu li a:hover,
.nav-dropdown-menu li a:focus {
  background: #091531;   /* headerens mørkeblå — som driveteam.dk's undermenu-hover */
  color: #ffffff;
}
header img {
  width: 340px;
  height: auto;
  max-width: 100%;
}

.header-container {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1em;
}

.menu-toggle {
  display: none;
  background: none;
  border: none;
  color: #ffffff;
  font-size: 1.75rem;
  cursor: pointer;
  padding: 0.5em;
  z-index: 1000;
}

/* ─── MAIN ─── */
.main-container {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  gap: 2em;
  padding: 2em 1em;
}

.main-left  { width: 50%; border-radius: 16px; border: 0.5px solid #e0e4eb; box-shadow: 0 16px 40px rgba(0,0,0,0.14); padding: 2rem; align-self: flex-start; }
.main-left--forside { margin-top: 0; }

/* Modifier: fjerner boks-styling (bruges på priser-paa-korekort.html) */
.main-left--ren {
  width: auto;
  flex: 0 0 61%;
  border: none;
  box-shadow: none;
  border-radius: 0;
  padding: 0 40px 0 0;
}

/* Modifier: smallere højre kolonne (bruges på priser-paa-korekort.html) */
.main-right--smal {
  width: auto;
  flex: 0 0 39%;
  min-width: 0;
  padding: 0 0 0 40px;
}

/* Centrer hele blokken på prissiden og minimer gap mellem kolonnerne */
.main-container--centreret {
  position: relative;
  z-index: 1;
  max-width: 1200px !important;
  gap: 0 !important;
  justify-content: center !important;
  padding: 32px 40px !important;
  margin: 14px auto !important;
  box-sizing: border-box;

  /* Flyttet fra .tilmelding-wrapper — omslutter nu både venstre og højre */
  background: #f5f7fa;
  border-radius: 20px;
  border: none;
  box-shadow:
    0 0 0 1px rgba(9, 21, 49, 0.03),
    0 2px 6px rgba(9, 21, 49, 0.04),
    0 12px 24px rgba(9, 21, 49, 0.08),
    0 28px 56px rgba(9, 21, 49, 0.12);
}

/* Fjern .tilmelding-wrapper styling KUN på prissiden (inde i main-left--ren) */
.main-left--ren .tilmelding-wrapper {
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  margin: 0;
  padding: 0; /* top/bund-padding slettet (brugerens spec 28-07-2026) */
}
.main-left--ren .holdstart-section,
.main-left--ren .tilmelding-wrapper .holdstart-section {
  padding: 0; /* 12px top/bund-padding slettet på prissiden (brugerens spec 28-07-2026) */
}

/* Modifier: fjern padding p\u00e5 containeren (bruges p\u00e5 priser-paa-korekort.html, hvor main-left/right selv har padding) */
.main-container--priser {
  max-width: 1280px !important;
  padding: 32px 40px !important;
}

/* Modifier: 50/50 kolonne-bredde (bruges på index.html) */
.main-container--50-50 {
  max-width: 1400px !important;
}
.main-container--50-50 .main-left,
.main-container--50-50 .main-left--ren {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
}
.main-container--50-50 .main-right,
.main-container--50-50 .main-right--smal {
  flex: 1 1 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}

/* Ensartet typografi i index-kassen (matcher priser-siden) */
.main-container--50-50 .main-right h2 {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.3;
  color: #091531;
  margin: 1.2em 0 0.4em;
}
.main-container--50-50 .main-right > :first-child {
  margin-top: 0;
}
.main-container--50-50 .main-right p,
.main-container--50-50 .main-left p {
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.7;
  color: #1a1a2e;
  margin: 0 0 1.2em;
}
.main-container--50-50 .main-right .main-liste {
  padding-left: 1.25rem;
  margin: 0.5rem 0 1.2rem;
}
.main-container--50-50 .main-right .main-liste li {
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.7;
  color: #1a1a2e;
  margin-bottom: 0.3em;
}

.main-right { width: 50%; align-self: flex-start; }

/* ─── HERO VENSTRE ─── */
.hero-h1 {
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.15;
  color: #091531;
  margin-top: 0;
  margin-bottom: 0.2em;
  display: flex;
  flex-direction: column;
}

.hero-h1-sub {
  font-size: 1.25rem;
  font-weight: 500;
  color: #E07B20;
  letter-spacing: 0.02em;
}

.hero-tagline {
  font-size: 1rem;
  color: #6b7280;
  margin-bottom: 1.5em;
  font-style: italic;
}

.hero-tjekliste {
  list-style: none;
  padding: 0;
  margin: 0 0 1.75em;
  display: flex;
  flex-direction: column;
  gap: 0.7em;
}

.hero-tjekliste li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 1.0625rem;
  line-height: 1.5;
  color: #1a1a2e;
}

.tjek-ikon {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  background: #091531;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 700;
  margin-top: 2px;
}

.tjek-ikon--guld {
  background: #E07B20;
  font-size: 0.6875rem;
}

.hero-knapper {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.hero-stats {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #9099AD;
}

/* Nøgletal som cirkel-stempler — samme udtryk som Lovpakken-stemplerne */
.hero-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 2px;
  width: 130px;
  height: 130px;
  min-width: 130px;
  border-radius: 50%;
  background: #ffffff;
  border: 4px solid #E07B20;
  box-shadow: 0 4px 10px rgba(9, 21, 49, 0.12);
  padding: 8px;
}

.hero-stat-tal {
  font-size: 1.5rem;
  font-weight: 800;
  color: #091531;
  line-height: 1.1;
}

.hero-stat-label {
  font-size: 0.6875rem;
  color: #091531;
  font-weight: 600;
  text-align: center;
  line-height: 1.2;
  max-width: 104px;
}

.hero-stat-divider { display: none; }

.hero-knap {
  display: inline-block;
  background: #E07B20;
  color: #fff;
  text-decoration: none;
  font-size: 1.125rem;
  font-weight: 600;
  padding: 13px 32px;
  border-radius: 50px;
  transition: background 0.2s ease;
}
.hero-knap--blaa {
  background: #091531;
}
/* ─── SIDE-KNAPPER (FIXED HØJRE SIDE) ─── */
/* Mobil-topbar — skjult på desktop, vises kun i mobil-media-query */
.mobil-topbar { display: none; }

/* Hent plan-knappen i holdkortenes bundrække: samme blå baggrund som
   Tillægspriser-bjælken og en skillelinje imellem — desktop og mobil */
.fs-tillaeg-raekke .hs-btn-hentplan {
  background: #c5d8ee !important;
  border-left: 1px solid rgba(9, 21, 49, 0.18) !important;
}

.side-knapper {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  z-index: 99;
}

.side-knap {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 52px;
  height: 52px;
  background: #E07B20;
  color: #fff;
  text-decoration: none;
  border-radius: 8px 0 0 8px;
  overflow: hidden;
  transition: width 0.3s ease, background 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.side-knap--blaa {
  background: #091531;
}

/* Side-knapper ruller ud ved hover (genindsat efter ønske 28-07-2026) */
.side-knap:hover {
  width: 200px;
  color: #fff;
}
.side-knap:hover .side-knap-tekst {
  opacity: 1;
}
.side-knap-ikon {
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.side-knap-ikon svg {
  width: 30px;
  height: 30px;
  fill: currentColor;
}

/* Knap 1 (telefon) — endnu større for ekstra kraft */
.side-knapper .side-knap:first-child .side-knap-ikon svg {
  width: 30px;
  height: 30px;
}

.side-knap-tekst {
  font-size: 1.125rem;
  font-weight: 700;
  padding-left: 4px;
  padding-right: 14px;
  white-space: nowrap;
  opacity: 0;
  transition: opacity 0.2s ease 0.1s;
}
.main-liste {
  padding-left: 1.5rem;
  margin: 0.75rem 0 1rem;
}

.main-liste li {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
  margin-bottom: 0.4em;
}

.main-left h2 { margin: 1.25em 0 0.4em; color: #091531; }
.main-left h3 { margin: 1.25em 0 0.4em; color: #091531; }
.main-left .main-liste li { font-size: 0.8125rem; }

/* Modifier: kompakt info-kolonne på tilmeldingssiden */
.main-left--info { padding: 0 1rem 0; }
.main-left--info h2:first-of-type { margin-top: 14px; }
.main-left--info h3 { margin-top: 2.5em; }

.main-right h2 {
  margin-bottom: 1em;
}

.main-right > :first-child {
  margin-top: 0;
}

.main-right p {
  font-size: 1.0625rem;
  font-weight: 500;
  line-height: 1.7;
  color: #1a1a2e;
  margin: 0 0 1.2em;
}

/* ─── INFO GRID SEKTION ─── */
.info-grid-section {
  max-width: 1400px;
  margin: 0 auto;
  padding: 2em 0;
}

.info-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 21px;
  height: 420px;
}

.info-grid-kort {
  border-radius: 12px;
  overflow: hidden;
  background: #f0f4f8;
}

.info-grid-kort--billede {
  position: relative;
  overflow: hidden;
}

.info-grid-kort--billede::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(9, 21, 49, 0.60);
  pointer-events: none;
  transition: background 0.3s ease;
}

.info-grid-kort--billede.overlay-orange::after {
  background: rgba(224, 123, 32, 0.60);
}

.info-grid-tekst {
  position: absolute;
  bottom: 2.5rem;
  left: 2rem;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 6px;
  pointer-events: none;
  transition: transform 0.3s ease;
}

.info-grid-titel {
  color: #ffffff;
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.3;
}

.info-grid-laes-mere {
  color: #ffffff;
  font-size: 1.125rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 8px;
}

.info-grid-laes-mere span {
  font-size: 1.5rem;
  line-height: 1;
  display: flex;
  align-items: center;
  margin-bottom: 1px;
}
.info-grid-kort--billede img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 15%;
  display: block;
}

.info-grid-kort--billede img[src*="BMW"] {
  object-position: center center;
}

/* ─── HOLDSTART SECTION ─── */
.holdstart-section {
  padding: 2em 1em 2em 0;
  max-width: 1400px;
  margin: 0 auto;
}

/* ─── HERO ─── */
.hs-hero {
  background: #ffffff;
  border: none;
  border-radius: 12px;
  padding: 0;
  margin-bottom: 1.5rem;
  box-shadow:
    0 4px 10px rgba(9, 21, 49, 0.08),
    0 14px 36px rgba(9, 21, 49, 0.22);
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 0;
  align-items: stretch;
  min-height: 65px;
  overflow: hidden;
}

.hs-hero-ikon-boks {
  background: #091531;
  align-self: stretch;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hs-hero-tekst {
  border-left: 1px solid #e0e4eb;
  padding: 1rem 0.75rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.hs-hero h1,
.hs-hero h2 {
  color: #091531;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.1;
  margin: 0;
}

.hs-hero p {
  color: #6b7280;
  font-size: 0.875rem;
  line-height: 1.2;
  margin: 2px 0 0;
}

.hs-hero-stats { display: flex; gap: 1.5rem; flex-wrap: wrap; }

.hs-hero-stat {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8125rem;
  color: #9099AD;
}

.hs-hero-ikon {
  width: 15px;
  height: 15px;
  color: #378ADD;
  flex-shrink: 0;
}

/* ─── HOLDLISTE ─── */
.hs-liste {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 1.5rem;
}

/* ─── HOLDKORT ─── */
.hs-kort {
  background: #ffffff;
  background-clip: padding-box;
  border: 1px solid transparent;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  box-shadow:
    0 4px 10px rgba(9, 21, 49, 0.08),
    0 14px 36px rgba(9, 21, 49, 0.22);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.hs-kort--fyldt { cursor: not-allowed; }

/* Generhvervelseskort har samme h\u00f8jde som dem med 2 detalje-linjer */
.hs-kort--generhvervelse .hs-kort-inner {
  min-height: 93px;
}
.hs-kort--generhvervelse .hs-dato-boks {
  height: 100%;
}

.hs-kort-inner {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr) 140px 160px;
  align-items: center;
}

/* ─── DATOBOKS ─── */
.hs-dato-boks {
  background: #091531;
  padding: 1rem 0.75rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 80px;
  align-self: stretch;
}

.hs-dato-boks--orange { background: #E07B20; }
.hs-dato-boks--roed   { background: #991111; }

.hs-dag {
  color: #ffffff;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.hs-dag-nr {
  color: #fff;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1;
  margin: 2px 0;
}

.hs-mnd { color: #ffffff; font-size: 0.6875rem; font-weight: 500; white-space: nowrap; }

/* ─── HOLDINFO ─── */
.hs-info { padding: 1rem 0.75rem; }

.hs-type {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #111;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.hs-bil-ikon { width: 18px; height: 18px; color: #091531; flex-shrink: 0; }

.hs-type-uger { font-size: 0.8125rem; font-weight: 500; color: #6b7280; }

.hs-detaljer { display: flex; flex-direction: column; gap: 4px; }

.hs-detalje {
  font-size: 0.75rem;
  color: #6b7280;
  display: flex;
  align-items: center;
  gap: 4px;
}

/* ─── PRIS ─── */
.hs-pris {
  padding: 0.75rem 0.5rem;
  text-align: center;
  border-left: none;
  border-right: none;
  min-width: 90px;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}

.hs-pris::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.75rem;
  bottom: 0.75rem;
  width: 1px;
  background: #e0e4eb;
}

.hs-pris-label {
  font-size: 0.875rem;
  color: #E07B20;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 700;
  margin-bottom: 4px;
}

.hs-pris-beloeb {
  font-size: 1.375rem;
  font-weight: 800;
  color: #091531;
  line-height: 1.1;
  letter-spacing: -0.01em;
}

.hs-pris-mobil { display: none; }

/* ─── ACTION ─── */
.hs-action {
  padding: 1rem;
  border-left: none;
  box-shadow: none;
  margin: 0;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: 130px;
  position: relative;
  padding-bottom: 0.75rem;
}

.hs-action::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.75rem;
  bottom: 0.75rem;
  width: 1px;
  background: #e0e4eb;
}

/* ─── BADGES ─── */
.hs-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.6875rem;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 20px;
  white-space: nowrap;
}

.hs-badge-inline  { display: none; margin-left: auto; }
.hs-badge-desktop { display: inline-flex; position: absolute; top: 3px; right: 3px; }

.hs-badge-groen { background: #EAF3DE; color: #27500A; }
.hs-badge-faa   { background: #FAEEDA; color: #633806; }
.hs-badge-fuld  { background: #FCEBEB; color: #791F1F; }

/* ─── TILMELD KNAP ─── */
.hs-btn-tilmeld {
  background-color: #E07B20;
  color: #fff;
  border: none;
  border-radius: 50px;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 10px 10px;
  cursor: pointer;
  width: 100%;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  transition: background-color 0.15s;
  margin-top: 0;
  white-space: nowrap;
}

.hs-btn-tilmeld--fyldt { background-color: #991111; cursor: not-allowed; }

/* ─── TILBAGE KNAP ─── */
.hs-btn-tilbage {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: none;
  border: 1.5px solid #091531;
  color: #091531;
  border-radius: 50px;
  font-size: 0.9375rem;
  font-weight: 700;
  padding: 8px 18px;
  cursor: pointer;
  margin-bottom: 1.25rem;
  transition: all 0.15s;
}
/* ─── FORMULAR ─── */
.hs-form-kort {
  border: 1.5px solid #091531;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  max-width: 700px;
  margin: 0 auto;
}

.hs-form-banner {
  background: #091531;
  padding: 1.25rem 1.5rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.hs-form-dato {
  background: rgba(255,255,255,0.1);
  border-radius: 8px;
  padding: 0.5rem 1rem;
  text-align: center;
  flex-shrink: 0;
}

.hs-form-banner-tekst h2 { color: #fff; font-size: 1.0625rem; font-weight: 600; margin-bottom: 2px; }
.hs-form-banner-tekst p  { color: #9099AD; font-size: 0.8125rem; margin: 0; }

.hs-form-body { padding: 1.5rem; }

.hs-form-grid2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 14px;
}

.hs-form-grid-postnr {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 14px;
  margin-bottom: 14px;
}

.hs-ff { display: flex; flex-direction: column; gap: 5px; margin-bottom: 14px; }

.hs-ff label { font-size: 0.8125rem; font-weight: 600; color: #6b7280; }

.hs-ff input {
  padding: 9px 12px;
  border: 1.5px solid #e0e4eb;
  border-radius: 6px;
  font-size: 0.875rem;
  font-family: inherit;
  color: #111;
  background: #fff;
  transition: border-color 0.15s;
  width: 100%;
}

.hs-ff input:focus { outline: none; border-color: #091531; }
.hs-ff input:valid:not(:placeholder-shown)   { border-color: #639922; }
.hs-ff input:invalid:not(:placeholder-shown) { border-color: #E24B4A; }

.hs-info-strip {
  background: #f0f5ff;
  border-left: 3px solid #091531;
  border-radius: 0 6px 6px 0;
  padding: 12px 14px;
  font-size: 0.8125rem;
  color: #091531;
  margin-bottom: 1.25rem;
  line-height: 1.5;
}

.hs-samtykke { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 1.25rem; }
.hs-samtykke input[type="checkbox"] { margin-top: 3px; flex-shrink: 0; width: auto; }
.hs-samtykke label { font-size: 0.8125rem; color: #6b7280; line-height: 1.5; cursor: pointer; }

.hs-btn-send {
  width: 100%;
  background-color: #E07B20;
  color: #fff;
  border: none;
  border-radius: 50px;
  font-size: 0.875rem;
  font-weight: 800;
  padding: 13px;
  cursor: pointer;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: background-color 0.15s;
}
/* ─── SUCCES ─── */
.hs-succes {
  background: #EAF3DE;
  border: 1.5px solid #97C459;
  border-radius: 12px;
  padding: 2.5rem 1.5rem;
  text-align: center;
}

.hs-succes-ikon { font-size: 2.5rem; color: #3B6D11; margin-bottom: 0.75rem; }
.hs-succes h2 { color: #27500A; font-size: 1.125rem; font-weight: 600; margin-bottom: 6px; }
.hs-succes p  { color: #3B6D11; font-size: 0.875rem; }

/* ─── FOOTER ─── */
.footer-top {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  padding: 10em 17px;
}

.footer-separator { border-bottom: #2F3C5F 1px solid; }

.footer-bottom { max-width: 1400px; margin: 0 auto; display: flex; padding: 1.0em 1em; }

.footer-bottom-con1 { width: 50%; margin: 0 auto; display: flex; gap: 2em; }
.footer-bottom-con1 p { font-size: 0.75rem; }
.footer-bottom-con2 { width: 50%; margin: 0 auto; display: flex; justify-content: flex-end; }
.footer-bottom-con2 p { font-size: 0.75rem; }

.footer-col1 { width: 34%; padding-right: 6em; }
.footer-col1 img { width: 340px; height: auto; margin-bottom: 1.0em; max-width: 100%; }

.footer-col2 { width: 22%; }
.footer-col2 h5 { margin-bottom: 0.8em; margin-top: 0; }
.footer-col2 .icon-list { list-style: none; padding: 0; margin: 0; }
.footer-col2 .icon-list li { display: flex; align-items: center; margin-bottom: 1.5em; line-height: 1.6; }
.footer-col2 .icon-list .icon { width: 20px; height: 20px; min-width: 20px; margin-right: 8px; flex-shrink: 0; }
.footer-col2 .icon-list span,
.footer-col2 .icon-list a { display: inline-block; font-size: 1rem; font-weight: 500; line-height: 1.6; }
.footer-col2 .icon-list strong { font-weight: 700; }

.footer-col3 { padding-left: 4em; width: 22%; }
.footer-col3 h5 { margin-bottom: 1.0em; margin-top: 0; }
.footer-col3 .icon-list { list-style: none; padding: 0; margin: 0; }
.footer-col3 .icon-list li { margin-bottom: 0.75em; }
.footer-col3 .icon-list li a { color: #ffffff; text-decoration: none; display: inline-block; transition: color 0.3s ease; font-size: 1rem; font-weight: 500; line-height: 1.6; }
.footer-col4 { width: 22%; }
.footer-col4 h5 { margin-bottom: 1.0em; margin-top: 0; padding-right: 2.6em; text-align: right; }

.hours-grid { display: grid; grid-template-columns: auto auto; gap: 0.65em 4em; justify-content: end; }
.cell.day  { font-size: 1rem; font-weight: 600; line-height: 1.6; text-align: left; }
.cell.time { font-size: 1rem; font-weight: 500; line-height: 1.6; text-align: right; }

/* ─── TABLET (iPad og lign. op til 1100px) ─── */
@media (max-width: 1100px) {
  /* Holdkort: skjul priskolonne, vis mobil-pris i action-baren */
  .hs-pris { display: none; }

  .hs-pris-mobil {
    display: flex;
    flex-direction: column;
    gap: 1px;
  }
  .hs-pris-mobil-label {
    font-size: 0.5625rem;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
  }
  .hs-pris-mobil-beloeb { font-size: 0.875rem; font-weight: 700; color: #091531; }

  /* Grid: dato + info + action i to rækker */
  .hs-kort-inner {
    grid-template-columns: 90px 1fr;
    grid-template-rows: auto auto;
  }

  /* Badge swap */
  .hs-badge-inline  { display: inline-flex; }
  .hs-badge-desktop { display: none; }

  .hs-type { justify-content: flex-start; margin-bottom: 6px; }
  .hs-badge-inline { margin-left: auto; }

  /* Action-bar strækker sig hele bredden */
  .hs-action {
    grid-column: 1 / -1;
    border-left: none;
    border-top: 1px solid #e0e4eb;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    min-width: 0;
  }

  .hs-btn-tilmeld { width: auto; padding: 8px 20px; }
  .hs-info { padding: 0.6rem 0.5rem; display: flex; flex-direction: column; justify-content: center; }
  .hs-detaljer { flex-direction: column; gap: 4px; }
}

/* ─── TABLET (iPad 768x1024) ─── */
@media (min-width: 768px) and (max-width: 1024px) {
  .main-left  { width: 45%; }
  .main-right { width: 55%; }
}

/* ─── KØREPLAN ACCORDION ─── */
.koreplan {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 1em 0 1.5em;
}

.koreplan-knapper {
  display: flex;
  gap: 10px;
  margin: 1em 0 0.75em;
  flex-wrap: wrap;
}

.koreplan-knap {
  background: none;
  border: 1px solid #091531;
  color: #091531;
  padding: 6px 14px;
  border-radius: 50px;
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
  transition: background 0.15s, color 0.15s;
}
.koreplan-item {
  border: 1px solid #e0e4eb;
  border-radius: 12px;
  background: #ffffff;
  overflow: hidden;
  transition: box-shadow 0.2s, border-color 0.2s;
}
.koreplan-item.open {
  border-color: #E07B20;
}

.koreplan-head {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  padding: 12px 16px;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
}
.koreplan-dag-tal {
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #091531;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9375rem;
  font-weight: 700;
}

.koreplan-titel {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 2px;
  min-width: 0;
}

.koreplan-titel-hoved {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #091531;
}

.koreplan-titel-sub {
  font-size: 0.8125rem;
  color: #6b7280;
  font-weight: 500;
}

.koreplan-pil {
  flex-shrink: 0;
  color: #9099AD;
  font-size: 0.75rem;
  transition: transform 0.25s ease;
}

.koreplan-item.open .koreplan-pil {
  transform: rotate(180deg);
  color: #E07B20;
}

.koreplan-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  padding: 0 18px 0 68px;
}

.koreplan-item.open .koreplan-body {
  max-height: 400px;
  padding-bottom: 14px;
}

.koreplan-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 5px 0;
  font-size: 0.875rem;
  color: #1a1a2e;
  line-height: 1.5;
}

.koreplan-ikon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.koreplan-ikon svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
}

.koreplan-ikon--teori { color: #091531; }
.koreplan-ikon--koersel { color: #E07B20; }
.koreplan-ikon--fri { color: #639922; }

/* Evt-dage (fleksible) — grå nummer-cirkel */
.koreplan-item--evt .koreplan-dag-tal {
  background: #ffffff;
  color: #9099AD;
  border: 1.5px dashed #9099AD;
}

.koreplan-item--evt .koreplan-titel-hoved {
  color: #6b7280;
}

/* ─── MOBIL ─── */
@media (max-width: 767px) {
  .header-container { flex-wrap: wrap; justify-content: space-between; }
  header img { width: 240px; }
  .menu-toggle { display: block; }

  .header-nav {
    display: none;
    width: calc(100% + 2em);
    margin-left: -1em;
    margin-right: -1em;
    flex-direction: column;
    background: #ffffff;
    padding: 1em 0;
    margin-top: 1em;
    border-bottom: 3px solid #E07B20; /* orange skillelinje mod det hvide sideindhold */
  }

  .header-nav.active { display: flex; }

  .header-nav a {
    margin-left: 0;
    padding: 0.75em 1em;
    color: #091531;
  }

  .header-nav a:visited { color: #091531; }

  /* Hover på ALLE menupunkter i panelet — mørkeblå med hvid tekst,
     samme stil som undermenuens hover */
  .header-nav > a:hover,
  .header-nav > a:focus-visible,
  .header-nav .nav-dropdown-toggle:hover {
    background: #091531;
    color: #ffffff;
  }

  .header-nav .nav-dropdown {
    margin-left: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
  }

  .header-nav .nav-dropdown-toggle { color: #091531; }

  .header-nav .nav-dropdown-menu {
    position: static;
    background: transparent;
    border-top: none;
    border-radius: 0;
    box-shadow: none;
    min-width: 0;
    padding: 0;
  }

  .header-nav .nav-dropdown-menu li a {
    padding: 0.6em 1em 0.6em 2.2em;
    font-size: inherit;   /* samme størrelse som toppunkterne (Kørekort, Priser ...) */
    white-space: normal;
  }

  /* ─── Mobil-topbar (Facebook + Instagram) ─── */
  .mobil-topbar {
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 42px;
    background: #091531;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    padding: 0 8px;
    z-index: 200;
    border-bottom: none; /* samme som forsiden */
  }

  .mobil-topbar a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: #ffffff;
  }

  .mobil-topbar svg {
    width: 22px;
    height: 22px;
    fill: currentColor;
  }

  /* Sticky/fixed header skubbes ned under topbaren (overtrumfer inline !important-regel) */
  header { top: 42px; padding-top: 0; padding-bottom: 0; }
  html #site-header { top: 42px !important; }
  body { padding-top: 42px; padding-bottom: 64px; }

  /* ─── Side-knapper → fast knapbar i bunden ─── */
  .side-knapper {
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    transform: none;
    flex-direction: row;
    align-items: stretch;
    gap: 0;
    z-index: 200;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.2);
  }

  .side-knapper .side-knap {
    flex: 1 1 0;
    width: auto;
    height: auto;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 3px;
    padding: 8px 4px 9px;
    border-radius: 0;
    box-shadow: none;
    transition: none;
  }

  .side-knapper .side-knap:hover { width: auto; }

  .side-knapper .side-knap + .side-knap {
    border-left: 1px solid rgba(255,255,255,0.35);
  }

  .side-knapper .side-knap-ikon {
    flex: 0 0 auto;
    width: auto;
    height: auto;
  }

  .side-knapper .side-knap-ikon svg,
  .side-knapper .side-knap:first-child .side-knap-ikon svg {
    width: 22px;
    height: 22px;
  }

  .side-knapper .side-knap-tekst {
    opacity: 1;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0;
  }

  /* Facebook/Instagram-knapperne er flyttet op i topbaren */
  .side-knapper .side-knap--blaa { display: none; }

  /* Holdstart-sektionen: mindre gap mellem billede og indhold */
  div.fs-holdstart-inner { gap: 24px; }

  /* Grå underkasse om holdlisten: selve kassen skjules — indholdet vises stadig.
     Margin-top = 24px luft + 16px som lovpakke-cirklen stikker op over kortet */
  div.gen-par {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    margin: 40px 0 0 0;
    box-shadow: none;
  }

  /* fs-sektioner: 5px side-padding og 24px bund-padding */
  div.fs-sektion {
    padding-left: 5px;
    padding-right: 5px;
    padding-bottom: 24px;
  }

  /* Den blå "Vælg det hold"-kasse: fuld skærmbredde minus 5px i hver side,
     så den flugter med kasserne over og under */
  section.fs-hold {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Orange linjer over/under "Næste holdstart"-sektionen: samme bredde (5px fra kanten) */
  section.fs-holdstart .fs-sektion::before,
  section.fs-holdstart .fs-sektion::after,
  section.fs-forloeb .fs-sektion::after {
    left: 5px;
    right: 5px;
  }

  section.fs-hold .fs-sektion {
    padding: 15px !important;
    margin: 24px 5px !important;
    width: auto !important;
    max-width: none !important;
  }

  /* Ingen top-margin på "Næste holdstart"-overskriften + 15px side-padding
     — samme side-padding på teksten under */
  section.fs-holdstart .fs-holdstart-indhold h2 {
    margin-top: 0 !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  section.fs-holdstart .fs-holdstart-indhold > p {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  /* Ingen klik-effekt (tap-highlight) på holdkort og deres knapper */
  .hs-kort,
  .hs-kort *,
  .fs-tillaeg-bar,
  .hs-btn-tilmeld {
    -webkit-tap-highlight-color: transparent;
  }

  .fs-tillaeg-bar:active,
  .hs-btn-tilmeld:active,
  .hs-kort:active {
    filter: none;
    opacity: 1;
    transform: none;
  }

  .fs-tillaeg-bar:focus,
  .hs-btn-tilmeld:focus {
    outline: none;
  }

  /* Info-grid (Kørekort/Priser/FAQ/Tilmelding): 2×2 i stedet for 4 smalle kolonner */
  div.info-grid-section {
    padding: 24px 5px !important;
    position: relative;
  }

  /* Orange skillelinje øverst — samme stil som ved holdstart-sektionen */
  div.info-grid-section::before {
    content: "";
    position: absolute;
    top: 0;
    left: 5px;
    right: 5px;
    height: 1px;
    background: #E07B20;
  }

  .info-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    height: auto;
  }

  .info-grid-kort {
    aspect-ratio: 1 / 1;
  }

  .info-grid-tekst {
    bottom: 1rem;
    left: 1rem;
  }

  .info-grid-titel {
    font-size: 1.0625rem;
  }

  .info-grid-laes-mere {
    font-size: 0.8125rem;
    gap: 5px;
  }

  .info-grid-laes-mere span {
    font-size: 1.125rem;
  }

  /* "Sådan foregår..."-sektionen: ingen top-padding */
  section.fs-forloeb .fs-sektion {
    padding-top: 0 !important;
  }

  /* "Sådan foregår..."-sektionen: billedet flyttes ned under teksten,
     så det står lige over "Mistet kørekortet?"-boksen */
  section.fs-forloeb .fs-tokolonne-billede {
    order: 2;
  }

  /* Samme 15px side-padding på overskrift og tekst som i holdstart-sektionen */
  section.fs-forloeb .fs-tokolonne-tekst h2,
  section.fs-forloeb .fs-tokolonne-tekst p {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  /* "Mistet kørekortet?"-boksen: 24px padding top/bund og 20px i siderne */
  section.fs-generhvervelse .fs-sektion {
    padding: 24px 20px !important;
  }

  /* Holdkortets info-felt: 8px padding i top og bund
     (overtrumfer inline-reglen .hs-kort .hs-info.hs-info med 5px) */
  .hs-liste .hs-kort .hs-info.hs-info {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  /* Holdkortets bundrække på mobil:
     Række 1: Tillægspriser (venstre) + Hent plan (højre)
     Række 2: fold-ud panelet (når åbent)
     Række 3: Tilmeld hold i fuld bredde nederst */
  .hs-kort .fs-tillaeg--i-kort {
    display: flex;
    flex-wrap: wrap;
  }

  .hs-kort .fs-tillaeg--i-kort .fs-tillaeg-raekke {
    display: contents;
  }

  .hs-kort .fs-tillaeg--i-kort .fs-tillaeg-bar {
    order: 1;
    flex: 1 1 0%;
    width: auto !important;
  }

  /* Bjælken er ikke længere nederst i kortet, så intet rundt hjørne */
  .hs-liste .hs-kort .fs-tillaeg--i-kort:has(.fs-tillaeg-panel[hidden]) .fs-tillaeg-bar,
  .hs-liste .hs-kort .fs-tillaeg--i-kort .fs-tillaeg-bar {
    border-bottom-left-radius: 0 !important;
  }

  .hs-kort .fs-tillaeg--i-kort .hs-btn-hentplan {
    order: 2;
    flex: 0 0 auto;
  }

  .hs-kort .fs-tillaeg--i-kort .fs-tillaeg-panel {
    order: 3;
    flex: 1 1 100%;
    width: 100%;
  }

  .hs-kort .fs-tillaeg--i-kort .hs-btn-tilmeld {
    order: 4;
    flex: 1 1 100% !important;
    width: 100% !important;
    height: 35px;
    justify-content: center !important;
  }

  /* Holdkort: orange kant hele vejen rundt */
  .hs-kort,
  a.hs-kort,
  .hs-liste .hs-kort {
    border: 2px solid #E07B20 !important;
    border-radius: 12px !important;
    overflow: visible;
    position: relative;
  }

  /* Pladser-badgen ("✓ 12 pladser") sidder oven på kortets top-kant — samme koncept som cirklen */
  .hs-kort .hs-badge-inline {
    position: absolute;
    top: -11px;
    left: 0;
    right: auto;
    margin-left: 0;
    z-index: 3;
  }

  /* Fluebenet skjules på mobil (vises stadig på desktop) */
  .hs-badge .hs-badge-tegn { display: none; }

  /* Centreret 50-50 boks: 5px margin i begge sider og 15px padding hele vejen rundt */
  .main-container--centreret.main-container--50-50 {
    margin-left: 5px !important;
    margin-right: 5px !important;
    margin-bottom: 24px !important;
    padding: 15px !important;
  }

  /* De to knapper i boksen får ens bredde og mindre tekst så den står på én linje */
  .main-container--centreret.main-container--50-50 .hero-knapper .hero-knap {
    flex: 1 1 0;
    text-align: center;
    font-size: 0.875rem;
    padding-left: 8px;
    padding-right: 8px;
    white-space: nowrap;
  }

  /* Nøgletals-cirklerne: alle tre på én linje, skalerer med skærmbredden */
  .hero-stats {
    flex-wrap: nowrap;
    gap: 8px;
    border-top: 1px solid #E07B20;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #E07B20;
    margin-bottom: 20px;
  }

  .hero-stat {
    width: calc((100% - 16px) / 3);
    min-width: 0;
    max-width: 110px;
    height: auto;
    aspect-ratio: 1 / 1;
    border-width: 3px;
    padding: 6px;
  }

  .hero-stat-tal {
    font-size: 1.125rem;
  }

  .hero-stat-label {
    font-size: 0.5625rem;
    max-width: 100%;
  }

  h1 { font-size: 1.375rem; }
  h2 { font-size: 1.25rem; }
  h3 { font-size: 1.125rem; }
  h4 { font-size: 1rem; }
  h5 { font-size: 1rem; }
  h6 { font-size: 0.875rem; }
  p  { font-size: 0.8125rem; }
  li { font-size: 0.8125rem; }
  header { font-size: 0.9375rem; }
  footer { font-size: 0.75rem; }

  .main-container { flex-direction: column; }
  .main-left, .main-right { width: 100%; }

  /* Punktlisten i højre kolonne ("tilbyder vi kørekort til bil") */
  .main-container--50-50 .main-right .main-liste li { font-size: 0.9375rem; }

  .holdstart-section { padding: 1.5em 0.25em; }

  /* Hero */
  .hs-hero-stats { flex-direction: column; gap: 0.5rem; }

  /* Holdkort grid */
  .hs-kort-inner {
    grid-template-columns: 82px 1fr;
    grid-template-rows: auto auto;
  }

  /* Info padding reduceret */
  .hs-info { padding: 0.75rem 1rem; display: flex; flex-direction: column; justify-content: center; }

  /* Badge swap — vis inline i type-linjen, skjul i action */
  .hs-badge-inline  { display: inline-flex; }
  .hs-badge-desktop { display: none; }

  /* Type og badge på samme linje */
  .hs-type { justify-content: flex-start; margin-bottom: 6px; }
  .hs-badge-inline { margin-left: auto; }

  /* Detaljer stables på mobil */
  .hs-detaljer { flex-direction: column; gap: 4px; }

  /* Type wrap pænt */
  .hs-type { flex-wrap: wrap; font-size: 0.875rem; }

  .hs-pris { display: none; }

  .hs-pris-mobil {
    display: flex;
    flex-direction: column;
    gap: 1px;
  }
  .hs-pris-mobil-label {
    font-size: 0.5625rem;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 600;
  }
  .hs-pris-mobil-beloeb { font-size: 0.875rem; font-weight: 700; color: #091531; }

  .hs-action {
    grid-column: 1 / -1;
    border-left: none;
    border-top: 1px solid #e0e4eb;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    min-width: 0;
  }

  .hs-btn-tilmeld { width: auto; padding: 8px 20px; }

  /* Formular */
  .hs-form-grid2,
  .hs-form-grid-postnr { grid-template-columns: 1fr; }

  .hs-form-banner { flex-wrap: wrap; gap: 0.75rem; }

  /* Footer */
  .footer-top { flex-direction: column; padding: 3em 1em; gap: 3em; }
  .footer-col1, .footer-col2, .footer-col3, .footer-col4 { width: 100%; padding: 0; }
  .footer-col1 img { width: 240px; }
  .footer-col4 h5 { text-align: left; padding-right: 0; }
  .hours-grid { justify-content: start; gap: 0.65em 2em; }
  .footer-bottom { flex-direction: column; gap: 1em; text-align: center; }
  .footer-bottom-con1, .footer-bottom-con2 { width: 100%; justify-content: center; flex-wrap: wrap; }
  .footer-bottom-con1 { gap: 1em; }

  /* Side-knapper er nu en fast bundbar (styret i 767px-blokken) */

  /* Køreplan accordion på mobile */
  .koreplan-head { gap: 10px; padding: 10px 14px; }
  .koreplan-dag-tal { width: 34px; height: 34px; font-size: 0.875rem; }
  .koreplan-titel-hoved { font-size: 0.875rem; }
  .koreplan-titel-sub { font-size: 0.75rem; }
  .koreplan-body { padding-left: 58px; padding-right: 14px; }
  .koreplan-row { font-size: 0.8125rem; }

  /* --- merget fra duplikeret 767px-blok --- */
  .pris-kort-head { padding: 0.85rem 1rem; }
  .pris-kort-head h2 { font-size: 1rem; }
  .pris-lovpakke li,
  .pris-liste li { padding-left: 1rem; padding-right: 1rem; font-size: 0.875rem; }
}

@media (max-width: 480px) {
  header img { width: 200px; }
  .footer-col1 img { width: 200px; }
  p,
  .footer-col2 .icon-list span,
  .footer-col2 .icon-list a,
  .footer-col3 .icon-list li a,
  .cell.day,
  .cell.time { font-size: 0.875rem; }
  header { font-size: 0.875rem; }

  /* Tabel går kant til kant */
  .holdstart-section { padding: 1em 0; }
  .hs-hero { border-radius: 0; padding: 0.75rem 1rem; }
  .hs-kort { box-shadow: none; }  .hs-liste { gap: 0; }
  .hs-info { padding: 0.6rem 0.5rem; }

  /* --- merget fra duplikeret 480px-blok --- */
  .tilmelding-wrapper {
    margin: 0.5em 0.25em 1em;
    padding: 0.35rem;
    border-radius: 12px;
    box-shadow:
      0 0 0 1px rgba(9, 21, 49, 0.03),
      0 8px 16px rgba(9, 21, 49, 0.08),
      0 18px 36px rgba(9, 21, 49, 0.12);
  }
  .tilmelding-wrapper .holdstart-section {
    padding: 0.35rem;
  }
}

/* ─── TILMELDING WRAPPER (bagvedliggende lag om holdstart/form/succes) ─── */
.tilmelding-wrapper {
  /* Samme underkasse-design som gen-par på prissiden/forsiden
     (brugerens spec 28-07-2026): 30px padding, 16px hjørner, ingen tung
     skygge — og synligt overflow, så prisstemplerne kan rage op. */
  margin: 1em auto 2em;
  padding: 30px;
  background: #f5f7fa;
  border-radius: 16px;
  border: 0.5px solid #e0e4eb;
  box-shadow: none;
  overflow: visible;
}

/* Reducer .holdstart-section padding når den ligger inde i en wrapper */
.tilmelding-wrapper .holdstart-section {
  padding: 0;
}

/* Fjern margin-bottom på hs-liste inde i wrapper så top og bund bliver ens */
.tilmelding-wrapper .hs-liste {
  margin-bottom: 0;
}

/* Når wrapper'en er fuld bredde (form/succes), giv den en max-width så den ikke spænder hele siden */
#form-wrapper,
#succes-wrapper {
  max-width: 1500px;
  padding: 1rem 0.75rem 1rem 0;
}

@media (max-width: 900px) {
  .tilmelding-wrapper {
    margin: 0.75em 0.5em 1.5em;
    padding: 0.5rem 0.4rem;
    border-radius: 16px;
  }
  .tilmelding-wrapper .holdstart-section {
    padding: 0.5rem 0.4rem;
  }
}

/* ─── PRIS-KORT (priser-paa-korekort.html, main-right) ─── */
.main-left .pris-hero-h1 {
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1;
  color: #091531;
  margin: 0;
  display: inline-block;
  position: relative;
  padding-bottom: 0.15em;
}

.main-left .pris-hero-h1::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: #E07B20;
  border-radius: 2px;
}

.main-left .pris-hero-h2 {
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.3;
  color: #E07B20;
  margin: 0.8em 0 0;
}

.main-left .pris-hero-h3 {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.3;
  color: #091531;
  margin: 5px 0 1em;
  font-style: italic;
}

.pris-kort {
  background: #ffffff;
  border: 1px solid #e0e4eb;
  border-radius: 16px;
  overflow: hidden;
  margin: 1.5rem auto 0;
  box-shadow:
    0 4px 10px rgba(9, 21, 49, 0.08),
    0 14px 36px rgba(9, 21, 49, 0.22);
}

.pris-kort:first-child {
  margin-top: 0;
}

.pris-kort-head {
  background: #091531;
  padding: 0.75rem 1.25rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.pris-kort-head h2 {
  color: #ffffff;
  font-size: 0.9375rem;
  font-weight: 700;
  margin: 0;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* ─── Lovpakke-liste ─── */
.pris-lovpakke {
  list-style: none;
  padding: 0.5rem 0 0;
  margin: 0;
}

.pris-lovpakke li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0.65rem 1.25rem;
  font-size: 0.9375rem;
  color: #091531;
  border-bottom: 1px solid #f0f2f6;
}

.pris-lovpakke li:last-child {
  border-bottom: none;
}

.pris-tjek {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #E07B20;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 700;
}

.pris-lovpakke-tal {
  font-weight: 700;
  color: #091531;
  min-width: 38px;
}

.pris-lovpakke-tekst {
  font-weight: 500;
  color: #1a1a2e;
}

/* Note-tekst i bunden af pris-kort (samme stil som Eksterne udgifter-header) */
.pris-kort-note {
  margin: 0;
  background: #c5d8ee;
  border-top: 1px solid #a8c1de;
  border-bottom-left-radius: 15px;
  border-bottom-right-radius: 15px;
  padding: 0.4rem 1.25rem;
  font-size: 0.8125rem;
  font-weight: 700;
  font-style: normal;
  line-height: 1.3;
  color: #091531;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  display: block;
}

/* Sikr at sidste element i pris-kort ikke har afstand til bunden */
.pris-kort > *:last-child {
  margin-bottom: 0;
}

/* ─── Prisliste ─── */
.pris-liste {
  list-style: none;
  padding: 0;
  margin: 0;
}

.pris-liste li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.85rem 1.25rem;
  font-size: 0.9375rem;
  border-bottom: 1px solid #f0f2f6;
  transition: background 0.15s ease;
}

.pris-liste li:last-child {
  border-bottom: none;
}
.pris-liste-tekst {
  color: #1a1a2e;
  font-weight: 500;
}

.pris-liste-beloeb {
  flex-shrink: 0;
  color: #091531;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.pris-liste-gruppe-titel {
  background: #c5d8ee;
  border-top: 1px solid #a8c1de;
  border-bottom: 1px solid #a8c1de;
  padding: 0.75rem 1.25rem;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #091531;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* Gruppe-titel mellem holdkort (fx Generhvervelse) */
.hs-gruppe-titel {
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.3;
  color: #091531;
  text-transform: none;
  letter-spacing: 0;
  margin: 1.5rem 0 0.25rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid #E07B20;
  display: inline-block;
}

/* ─── Detaljetekst på ALLE holdkort (alm. hold + generhvervelse, alle sider):
   ensartet grå #8a90a1 (brugerens spec 28-07-2026) ─── */
.hs-kort .hs-detaljer,
.hs-kort .hs-detaljer .hs-detalje,
.hs-kort .hs-info .hs-detalje,
.hs-kort--generhvervelse .hs-detaljer .hs-detalje,
.gen-pakkekort .hs-detaljer .hs-detalje {
  color: #8a90a1 !important;
}

/* ─── Underkasse om generhvervelseskortene i holdlisten (tilmelding.html)
   — samme design som gen-par på prissiden (brugerens spec 28-07-2026) ─── */
.hs-liste .gen-par--i-liste {
  display: flex;
  flex-direction: column;
  gap: 40px;
  background: #f5f7fa;   /* samme grå som de øvrige underkasser (brugerens spec 28-07-2026) */
  border: 0.5px solid #e0e4eb;
  border-radius: 16px;
  padding: 30px;
  overflow: visible;
}

/* ─── Streget undertitel (kopi af prissidens .pris-gen-titel--streg), så
   stilen også virker på tilmelding.html (brugerens spec 28-07-2026) ─── */
.pris-gen-titel {
  color: #091531;
  font-size: 1.75rem;
  font-weight: 700;
}
.pris-gen-titel--streg {
  display: inline-block !important;
  width: fit-content !important;      /* stregen følger tekstens bredde — også som flex-barn i holdlisten (28-07-2026) */
  max-width: max-content !important;
  align-self: flex-start !important;
  position: relative;
  padding-bottom: 0.15em;
  margin: 30px 0 12px !important;
  text-transform: none;
  letter-spacing: 0;
  text-align: left;
  border: none;
}
.pris-gen-titel--streg::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: #E07B20;
  border-radius: 2px;
}

/* ═══ ENSARTEDE KNAPPER PÅ HELE SITET (matcher forsidens hero-knapper) ═══
   Form: 8px hjørner, inline-flex-centreret tekst, 16px/700 skrift.
   Gælder: hero-knapper, tilmeld-/send-knapper, tilbage-knap, køreplan-knapper. */
.hero-knap,
.hs-btn-tilmeld,
.hs-btn-send,
.hs-btn-tilbage,
.koreplan-knap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 700;
}
.hero-knap    { padding: 14px 26px; }
.hs-btn-tilmeld { padding: 14px 26px; }
.hs-btn-send  { padding: 14px 26px; }
.hs-btn-tilbage { padding: 12px 24px; }
.koreplan-knap  { padding: 10px 18px; }
/* Ens hover på alle orange knapper — samme mørke orange som hero-knapperne */
.hero-knap:hover,
.hs-btn-tilmeld:hover:not(.hs-btn-tilmeld--fyldt),
.hs-btn-send:hover {
  background: #c96a15;
}
.hero-knap--blaa:hover { background: #0d1d42; }


/* ═══════════════════════════════════════════════
   FOOTER — redesign (ft-*)
   Moerkeblaa bund, orange accenter og "vejstriben"
   som signatur: en midterstribe som paa vejen.
   ═══════════════════════════════════════════════ */


/* Hovedgrid */
.ft-inder {
  max-width: 1400px; margin: 0 auto; padding: 48px 32px 40px;
  display: grid; grid-template-columns: 1.3fr 1.2fr 1.1fr 0.9fr; gap: 48px;
}
.ft-brand img { width: 280px; max-width: 100%; height: auto; margin-bottom: 14px; }
.ft-brand p { margin: 0 0 18px; font-size: 0.9375rem; line-height: 1.7; color: #A7B1C6; max-width: 34ch; }

.ft-some { display: flex; gap: 10px; }
.ft-some a {
  display: flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; border-radius: 50%;
  border: 1px solid #223055; color: #ffffff;
  transition: background .2s ease, border-color .2s ease;
}
.ft-some a:hover { background: #E07B20; border-color: #E07B20; }
.ft-some svg { width: 18px; height: 18px; fill: currentColor; }

/* Kolonneoverskrifter som orange "eyebrows" */
.ft-kol h5, .ft-kol .ft-titel {
  margin: 0 0 1.1em; font-size: 0.75rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase; color: #E07B20;
}

/* Kontakt */
.ft-kontakt ul { list-style: none; margin: 0; padding: 0; }
.ft-kontakt li {
  display: flex; gap: 10px; align-items: flex-start;
  margin-bottom: .9em; font-size: 0.9375rem; line-height: 1.6; color: #ffffff;
}
.ft-kontakt .icon { width: 18px; height: 18px; min-width: 18px; margin-top: 3px; fill: #E07B20; }
.ft-kontakt a { color: #ffffff; text-decoration: none; transition: color .2s ease; }
.ft-kontakt a:hover { color: #E07B20; }

/* Information — links i to spalter */
.ft-links { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 28px; }
.ft-links li { margin-bottom: .65em; break-inside: avoid; }
.ft-links a {
  color: #A7B1C6; text-decoration: none; font-size: 0.9375rem; line-height: 1.6;
  display: inline-block; transition: color .2s ease, transform .2s ease;
}
.ft-links a:hover { color: #E07B20; transform: translateX(3px); }

/* Telefontider */
.ft-tider .ft-tid-stor { margin: 0; font-size: 1.625rem; font-weight: 800; color: #ffffff; }
.ft-tider .ft-tid-label { margin: 2px 0 16px; font-size: 0.875rem; color: #A7B1C6; }
.ft-ring {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 18px; border: 1px solid #E07B20; border-radius: 50px;
  color: #E07B20 !important; text-decoration: none; font-weight: 700; font-size: 0.9375rem;
  transition: background .2s ease, color .2s ease;
}
.ft-ring:hover { background: #E07B20; color: #ffffff !important; }
.ft-ring svg { width: 16px; height: 16px; fill: currentColor; }

/* Bundlinje */
.ft-bund { background: #060D1F; }
.ft-bund-inder {
  max-width: 1400px; margin: 0 auto; padding: 16px 32px;
  display: flex; justify-content: space-between; align-items: center;
  gap: 12px; flex-wrap: wrap;
}
.ft-bund-inder p { margin: 0; font-size: 0.8125rem; color: #A7B1C6; }
.ft-bund-inder a { color: #A7B1C6; text-decoration: none; }
.ft-bund-inder a:hover { color: #E07B20; text-decoration: underline; }

/* Responsivt */
@media (max-width: 1100px) {
  .ft-inder { grid-template-columns: 1fr 1fr; gap: 36px; }
}
@media (max-width: 640px) {
  .ft-inder { grid-template-columns: 1fr; gap: 30px; padding: 36px 20px 28px; }
  .ft-brand img { width: 240px; }
  .ft-bund-inder { flex-direction: column; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .ft-some a, .ft-links a, .ft-kontakt a, .ft-ring { transition: none; }
  .ft-links a:hover { transform: none; }
}

/* ═══ Åben menu/dropdown: headeren gøres SOLID — i hamburger-zonen ═══
   Overalt hvor hamburger-menuen bruges (op til 1199px), skal den åbne
   menu aldrig svæve gennemsigtigt over topbillede/video. På fuld desktop
   (1200px+) bevares den gennemsigtige header, da dropdown-panelet selv
   har solid hvid baggrund.
   Høj specificitet (:has) overtrumfer sidernes inline 'transparent !important'. */
@media (max-width: 1199px) {
  #site-header:not(.header-moerk):has(.header-nav.active),
  #site-header:not(.header-moerk):has(.nav-dropdown.open) {
    background: #091531 !important;
  }
}

/* ═══ MELLEMBREDDER (768-1199px): hamburger i stedet for wrappet menu ═══
   Navigationen knækker om på to linjer under ~1160px — i stedet vises
   mobil-menuens hamburger-knap og udfoldelige panel i hele denne zone.
   Fuld menulinje vises først fra 1200px, hvor den garanteret er på én linje. */
@media (min-width: 768px) and (max-width: 1199px) {
  .header-container { flex-wrap: wrap; justify-content: space-between; }
  .menu-toggle { display: block; }
  .header-nav {
    display: none;
    width: calc(100% + 2em);
    margin-left: -1em;
    margin-right: -1em;
    flex-direction: column;
    background: #ffffff;
    padding: 1em 0;
    margin-top: 1em;
    border-bottom: 3px solid #E07B20; /* orange skillelinje mod det hvide sideindhold */
  }
  .header-nav.active { display: flex; }
  .header-nav a { margin-left: 0; padding: 0.75em 1em; color: #091531; }
  .header-nav a:visited { color: #091531; }
  /* Hover på ALLE menupunkter i panelet — som undermenuens hover */
  .header-nav > a:hover,
  .header-nav > a:focus-visible,
  .header-nav .nav-dropdown-toggle:hover {
    background: #091531;
    color: #ffffff;
  }
  .header-nav .nav-dropdown { margin-left: 0; display: flex; flex-direction: column; align-items: stretch; width: 100%; }
  .header-nav .nav-dropdown-toggle { color: #091531; }
  .header-nav .nav-dropdown-menu {
    position: static; background: transparent; border-top: none;
    border-radius: 0; box-shadow: none; min-width: 0; padding: 0;
  }
  .header-nav .nav-dropdown-menu li a { padding: 0.6em 1em 0.6em 2.2em; font-size: inherit; white-space: normal; } /* samme størrelse som toppunkterne */

  /* Sociale medier-topbar (som mobil) — knapperne i højre side blokerer
     ellers boksens indhold ved disse bredder */
  .mobil-topbar {
    display: flex; position: fixed; top: 0; left: 0; right: 0; height: 42px;
    background: #091531; align-items: center; justify-content: flex-end;
    gap: 4px; padding: 0 8px; z-index: 200;
    border-bottom: none;
  }
  .mobil-topbar a { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; color: #ffffff; }
  .mobil-topbar svg { width: 22px; height: 22px; fill: currentColor; }
  header { top: 42px; padding-top: 0; padding-bottom: 0; }
  /* Fixed header skubbes ned under topbaren — som på mobil.
     html+id-selektor overtrumfer sidernes inline '#site-header { top: 0 }' */
  html #site-header { top: 42px !important; }
  body { padding-top: 42px; padding-bottom: 64px; }
  /* De orange knapper laases fast i bunden som paa mobil */
  .side-knapper {
    top: auto; bottom: 0; left: 0; right: 0; transform: none;
    flex-direction: row; align-items: stretch; gap: 0; z-index: 200;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.2);
  }
  .side-knapper .side-knap {
    flex: 1 1 0; width: auto; height: auto; flex-direction: column;
    justify-content: center; align-items: center; gap: 3px;
    padding: 8px 4px 9px; border-radius: 0; box-shadow: none; transition: none;
  }
  .side-knapper .side-knap:hover { width: auto; }
  .side-knapper .side-knap + .side-knap { border-left: 1px solid rgba(255,255,255,0.35); }
  .side-knapper .side-knap-ikon { flex: 0 0 auto; width: auto; height: auto; }
  .side-knapper .side-knap-ikon svg,
  .side-knapper .side-knap:first-child .side-knap-ikon svg { width: 22px; height: 22px; }
  .side-knapper .side-knap-tekst { opacity: 1; font-size: 0.75rem; font-weight: 600; padding: 0; }
  .side-knapper .side-knap--blaa { display: none; }
}


/* ════════════════════════════════════════════════════════════════════
   Andinas Køreskole — tekst-harmoni.css
   Håndhæver forsidens tekststørrelser på alle undersider, så hele
   sitet har ét ensartet tekstsprog. Værdierne er MÅLT på index.html
   (desktop 1350px / mobil 390px) — ændres forsiden, opdateres de her.

   Ligger nu bagerst i styles.css (PageSpeed 10-08-2026: sparede ét
   render-blokerende request);
   !important sikrer, at siderne ikke kan overstyre med lokale px-værdier.
   Afgrænset til #main-content (id-selektor slår sidernes lokale !important-regler), så header, topbar og footer ikke berøres.
   ════════════════════════════════════════════════════════════════════ */

/* ─── Desktop (som forsiden) ─── */
#main-content h1 { font-size: 2.25rem !important; }    /* 36px */
#main-content h2 { font-size: 1.75rem !important; }    /* 28px */
#main-content h3 { font-size: 1.25rem !important; }    /* 20px */
#main-content h4 { font-size: 1.125rem !important; }   /* 18px */
#main-content p,
#main-content li { font-size: 1.0625rem !important; }  /* 17px */

/* ─── Mobil (som forsiden) ─── */
@media (max-width: 767px) {
  #main-content h1 { font-size: 1.375rem !important; }   /* 22px */
  #main-content h2 { font-size: 1.25rem !important; }    /* 20px */
  #main-content h3 { font-size: 1.125rem !important; }   /* 18px */
  #main-content h4 { font-size: 1rem !important; }       /* 16px */
  #main-content p,
  #main-content li { font-size: 0.9375rem !important; }  /* 15px */
}

/* ─── Hero-overskrifterne (.pris-hero-*) har deres egen, større skala
       på forsiden — målt dér og håndhævet her (klasse-selektor vinder
       over de generelle #main-content h1/h2/h3-regler ovenfor) ─── */
#main-content .pris-hero-h1 { font-size: 2.25rem !important; }    /* 36px */
#main-content .pris-hero-h2 {
  font-size: 1.375rem !important;   /* 22px */
  font-weight: 600 !important;      /* som forsiden — ikke fed */
  color: #E07B20 !important;        /* forsidens orange */
  margin: 15px 0 0 !important;      /* forsidens margin-top */
}
#main-content .pris-hero-h3 {
  font-size: 1.125rem !important;   /* 18px */
  margin: 5px 0 18px !important;    /* forsidens margins */
}
@media (max-width: 767px) {
  #main-content .pris-hero-h1 { font-size: 1.75rem !important; }    /* 28px */
  #main-content .pris-hero-h2 {
    font-size: 1.125rem !important;   /* 18px */
    margin: 8px 0 0 !important;       /* forsidens mobil-margin */
  }
  #main-content .pris-hero-h3 {
    font-size: 0.9375rem !important;  /* 15px */
    margin: 5px 0 20px !important;    /* forsidens mobil-margins */
  }
}

/* ═══════════════════════════════════════════════════════════════════
   24PX-RYTME PÅ MOBIL — luft mellem tekst, billeder og orange linjer
   Gælder alle undersider (index har sin egen rytme og er referencen).
   Billed-blokkene får præcis 24px over og under — og de tilstødende
   naboers margener nulstilles, så luften ALDRIG bliver dobbelt.
   ═══════════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
  #main-content .hero-billede,
  #main-content .gen-faq-billede,
  #main-content .klarstart-billede,
  #main-content .klap-billede,
  #main-content .elever-intro-billede {
    margin-top: 24px !important;
    margin-bottom: 24px !important;
  }
  /* Naboen FØR billedet: ingen bundmargin (billedets 24px styrer luften) */
  #main-content :is(p, ul, ol, div, details, h2, h3):has(+ .hero-billede),
  #main-content :is(p, ul, ol, div, details, h2, h3):has(+ .gen-faq-billede),
  #main-content :is(p, ul, ol, div, details, h2, h3):has(+ .klarstart-billede),
  #main-content :is(p, ul, ol, div, details, h2, h3):has(+ .klap-billede),
  #main-content :is(p, ul, ol, div, details, h2, h3):has(+ .elever-intro-billede) {
    margin-bottom: 0 !important;
  }
  /* Naboen EFTER billedet: ingen topmargin */
  #main-content .hero-billede + *,
  #main-content .gen-faq-billede + *,
  #main-content .klarstart-billede + *,
  #main-content .klap-billede + *,
  #main-content .elever-intro-billede + * {
    margin-top: 0 !important;
  }
  /* Elever-sidens flex-container har eget gap, som ellers lægges OVEN I
     billedets margin (24 + 32 = 56) — nulstilles, så rytmen styrer alene */
  #main-content .elever-top { gap: 0 !important; }

  /* Stats-boksen (1000+/2013/13+ med orange linjer over og under):
     24px luft under den nederste orange linje — styles.css siger 20 */
  #main-content .hero-stats { margin-bottom: 24px !important; }

  /* Boksens flex-gap (2em = 32px mellem venstre og højre kolonne, når de
     stables på mobil) fjernes — 24px-margenerne styrer luften alene */
  #main-content .main-container { gap: 0 !important; }

  /* Første element i højre kolonne uden topmargin — ellers lægges
     overskriftens egen margin oven i de 24px fra stats-boksen */
  #main-content .main-right > :first-child { margin-top: 0 !important; }
}

/* ═══════════════════════════════════════════════════════════════════
   TOPBILLEDE-HERO = FORSIDENS VIDEO-HERO (typografi 1:1)
   Undersidernes hero-overlay (label/titel/undertekst/knapper/stjerner)
   får forsidens præcise clamp()-størrelser og vægte — begge viewports.
   Kortlægning: hero-label↔hero-eyebrow · hero-titel↔hero-titel ·
   hero-undertekst↔hero-under · hero-knap↔hero-cta · stjerner↔hero-trust.
   Afgrænset til .topbillede-overlayet — rører intet andet indhold.
   ═══════════════════════════════════════════════════════════════════ */
#main-content .topbillede .hero-overlay .hero-label {
  font-size: clamp(0.75rem, 1.6vh, 0.875rem) !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #E07B20 !important;
  margin: 0 0 clamp(6px, 1.2vh, 12px) !important;  /* forsidens margin */
}
#main-content .topbillede .hero-overlay .hero-titel {
  font-size: clamp(1.625rem, 2vw + 2.4vh, 2.875rem) !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  color: #ffffff !important;
  margin: 0 0 clamp(8px, 1.6vh, 16px) !important;  /* forsidens margin */
  max-width: 620px !important;                     /* forsidens ombrydningsbredde */
  white-space: normal !important;                  /* siderne havde nowrap */
  text-shadow: none !important;                    /* forsiden har ingen skygge */
}
#main-content .topbillede .hero-overlay .hero-undertekst {
  font-size: clamp(0.875rem, 0.4vw + 1.4vh, 1.125rem) !important;
  font-weight: 500 !important;                     /* siderne havde 600 */
  line-height: 1.6 !important;
  color: rgba(255, 255, 255, 0.88) !important;     /* siderne havde #e8ecf4 */
  margin: 0 0 clamp(14px, 2.6vh, 26px) !important; /* forsidens margin */
  max-width: 480px !important;                     /* forsidens bredde (siderne: 520px) */
  text-shadow: none !important;                    /* forsiden har ingen skygge */
}
#main-content .topbillede .hero-overlay .hero-knap,
#main-content .topbillede .hero-overlay .hero-knap-raekke a {
  /* Knap-teksten = forsidens .hero-cta (siderne bruger --orange/--hvid-klasser) */
  font-size: clamp(0.875rem, 1.7vh, 1rem) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}
#main-content .topbillede .hero-overlay .hero-stjerner-linje {
  font-size: clamp(0.75rem, 1.5vh, 0.875rem) !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;                     /* forsiden (siderne: normal) */
  color: rgba(255, 255, 255, 0.85) !important;     /* forsiden (siderne: solid hvid) */
  margin: 0 !important;
  text-shadow: none !important;                    /* forsiden har ingen skygge */
}
#main-content .topbillede .hero-overlay .hero-stjerner-linje .stjerner {
  /* Stjernerne = forsidens .hero-stjerner-span */
  color: #f5a623 !important;
  letter-spacing: 2px !important;
  margin-right: 6px !important;
}
@media (max-width: 900px) {
  /* Som forsiden: titlen skalerer ned på smalle skærme */
  #main-content .topbillede .hero-overlay .hero-titel {
    font-size: clamp(1.5rem, 4vw + 1.8vh, 1.875rem) !important;
  }
}
