/*
 * Conscensia Custom Elements — Design System CSS
 * File: conscensia-elements.css
 * 
 * Upload to: /wp-content/themes/bootscore-child/conscensia-elements.css
 * This file is enqueued automatically by conscensia-vc-elements.php
 *
 * Design tokens match the pillar pages built in the demo site.
 */

/* ─────────────────────────────────────────────
   DESIGN TOKENS
   ───────────────────────────────────────────── */
:root {
  /* ── Site-bredde ──
     Standard for hele sitet. Artikel- og casesider redefinerer
     --cs-site-width paa deres egen wrapper: .cs-artikel-side
     (linje ~6453) og .cs-case-side (linje ~7115). Andre steder
     end de tre boer den ikke redefineres. ── */
  --cs-site-max:    1440px;   /* selve tallet — kun her */
  --cs-site-width:  min(var(--cs-site-max), 90vw);
  --cs-site-pad:    48px;   /* venstre/højre padding på alle sektioner */
  --cs-site-pad-sm: 24px;   /* padding på mobil */

  /* ── Farver ── */
  --cs-beige:       #F1DFCB;
  --cs-beige-dark:  #E5D2BA;
  --cs-beige-light: #F7EADB;
  --cs-blue:        #3D6EE9;
  --cs-blue-dark:   #2D57C4;
  --cs-blue-light:  #6890F2;
  --cs-black:       #231F20;
  --cs-white:       #FFFFFF;
  --cs-muted:       #5A5256;
  --cs-line:        rgba(35, 31, 32, 0.12);
  --cs-radius:      14px;
  --cs-radius-lg:   20px;
}

/* ── Fælles indholds-container — bruges af alle elementer ── */
.cs-inner {
  max-width: var(--cs-site-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--cs-site-pad);
  padding-right: var(--cs-site-pad);
}
@media (max-width: 768px) {
  .cs-inner {
    padding-left: var(--cs-site-pad-sm);
    padding-right: var(--cs-site-pad-sm);
  }
}

/* ─────────────────────────────────────────────
   1. INSIGHT BOX
   ───────────────────────────────────────────── */
.cs-ibox {
  padding: 18px 22px;
  background: rgba(61, 110, 233, 0.05);
  border-radius: 12px;
  border-left: 3px solid #3D6EE9;
  margin: 24px 0;
  max-width: 680px;
}
.cs-ibox-title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #3D6EE9;
  margin-bottom: 8px;
  display: block;
}
.cs-ibox p {
  font-size: 15px;
  font-weight: 400;   /* Ikke kursiv — bedre læsbarhed */
  font-style: normal;
  color: #231F20;
  margin: 0;
  line-height: 1.7;
}

/* ─────────────────────────────────────────────
   2. PULL QUOTE — med stort citationstegn
   ───────────────────────────────────────────── */
.cs-pull-quote {
  padding: 28px 32px 28px 36px;
  background: #E5D2BA;
  border-radius: 16px;
  border-left: 4px solid #3D6EE9;
  margin: 32px 0;
  max-width: 680px;
  position: relative;
}
/* Dekorativt citationstegn */
.cs-pull-quote::before {
  content: '\201C';   /* " */
  position: absolute;
  top: -8px;
  left: 28px;
  font-size: 72px;
  font-weight: 700;
  color: #3D6EE9;
  opacity: 0.2;
  line-height: 1;
  font-family: Georgia, serif;
  pointer-events: none;
}
.cs-pull-quote-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #3D6EE9;
  margin-bottom: 14px;
  display: block;
}
.cs-pull-quote-text {
  font-size: clamp(17px, 2vw, 22px);
  font-weight: 700;
  color: #231F20;
  line-height: 1.5;
  margin: 0;
}

/* ─────────────────────────────────────────────
   3. COMPARISON TABLE
   ───────────────────────────────────────────── */
.cs-table-wrap {
  overflow-x: auto;
  margin: 24px 0;
  max-width: 100%;
}
.cs-comp-table {
  width: 100%;
  border-collapse: collapse;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(35, 31, 32, 0.08);
  min-width: 480px;
}
.cs-comp-table th {
  padding: 15px 22px;
  text-align: left;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}

/* ── TEMA: standard (blå + grå) ── */
.cs-comp-table th.cs-col-1 { background: #3D6EE9; color: #F1DFCB; width: 50%; }
.cs-comp-table th.cs-col-2 { background: #5a5a5a; color: #ffffff; }
.cs-comp-table td { padding: 13px 22px; font-size: 14px; border-bottom: 1px solid rgba(35,31,32,.1); vertical-align: top; line-height: 1.5; }
.cs-comp-table td:first-child { font-weight: 500; color: #231F20; background: rgba(61,110,233,.05); }
.cs-comp-table td:last-child  { color: #5A5256;   background: rgba(90,90,90,.03); }
.cs-comp-table tbody tr { transition: background 0.15s; cursor: default; }
.cs-comp-table tbody tr:hover td:first-child { background: rgba(61,110,233,.1); }
.cs-comp-table tbody tr:hover td:last-child  { background: rgba(90,90,90,.07); }
.cs-comp-table tr:last-child td { border-bottom: none; }

/* ── TEMA: mørk (begge headers mørke, rækker mørke) ── */
.cs-comp-table.cs-theme-dark th.cs-col-1 { background: #231F20; color: #F1DFCB; }
.cs-comp-table.cs-theme-dark th.cs-col-2 { background: #3D3839; color: rgba(241,223,203,.75); }
.cs-comp-table.cs-theme-dark td           { border-color: rgba(241,223,203,.08); }
.cs-comp-table.cs-theme-dark td:first-child { background: #2A2627; color: #F1DFCB; }
.cs-comp-table.cs-theme-dark td:last-child  { background: #252223; color: rgba(241,223,203,.65); }
.cs-comp-table.cs-theme-dark tbody tr:hover td:first-child { background: #333030; }
.cs-comp-table.cs-theme-dark tbody tr:hover td:last-child  { background: #2E2B2B; }
.cs-comp-table.cs-theme-dark { box-shadow: 0 4px 24px rgba(0,0,0,.3); }

/* ── TEMA: blå begge (col1 = blå, col2 = lysere blå) ── */
.cs-comp-table.cs-theme-blue th.cs-col-1 { background: #3D6EE9; color: #FFFFFF; }
.cs-comp-table.cs-theme-blue th.cs-col-2 { background: #6890F2; color: #FFFFFF; }
.cs-comp-table.cs-theme-blue td:first-child { background: rgba(61,110,233,.07); color: #231F20; }
.cs-comp-table.cs-theme-blue td:last-child  { background: rgba(104,144,242,.04); color: #5A5256; }
.cs-comp-table.cs-theme-blue tbody tr:hover td:first-child { background: rgba(61,110,233,.14); }
.cs-comp-table.cs-theme-blue tbody tr:hover td:last-child  { background: rgba(104,144,242,.1); }

/* ── TEMA: beige (col1 = mørk/sort, col2 = beige mørk) ── */
.cs-comp-table.cs-theme-beige th.cs-col-1 { background: #231F20; color: #F1DFCB; }
.cs-comp-table.cs-theme-beige th.cs-col-2 { background: #C4B09A; color: #231F20; }
.cs-comp-table.cs-theme-beige td:first-child { background: rgba(35,31,32,.04); color: #231F20; }
.cs-comp-table.cs-theme-beige td:last-child  { background: rgba(196,176,154,.1); color: #5A5256; }
.cs-comp-table.cs-theme-beige tbody tr:hover td:first-child { background: rgba(35,31,32,.08); }
.cs-comp-table.cs-theme-beige tbody tr:hover td:last-child  { background: rgba(196,176,154,.2); }

/* ── TEMA: inverteret (col1 = grå/neutral, col2 = blå) ── */
.cs-comp-table.cs-theme-inverted th.cs-col-1 { background: #5a5a5a; color: #ffffff; }
.cs-comp-table.cs-theme-inverted th.cs-col-2 { background: #3D6EE9; color: #F1DFCB; }
.cs-comp-table.cs-theme-inverted td:first-child { background: rgba(90,90,90,.04); color: #5A5256; }
.cs-comp-table.cs-theme-inverted td:last-child  { background: rgba(61,110,233,.06); color: #231F20; font-weight: 500; }
.cs-comp-table.cs-theme-inverted tbody tr:hover td:first-child { background: rgba(90,90,90,.08); }
.cs-comp-table.cs-theme-inverted tbody tr:hover td:last-child  { background: rgba(61,110,233,.13); }

/* ─────────────────────────────────────────────
   4. FEATURE CARDS GRID
   ───────────────────────────────────────────── */
.cs-four-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* Standard 4 kolonner */
  gap: 20px;
  margin: 28px 0;
  width: 100%;
}
.cs-four-cards.cs-three-col {
  grid-template-columns: repeat(3, 1fr);
}
.cs-four-cards.cs-two-col {
  grid-template-columns: repeat(2, 1fr);
  max-width: 680px;
}
@media (max-width: 900px) {
  .cs-four-cards { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .cs-four-cards { grid-template-columns: 1fr; }
}
.cs-pcard {
  padding: 22px;
  border-radius: 14px;
  background: #F1DFCB;
  border: 1px solid rgba(35,31,32,.12);
  transition: border-color 0.2s, transform 0.2s;
  cursor: default;
}
.cs-pcard:hover {
  border-color: rgba(61, 110, 233, 0.3);
  transform: translateY(-2px);
}
.cs-pcard-num {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #3D6EE9;
  margin-bottom: 10px;
}
.cs-pcard h4 {
  font-size: 16px;
  font-weight: 600;
  color: #231F20;
  margin: 0 0 6px;
}
.cs-pcard p {
  font-size: 13px;
  color: #5A5256;
  line-height: 1.6;
  margin: 0;
}

/* ─────────────────────────────────────────────
   5. ARROW LIST (with hover, no cursor pointer)
   ───────────────────────────────────────────── */
.cs-arrow-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 20px 0;
  max-width: 640px;
}
.cs-arrow-item {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 13px 18px;
  border-radius: 10px;
  background: #F1DFCB;
  border: 1px solid rgba(35,31,32,.12);
  transition: border-color 0.2s, background 0.2s;
  cursor: default;
}
.cs-arrow-item:hover {
  border-color: rgba(61, 110, 233, 0.35);
  background: rgba(61, 110, 233, 0.04);
}
.cs-arrow-icon {
  font-weight: 700;
  flex-shrink: 0;
  color: #3D6EE9;
  transition: color 0.2s, transform 0.2s;
  display: inline-block;
  /* Centreret lodret — ved lange tekster (>1 linje) rykker pilen
     til tekstens midtpunkt, hvilket er bedre end flex-start toppen */
  align-self: center;
}
.cs-arrow-item.cs-arrow-red .cs-arrow-icon,
.vc_row .cs-arrow-item.cs-arrow-red .cs-arrow-icon,
.vc_row.cs-bg-dark .cs-arrow-item.cs-arrow-red .cs-arrow-icon,
.vc_row.cs-bg-blue .cs-arrow-item.cs-arrow-red .cs-arrow-icon,
.vc_row.cs-bg-beige .cs-arrow-item.cs-arrow-red .cs-arrow-icon,
.vc_row.cs-bg-beige-dark .cs-arrow-item.cs-arrow-red .cs-arrow-icon,
.vc_row.cs-bg-white .cs-arrow-item.cs-arrow-red .cs-arrow-icon {
  color: rgba(200, 70, 70, 0.85) !important;
}
/* Red arrow on dark/blue bg — slightly brighter so it's visible */
.vc_row.cs-bg-dark .cs-arrow-item.cs-arrow-red .cs-arrow-icon,
.vc_row.cs-bg-blue .cs-arrow-item.cs-arrow-red .cs-arrow-icon {
  color: rgba(240, 100, 100, 0.9) !important;
}
.cs-arrow-item:hover .cs-arrow-icon {
  color: #3D6EE9;
  transform: translateX(3px);
}
.cs-arrow-item span:last-child {
  font-size: 14px;
  color: #5A5256;
  line-height: 1.55;
}

/* ─────────────────────────────────────────────
   6. WORKS BEST WHEN
   ───────────────────────────────────────────── */
.cs-when-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 28px 0;
  max-width: 680px;
}
.cs-when-card {
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(35,31,32,.12);
  display: flex;
  flex-direction: column;
}
.cs-when-header {
  padding: 13px 20px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
.cs-when-good .cs-when-header {
  background: rgba(40, 140, 80, 0.1);
  color: rgba(30, 110, 60, 0.9);
}
.cs-when-less .cs-when-header {
  background: rgba(180, 50, 50, 0.07);
  color: rgba(150, 40, 40, 0.85);
}
.cs-when-body {
  padding: 16px 20px;
  background: #FFFFFF;
  flex: 1;
}
.cs-when-body ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.cs-when-body li {
  display: flex;
  gap: 10px;
  font-size: 13px;
  color: #5A5256;
  align-items: flex-start;
  line-height: 1.4;
}
.cs-when-good .cs-when-body li::before {
  content: '✓';
  color: rgba(30, 120, 60, 0.85);
  font-weight: 700;
  flex-shrink: 0;
  font-size: 12px;
  margin-top: 1px;
}
.cs-when-less .cs-when-body li::before {
  content: '—';
  color: rgba(150, 40, 40, 0.7);
  font-weight: 700;
  flex-shrink: 0;
  font-size: 12px;
  margin-top: 1px;
}
.cs-when-footnote {
  font-size: 14px;
  color: #5A5256;
  font-style: italic;
  margin-top: 16px;
  max-width: 680px;
}

/* ─────────────────────────────────────────────
   7. MISTAKE LIST
   ───────────────────────────────────────────── */
.cs-mistake-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 24px 0;
  max-width: 680px;
}
.cs-mistake {
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 18px 22px;
  border-radius: 12px;
  background: #F1DFCB;
  border: 1px solid rgba(35,31,32,.12);
  transition: border-color 0.2s, background 0.2s;
  cursor: default;
}
.cs-mistake:hover {
  border-color: rgba(61, 110, 233, 0.25);
  background: rgba(61, 110, 233, 0.03);
}
.cs-mistake-num {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #231F20;
  color: var(--cs-beige);
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
}
.cs-mistake h4 {
  font-size: 15px;
  font-weight: 600;
  color: #231F20;
  margin: 0 0 4px;
}
.cs-mistake p {
  font-size: 13px;
  color: #5A5256;
  line-height: 1.55;
  margin: 0;
}

/* ─────────────────────────────────────────────
   8. HOW BLOCKS (2×2)
   ───────────────────────────────────────────── */
.cs-how-blocks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin: 24px 0;
  max-width: 680px;
}
.cs-how-block {
  padding: 22px 24px;
  border-radius: 14px;
  background: #FFFFFF;
  border: 1px solid rgba(35,31,32,.12);
  transition: border-color 0.2s, transform 0.2s;
  cursor: default;
}
.cs-how-block:hover {
  border-color: rgba(61, 110, 233, 0.3);
  transform: translateY(-2px);
}
.cs-how-block-num {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #3D6EE9;
  margin-bottom: 8px;
}
.cs-how-block h4 {
  font-size: 15px;
  font-weight: 600;
  color: #231F20;
  margin: 0 0 5px;
}
.cs-how-block p {
  font-size: 13px;
  color: #5A5256;
  line-height: 1.6;
  margin: 0;
}

/* ─────────────────────────────────────────────
   9. CLIENT QUOTE
   ───────────────────────────────────────────── */
.cs-client-quote {
  padding: 56px 0;
  max-width: 680px;
  border-top: 1px solid var(--cs-line);
  margin-top: 40px;
}
.cs-quote-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #3D6EE9;
  margin-bottom: 24px;
}
.cs-quote-text {
  font-size: clamp(18px, 2vw, 24px);
  font-weight: 500;
  line-height: 1.5;
  color: #231F20;
  margin: 0 0 28px;
  font-style: normal;
  border: none;
  padding: 0;
}
.cs-quote-person {
  display: flex;
  align-items: center;
  gap: 14px;
}
.cs-quote-avatar {
  width: 68px;
  height: 68px;
  border-radius: 50% !important;
  object-fit: cover;
  object-position: top;
  flex-shrink: 0;
}
.cs-quote-initials {
  width: 68px;
  height: 68px;
  border-radius: 50% !important;
  background: var(--cs-blue);
  color: var(--cs-beige);
  font-size: 15px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cs-quote-name {
  font-size: 14px;
  font-weight: 600;
  color: #231F20;
}
.cs-quote-role {
  font-size: 13px;
  color: #5A5256;
}
.cs-quote-link-wrap {
  margin-top: 24px;
}

/* ─────────────────────────────────────────────
   10. INTERNAL QUOTE (dark background)
   ───────────────────────────────────────────── */
.cs-internal-quote {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  padding: 28px 30px;
  border-radius: 16px;
  background: #231F20;
  max-width: 680px;
  margin: 28px 0;
}
.cs-int-quote-avatar {
  width: 68px;
  height: 68px;
  border-radius: 50% !important;
  object-fit: cover;
  object-position: top;
  flex-shrink: 0;
  border: 2px solid rgba(241, 223, 203, 0.25);
}
.cs-int-quote-initials {
  width: 68px;
  height: 68px;
  border-radius: 50% !important;
  background: var(--cs-blue);
  color: var(--cs-beige);
  font-size: 15px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cs-int-quote-content blockquote {
  font-size: 14px;
  color: rgba(241, 223, 203, 0.88);
  line-height: 1.7;
  font-style: italic;
  margin: 0 0 12px;
  border: none;
  padding: 0;
}
.cs-int-quote-name {
  font-size: 13px;
  font-weight: 600;
  color: #F1DFCB;
}
.cs-int-quote-role {
  font-size: 12px;
  color: rgba(241, 223, 203, 0.55);
}
.cs-int-quote-link {
  display: inline-block;
  margin-top: 8px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(241, 223, 203, 0.7);
  text-decoration: none;
  letter-spacing: 0.3px;
}
.cs-int-quote-link:hover {
  color: rgba(241, 223, 203, 1);
}
/* Link i beige/hvide varianter */
.cs-internal-quote.cs-card-beige      .cs-int-quote-link,
.cs-internal-quote.cs-card-white      .cs-int-quote-link,
.cs-internal-quote.cs-card-beige-dark .cs-int-quote-link {
  color: #3D6EE9;
}
.cs-internal-quote.cs-card-beige      .cs-int-quote-link:hover,
.cs-internal-quote.cs-card-white      .cs-int-quote-link:hover,
.cs-internal-quote.cs-card-beige-dark .cs-int-quote-link:hover {
  color: #2D57C4;
}
/* Link i blå variant */
.cs-internal-quote.cs-card-blue .cs-int-quote-link {
  color: rgba(255,255,255,.85);
}
.cs-internal-quote.cs-card-blue .cs-int-quote-link:hover {
  color: #FFFFFF;
}

/* ─────────────────────────────────────────────
   11. CTA BLOCK
   ───────────────────────────────────────────── */
.cs-cta-block {
  background: var(--cs-blue);
  border-radius: 20px;
  padding: 40px 48px;
  text-align: center;
  margin: 0;
}
.cs-cta-avatar-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-bottom: 18px;
}
.cs-cta-avatar-img {
  width: 80px;
  height: 80px;
  border-radius: 50% !important;
  object-fit: cover;
  object-position: top;
  border: 3px solid rgba(241, 223, 203, 0.6);
  flex-shrink: 0;
  box-shadow: 0 2px 16px rgba(0,0,0,.2);
}
.cs-cta-avatar-name {
  font-size: 15px;
  font-weight: 600;
  color: #F1DFCB;
  text-align: left;
}
.cs-cta-avatar-role {
  font-size: 13px;
  color: rgba(241, 223, 203, 0.75);
  text-align: left;
}
.cs-cta-heading {
  font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 600;
  color: var(--cs-beige);
  letter-spacing: -0.02em;
  max-width: 520px;
  margin: 0 auto 12px;
  line-height: 1.2;
}
.cs-cta-text {
  color: rgba(241, 223, 203, 0.75);
  font-size: 15px;
  max-width: 440px;
  margin: 0 auto 28px;
}
.cs-cta-btn {
  margin: 0 auto;
}

/* ─────────────────────────────────────────────
   12. RELATED CARDS GRID
   ───────────────────────────────────────────── */
.cs-related-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  margin: 22px 0;
}
.cs-related-card {
  text-decoration: none;
  padding: 20px 22px;
  border-radius: 14px;
  background: #F1DFCB;
  border: 1px solid rgba(35,31,32,.12);
  display: flex;
  flex-direction: column;
  gap: 5px;
  transition: border-color 0.2s, transform 0.2s;
}
.cs-related-card:hover {
  border-color: #3D6EE9;
  transform: translateY(-2px);
}
.cs-related-tag {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #3D6EE9;
}
.cs-related-title {
  font-size: 14px;
  font-weight: 600;
  color: #231F20;
  line-height: 1.35;
}
.cs-related-desc {
  font-size: 13px;
  color: #5A5256;
  line-height: 1.55;
  flex: 1;
}
.cs-related-cta {
  font-size: 12px;
  color: #3D6EE9;
  margin-top: 4px;
}

/* ─────────────────────────────────────────────
   13. AEO BOX
   ───────────────────────────────────────────── */
.cs-aeo-box {
  padding: 24px 28px 24px 32px;
  background: #E5D2BA;
  border-radius: 14px;
  border: 1px solid rgba(35,31,32,.12) !important;
  border-left: 3px solid #3D6EE9 !important;
  max-width: 860px;
  width: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
  box-sizing: border-box;
}
.cs-aeo-label {
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  color: #231F20;
  opacity: 1;
  margin: 0 0 10px 0;
  line-height: 1.35;
}
.cs-aeo-box p {
  font-size: 15px;
  font-weight: 400;
  color: #231F20;
  line-height: 1.7;
  margin: 0;
  flex: 1;
  max-width: 720px;
}

/* ─────────────────────────────────────────────
   14. SECTION LABEL
   ───────────────────────────────────────────── */
.cs-slabel {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #5A5256;
  margin-bottom: 16px;
}
.cs-slabel::before {
  content: '';
  width: 32px;
  height: 1px;
  background: currentColor;
  display: inline-block;
}
.cs-slabel-extra {
  opacity: 0.65;
  letter-spacing: 0.5px;
  text-transform: none;
  font-weight: 400;
}
/* Fargevarianter — currentColor sikrer at stregen følger teksten */
.cs-slabel.cs-slabel-dark    { color: #231F20; }
.cs-slabel.cs-slabel-blue    { color: #3D6EE9; }
.cs-slabel.cs-slabel-beige   { color: #F1DFCB; }
.cs-slabel.cs-slabel-white   { color: #FFFFFF; }
.cs-slabel.cs-slabel-muted   { color: rgba(241,223,203,.55); } /* til mørke sektioner */

/* ─────────────────────────────────────────────
   15. STAT ROW
   ───────────────────────────────────────────── */
.cs-stat-row {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
  margin: 28px 0;
}
.cs-stat-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.cs-stat-num {
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 700;
  color: #231F20 !important;
  letter-spacing: -0.03em;
  line-height: 1;
}
.cs-stat-label {
  font-size: 13px;
  color: #5A5256 !important;
  font-weight: 500;
}

/* ─────────────────────────────────────────────
   16. SHARED BUTTONS
   ───────────────────────────────────────────── */
.cs-btn-p {
  background: #231F20;
  color: var(--cs-beige);
  border: none;
  padding: 12px 22px;
  border-radius: 999px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: all 0.2s;
  text-decoration: none;
}
.cs-btn-p:hover {
  background: var(--cs-blue);
  color: var(--cs-beige);
  transform: translateY(-1px);
  text-decoration: none;
}
.cs-btn-o {
  background: transparent;
  border: 1.5px solid var(--cs-black);
  color: #231F20;
  padding: 10px 20px;
  border-radius: 999px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.2s;
  text-decoration: none;
}
.cs-btn-o:hover {
  background: #231F20;
  color: var(--cs-beige);
  text-decoration: none;
}

/* ─────────────────────────────────────────────
   17. RESPONSIVE BREAKPOINTS
   ───────────────────────────────────────────── */
@media (max-width: 768px) {
  .cs-four-cards,
  .cs-four-cards.cs-three-col,
  .cs-how-blocks,
  .cs-when-grid,
  .cs-related-grid {
    grid-template-columns: 1fr;
  }
  .cs-cta-block {
    padding: 36px 24px;
  }
  .cs-internal-quote {
    flex-direction: column;
    gap: 14px;
  }
  .cs-stat-row {
    gap: 24px;
  }
  .cs-pull-quote {
    padding: 20px 24px;
  }
}

@media (max-width: 600px) {

  /* ── Tabel-reset ── */
  .cs-comp-table          { min-width: 0; display: block; }
  .cs-comp-table thead    { display: none; }
  .cs-comp-table tbody    { display: block; }

  /* Hver row: to celler side om side — inden for skærmen */
  .cs-comp-table tbody tr {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-bottom: 1px solid rgba(35,31,32,.08);
  }
  .cs-comp-table tbody tr:last-child { border-bottom: none; }
  .cs-comp-table td {
    display: block;
    padding: 12px 14px 10px;
    border-bottom: none;
  }

  /* ── ::before label = kolonneoverskrift med korrekte temafarver ── */
  .cs-comp-table td::before {
    content: attr(data-label);
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    margin-bottom: 5px;
  }

  /* Default (blå/grå) */
  .cs-comp-table td:first-child::before { color: #3D6EE9; }
  .cs-comp-table td:last-child::before  { color: #5a5a5a; }

  /* Dark */
  .cs-comp-table.cs-theme-dark tbody tr        { border-bottom-color: rgba(241,223,203,.08); }
  .cs-comp-table.cs-theme-dark td:first-child::before { color: #F1DFCB; }
  .cs-comp-table.cs-theme-dark td:last-child::before  { color: rgba(241,223,203,.6); }

  /* Blue */
  .cs-comp-table.cs-theme-blue td:first-child::before { color: #3D6EE9; }
  .cs-comp-table.cs-theme-blue td:last-child::before  { color: #6890F2; }

  /* Beige */
  .cs-comp-table.cs-theme-beige td:first-child::before { color: #231F20; }
  .cs-comp-table.cs-theme-beige td:last-child::before  { color: #C4B09A; }

  /* Inverted */
  .cs-comp-table.cs-theme-inverted td:first-child::before { color: #5a5a5a; }
  .cs-comp-table.cs-theme-inverted td:last-child::before  { color: #3D6EE9; }

}

/* ─────────────────────────────────────────────

/* ═══════════════════════════════════════════════
   FOOTER — Newsletter widget styling
   Matcher demo præcist
   ═══════════════════════════════════════════════ */

/* Footer menu links — beige underline on hover, ingen farveændring */
footer .menu-item a {
  color: rgba(241,223,203,.85) !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-family: 'Poppins', sans-serif !important;
  transition: text-decoration-color .2s !important;
  display: inline !important;
  opacity: 1 !important;
  border-bottom: none !important;
  box-shadow: none !important;
}
footer .menu-item a:hover {
  color: rgba(241,223,203,.85) !important;
  text-decoration: underline !important;
  text-decoration-color: rgba(241,223,203,.55) !important;
  text-underline-offset: 3px !important;
}
footer .menu-item {
  list-style: none !important;
}

/* ── Newsletter widget — kompakt som demo ── */
.csf-newsletter-widget {
  max-width: 300px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

/* Fjern alle standard margins/paddings på widget-wrapper */
.csf-newsletter-widget > *,
.csf-newsletter-widget .widget,
.csf-newsletter-widget form,
.csf-newsletter-widget .vc_column-inner,
.csf-newsletter-widget p {
  margin: 0 !important;
  padding: 0 !important;
}

/* Hide widget title + intro paragraph */
.csf-newsletter-widget .widget-title,
.csf-newsletter-widget h2,
.csf-newsletter-widget h3,
.csf-newsletter-widget h4,
.csf-newsletter-widget > .widget > p:first-of-type,
.csf-newsletter-widget .textwidget > p:first-child {
  display: none !important;
}

/* Inputs — præcis som demo */
.csf-newsletter-widget input[type="text"],
.csf-newsletter-widget input[type="email"],
.csf-newsletter-widget input[type="name"] {
  background: transparent !important;
  border: 1px solid rgba(241,223,203,.3) !important;
  border-radius: 999px !important;
  padding: 12px 16px !important;
  color: #F1DFCB !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 14px !important;
  outline: none !important;
  width: 100% !important;
  max-width: 300px !important;
  display: block !important;
  margin: 0 0 8px 0 !important;
  box-shadow: none !important;
  transition: border-color .2s !important;
  box-sizing: border-box !important;
}
.csf-newsletter-widget input::placeholder {
  color: rgba(241,223,203,.5) !important;
}
.csf-newsletter-widget input:focus {
  border-color: #6890F2 !important;
}

/* reCAPTCHA — lille og tæt */
.csf-newsletter-widget .g-recaptcha,
.csf-newsletter-widget [class*="recaptcha"],
.csf-newsletter-widget [id*="recaptcha"] {
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
  transform: scale(0.82) !important;
  transform-origin: left top !important;
}

/* ── THE BUTTON — max specificity, covers all Grobowski classes ── */
.csf-newsletter-widget input[type="submit"],
.csf-newsletter-widget button[type="submit"],
.csf-newsletter-widget .vc_btn3,
.csf-newsletter-widget .vc_btn3-container a,
.csf-newsletter-widget a.vc_btn3,
.csf-newsletter-widget [class*="vc_btn"],
.csf-newsletter-widget [class*="wp-block-button"] a,
footer .csf-newsletter-widget * [type="submit"] {
  background: #F1DFCB !important;
  color: #231F20 !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 10px 8px 10px 22px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: fit-content !important;
  transition: background .2s !important;
  text-decoration: none !important;
  box-shadow: none !important;
  outline: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.csf-newsletter-widget input[type="submit"]:hover,
.csf-newsletter-widget button[type="submit"]:hover,
.csf-newsletter-widget .vc_btn3:hover,
.csf-newsletter-widget [class*="vc_btn"]:hover {
  background: #6890F2 !important;
  color: #fff !important;
}

/* Force override Grobowski icon/arrow color inside button */
.csf-newsletter-widget [class*="vc_btn"] i,
.csf-newsletter-widget [class*="vc_btn"] .vc_btn3-icon,
.csf-newsletter-widget [class*="vc_btn"] svg {
  color: #231F20 !important;
  fill: #231F20 !important;
}

/* ── Responsive footer ── */
@media (max-width: 1100px) {
  footer > div:first-of-type {
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 40px !important;
  }
}
@media (max-width: 768px) {
  footer {
    padding: 60px 24px 30px !important;
  }
  footer > div:first-of-type {
    grid-template-columns: 1fr 1fr !important;
    gap: 32px !important;
  }
  footer > div:last-of-type {
    flex-direction: column !important;
    text-align: center !important;
    gap: 14px !important;
  }
}
@media (max-width: 480px) {
  footer > div:first-of-type {
    grid-template-columns: 1fr !important;
  }
}

/* ── WordPress admin bar — header offset ── */
/* Når man er logget ind forskydes alt 32px ned */
.admin-bar #masthead.site-header {
  top: 32px !important;
}
.admin-bar #page {
  padding-top: 96px !important; /* 64px header + 32px adminbar */
}
@media screen and (max-width: 782px) {
  .admin-bar #masthead.site-header {
    top: 46px !important;
  }
  .admin-bar #page {
    padding-top: 110px !important;
  }
}
/* Besøgende (ikke logget ind) ser kun header-højden */
body:not(.admin-bar) #masthead.site-header {
  top: 0 !important;
}
body:not(.admin-bar) #page {
  padding-top: 64px !important;
}
/* Alert bar aktiv: skub header og indhold ned */
body.has-alert-bar:not(.admin-bar) #masthead.site-header {
  top: 44px !important;
}
body.has-alert-bar:not(.admin-bar) #page {
  padding-top: 108px !important;
}

/* ═══════════════════════════════════════════════
   GLOBAL FONT OVERRIDE — Poppins på navigation og body
   Bootscore/Bootstrap bruger system-ui som standard.
   Disse regler sørger for at Poppins bruges konsistent.
   ═══════════════════════════════════════════════ */

body,
p,
li,
td,
input,
textarea,
select,
button {
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Navigation — Bootscore/Bootstrap nav */
.navbar .nav-link,
.navbar-nav .nav-link,
.navbar-brand,
.offcanvas-body .nav-link,
.offcanvas-body .navbar-nav .nav-link,
.navbar-toggler,
header .menu-item a,
header .nav-item a,
#masthead .nav-link,
#masthead a {
  font-family: 'Poppins', -apple-system, sans-serif !important;
  font-weight: 500 !important;
}

/* Headings — kun i indholdsområdet, ikke header/footer */
.site-main h1, .site-main h2, .site-main h3,
.site-main h4, .site-main h5, .site-main h6,
.entry-content h1, .entry-content h2, .entry-content h3,
.entry-content h4, .entry-content h5, .entry-content h6,
.wpb_content_wrapper h1, .wpb_content_wrapper h2, .wpb_content_wrapper h3,
.wpb_content_wrapper h4, .wpb_content_wrapper h5, .wpb_content_wrapper h6 {
  font-family: 'Poppins', -apple-system, sans-serif !important;
  font-weight: 500 !important;
}

/* ── Rounded corners på alle indsatte billeder ──────────────
   Gælder alle billeder i WPBakery kolonner og standard WP-indhold.
   Undtager: logo, menu-ikoner og elementer med klassen .cs-no-radius
   ──────────────────────────────────────────────────────────── */
/* Runde hjørner på billeder — undtager elementer der har egne radius-regler */
.site-main img,
.entry-content img,
.vc_column-inner img,
.wpb_content_wrapper img {
  border-radius: var(--cs-radius-lg);
}
/* Undtagelser — ingen global radius */
header img,
.navbar img,
.cs-btn img,
.cs-slabel img,
.cs-media-card img,          /* Media card styrer selv radius pr. sektion */
.cs-media-card .cs-mc-image,
.cs-card img,                /* Feature/industry cards — ingen global radius */
.cs-pcard img,
.cs-icon-card img,
.cs-industry-card img,
.cs-feature-box-media,
.cs-news-card img, 
img[width="1"],
img[height="1"] {
  border-radius: 0 !important;
}

/* Undtagelse — brug klassen cs-no-radius på elementet hvis du IKKE vil have runding */
.cs-no-radius img,
img.cs-no-radius {
  border-radius: 0 !important;
}

/* ── WPBakery Single Image wrapper matcher billede-radius ── */
.wpb_single_image .vc_single_image-wrapper,
.vc_single_image-wrapper {
  border-radius: var(--cs-radius-lg);
  overflow: hidden;
}


/* ═══════════════════════════════════════════════
   WPBAKERY ROW BAGGRUNDE — Extra class name
   ═══════════════════════════════════════════════

   BRUG: Klik blyant på Row → General → Extra class name
   Kombiner frit, fx: cs-bg-dark cs-pad-large

   BAGGRUNDSFARVER:
   cs-bg-beige       #F1DFCB  Standard beige
   cs-bg-beige-dark  #E5D2BA  Mørkere beige (variation)
   cs-bg-white       #FFFFFF  Hvid
   cs-bg-dark        #231F20  Mørk/sort
   cs-bg-blue        #3D6EE9  Blå (kun CTA-sektioner)

   PADDING (top + bund):
   cs-pad-none       0px
   cs-pad-small      48px
   cs-pad-normal     80px  (standard)
   cs-pad-large      120px

   SEPARATOR:
   cs-bordered       Subtil linje øverst i sektionen
   ═══════════════════════════════════════════════ */

/* ── Baggrundsfarver ── */
.vc_row.cs-bg-beige,
.vc_row-fluid.cs-bg-beige,
.vc_section.cs-bg-beige {
  background-color: #F1DFCB !important;
}
.vc_row.cs-bg-beige-dark,
.vc_row-fluid.cs-bg-beige-dark,
.vc_section.cs-bg-beige-dark {
  background-color: #E5D2BA !important;
}
.vc_row.cs-bg-white,
.vc_row-fluid.cs-bg-white,
.vc_section.cs-bg-white {
  background-color: #FFFFFF !important;
}
.vc_row.cs-bg-dark,
.vc_row-fluid.cs-bg-dark,
.vc_section.cs-bg-dark {
  background-color: #231F20 !important;
}
.vc_row.cs-bg-blue,
.vc_row-fluid.cs-bg-blue,
.vc_section.cs-bg-blue {
  background-color: #3D6EE9 !important;
}

/* ── Padding ── */
.vc_row.cs-pad-none,
.vc_row-fluid.cs-pad-none {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* Halve padding-varianter — til intro-rækker der hører sammen
   med sektionen under. Uden dem lægges to rækkers padding sammen
   (fx 80 + 80 = 160px), hvilket giver et stort hul i midten. */
.vc_row.cs-pad-top, .vc_row-fluid.cs-pad-top {
  padding-top: 80px !important;
  padding-bottom: 0 !important;
}
.vc_row.cs-pad-bottom, .vc_row-fluid.cs-pad-bottom {
  padding-top: 0 !important;
  padding-bottom: 80px !important;
}
.vc_row.cs-pad-top-small, .vc_row-fluid.cs-pad-top-small {
  padding-top: 48px !important;
  padding-bottom: 0 !important;
}
.vc_row.cs-pad-bottom-small, .vc_row-fluid.cs-pad-bottom-small {
  padding-top: 0 !important;
  padding-bottom: 48px !important;
}
.vc_row.cs-pad-small,
.vc_row-fluid.cs-pad-small {
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}
.vc_row.cs-pad-normal,
.vc_row-fluid.cs-pad-normal {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}
.vc_row.cs-pad-large,
.vc_row-fluid.cs-pad-large {
  padding-top: 120px !important;
  padding-bottom: 120px !important;
}

/* ── Separator øverst ── */
.vc_row.cs-bordered,
.vc_row-fluid.cs-bordered {
  border-top: 1px solid rgba(35,31,32,.12) !important;
}
.vc_row.cs-bg-dark.cs-bordered,
.vc_row.cs-bg-blue.cs-bordered {
  border-top-color: rgba(255,255,255,.1) !important;
}

/* ── Tekstfarver i mørke/blå sektioner ──
   VIGTIGT: Vi rammer KUN .wpb_text_column (normale tekstblokke i WPBakery).
   Kortenes interne tekst (h4, p, span) styres UDELUKKENDE af kortfarvereglerne
   nedenfor. På den måde undgår vi specificitetskrige.
   ── */
.vc_row.cs-bg-dark h1,
.vc_row.cs-bg-dark h2,
.vc_row.cs-bg-dark h3 { color: #F1DFCB !important; }

.vc_row.cs-bg-dark .wpb_text_column h4,
.vc_row.cs-bg-dark .wpb_text_column h5 { color: #F1DFCB !important; }

.vc_row.cs-bg-dark .wpb_text_column p,
.vc_row.cs-bg-dark .wpb_text_column li { color: rgba(241,223,203,.75) !important; }

.vc_row.cs-bg-blue h1,
.vc_row.cs-bg-blue h2,
.vc_row.cs-bg-blue h3 { color: #F1DFCB !important; }

.vc_row.cs-bg-blue .wpb_text_column h4,
.vc_row.cs-bg-blue .wpb_text_column h5 { color: #F1DFCB !important; }

.vc_row.cs-bg-blue .wpb_text_column p,
.vc_row.cs-bg-blue .wpb_text_column li { color: rgba(241,223,203,.85) !important; }

/* ── Conscensia-elementer i mørk sektion (UDEN kortfarve-klasse) ──
   Bruger :not([class*="cs-card-"]) så elementer MED en cs-card-* klasse
   IKKE rammes her — de styres af kortfarvereglerne sidst i filen.
   ── */
.vc_row.cs-bg-dark .cs-pcard:not([class*="cs-card-"]),
.vc_row.cs-bg-dark .cs-arrow-item:not([class*="cs-card-"]),
.vc_row.cs-bg-dark .cs-mistake:not([class*="cs-card-"]),
.vc_row.cs-bg-dark .cs-how-block:not([class*="cs-card-"]) {
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.12) !important;
}
.vc_row.cs-bg-dark .cs-pcard:not([class*="cs-card-"]) h4,
.vc_row.cs-bg-dark .cs-how-block:not([class*="cs-card-"]) h4,
.vc_row.cs-bg-dark .cs-mistake:not([class*="cs-card-"]) h4 { color: #F1DFCB !important; }
.vc_row.cs-bg-dark .cs-pcard:not([class*="cs-card-"]) p,
.vc_row.cs-bg-dark .cs-how-block:not([class*="cs-card-"]) p,
.vc_row.cs-bg-dark .cs-mistake:not([class*="cs-card-"]) p,
.vc_row.cs-bg-dark .cs-arrow-item:not([class*="cs-card-"]) span:last-child { color: rgba(241,223,203,.65) !important; }
.vc_row.cs-bg-dark .cs-arrow-item:not([class*="cs-card-"]) .cs-arrow-icon { color: #6890F2 !important; }

/* ── Conscensia-elementer i blå sektion (UDEN kortfarve-klasse) ── */
.vc_row.cs-bg-blue .cs-pcard:not([class*="cs-card-"]),
.vc_row.cs-bg-blue .cs-arrow-item:not([class*="cs-card-"]),
.vc_row.cs-bg-blue .cs-mistake:not([class*="cs-card-"]),
.vc_row.cs-bg-blue .cs-how-block:not([class*="cs-card-"]) {
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.2) !important;
}
.vc_row.cs-bg-blue .cs-pcard:not([class*="cs-card-"]) h4,
.vc_row.cs-bg-blue .cs-how-block:not([class*="cs-card-"]) h4,
.vc_row.cs-bg-blue .cs-mistake:not([class*="cs-card-"]) h4 { color: #FFFFFF !important; }
.vc_row.cs-bg-blue .cs-pcard:not([class*="cs-card-"]) p,
.vc_row.cs-bg-blue .cs-how-block:not([class*="cs-card-"]) p,
.vc_row.cs-bg-blue .cs-mistake:not([class*="cs-card-"]) p,
.vc_row.cs-bg-blue .cs-arrow-item:not([class*="cs-card-"]) span:last-child { color: rgba(255,255,255,.8) !important; }
.vc_row.cs-bg-blue .cs-arrow-item:not([class*="cs-card-"]) .cs-arrow-icon { color: rgba(255,255,255,.9) !important; }
/* Insight box uden kortfarve i mørk sektion */
.vc_row.cs-bg-dark .cs-ibox:not([class*="cs-card-"]) {
  background: rgba(104,144,242,.15) !important;
  border-left-color: #6890F2 !important;
}
.vc_row.cs-bg-dark .cs-ibox:not([class*="cs-card-"]) p { color: rgba(241,223,203,.85) !important; }
.vc_row.cs-bg-dark .cs-ibox:not([class*="cs-card-"]) .cs-ibox-title { color: #6890F2 !important; }
/* Blå sektion */
.vc_row.cs-bg-blue .cs-ibox:not([class*="cs-card-"]) {
  background: rgba(255,255,255,.12) !important;
  border-left-color: rgba(255,255,255,.5) !important;
}
.vc_row.cs-bg-blue .cs-ibox:not([class*="cs-card-"]) p { color: rgba(255,255,255,.9) !important; }
.vc_row.cs-bg-blue .cs-ibox:not([class*="cs-card-"]) .cs-ibox-title { color: rgba(241,223,203,.75) !important; }

/* ═════════════════════════════════════════════
   LODRET CENTRERING AF RÆKKEKOLONNER — cs-valign-middle
   ─────────────────────────────────────────────
   Sættes som Extra class name på en række (vc_row), når indholdet
   i to kolonner skal stå lodret centreret i forhold til hinanden.
   Bruges fx til tekst + illustration side om side.
   Har kun effekt på rækker der eksplicit har klassen.
   ═════════════════════════════════════════════ */
.vc_row.cs-valign-middle {
  display: flex !important;
  flex-wrap: wrap;
  align-items: stretch !important;
}
.vc_row.cs-valign-middle > .vc_column_container,
.vc_row.cs-valign-middle > .wpb_column,
.vc_row.cs-valign-middle > div[class*="vc_col-"],
.vc_row.cs-valign-middle > div[class*="col-"] {
  display: flex !important;
  align-items: stretch;
}
.vc_row.cs-valign-middle .vc_column-inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
}
.vc_row.cs-valign-middle .vc_column-inner > .wpb_wrapper {
  width: 100%;
}
/* Mobil: kolonnerne stables — centrering giver ingen mening der */
@media (max-width: 767px) {
  .vc_row.cs-valign-middle .vc_column-inner {
    justify-content: flex-start;
  }
}

/* ── Responsiv padding ── */
@media (max-width: 1024px) {
  .vc_row.cs-pad-large  { padding-top: 80px  !important; padding-bottom: 80px  !important; }
  .vc_row.cs-pad-normal { padding-top: 60px  !important; padding-bottom: 60px  !important; }
  .vc_row.cs-pad-small  { padding-top: 32px  !important; padding-bottom: 32px  !important; }
}
@media (max-width: 768px) {
  .vc_row.cs-pad-large  { padding-top: 60px  !important; padding-bottom: 60px  !important; }
  .vc_row.cs-pad-normal { padding-top: 40px  !important; padding-bottom: 40px  !important; }
  .vc_row.cs-pad-small  { padding-top: 24px  !important; padding-bottom: 24px  !important; }
}

/* ═══════════════════════════════════════════════
   ELEMENT KORTFARVER — cs-card-{stil}
   ───────────────────────────────────────────────
   ALLE regler bruger .vc_row som ancestor-prefix.
   Dette giver specificitet (0,2,1) minimum, hvilket
   slår de fleste tema-regler (0,0,1) eller (0,1,1).
   Kortfarvereglerne har ALTID det sidste ord om
   baggrund og tekstfarver inde i kortene.
   ═══════════════════════════════════════════════ */

/* ── HVID ── */
.vc_row .cs-card-white.cs-how-block,
.vc_row .cs-card-white.cs-pcard,
.vc_row .cs-card-white.cs-mistake,
.vc_row .cs-card-white.cs-arrow-item {
  background: #FFFFFF !important;
  border-color: rgba(35,31,32,.12) !important;
  box-shadow: 0 2px 12px rgba(35,31,32,.08) !important;
}
.vc_row .cs-card-white.cs-how-block { border-top: 3px solid #3D6EE9 !important; }
.vc_row .cs-card-white.cs-pcard     { border-top: 3px solid #3D6EE9 !important; }
.vc_row .cs-card-white.cs-mistake   { border-top: 3px solid #3D6EE9 !important; }
.vc_row .cs-card-white .cs-how-block-num,
.vc_row .cs-card-white .cs-pcard-num    { color: #3D6EE9 !important; }
.vc_row .cs-card-white h4               { color: #231F20 !important; }
.vc_row .cs-card-white p                { color: #5A5256 !important; }
.vc_row .cs-card-white .cs-mistake-num  { background: #231F20 !important; color: #F1DFCB !important; }
.vc_row .cs-card-white .cs-arrow-icon   { color: #3D6EE9 !important; }
.vc_row .cs-card-white.cs-arrow-item span:last-child { color: #231F20 !important; }
.vc_row .cs-card-white.cs-arrow-item:hover { background: #FFFFFF !important; }

/* ── BEIGE ── */
.vc_row .cs-card-beige.cs-how-block,
.vc_row .cs-card-beige.cs-pcard,
.vc_row .cs-card-beige.cs-mistake,
.vc_row .cs-card-beige.cs-arrow-item {
  background: #F1DFCB !important;
  border-color: rgba(35,31,32,.12) !important;
  box-shadow: none !important;
}
.vc_row .cs-card-beige .cs-how-block-num,
.vc_row .cs-card-beige .cs-pcard-num    { color: #3D6EE9 !important; }
.vc_row .cs-card-beige h4               { color: #231F20 !important; }
.vc_row .cs-card-beige p                { color: #5A5256 !important; }
.vc_row .cs-card-beige .cs-mistake-num  { background: #231F20 !important; color: #F1DFCB !important; }
.vc_row .cs-card-beige .cs-arrow-icon   { color: #3D6EE9 !important; }
.vc_row .cs-card-beige.cs-arrow-item span:last-child { color: #231F20 !important; }
.vc_row .cs-card-beige.cs-arrow-item:hover { background: #F1DFCB !important; }

/* ── BEIGE MØRK ── */
.vc_row .cs-card-beige-dark.cs-how-block,
.vc_row .cs-card-beige-dark.cs-pcard,
.vc_row .cs-card-beige-dark.cs-mistake,
.vc_row .cs-card-beige-dark.cs-arrow-item {
  background: #E5D2BA !important;
  border-color: rgba(35,31,32,.12) !important;
  box-shadow: none !important;
}
.vc_row .cs-card-beige-dark .cs-how-block-num,
.vc_row .cs-card-beige-dark .cs-pcard-num { color: #3D6EE9 !important; }
.vc_row .cs-card-beige-dark h4             { color: #231F20 !important; }
.vc_row .cs-card-beige-dark p              { color: #5A5256 !important; }
.vc_row .cs-card-beige-dark .cs-arrow-icon { color: #3D6EE9 !important; }
.vc_row .cs-card-beige-dark.cs-arrow-item span:last-child { color: #231F20 !important; }
.vc_row .cs-card-beige-dark.cs-arrow-item:hover { background: #E5D2BA !important; }

/* ── MØRK ── */
.vc_row .cs-card-dark.cs-how-block,
.vc_row .cs-card-dark.cs-pcard,
.vc_row .cs-card-dark.cs-mistake,
.vc_row .cs-card-dark.cs-arrow-item {
  background: rgba(35,31,32,.9) !important;
  border-color: rgba(241,223,203,.1) !important;
  box-shadow: none !important;
}
.vc_row .cs-card-dark .cs-how-block-num,
.vc_row .cs-card-dark .cs-pcard-num    { color: #6890F2 !important; }
.vc_row .cs-card-dark h4               { color: #F1DFCB !important; }
.vc_row .cs-card-dark p                { color: rgba(241,223,203,.65) !important; }
.vc_row .cs-card-dark .cs-mistake-num  { background: rgba(241,223,203,.15) !important; color: #F1DFCB !important; }
.vc_row .cs-card-dark.cs-arrow-item:not(.cs-arrow-red) .cs-arrow-icon { color: #6890F2 !important; }
.vc_row .cs-card-dark.cs-arrow-item span:last-child { color: rgba(241,223,203,.85) !important; }

/* ── BLÅ ── */
.vc_row .cs-card-blue.cs-how-block,
.vc_row .cs-card-blue.cs-pcard,
.vc_row .cs-card-blue.cs-mistake,
.vc_row .cs-card-blue.cs-arrow-item {
  background: #3D6EE9 !important;
  border-color: rgba(255,255,255,.2) !important;
  box-shadow: none !important;
}
.vc_row .cs-card-blue .cs-how-block-num,
.vc_row .cs-card-blue .cs-pcard-num    { color: rgba(241,223,203,.8) !important; }
.vc_row .cs-card-blue h4               { color: #FFFFFF !important; }
.vc_row .cs-card-blue p                { color: rgba(255,255,255,.8) !important; }
.vc_row .cs-card-blue .cs-mistake-num  { background: rgba(255,255,255,.2) !important; color: #fff !important; }
.vc_row .cs-card-blue.cs-arrow-item:not(.cs-arrow-red) .cs-arrow-icon { color: rgba(255,255,255,.9) !important; }
.vc_row .cs-card-blue.cs-arrow-item span:last-child { color: rgba(255,255,255,.9) !important; }

/* ── Stat row farver ── */
/* Baggrundfarve + padding tilføjes kun når der ER en kortfarve-klasse */
.vc_row .cs-stat-row.cs-card-white,
.vc_row .cs-stat-row.cs-card-beige,
.vc_row .cs-stat-row.cs-card-beige-dark,
.vc_row .cs-stat-row.cs-card-dark,
.vc_row .cs-stat-row.cs-card-blue {
  display: inline-flex;
  gap: 40px;
  flex-wrap: wrap;
  padding: 24px 32px;
  border-radius: 16px;
  margin: 28px 0;
}
.vc_row .cs-stat-row.cs-card-white      { background: #FFFFFF !important;            box-shadow: 0 2px 16px rgba(35,31,32,.08) !important; }
.vc_row .cs-stat-row.cs-card-beige      { background: #F1DFCB !important; }
.vc_row .cs-stat-row.cs-card-beige-dark { background: #E5D2BA !important; }
.vc_row .cs-stat-row.cs-card-dark       { background: #231F20 !important; }
.vc_row .cs-stat-row.cs-card-blue       { background: #3D6EE9 !important; }

.vc_row .cs-stat-row.cs-card-white      .cs-stat-num   { color: #231F20 !important; }
.vc_row .cs-stat-row.cs-card-white      .cs-stat-label { color: #5A5256 !important; }
.vc_row .cs-stat-row.cs-card-beige      .cs-stat-num   { color: #231F20 !important; }
.vc_row .cs-stat-row.cs-card-beige      .cs-stat-label { color: #5A5256 !important; }
.vc_row .cs-stat-row.cs-card-beige-dark .cs-stat-num   { color: #231F20 !important; }
.vc_row .cs-stat-row.cs-card-beige-dark .cs-stat-label { color: #5A5256 !important; }
.vc_row .cs-stat-row.cs-card-dark       .cs-stat-num   { color: #F1DFCB !important; }
.vc_row .cs-stat-row.cs-card-dark       .cs-stat-label { color: rgba(241,223,203,.6) !important; }
.vc_row .cs-stat-row.cs-card-blue       .cs-stat-num   { color: #FFFFFF !important; }
.vc_row .cs-stat-row.cs-card-blue       .cs-stat-label { color: rgba(255,255,255,.7) !important; }

/* ═══════════════════════════════════════════════
   RØDPIL — gælder alle sektioner og kortfarver
   ═══════════════════════════════════════════════ */
.vc_row .cs-arrow-item.cs-arrow-red .cs-arrow-icon { color: rgba(210, 75, 75, 0.9) !important; }
/* Lidt lysere rød på mørk/blå baggrund */
.vc_row.cs-bg-dark .cs-arrow-item.cs-arrow-red .cs-arrow-icon,
.vc_row.cs-bg-blue .cs-arrow-item.cs-arrow-red .cs-arrow-icon,
.vc_row .cs-card-dark.cs-arrow-item.cs-arrow-red .cs-arrow-icon,
.vc_row .cs-card-blue.cs-arrow-item.cs-arrow-red .cs-arrow-icon { color: rgba(240, 100, 100, 0.95) !important; }

/* ═══════════════════════════════════════════════
   BEIGE KASSE PÅ HVID SEKTION: let skygge for
   at adskille kasse fra baggrund visuelt
   ═══════════════════════════════════════════════ */
.vc_row.cs-bg-white .cs-card-beige.cs-arrow-item,
.vc_row.cs-bg-white .cs-card-beige.cs-pcard,
.vc_row.cs-bg-white .cs-card-beige.cs-how-block,
.vc_row.cs-bg-white .cs-card-beige.cs-mistake {
  box-shadow: 0 2px 10px rgba(35,31,32,.09) !important;
}


/* ═══════════════════════════════════════════════
   CARD_STYLE — INSIGHT BOX
   Klasse sættes på .cs-ibox
   ═══════════════════════════════════════════════ */
/* ── CARD_STYLE — INSIGHT BOX ── */
.vc_row .cs-ibox.cs-card-white {
  background: #FFFFFF !important;
  border-left-color: #3D6EE9 !important;
  box-shadow: 0 2px 12px rgba(35,31,32,.08) !important;
}
.vc_row .cs-ibox.cs-card-beige {
  background: #F1DFCB !important;
  border-left-color: #3D6EE9 !important;
}
.vc_row .cs-ibox.cs-card-beige-dark {
  background: #E5D2BA !important;
  border-left-color: #3D6EE9 !important;
}
.vc_row .cs-ibox.cs-card-dark {
  background: #231F20 !important;
  border-left-color: #6890F2 !important;
}
.vc_row .cs-ibox.cs-card-blue {
  background: #3D6EE9 !important;
  border-left-color: rgba(255,255,255,.4) !important;
}

/* Tekst per kortfarve */
.vc_row .cs-ibox.cs-card-white p,
.vc_row .cs-ibox.cs-card-beige p,
.vc_row .cs-ibox.cs-card-beige-dark p {
  color: #231F20 !important;
}
.vc_row .cs-ibox.cs-card-dark p {
  color: rgba(241,223,203,.85) !important;
}
.vc_row .cs-ibox.cs-card-blue p {
  color: rgba(255,255,255,.92) !important;
}
/* Label per kortfarve */
.vc_row .cs-ibox.cs-card-white .cs-ibox-title,
.vc_row .cs-ibox.cs-card-beige .cs-ibox-title,
.vc_row .cs-ibox.cs-card-beige-dark .cs-ibox-title {
  color: #3D6EE9 !important;
}
.vc_row .cs-ibox.cs-card-dark .cs-ibox-title {
  color: #6890F2 !important;
}
.vc_row .cs-ibox.cs-card-blue .cs-ibox-title {
  color: rgba(241,223,203,.8) !important;
}

/* ═══════════════════════════════════════════════
   CARD_STYLE — PULL QUOTE
   Klasse sættes på .cs-pull-quote
   ═══════════════════════════════════════════════ */
.vc_row .cs-pull-quote.cs-card-white      { background: #FFFFFF !important; border-left-color: #3D6EE9 !important; }
.vc_row .cs-pull-quote.cs-card-beige      { background: #F1DFCB !important; border-left-color: #3D6EE9 !important; }
.vc_row .cs-pull-quote.cs-card-beige-dark { background: #E5D2BA !important; border-left-color: #3D6EE9 !important; }
.vc_row .cs-pull-quote.cs-card-dark       { background: #231F20 !important; border-left-color: #6890F2 !important; }
.vc_row .cs-pull-quote.cs-card-blue       { background: #3D6EE9 !important; border-left-color: rgba(255,255,255,.5) !important; }

.vc_row .cs-pull-quote.cs-card-white .cs-pull-quote-text,
.vc_row .cs-pull-quote.cs-card-beige .cs-pull-quote-text,
.vc_row .cs-pull-quote.cs-card-beige-dark .cs-pull-quote-text { color: #231F20 !important; }
.vc_row .cs-pull-quote.cs-card-dark .cs-pull-quote-text       { color: #F1DFCB !important; }
.vc_row .cs-pull-quote.cs-card-blue .cs-pull-quote-text       { color: #FFFFFF !important; }

.vc_row .cs-pull-quote.cs-card-dark .cs-pull-quote-label { color: #6890F2 !important; }
.vc_row .cs-pull-quote.cs-card-blue .cs-pull-quote-label { color: rgba(241,223,203,.75) !important; }

/* ═══════════════════════════════════════════════
   CARD_STYLE — CLIENT QUOTE
   Klasse sættes på .cs-client-quote
   ═══════════════════════════════════════════════ */
.vc_row .cs-client-quote.cs-card-beige      { background: #F1DFCB; border-radius: 16px; padding: 32px 36px; border-top: none; }
.vc_row .cs-client-quote.cs-card-white      { background: #FFFFFF; border-radius: 16px; padding: 32px 36px; border-top: none; box-shadow: 0 2px 16px rgba(35,31,32,.08); }
.vc_row .cs-client-quote.cs-card-beige-dark { background: #E5D2BA; border-radius: 16px; padding: 32px 36px; border-top: none; }
.vc_row .cs-client-quote.cs-card-dark       { background: #231F20; border-radius: 16px; padding: 32px 36px; border-top: none; }
.vc_row .cs-client-quote.cs-card-blue       { background: #3D6EE9; border-radius: 16px; padding: 32px 36px; border-top: none; }

.vc_row .cs-client-quote.cs-card-dark .cs-quote-label { color: #6890F2 !important; }
.vc_row .cs-client-quote.cs-card-dark .cs-quote-text  { color: #F1DFCB !important; }
.vc_row .cs-client-quote.cs-card-dark .cs-quote-name  { color: #F1DFCB !important; }
.vc_row .cs-client-quote.cs-card-dark .cs-quote-role  { color: rgba(241,223,203,.6) !important; }

.vc_row .cs-client-quote.cs-card-blue .cs-quote-label { color: rgba(241,223,203,.8) !important; }
.vc_row .cs-client-quote.cs-card-blue .cs-quote-text  { color: #FFFFFF !important; }
.vc_row .cs-client-quote.cs-card-blue .cs-quote-name  { color: #FFFFFF !important; }
.vc_row .cs-client-quote.cs-card-blue .cs-quote-role  { color: rgba(255,255,255,.65) !important; }

/* ═══════════════════════════════════════════════
   CARD_STYLE — INTERNAL QUOTE
   Klasse sættes på .cs-internal-quote
   Standard er mørk — tilbyder lys og blå variant
   ═══════════════════════════════════════════════ */
.vc_row .cs-internal-quote.cs-card-beige      { background: #F1DFCB !important; }
.vc_row .cs-internal-quote.cs-card-white      { background: #FFFFFF !important; box-shadow: 0 2px 16px rgba(35,31,32,.08) !important; }
.vc_row .cs-internal-quote.cs-card-beige-dark { background: #E5D2BA !important; }
.vc_row .cs-internal-quote.cs-card-blue       { background: #3D6EE9 !important; }
/* dark er allerede default */

.vc_row .cs-internal-quote.cs-card-beige blockquote,
.vc_row .cs-internal-quote.cs-card-white blockquote,
.vc_row .cs-internal-quote.cs-card-beige-dark blockquote { color: #5A5256 !important; }
.vc_row .cs-internal-quote.cs-card-blue blockquote       { color: rgba(255,255,255,.9) !important; }

.vc_row .cs-internal-quote.cs-card-beige .cs-int-quote-name,
.vc_row .cs-internal-quote.cs-card-white .cs-int-quote-name,
.vc_row .cs-internal-quote.cs-card-beige-dark .cs-int-quote-name { color: #231F20 !important; }
.vc_row .cs-internal-quote.cs-card-blue .cs-int-quote-name       { color: #FFFFFF !important; }

.vc_row .cs-internal-quote.cs-card-beige .cs-int-quote-role,
.vc_row .cs-internal-quote.cs-card-white .cs-int-quote-role,
.vc_row .cs-internal-quote.cs-card-beige-dark .cs-int-quote-role { color: #5A5256 !important; }
.vc_row .cs-internal-quote.cs-card-blue .cs-int-quote-role       { color: rgba(255,255,255,.65) !important; }

.vc_row .cs-internal-quote.cs-card-beige .cs-int-quote-initials,
.vc_row .cs-internal-quote.cs-card-white .cs-int-quote-initials,
.vc_row .cs-internal-quote.cs-card-beige-dark .cs-int-quote-initials { background: #3D6EE9 !important; color: #F1DFCB !important; }

/* ═══════════════════════════════════════════════
   CARD_STYLE — RELATED CARDS
   Klasse sættes på .cs-related-grid (wrapper)
   CSS rammer .cs-related-card inde i den
   ═══════════════════════════════════════════════ */
.vc_row .cs-related-grid.cs-card-white .cs-related-card      { background: #FFFFFF !important; box-shadow: 0 2px 12px rgba(35,31,32,.08) !important; }
.vc_row .cs-related-grid.cs-card-beige .cs-related-card      { background: #F1DFCB !important; }
.vc_row .cs-related-grid.cs-card-beige-dark .cs-related-card { background: #E5D2BA !important; }
.vc_row .cs-related-grid.cs-card-dark .cs-related-card       { background: rgba(35,31,32,.9) !important; border-color: rgba(241,223,203,.1) !important; }
.vc_row .cs-related-grid.cs-card-blue .cs-related-card       { background: #3D6EE9 !important; border-color: rgba(255,255,255,.2) !important; }

.vc_row .cs-related-grid.cs-card-dark .cs-related-title      { color: #F1DFCB !important; }
.vc_row .cs-related-grid.cs-card-dark .cs-related-desc       { color: rgba(241,223,203,.65) !important; }
.vc_row .cs-related-grid.cs-card-dark .cs-related-tag,
.vc_row .cs-related-grid.cs-card-dark .cs-related-cta        { color: #6890F2 !important; }

.vc_row .cs-related-grid.cs-card-blue .cs-related-title      { color: #FFFFFF !important; }
.vc_row .cs-related-grid.cs-card-blue .cs-related-desc       { color: rgba(255,255,255,.75) !important; }
.vc_row .cs-related-grid.cs-card-blue .cs-related-tag,
.vc_row .cs-related-grid.cs-card-blue .cs-related-cta        { color: rgba(241,223,203,.85) !important; }

/* ═══════════════════════════════════════════════
   CARD_STYLE — AEO BOX
   Klasse sættes på .cs-aeo-box
   ═══════════════════════════════════════════════ */
.vc_row .cs-aeo-box.cs-card-white      { background: #FFFFFF !important; box-shadow: 0 2px 12px rgba(35,31,32,.08) !important; }

/* AEO-bokse i kolonner: samme højde */
.vc_row .vc_column_container:has(.cs-aeo-box) {
  display: flex;
}
.vc_row .vc_column_container:has(.cs-aeo-box) > .vc_column-inner {
  display: flex;
  flex-direction: column;
}
.vc_row .vc_column_container:has(.cs-aeo-box) .wpb_wrapper {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.vc_row .vc_column_container:has(.cs-aeo-box) .cs-aeo-box {
  flex: 1;
  margin: 0;
}
.vc_row .cs-aeo-box.cs-card-beige      { background: #F1DFCB !important; }
.vc_row .cs-aeo-box.cs-card-beige-dark { background: #E5D2BA !important; }
.vc_row .cs-aeo-box.cs-card-dark       { background: rgba(35,31,32,.9) !important; border-color: rgba(241,223,203,.1) !important; border-left-color: #6890F2 !important; }
.vc_row .cs-aeo-box.cs-card-blue       { background: #3D6EE9 !important; border-color: rgba(255,255,255,.2) !important; border-left-color: rgba(255,255,255,.6) !important; }

.vc_row .cs-aeo-box.cs-card-dark .cs-aeo-label  { color: #6890F2 !important; }
.vc_row .cs-aeo-box.cs-card-dark p               { color: rgba(241,223,203,.9) !important; }
.vc_row .cs-aeo-box.cs-card-blue .cs-aeo-label   { color: rgba(241,223,203,.8) !important; }
.vc_row .cs-aeo-box.cs-card-blue p               { color: rgba(255,255,255,.95) !important; }


/* ═══════════════════════════════════════════════
   KNAP / BUTTON  (cs-btn)
   Pill-formet knap med cirkel-pil ikon
   ═══════════════════════════════════════════════ */
.cs-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px 12px 22px;
  border-radius: 100px;
  font-family: 'Poppins', -apple-system, sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  transition: background 0.2s, border-color 0.2s;
  white-space: nowrap;
  border: 1.5px solid transparent;
  cursor: pointer;
  line-height: 1;
}
.cs-btn-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 13px;
  transition: transform 0.2s;
}
.cs-btn:hover .cs-btn-icon { transform: translateX(2px); }

/* ── Fyldte varianter ── */
.cs-btn.cs-btn-dark  { background: #231F20; color: #F1DFCB; border-color: #231F20; }
.cs-btn.cs-btn-dark .cs-btn-icon  { background: rgba(241,223,203,.12); color: #F1DFCB; }
.cs-btn.cs-btn-dark:hover          { background: #3D3839; border-color: #3D3839; }

.cs-btn.cs-btn-blue  { background: #3D6EE9; color: #FFFFFF; border-color: #3D6EE9; }
.cs-btn.cs-btn-blue .cs-btn-icon  { background: rgba(255,255,255,.18); color: #FFFFFF; }
.cs-btn.cs-btn-blue:hover          { background: #2D57C4; border-color: #2D57C4; }

.cs-btn.cs-btn-beige { background: #F1DFCB; color: #231F20; border-color: #F1DFCB; }
.cs-btn.cs-btn-beige .cs-btn-icon  { background: rgba(35,31,32,.1); color: #231F20; }
.cs-btn.cs-btn-beige:hover          { background: #E5D2BA; border-color: #E5D2BA; }

/* ── Outline varianter ── */
.cs-btn.cs-btn-outline-dark  { background: transparent; color: #231F20; border-color: #231F20; }
.cs-btn.cs-btn-outline-dark .cs-btn-icon  { background: rgba(35,31,32,.07); color: #231F20; }
.cs-btn.cs-btn-outline-dark:hover          { background: rgba(35,31,32,.04); }

.cs-btn.cs-btn-outline-blue  { background: transparent; color: #3D6EE9; border-color: #3D6EE9; }
.cs-btn.cs-btn-outline-blue .cs-btn-icon  { background: rgba(61,110,233,.08); color: #3D6EE9; }
.cs-btn.cs-btn-outline-blue:hover          { background: rgba(61,110,233,.05); }

/* Outline beige — kun til mørk/blå sektion */
.cs-btn.cs-btn-outline-beige { background: transparent; color: #F1DFCB; border-color: rgba(241,223,203,.45); }
.cs-btn.cs-btn-outline-beige .cs-btn-icon { background: rgba(241,223,203,.1); color: #F1DFCB; }
.cs-btn.cs-btn-outline-beige:hover { border-color: rgba(241,223,203,.85); background: rgba(241,223,203,.05); }

/* ── Størrelser ── */
.cs-btn.cs-btn-sm { padding: 9px 12px 9px 16px; font-size: 13px; }
.cs-btn.cs-btn-sm .cs-btn-icon { width: 22px; height: 22px; font-size: 11px; }
.cs-btn.cs-btn-lg { padding: 16px 18px 16px 28px; font-size: 16px; }
.cs-btn.cs-btn-lg .cs-btn-icon { width: 34px; height: 34px; font-size: 15px; }

/* ── Centreret wrapper ── */
/* Knappen må aldrig strækkes til fuld bredde. Sker når wrapperen
   er en flex-kolonne (fx cs-col-middle eller temaets egen CSS):
   knappen bliver flex-item og arver align-items: stretch. */
.cs-btn {
  align-self: flex-start;
  width: auto;
  max-width: 100%;
}
.cs-btn-wrap-center > .cs-btn { align-self: center; }
.cs-btn-wrap-right  > .cs-btn { align-self: flex-end; }

.cs-btn-wrap-center { display: flex; justify-content: center; }
.cs-btn-wrap-right  { display: flex; justify-content: flex-end; }


/* ═══════════════════════════════════════════════
   NUMBERED LIST  (cs-numbered-list)
   01 — Titel / beskrivelse med streg under
   ═══════════════════════════════════════════════ */
.cs-numbered-list { max-width: 720px; }
.cs-nl-item {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 24px;
  padding: 32px 0;
  border-bottom: 1px solid rgba(35,31,32,.12);
  align-items: start;
}
.cs-nl-num {
  font-size: 42px;
  font-weight: 700;
  color: #3D6EE9;
  line-height: 1;
  letter-spacing: -0.02em;
  padding-top: 4px;
}
.cs-nl-title {
  font-size: 18px;
  font-weight: 600;
  color: #231F20;
  margin-bottom: 8px;
  line-height: 1.3;
}
.cs-nl-text {
  font-size: 15px;
  color: #5A5256;
  line-height: 1.65;
}
/* Sektionsfarve-overrides */
.vc_row.cs-bg-dark .cs-nl-item  { border-color: rgba(241,223,203,.12); }
.vc_row.cs-bg-dark .cs-nl-num   { color: #6890F2; }
.vc_row.cs-bg-dark .cs-nl-title { color: #F1DFCB; }
.vc_row.cs-bg-dark .cs-nl-text  { color: rgba(241,223,203,.65); }
.vc_row.cs-bg-blue .cs-nl-item  { border-color: rgba(255,255,255,.2); }
.vc_row.cs-bg-blue .cs-nl-num   { color: rgba(241,223,203,.8); }
.vc_row.cs-bg-blue .cs-nl-title { color: #FFFFFF; }
.vc_row.cs-bg-blue .cs-nl-text  { color: rgba(255,255,255,.75); }


/* ═══════════════════════════════════════════════
   CONTRAST BLOCK  (cs-contrast-block)
   Normal tekst → blå fed sætning → normal tekst → CTA
   ═══════════════════════════════════════════════ */
.cs-contrast-block {
  padding: 20px 0;
  /* Ingen fast bredde/centrering — styres af WPBakery kolonne-bredde */
}
.cs-contrast-block.cs-contrast-center {
  text-align: center;
  max-width: 680px;
  margin: 0 auto;
}
.cs-contrast-intro,
.cs-contrast-outro {
  font-size: clamp(17px, 1.8vw, 21px);
  color: #5A5256;
  line-height: 1.65;
  margin-bottom: 14px;
}
.cs-contrast-highlight {
  font-size: clamp(24px, 3vw, 38px);
  font-weight: 700;
  color: #3D6EE9;
  line-height: 1.25;
  margin: 20px 0;
  letter-spacing: -0.02em;
}
/* flow-root forhindrer at knappens margin-top kollapser ud
   gennem blokken. Uden den falder knappen uden for rækkens
   baggrund, når rækken har lille eller ingen bundpadding. */
.cs-contrast-block { display: flow-root; }
.cs-contrast-block .cs-btn-wrap-center { margin-top: 28px; }
.cs-contrast-block:not(.cs-contrast-center) .cs-btn-wrap-center {
  display: flex;
  justify-content: flex-start;
}

/* ── Inline tekstlinks (( )) — hover effekt ─────────────────────
   Genereres af cs_process_links() i elementer som split section,
   hero text og accent felter.
   ──────────────────────────────────────────────────────────────── */
/* Tekstlinks genereret af (( )) syntaks — undtager knapper og pile */
.cs-split-section a:not(.cs-btn):not([class*="cs-btn"]),
.cs-page-hero-inner a:not(.cs-btn):not([class*="cs-btn"]),
.cs-contrast-block a:not(.cs-btn):not([class*="cs-btn"]) {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  text-decoration-color: currentColor;
  transition: opacity 0.15s ease, text-decoration-color 0.15s ease;
}
.cs-split-section a:not(.cs-btn):not([class*="cs-btn"]):hover,
.cs-page-hero-inner a:not(.cs-btn):not([class*="cs-btn"]):hover,
.cs-contrast-block a:not(.cs-btn):not([class*="cs-btn"]):hover {
  opacity: 0.65;
  text-decoration-color: transparent;
}
/* Knapper og pil-links: aldrig underline */
.cs-btn,
.cs-btn *,
a.cs-btn,
.cs-ph-cta a,
.cs-ph-cta * {
  text-decoration: none !important;
}
/* Overrides for dark/blue section */
.vc_row.cs-bg-dark .cs-contrast-intro,
.vc_row.cs-bg-dark .cs-contrast-outro   { color: rgba(241,223,203,.65); }
.vc_row.cs-bg-dark .cs-contrast-highlight { color: #6890F2; }
.vc_row.cs-bg-blue .cs-contrast-intro,
.vc_row.cs-bg-blue .cs-contrast-outro   { color: rgba(255,255,255,.75); }
.vc_row.cs-bg-blue .cs-contrast-highlight { color: #FFFFFF; }


/* ═══════════════════════════════════════════════
   FEATURE BOXES  (cs-feature-grid)
   Kort med billede/illustration + nummer i hjørne
   ═══════════════════════════════════════════════ */
.cs-feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
}
.cs-feature-box {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  background: #FFFFFF;
  border: 1px solid rgba(35,31,32,.1);
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.2s, transform 0.2s;
}
.cs-feature-box:hover { box-shadow: 0 8px 32px rgba(35,31,32,.1); transform: translateY(-2px); }
.cs-feature-box-media {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  display: block;
  background: #3D6EE9;
}
/* Høj-specificity selector slår .vc_column-inner img (0,1,1) med (0,2,1) */
.cs-feature-box .cs-feature-box-media,
.cs-feature-box img {
  border-radius: 0 !important;
}
.cs-feature-box-num {
  position: absolute;
  top: 14px;
  right: 14px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  color: #3D6EE9;
  background: rgba(255,255,255,.92);
  padding: 4px 10px;
  border-radius: 100px;
  backdrop-filter: blur(4px);
}
.cs-feature-box-body { padding: 20px 22px 24px; flex: 1; }
.cs-feature-box-title { font-size: 16px; font-weight: 600; color: #231F20; margin-bottom: 8px; line-height: 1.3; }
.cs-feature-box-text  { font-size: 14px; color: #5A5256; line-height: 1.6; }
/* Mørk variant */
.cs-feature-grid.cs-card-dark .cs-feature-box { background: rgba(35,31,32,.85); border-color: rgba(241,223,203,.1); }
.cs-feature-grid.cs-card-dark .cs-feature-box-title { color: #F1DFCB; }
.cs-feature-grid.cs-card-dark .cs-feature-box-text  { color: rgba(241,223,203,.65); }
.cs-feature-grid.cs-card-dark .cs-feature-box-num   { background: rgba(241,223,203,.15); color: #6890F2; }
/* Beige variant */
.cs-feature-grid.cs-card-beige .cs-feature-box { background: #F1DFCB; }
.cs-feature-grid.cs-card-beige-dark .cs-feature-box { background: #E5D2BA; }
.cs-feature-grid.cs-card-beige .cs-feature-box-title,
.cs-feature-grid.cs-card-beige-dark .cs-feature-box-title { color: #231F20; }
.cs-feature-grid.cs-card-beige .cs-feature-box-text,
.cs-feature-grid.cs-card-beige-dark .cs-feature-box-text { color: #5A5256; }


/* ═══════════════════════════════════════════════
   SPLIT BAR  (cs-split-bar)
   Venstre tekst | streg | Højre fed blå tekst
   ═══════════════════════════════════════════════ */
.cs-split-bar {
  display: flex;
  align-items: center;
  border-radius: 16px;
  background: #FFFFFF;
  border: 1px solid rgba(35,31,32,.12);
  box-shadow: 0 2px 12px rgba(35,31,32,.06);
  padding: 22px 32px;
  gap: 0;
}
.cs-split-left {
  flex: 1;
  font-size: clamp(14px, 1.5vw, 16px);
  color: #5A5256;
  padding-right: 32px;
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: flex-end; /* tekst hørejusteres mod stregen */
  text-align: right;
}
.cs-split-divider {
  width: 1px;
  min-height: 40px;
  align-self: stretch;
  background: rgba(35,31,32,.18);
  flex-shrink: 0;
}
.cs-split-right {
  flex: 1;
  font-size: clamp(14px, 1.5vw, 16px);
  font-weight: 700;
  color: #3D6EE9;
  padding-left: 32px;
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: flex-start; /* tekst venstrejusteres fra stregen */
  text-align: left;
}
/* Farvevarianter */
.vc_row .cs-split-bar.cs-card-beige      { background: #F1DFCB; border-color: rgba(35,31,32,.08); box-shadow: none; }
.vc_row .cs-split-bar.cs-card-beige-dark { background: #E5D2BA; border-color: rgba(35,31,32,.08); box-shadow: none; }
.vc_row .cs-split-bar.cs-card-dark {
  background: #231F20 !important; border-color: rgba(241,223,203,.15); box-shadow: none;
}
.vc_row .cs-split-bar.cs-card-dark .cs-split-left    { color: rgba(241,223,203,.65); }
.vc_row .cs-split-bar.cs-card-dark .cs-split-divider  { background: rgba(241,223,203,.2); }
.vc_row .cs-split-bar.cs-card-dark .cs-split-right    { color: #6890F2; }
.vc_row .cs-split-bar.cs-card-blue {
  background: #3D6EE9 !important; border-color: rgba(255,255,255,.25); box-shadow: none;
}
.vc_row .cs-split-bar.cs-card-blue .cs-split-left    { color: rgba(255,255,255,.75); }
.vc_row .cs-split-bar.cs-card-blue .cs-split-divider  { background: rgba(255,255,255,.35); }
.vc_row .cs-split-bar.cs-card-blue .cs-split-right    { color: #FFFFFF; }
@media (max-width: 600px) {
  .cs-split-bar { flex-direction: column; gap: 16px; padding: 20px 24px; }
  .cs-split-left  { padding-right: 0; }
  .cs-split-right { padding-left: 0; }
  .cs-split-divider { width: 40px; height: 1px; min-height: unset; }
}


/* ═══════════════════════════════════════════════
   WHY LIST  (cs-why-list)
   Ikon venstre + overskrift + tekst højre
   Første og sidste item har øverste og nedre streg
   Midterste har kun nedre streg
   ═══════════════════════════════════════════════ */
.cs-why-list { }
.cs-why-item {
  display: flex;
  gap: 28px;
  align-items: center;
  padding: 28px 0;
  border-bottom: 1px solid rgba(35,31,32,.12);
}
.cs-why-item:first-child { border-top: 1px solid rgba(35,31,32,.12); }
.cs-why-icon {
  width: 80px;
  height: 80px;
  flex-shrink: 0;
  object-fit: cover;
  border-radius: 50%;
  display: block;
}
.cs-why-icon-wrap {
  width: 80px;
  height: 80px;
  flex-shrink: 0;
  border-radius: 50%;
  background: #FFFFFF;
  box-shadow: 0 2px 10px rgba(35,31,32,.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #3D6EE9;
  font-size: 28px;
}
.cs-why-title {
  font-size: 17px;
  font-weight: 600;
  color: #231F20;
  margin-bottom: 6px;
  line-height: 1.3;
}
.cs-why-text {
  font-size: 14px;
  color: #5A5256;
  line-height: 1.65;
}
/* Sektionsfarve-overrides */
.vc_row.cs-bg-dark .cs-why-item          { border-color: rgba(241,223,203,.12); }
.vc_row.cs-bg-dark .cs-why-item:first-child { border-top-color: rgba(241,223,203,.12); }
.vc_row.cs-bg-dark .cs-why-icon-wrap     { background: rgba(104,144,242,.15); color: #6890F2; }
.vc_row.cs-bg-dark .cs-why-title         { color: #F1DFCB; }
.vc_row.cs-bg-dark .cs-why-text          { color: rgba(241,223,203,.65); }
.vc_row.cs-bg-blue .cs-why-item          { border-color: rgba(255,255,255,.2); }
.vc_row.cs-bg-blue .cs-why-item:first-child { border-top-color: rgba(255,255,255,.2); }
.vc_row.cs-bg-blue .cs-why-icon-wrap     { background: rgba(255,255,255,.15); color: #FFFFFF; }
.vc_row.cs-bg-blue .cs-why-title         { color: #FFFFFF; }
.vc_row.cs-bg-blue .cs-why-text          { color: rgba(255,255,255,.75); }


/* ═══════════════════════════════════════════════
   INSIGHT CARDS  (cs-insight-grid)
   Billede + tag + titel + beskrivelse + CTA
   ═══════════════════════════════════════════════ */
.cs-insight-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 28px;
}
.cs-insight-card {
  border-radius: 16px;
  overflow: hidden;
  background: #FFFFFF;
  border: 1px solid rgba(35,31,32,.1);
  display: flex;
  flex-direction: column;
  text-decoration: none;
  transition: box-shadow 0.2s, transform 0.2s;
}
.cs-insight-card:hover { box-shadow: 0 8px 28px rgba(35,31,32,.12); transform: translateY(-2px); }
.cs-insight-card-thumb {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  display: block;
  flex-shrink: 0;
  border-radius: 0 !important;
}
.cs-insight-card img,
.cs-insight-card .vc_single_image-wrapper,
.cs-insight-card .wpb_single_image {
  border-radius: 0 !important;
  overflow: visible !important;
}
.cs-insight-card-thumb-placeholder {
  width: 100%;
  aspect-ratio: 16/9;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cs-insight-card-body {
  padding: 22px 24px 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.cs-insight-tag {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: #3D6EE9;
  margin-bottom: 10px;
}
.cs-insight-title {
  font-size: 16px;
  font-weight: 700;
  color: #231F20;
  margin-bottom: 10px;
  line-height: 1.35;
}
.cs-insight-desc {
  font-size: 13px;
  color: #5A5256;
  line-height: 1.6;
  flex: 1;
  margin-bottom: 20px;
}
.cs-insight-cta {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 600;
  color: #231F20;
}
.cs-insight-cta-arrow {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #231F20;
  color: #F1DFCB;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  flex-shrink: 0;
  transition: transform 0.2s;
}
.cs-insight-card:hover .cs-insight-cta-arrow { transform: translateX(2px); }
/* Mørk variant */
.vc_row .cs-insight-grid.cs-card-dark .cs-insight-card { background: rgba(35,31,32,.85); border-color: rgba(241,223,203,.1); }
.vc_row .cs-insight-grid.cs-card-dark .cs-insight-tag   { color: #6890F2; }
.vc_row .cs-insight-grid.cs-card-dark .cs-insight-title  { color: #F1DFCB; }
.vc_row .cs-insight-grid.cs-card-dark .cs-insight-desc   { color: rgba(241,223,203,.65); }
.vc_row .cs-insight-grid.cs-card-dark .cs-insight-cta    { color: rgba(241,223,203,.85); }
.vc_row .cs-insight-grid.cs-card-dark .cs-insight-cta-arrow { background: rgba(241,223,203,.15); color: #F1DFCB; }
/* Beige varianter */
.vc_row .cs-insight-grid.cs-card-beige .cs-insight-card { background: #F1DFCB; border-color: rgba(35,31,32,.08); }
.vc_row .cs-insight-grid.cs-card-beige-dark .cs-insight-card { background: #E5D2BA; border-color: rgba(35,31,32,.1); }
@media (max-width: 768px) {
  .cs-insight-grid { grid-template-columns: 1fr; }
  .cs-feature-grid  { grid-template-columns: 1fr; }
}


/* ═══════════════════════════════════════════════
   ICON LIST  (cs-icon-list)
   Check ✓ eller X med streg under hvert punkt
   ═══════════════════════════════════════════════ */
.cs-icon-list { display: flex; flex-direction: column; }
.cs-icon-list-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 13px 0;
  border-bottom: 1px solid rgba(35,31,32,.1);
}
.cs-icon-list-item:first-child { border-top: 1px solid rgba(35,31,32,.1); }
.cs-icon-badge {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}
/* Check = blå cirkel, hvidt tegn */
.cs-icon-list.cs-list-check .cs-icon-badge { background: #3D6EE9; color: #FFFFFF; }
/* Cross = beige cirkel, mørkt tegn */
.cs-icon-list.cs-list-cross .cs-icon-badge { background: #F1DFCB; color: #231F20; }
/* Check dark (til mørke sektioner) */
.cs-icon-list.cs-list-check-dark .cs-icon-badge { background: rgba(104,144,242,.2); color: #6890F2; }
/* Cross dark (til mørke sektioner) */
.cs-icon-list.cs-list-cross-dark .cs-icon-badge { background: rgba(241,223,203,.15); color: #F1DFCB; }

.cs-icon-list-text {
  font-size: 15px;
  font-weight: 500;
  color: #231F20;
  line-height: 1.45;
}
/* Sektionsfarve-overrides */
.vc_row.cs-bg-dark .cs-icon-list-item { border-color: rgba(241,223,203,.1); }
.vc_row.cs-bg-dark .cs-icon-list-text  { color: rgba(241,223,203,.85); }
.vc_row.cs-bg-dark .cs-icon-list.cs-list-check .cs-icon-badge { background: rgba(104,144,242,.2); color: #6890F2; }
.vc_row.cs-bg-dark .cs-icon-list.cs-list-cross .cs-icon-badge { background: rgba(241,223,203,.12); color: rgba(241,223,203,.75); }
.vc_row.cs-bg-blue .cs-icon-list-item { border-color: rgba(255,255,255,.2); }
.vc_row.cs-bg-blue .cs-icon-list-text  { color: rgba(255,255,255,.9); }
.vc_row.cs-bg-blue .cs-icon-list.cs-list-check .cs-icon-badge { background: rgba(255,255,255,.2); color: #FFFFFF; }
.vc_row.cs-bg-blue .cs-icon-list.cs-list-cross .cs-icon-badge { background: rgba(255,255,255,.15); color: rgba(255,255,255,.8); }


/* ═══════════════════════════════════════════════
   TIMELINE  (cs-timeline)
   Vandret tidslinje: label → linje+dot → titel → bullets
   ═══════════════════════════════════════════════ */
.cs-timeline {
  display: grid;
  grid-template-columns: repeat(var(--cs-phases, 3), 1fr);
  gap: 0;
  text-align: center;
}
.cs-tl-phase {}
.cs-tl-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #3D6EE9;
  margin-bottom: 10px;
  min-height: 20px;
}
/* Linje-track med dot */
.cs-tl-track {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 24px;
  margin-bottom: 0;
}
.cs-tl-track::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0; right: 0;
  height: 1.5px;
  background: rgba(35,31,32,.2);
  transform: translateY(-50%);
}
/* Første fase: streg kun fra midten og til højre */
.cs-tl-phase:first-child .cs-tl-track::before { left: 50%; }
/* Sidste fase: streg kun fra venstre til midten */
.cs-tl-phase:last-child  .cs-tl-track::before { right: 50%; }
.cs-tl-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #3D6EE9;
  position: relative;
  z-index: 1;
  flex-shrink: 0;
}
.cs-tl-title {
  font-size: 16px;
  font-weight: 700;
  color: #231F20;
  margin: 18px 16px 12px;
  line-height: 1.3;
}
.cs-tl-items {
  list-style: none;
  padding: 0;
  margin: 0 16px;
  text-align: left;
  /* Punktlisten centreres som blok under den centrerede titel,
     så tekstens venstrekant flugter med titlens midte-akse
     i stedet for at hænge ud til venstre. */
  display: table;
  margin-left: auto;
  margin-right: auto;
}
.cs-tl-items li {
  font-size: 14px;
  color: #5A5256;
  padding: 4px 0 4px 16px;
  position: relative;
  line-height: 1.5;
}
.cs-tl-items li::before {
  content: '•';
  position: absolute;
  left: 0;
  color: #3D6EE9;
  font-weight: 700;
}
/* Farvevarianter for dot og label */
.cs-timeline.cs-tl-beige .cs-tl-label { color: rgba(241,223,203,.75); }
.cs-timeline.cs-tl-beige .cs-tl-dot   { background: #F1DFCB; }
.cs-timeline.cs-tl-beige .cs-tl-items li::before { color: #F1DFCB; }
.cs-timeline.cs-tl-dark  .cs-tl-label { color: #231F20; }
.cs-timeline.cs-tl-dark  .cs-tl-dot   { background: #231F20; }
.cs-timeline.cs-tl-dark  .cs-tl-items li::before { color: #231F20; }
/* Sektionsfarve tekst */
.vc_row.cs-bg-dark .cs-tl-track::before { background: rgba(241,223,203,.2); }
.vc_row.cs-bg-dark .cs-tl-title { color: #F1DFCB; }
.vc_row.cs-bg-dark .cs-tl-items li { color: rgba(241,223,203,.65); }
.vc_row.cs-bg-blue .cs-tl-track::before { background: rgba(255,255,255,.25); }
.vc_row.cs-bg-blue .cs-tl-title { color: #FFFFFF; }
.vc_row.cs-bg-blue .cs-tl-items li { color: rgba(255,255,255,.8); }
@media (max-width: 640px) {
  .cs-timeline {
    grid-template-columns: 1fr;
  }
  .cs-tl-track::before { display: none; }
  .cs-tl-dot { margin: 0 auto; }
  .cs-tl-title { margin-left: 0; margin-right: 0; text-align: left; }
  .cs-tl-items { padding-left: 0; display: block; margin-left: 0; margin-right: 0; }
}


/* ═══════════════════════════════════════════════
   TWO-COLUMN CARD  (cs-two-col-card)
   To paneler side om side med farvevalg per panel
   ═══════════════════════════════════════════════ */
.cs-two-col-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(35,31,32,.1);
}
.cs-two-col-panel { padding: 32px 36px; }
.cs-two-col-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 24px;
  display: block;
}
.cs-two-col-items { list-style: none; padding: 0; margin: 0; }
.cs-two-col-item {
  padding: 13px 0;
  font-size: 15px;
  font-weight: 500;
  border-bottom: 1px solid;
  line-height: 1.4;
}
.cs-two-col-item:last-child { border-bottom: none; }

/* Panel farver */
.cs-two-col-panel.cs-panel-blue      { background: #3D6EE9; }
.cs-two-col-panel.cs-panel-blue .cs-two-col-label { color: rgba(241,223,203,.65); }
.cs-two-col-panel.cs-panel-blue .cs-two-col-item  { color: #FFFFFF; border-color: rgba(255,255,255,.15); }

.cs-two-col-panel.cs-panel-white     { background: #FFFFFF; }
.cs-two-col-panel.cs-panel-white .cs-two-col-label { color: #5A5256; }
.cs-two-col-panel.cs-panel-white .cs-two-col-item  { color: #231F20; border-color: rgba(35,31,32,.1); }

.cs-two-col-panel.cs-panel-dark      { background: #231F20; }
.cs-two-col-panel.cs-panel-dark .cs-two-col-label { color: rgba(241,223,203,.5); }
.cs-two-col-panel.cs-panel-dark .cs-two-col-item  { color: #F1DFCB; border-color: rgba(241,223,203,.1); }

.cs-two-col-panel.cs-panel-beige     { background: #F1DFCB; }
.cs-two-col-panel.cs-panel-beige .cs-two-col-label { color: #5A5256; }
.cs-two-col-panel.cs-panel-beige .cs-two-col-item  { color: #231F20; border-color: rgba(35,31,32,.1); }

.cs-two-col-panel.cs-panel-beige-dark { background: #E5D2BA; }
.cs-two-col-panel.cs-panel-beige-dark .cs-two-col-label { color: #5A5256; }
.cs-two-col-panel.cs-panel-beige-dark .cs-two-col-item  { color: #231F20; border-color: rgba(35,31,32,.12); }

.cs-two-col-panel.cs-panel-grey      { background: #F5F4F2; }
.cs-two-col-panel.cs-panel-grey .cs-two-col-label { color: #5A5256; }
.cs-two-col-panel.cs-panel-grey .cs-two-col-item  { color: #231F20; border-color: rgba(35,31,32,.08); }

@media (max-width: 600px) {
  .cs-two-col-card { grid-template-columns: 1fr; }
  .cs-two-col-panel { padding: 24px; }
}


/* ═══════════════════════════════════════════════
   SINGLE ARTICLE CARD  (cs-single-card)
   Hvid boks med tag, valgfrit ikon, titel, tekst, CTA
   ═══════════════════════════════════════════════ */
.cs-single-card {
  background: #FFFFFF;
  border-radius: 14px;
  padding: 24px 26px;
  border: 1px solid rgba(35,31,32,.1);
  box-shadow: 0 2px 16px rgba(35,31,32,.07);
  max-width: 520px;
}
.cs-single-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.cs-single-card-tag {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #3D6EE9;
  background: rgba(61,110,233,.08);
  padding: 4px 10px;
  border-radius: 100px;
  display: inline-block;
}
.cs-single-card-icon {
  width: 30px;
  height: 30px;
  object-fit: contain;
  flex-shrink: 0;
  border-radius: 6px;
}
.cs-single-card-title {
  font-size: 16px;
  font-weight: 700;
  color: #231F20;
  margin-bottom: 10px;
  line-height: 1.35;
}
.cs-single-card-desc {
  font-size: 14px;
  color: #5A5256;
  line-height: 1.6;
  margin-bottom: 18px;
}
.cs-single-card-cta {
  font-size: 14px;
  font-weight: 600;
  color: #3D6EE9;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: opacity 0.2s;
}
.cs-single-card-cta:hover { opacity: 0.75; }
/* Kortfarve varianter */
.vc_row .cs-single-card.cs-card-beige      { background: #F1DFCB; border-color: rgba(35,31,32,.08); box-shadow: none; }
.vc_row .cs-single-card.cs-card-beige-dark { background: #E5D2BA; border-color: rgba(35,31,32,.1); box-shadow: none; }
.vc_row .cs-single-card.cs-card-dark       { background: #231F20; border-color: rgba(241,223,203,.1); box-shadow: none; }
.vc_row .cs-single-card.cs-card-dark .cs-single-card-tag   { background: rgba(104,144,242,.2); color: #6890F2; }
.vc_row .cs-single-card.cs-card-dark .cs-single-card-title { color: #F1DFCB; }
.vc_row .cs-single-card.cs-card-dark .cs-single-card-desc  { color: rgba(241,223,203,.65); }
.vc_row .cs-single-card.cs-card-dark .cs-single-card-cta   { color: #6890F2; }


/* ═══════════════════════════════════════════════
   STAT ROW — DIVIDER VARIANT  (cs-stat-row.cs-stat-dividers)
   Skillelinjer mellem stats, numre store blå, label lille grå
   ═══════════════════════════════════════════════ */
.cs-stat-row.cs-stat-dividers {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  border-top: 1px solid rgba(35,31,32,.12);
  border-bottom: 1px solid rgba(35,31,32,.12);
  padding: 28px 0;
  margin: 28px 0;
}
.cs-stat-row.cs-stat-dividers .cs-stat-item {
  flex: 1;
  min-width: 140px;
  padding: 0 32px;
  border-right: 1px solid rgba(35,31,32,.12);
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.cs-stat-row.cs-stat-dividers .cs-stat-item:first-child { padding-left: 0; }
.cs-stat-row.cs-stat-dividers .cs-stat-item:last-child  { border-right: none; }
.cs-stat-row.cs-stat-dividers .cs-stat-num   { color: #3D6EE9 !important; font-size: clamp(28px, 3.8vw, 48px); }
.cs-stat-row.cs-stat-dividers .cs-stat-label { color: #5A5256 !important;  font-size: 14px; font-weight: 400; }

/* Sektionsfarve-overrides for divider variant */
.vc_row.cs-bg-dark .cs-stat-row.cs-stat-dividers {
  border-color: rgba(241,223,203,.12);
}
.vc_row.cs-bg-dark .cs-stat-row.cs-stat-dividers .cs-stat-item { border-color: rgba(241,223,203,.12); }
.vc_row.cs-bg-dark .cs-stat-row.cs-stat-dividers .cs-stat-num  { color: #6890F2 !important; }
.vc_row.cs-bg-dark .cs-stat-row.cs-stat-dividers .cs-stat-label{ color: rgba(241,223,203,.6) !important; }
.vc_row.cs-bg-blue .cs-stat-row.cs-stat-dividers { border-color: rgba(255,255,255,.2); }
.vc_row.cs-bg-blue .cs-stat-row.cs-stat-dividers .cs-stat-item { border-color: rgba(255,255,255,.2); }
.vc_row.cs-bg-blue .cs-stat-row.cs-stat-dividers .cs-stat-num  { color: #FFFFFF !important; }
.vc_row.cs-bg-blue .cs-stat-row.cs-stat-dividers .cs-stat-label{ color: rgba(255,255,255,.7) !important; }
@media (max-width: 600px) {
  .cs-stat-row.cs-stat-dividers { flex-direction: column; gap: 20px; }
  .cs-stat-row.cs-stat-dividers .cs-stat-item { border-right: none; border-bottom: 1px solid rgba(35,31,32,.1); padding: 0 0 20px; }
  .cs-stat-row.cs-stat-dividers .cs-stat-item:last-child { border-bottom: none; padding-bottom: 0; }
}


/* ═══════════════════════════════════════════════
   LOCATION CARDS  (cs-location-grid)
   HQ-kort med blå kant + hub-kort med flag, tal, CTA
   ═══════════════════════════════════════════════ */
.cs-location-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 24px;
  align-items: start;
}
.cs-location-card {
  background: #FFFFFF;
  border-radius: 16px;
  border: 1px solid rgba(35,31,32,.1);
  padding: 28px;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
}
/* HQ-kort: blå kant + badge */
.cs-location-card.cs-loc-hq {
  border: 2px solid #3D6EE9;
}
.cs-loc-hq-badge {
  position: absolute;
  top: -1px; left: 20px;
  background: #3D6EE9;
  color: #FFFFFF;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 0 0 8px 8px;
}
.cs-loc-flag { font-size: 28px; margin-bottom: 14px; display: block; line-height: 1; }
.cs-loc-city { font-size: 20px; font-weight: 700; color: #231F20; margin-bottom: 2px; }
.cs-loc-country {
  font-size: 11px; font-weight: 700; letter-spacing: 2px;
  text-transform: uppercase; color: #3D6EE9; margin-bottom: 16px;
}
/* HQ info-linjer */
.cs-loc-info { font-size: 14px; color: #5A5256; line-height: 1.8; margin-bottom: 16px; }
.cs-loc-phone, .cs-loc-email {
  font-size: 14px; color: #231F20; display: block; text-decoration: none;
}
.cs-loc-email { color: #3D6EE9; }
.cs-loc-email:hover { text-decoration: underline; }
/* Hub bullet-punkter */
.cs-loc-bullets { list-style: none; padding: 0; margin: 0 0 20px; }
.cs-loc-bullets li { font-size: 14px; color: #5A5256; padding: 5px 0; line-height: 1.4; }
.cs-loc-bullets li.cs-loc-bold { font-weight: 600; color: #231F20; }
.cs-loc-divider { border: none; border-top: 1px solid rgba(35,31,32,.1); margin: 16px 0; }
.cs-loc-footer { font-size: 13px; color: #5A5256; margin-bottom: 0; }
.cs-loc-cta {
  font-size: 14px; font-weight: 600; color: #3D6EE9;
  text-decoration: none; display: inline-flex; align-items: center; gap: 6px;
  transition: opacity 0.2s;
}
.cs-loc-cta:hover { opacity: 0.75; }
/* Travel label between cards */
.cs-loc-travel {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  color: #5A5256;
  gap: 6px;
  align-self: center;
  white-space: nowrap;
}
.cs-loc-travel::before,
.cs-loc-travel::after {
  content: ''; display: block; width: 24px; height: 1px; background: rgba(35,31,32,.2);
}
/* Beige sektionsfarve */
.vc_row.cs-bg-beige .cs-location-card,
.vc_row.cs-bg-beige-dark .cs-location-card { background: #FFFFFF; }


/* ═══════════════════════════════════════════════
   VERTICAL TIMELINE  (cs-vtimeline)
   Lodret: dot + linje venstre, år + titel + tekst højre
   ═══════════════════════════════════════════════ */
.cs-vtimeline { position: relative; padding-left: 32px; max-width: 680px; }
.cs-vtimeline::before {
  content: '';
  position: absolute;
  left: 5px; top: 8px; bottom: 8px;
  width: 1.5px;
  background: rgba(35,31,32,.15);
}
.cs-vt-item {
  position: relative;
  padding: 0 0 40px 28px;
}
.cs-vt-item:last-child { padding-bottom: 0; }
.cs-vt-dot {
  position: absolute;
  left: -32px; top: 6px;
  width: 12px; height: 12px;
  border-radius: 50%;
  background: #3D6EE9;
  border: 2px solid #3D6EE9;
  z-index: 1;
}
.cs-vt-year {
  font-size: 13px; font-weight: 700; color: #3D6EE9;
  margin-bottom: 4px; line-height: 1;
  letter-spacing: 0.5px;
}
.cs-vt-title { font-size: 17px; font-weight: 700; color: #231F20; margin-bottom: 8px; line-height: 1.3; }
.cs-vt-text  { font-size: 14px; color: #5A5256; line-height: 1.65; }
/* Accent farver */
.cs-vtimeline.cs-vt-beige::before { background: rgba(241,223,203,.3); }
.cs-vtimeline.cs-vt-beige .cs-vt-dot  { background: #F1DFCB; border-color: #F1DFCB; }
.cs-vtimeline.cs-vt-beige .cs-vt-year { color: rgba(241,223,203,.75); }
/* Sektionsfarve-overrides */
.vc_row.cs-bg-dark .cs-vtimeline::before { background: rgba(241,223,203,.15); }
.vc_row.cs-bg-dark .cs-vt-year  { color: #6890F2; }
.vc_row.cs-bg-dark .cs-vt-title { color: #F1DFCB; }
.vc_row.cs-bg-dark .cs-vt-text  { color: rgba(241,223,203,.65); }
.vc_row.cs-bg-blue .cs-vtimeline::before { background: rgba(255,255,255,.25); }
.vc_row.cs-bg-blue .cs-vt-dot   { background: #FFFFFF; border-color: #FFFFFF; }
.vc_row.cs-bg-blue .cs-vt-year  { color: rgba(241,223,203,.8); }
.vc_row.cs-bg-blue .cs-vt-title { color: #FFFFFF; }
.vc_row.cs-bg-blue .cs-vt-text  { color: rgba(255,255,255,.75); }


/* ═══════════════════════════════════════════════
   MINI CTA CARD  (cs-mini-cta)
   Lille boks: avatar + navn/rolle + tekst + knap
   ═══════════════════════════════════════════════ */
.cs-mini-cta {
  background: #F1DFCB;
  border-radius: 16px;
  padding: 22px 24px;
  max-width: 300px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  border: 1px solid rgba(35,31,32,.08);
}
.cs-mini-cta-person {
  display: flex;
  align-items: center;
  gap: 12px;
}
.cs-mini-cta-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top;
  flex-shrink: 0;
}
.cs-mini-cta-avatar-initials {
  width: 44px; height: 44px; border-radius: 50%;
  background: #3D6EE9; color: #FFFFFF;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; font-weight: 700; flex-shrink: 0;
}
.cs-mini-cta-name { font-size: 14px; font-weight: 700; color: #231F20; line-height: 1.2; }
.cs-mini-cta-role { font-size: 12px; color: #5A5256; }
.cs-mini-cta-text { font-size: 14px; color: #5A5256; line-height: 1.6; }
/* Knap: mørk pill */
.cs-mini-cta .cs-btn { width: 100%; justify-content: space-between; }

/* Farvevarianter */
.vc_row .cs-mini-cta.cs-card-white      { background: #FFFFFF; border-color: rgba(35,31,32,.1); box-shadow: 0 2px 12px rgba(35,31,32,.07); }
.vc_row .cs-mini-cta.cs-card-beige-dark { background: #E5D2BA; border-color: rgba(35,31,32,.1); }
.vc_row .cs-mini-cta.cs-card-dark {
  background: #231F20; border-color: rgba(241,223,203,.1);
}
.vc_row .cs-mini-cta.cs-card-dark .cs-mini-cta-name { color: #F1DFCB; }
.vc_row .cs-mini-cta.cs-card-dark .cs-mini-cta-role { color: rgba(241,223,203,.6); }
.vc_row .cs-mini-cta.cs-card-dark .cs-mini-cta-text { color: rgba(241,223,203,.75); }


/* ═══════════════════════════════════════════════
   ICON LIST — PLAIN VARIANTER (uden cirkel)
   cs-list-plain-check  →  × / ✓ som tegn, ingen cirkel
   cs-list-plain-cross
   ═══════════════════════════════════════════════ */
.cs-icon-list.cs-list-plain-check .cs-icon-badge,
.cs-icon-list.cs-list-plain-cross .cs-icon-badge {
  background: none !important;
  font-size: 15px;
  font-weight: 400;
  color: #5A5256;
  width: 20px;
  height: auto;
}
.cs-icon-list.cs-list-plain-cross .cs-icon-badge { color: #5A5256; }
.vc_row.cs-bg-dark .cs-icon-list.cs-list-plain-check .cs-icon-badge,
.vc_row.cs-bg-dark .cs-icon-list.cs-list-plain-cross .cs-icon-badge { color: rgba(241,223,203,.55); }
.vc_row.cs-bg-blue .cs-icon-list.cs-list-plain-check .cs-icon-badge,
.vc_row.cs-bg-blue .cs-icon-list.cs-list-plain-cross .cs-icon-badge { color: rgba(255,255,255,.6); }


/* ═══════════════════════════════════════════════
   VS CARD  (cs-vs-card)
   To kolonner: kryds-liste vs. check-liste
   Hver item adskilt af skillelinje
   ═══════════════════════════════════════════════ */
.cs-vs-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(35,31,32,.08);
}
.cs-vs-panel { padding: 28px 28px 32px; }

/* Label øverst i hvert panel */
.cs-vs-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 20px;
  display: block;
}

/* Liste med skillelinjer */
.cs-vs-list { list-style: none; padding: 0; margin: 0; }
.cs-vs-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.45;
}
.cs-vs-item:first-child { border-top: 1px solid; }
.cs-vs-icon {
  font-size: 14px;
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 1px;
  line-height: 1.45;
}

/* ── PRESET: standard (dæmpet terracotta × + beige ✓) ── */
.cs-vs-card.cs-vs-standard .cs-vs-panel:first-child {
  background: #F2DDD7; /* Mindre mættet salmon */
}
.cs-vs-card.cs-vs-standard .cs-vs-panel:first-child .cs-vs-label { color: #A84832; } /* Dæmpet */
.cs-vs-card.cs-vs-standard .cs-vs-panel:first-child .cs-vs-item  { color: #3D2018; border-color: rgba(168,72,50,.12); }
.cs-vs-card.cs-vs-standard .cs-vs-panel:first-child .cs-vs-icon  { color: #A84832; }

.cs-vs-card.cs-vs-standard .cs-vs-panel:last-child {
  background: #EDE4D8;
}
.cs-vs-card.cs-vs-standard .cs-vs-panel:last-child .cs-vs-label { color: #3D6EE9; }
.cs-vs-card.cs-vs-standard .cs-vs-panel:last-child .cs-vs-item  { color: #231F20; border-color: rgba(35,31,32,.1); }
.cs-vs-card.cs-vs-standard .cs-vs-panel:last-child .cs-vs-icon  { color: #3D6EE9; }

/* ── PRESET: mørk ── */
.cs-vs-card.cs-vs-dark .cs-vs-panel:first-child  { background: #2A1F1D; }
.cs-vs-card.cs-vs-dark .cs-vs-panel:first-child .cs-vs-label { color: #D4705A; } /* Dæmpet */
.cs-vs-card.cs-vs-dark .cs-vs-panel:first-child .cs-vs-item  { color: rgba(241,223,203,.75); border-color: rgba(241,223,203,.08); }
.cs-vs-card.cs-vs-dark .cs-vs-panel:first-child .cs-vs-icon  { color: #D4705A; }

.cs-vs-card.cs-vs-dark .cs-vs-panel:last-child  { background: #231F20; }
.cs-vs-card.cs-vs-dark .cs-vs-panel:last-child .cs-vs-label { color: #6890F2; }
.cs-vs-card.cs-vs-dark .cs-vs-panel:last-child .cs-vs-item  { color: rgba(241,223,203,.85); border-color: rgba(241,223,203,.1); }
.cs-vs-card.cs-vs-dark .cs-vs-panel:last-child .cs-vs-icon  { color: #6890F2; }

/* ── PRESET: hvid + blå ── */
.cs-vs-card.cs-vs-blue .cs-vs-panel:first-child  { background: #FAFAFA; }
.cs-vs-card.cs-vs-blue .cs-vs-panel:first-child .cs-vs-label { color: #A84832; }
.cs-vs-card.cs-vs-blue .cs-vs-panel:first-child .cs-vs-item  { color: #5A5256; border-color: rgba(35,31,32,.1); }
.cs-vs-card.cs-vs-blue .cs-vs-panel:first-child .cs-vs-icon  { color: #A84832; }

.cs-vs-card.cs-vs-blue .cs-vs-panel:last-child  { background: #3D6EE9; }
.cs-vs-card.cs-vs-blue .cs-vs-panel:last-child .cs-vs-label { color: rgba(241,223,203,.7); }
.cs-vs-card.cs-vs-blue .cs-vs-panel:last-child .cs-vs-item  { color: #FFFFFF; border-color: rgba(255,255,255,.15); }
.cs-vs-card.cs-vs-blue .cs-vs-panel:last-child .cs-vs-icon  { color: rgba(241,223,203,.9); }

/* ── PRESET: works-wrong (begge lyse — check blå + kryds terracotta) ── */
/* Brugt til "Works well when / Often wrong when"-opbygning */
.cs-vs-card.cs-vs-works .cs-vs-panel:first-child {
  background: #EDF2F0; /* Meget let grønlig/neutral */
}
.cs-vs-card.cs-vs-works .cs-vs-panel:first-child .cs-vs-label { color: #3D6EE9; }
.cs-vs-card.cs-vs-works .cs-vs-panel:first-child .cs-vs-item  { color: #231F20; border-color: rgba(35,31,32,.1); }
.cs-vs-card.cs-vs-works .cs-vs-panel:first-child .cs-vs-icon  { color: #3D6EE9; }

.cs-vs-card.cs-vs-works .cs-vs-panel:last-child {
  background: #F5ECE8; /* Meget let salmon */
}
.cs-vs-card.cs-vs-works .cs-vs-panel:last-child .cs-vs-label { color: #A84832; }
.cs-vs-card.cs-vs-works .cs-vs-panel:last-child .cs-vs-item  { color: #231F20; border-color: rgba(168,72,50,.12); }
.cs-vs-card.cs-vs-works .cs-vs-panel:last-child .cs-vs-icon  { color: #A84832; }

@media (max-width: 560px) {
  .cs-vs-card { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════
   ARROW ITEM MED BESKRIVELSE  (cs-arrow-desc)
   Pil + fed titel + grå undertekst — bredere boks
   ═══════════════════════════════════════════════ */
.cs-arrow-desc-list { display: flex; flex-direction: column; gap: 10px; }
.cs-arrow-desc-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px 20px;
  border-radius: 12px;
  background: #FFFFFF;
  border: 1px solid rgba(35,31,32,.1);
  box-shadow: 0 1px 6px rgba(35,31,32,.05);
}
.cs-arrow-desc-icon {
  color: #3D6EE9;
  font-size: 16px;
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 2px;
}
.cs-arrow-desc-title {
  font-size: 15px;
  font-weight: 700;
  color: #231F20;
  margin-bottom: 4px;
  line-height: 1.3;
}
.cs-arrow-desc-text {
  font-size: 14px;
  color: #5A5256;
  line-height: 1.6;
  margin: 0;
}
/* Kortfarve varianter */
.vc_row .cs-arrow-desc-item.cs-card-beige      { background: #F1DFCB; border-color: rgba(35,31,32,.08); box-shadow: none; }
.vc_row .cs-arrow-desc-item.cs-card-beige-dark { background: #E5D2BA; border-color: rgba(35,31,32,.1); box-shadow: none; }
.vc_row .cs-arrow-desc-item.cs-card-dark       { background: rgba(35,31,32,.85); border-color: rgba(241,223,203,.1); box-shadow: none; }
.vc_row .cs-arrow-desc-item.cs-card-dark .cs-arrow-desc-title { color: #F1DFCB; }
.vc_row .cs-arrow-desc-item.cs-card-dark .cs-arrow-desc-text  { color: rgba(241,223,203,.65); }
.vc_row .cs-arrow-desc-item.cs-card-dark .cs-arrow-desc-icon  { color: #6890F2; }
/* Sektionsfarve-overrides (hvid kort på mørk sektion) */
.vc_row.cs-bg-dark .cs-arrow-desc-item,
.vc_row.cs-bg-blue .cs-arrow-desc-item { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.1); box-shadow: none; }
.vc_row.cs-bg-dark .cs-arrow-desc-title,
.vc_row.cs-bg-blue .cs-arrow-desc-title { color: #F1DFCB; }
.vc_row.cs-bg-dark .cs-arrow-desc-text,
.vc_row.cs-bg-blue .cs-arrow-desc-text  { color: rgba(241,223,203,.65); }


/* ═══════════════════════════════════════════════
   GLOBAL HOVER LIFT — alle klikbare/interaktive bokse
   Subtilt løft på 3px + let ekstra skygge
   ═══════════════════════════════════════════════ */
.cs-pcard,
.cs-how-block,
.cs-arrow-item,
.cs-arrow-desc-item,
.cs-mistake,
.cs-feature-box,
.cs-insight-card,
.cs-related-card,
.cs-single-card,
.cs-location-card,
.cs-hub-card,
.cs-industry-card,
.cs-case-card,
.cs-mini-cta,
.cs-aeo-box,
.cs-ibox,
.cs-split-bar {
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s, background 0.2s;
}
.cs-pcard:hover,
.cs-how-block:hover,
.cs-feature-box:hover,
.cs-insight-card:hover,
.cs-related-card:hover,
.cs-single-card:hover,
.cs-location-card:hover,
.cs-hub-card:hover,
.cs-industry-card:hover,
.cs-case-card:hover,
.cs-mini-cta:hover,
.cs-aeo-box:hover,
.cs-ibox:hover,
.cs-split-bar:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 32px rgba(35,31,32,.13);
}
/* Bokse der allerede har cursor:default — giver dem pointer ved hover */
.cs-hub-card,
.cs-industry-card,
.cs-case-card { cursor: pointer; }


/* ═══════════════════════════════════════════════
   HUB CARD  (cs-hub-card)
   Billede + flag/lokation + titel + stats + CTA
   ═══════════════════════════════════════════════ */
.cs-hub-card {
  background: #FFFFFF;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(35,31,32,.1);
  display: flex;
  flex-direction: column;
  max-width: 480px;
}
.cs-hub-card-img {
  width: 100%;
  aspect-ratio: 16/9;
  object-fit: cover;
  display: block;
  flex-shrink: 0;
}
.cs-hub-card-img-placeholder {
  width: 100%;
  aspect-ratio: 16/9;
  background: #3D6EE9;
  display: block;
  flex-shrink: 0;
}
.cs-hub-card-body { padding: 24px 26px 26px; display: flex; flex-direction: column; flex: 1; }
.cs-hub-card-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: #5A5256;
  margin-bottom: 12px;
}
.cs-hub-card-flag { font-size: 18px; line-height: 1; }
.cs-hub-card-logo {
  width: 32px; height: 32px;
  object-fit: contain; border-radius: 6px;
  margin-left: auto;
}
.cs-hub-card-title { font-size: 20px; font-weight: 700; color: #231F20; margin-bottom: 10px; line-height: 1.3; }
.cs-hub-card-desc  { font-size: 14px; color: #5A5256; line-height: 1.65; margin-bottom: 20px; flex: 1; }
/* Mini stats inside hub card */
.cs-hub-card-stats { display: flex; gap: 0; margin-bottom: 16px; }
.cs-hub-card-stat {
  flex: 1;
  padding-right: 16px;
  border-right: 1px solid rgba(35,31,32,.12);
  margin-right: 16px;
}
.cs-hub-card-stat:last-child { border-right: none; margin-right: 0; padding-right: 0; }
.cs-hub-card-stat-num   { font-size: 22px; font-weight: 700; color: #231F20; line-height: 1; margin-bottom: 3px; }
.cs-hub-card-stat-label { font-size: 10px; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: #5A5256; }
.cs-hub-card-divider { border: none; border-top: 1px solid rgba(35,31,32,.1); margin: 0 0 16px; }
.cs-hub-card-cta {
  font-size: 14px; font-weight: 600; color: #3D6EE9;
  text-decoration: none; display: inline-flex; align-items: center; gap: 6px;
}
.cs-hub-card-cta:hover { opacity: 0.75; }


/* ═══════════════════════════════════════════════
   INDUSTRY CARD  (cs-industry-card)
   Billede med overlay-badge + mørkt content-panel
   ═══════════════════════════════════════════════ */
.cs-industry-card {
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  max-width: 480px;
}
.cs-industry-card-media {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  flex-shrink: 0;
  overflow: hidden;        /* Sikrer billedet klippes til hjørnerne */
  border-radius: 16px 16px 0 0; /* Runde hjørner kun øverst */
  background: #231F20;     /* Fallback under billedet */
}
.cs-industry-card-img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
  filter: brightness(0.82) contrast(1.05);
}
/* Mørkt gradient-lag over billedet — giver dybde som i demoen */
.cs-industry-card-media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(20,18,20,.15) 0%,
    rgba(20,18,20,.45) 100%
  );
  pointer-events: none;
}
.cs-industry-card-img-placeholder {
  width: 100%; height: 100%; background: #3D6EE9; display: block;
}
.cs-industry-badge {
  position: absolute;
  bottom: 16px; left: 16px;
  z-index: 2; /* Over gradient-laget */
  background: #3D6EE9;
  color: #FFFFFF;
  font-size: 10px; font-weight: 700; letter-spacing: 2px;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 100px;
  backdrop-filter: blur(4px);
}
.cs-industry-card-logo {
  position: absolute;
  bottom: 16px; right: 16px;
  width: 36px; height: 36px;
  object-fit: contain; border-radius: 8px;
  background: rgba(255,255,255,.9);
  padding: 4px;
}
/* Content panel */
.cs-industry-card-body {
  background: #231F20;
  padding: 22px 24px 26px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.cs-industry-card-title { font-size: 20px; font-weight: 700; color: #F1DFCB; margin-bottom: 10px; line-height: 1.3; }
.cs-industry-card-desc  { font-size: 14px; color: rgba(241,223,203,.65); line-height: 1.65; flex: 1; margin-bottom: 18px; }
.cs-industry-card-cta {
  font-size: 14px; font-weight: 600; color: #6890F2;
  text-decoration: none; display: inline-flex; align-items: center; gap: 6px;
}
.cs-industry-card-cta:hover { color: #9CB4F8; }
/* Lys variant (ikke mørk panel) */
.cs-industry-card.cs-ind-light .cs-industry-card-body { background: #FFFFFF; }
.cs-industry-card.cs-ind-light .cs-industry-card-title { color: #231F20; }
.cs-industry-card.cs-ind-light .cs-industry-card-desc  { color: #5A5256; }
.cs-industry-card.cs-ind-light .cs-industry-card-cta   { color: #3D6EE9; }
.cs-industry-card.cs-ind-light .cs-industry-card-cta:hover { opacity: 0.75; }
/* Beige variant */
.cs-industry-card.cs-ind-beige .cs-industry-card-body { background: #F1DFCB; }
.cs-industry-card.cs-ind-beige .cs-industry-card-title { color: #231F20; }
.cs-industry-card.cs-ind-beige .cs-industry-card-desc  { color: #5A5256; }
.cs-industry-card.cs-ind-beige .cs-industry-card-cta   { color: #3D6EE9; }


/* ═══════════════════════════════════════════════
   CASE CARD  (cs-case-card)
   Stort tal + tag + virksomhed + tekst + logo + CTA
   ═══════════════════════════════════════════════ */
.cs-case-card {
  background: #FFFFFF;
  border-radius: 16px;
  padding: 24px 26px;
  border: 1px solid rgba(35,31,32,.1);
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 380px;
}
.cs-case-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.cs-case-card-num-wrap { display: flex; align-items: baseline; gap: 4px; flex-shrink: 0; }
.cs-case-card-num  { font-size: 36px; font-weight: 700; color: #3D6EE9; line-height: 1; }
.cs-case-card-unit { font-size: 16px; font-weight: 500; color: #5A5256; }
.cs-case-card-tag {
  font-size: 10px; font-weight: 700; letter-spacing: 2px;
  text-transform: uppercase; color: #5A5256;
  background: rgba(35,31,32,.06);
  padding: 4px 10px; border-radius: 100px;
  white-space: nowrap; align-self: center;
}
/* Logo: øverst til højre, max 120×40px — passer til både hori og vert */
.cs-case-card-logo {
  display: block;
  max-width: 120px;
  max-height: 40px;
  width: auto;
  height: auto;
  object-fit: contain;
  object-position: right top;
  flex-shrink: 0;
  align-self: flex-start;
}
.cs-case-card-company { font-size: 18px; font-weight: 700; color: #231F20; margin-bottom: 8px; line-height: 1.2; }
.cs-case-card-desc    { font-size: 14px; color: #5A5256; line-height: 1.6; margin-bottom: 18px; flex: 1; }
.cs-case-card-divider { border: none; border-top: 1px solid rgba(35,31,32,.1); margin: 0 0 16px; }
.cs-case-card-cta {
  font-size: 14px; font-weight: 600; color: #3D6EE9;
  text-decoration: none; display: inline-flex; align-items: center; gap: 6px;
}
.cs-case-card-cta:hover { opacity: 0.75; }
/* Kortfarve varianter */
.vc_row .cs-case-card.cs-card-beige      { background: #F1DFCB; border-color: rgba(35,31,32,.08); }
.vc_row .cs-case-card.cs-card-beige-dark { background: #E5D2BA; border-color: rgba(35,31,32,.1); }
.vc_row .cs-case-card.cs-card-dark {
  background: #231F20; border-color: rgba(241,223,203,.1);
}
.vc_row .cs-case-card.cs-card-dark .cs-case-card-num     { color: #6890F2; }
.vc_row .cs-case-card.cs-card-dark .cs-case-card-unit    { color: rgba(241,223,203,.6); }
.vc_row .cs-case-card.cs-card-dark .cs-case-card-tag     { background: rgba(241,223,203,.1); color: rgba(241,223,203,.6); }
.vc_row .cs-case-card.cs-card-dark .cs-case-card-company { color: #F1DFCB; }
.vc_row .cs-case-card.cs-card-dark .cs-case-card-desc    { color: rgba(241,223,203,.65); }
.vc_row .cs-case-card.cs-card-dark .cs-case-card-divider { border-color: rgba(241,223,203,.1); }
.vc_row .cs-case-card.cs-card-dark .cs-case-card-cta     { color: #6890F2; }


/* Pull quote ::before citationstegn — tilpasser farve per kortfarve */
.vc_row .cs-pull-quote.cs-card-dark::before  { color: #6890F2; }
.vc_row .cs-pull-quote.cs-card-blue::before  { color: rgba(255,255,255,.35); }
.vc_row .cs-pull-quote.cs-card-white::before,
.vc_row .cs-pull-quote.cs-card-beige::before,
.vc_row .cs-pull-quote.cs-card-beige-dark::before { color: #3D6EE9; }

/* ═══════════════════════════════════════════════
   QUOTE BOX HORIZONTAL  (cs-quote-box)
   Rundt foto venstre + kursiv citat + navn/rolle højre
   ═══════════════════════════════════════════════ */
.cs-quote-box {
  display: flex;
  align-items: center;
  gap: 28px;
  background: #E5D2BA;
  border-radius: 16px;
  padding: 28px 36px;
  border: 1px solid rgba(35,31,32,.08);
}
.cs-quote-box-avatar {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top;
  flex-shrink: 0;
}
.cs-quote-box-initials {
  width: 80px; height: 80px;
  border-radius: 50%;
  background: #3D6EE9;
  color: #FFFFFF;
  display: flex; align-items: center; justify-content: center;
  font-size: 24px; font-weight: 700;
  flex-shrink: 0;
}
.cs-quote-box-content { flex: 1; }
.cs-quote-box-text {
  font-size: clamp(14px, 1.6vw, 16px);
  font-style: italic;
  color: #3A332C;
  line-height: 1.7;
  margin-bottom: 14px;
}
.cs-quote-box-name {
  font-size: 14px;
  font-weight: 700;
  color: #231F20;
  margin-bottom: 2px;
}
.cs-quote-box-role {
  font-size: 13px;
  color: #5A5256;
}
/* Kortfarve varianter */
.vc_row .cs-quote-box.cs-card-white      { background: #FFFFFF; box-shadow: 0 2px 16px rgba(35,31,32,.07); border: none; }
.vc_row .cs-quote-box.cs-card-beige      { background: #F1DFCB; border-color: rgba(35,31,32,.06); }
.vc_row .cs-quote-box.cs-card-dark {
  background: #231F20; border-color: rgba(241,223,203,.1);
}
.vc_row .cs-quote-box.cs-card-dark .cs-quote-box-text { color: rgba(241,223,203,.8); }
.vc_row .cs-quote-box.cs-card-dark .cs-quote-box-name { color: #F1DFCB; }
.vc_row .cs-quote-box.cs-card-dark .cs-quote-box-role { color: rgba(241,223,203,.55); }
@media (max-width: 560px) {
  .cs-quote-box { flex-direction: column; align-items: flex-start; padding: 24px; }
}


/* ═══════════════════════════════════════════════
   NUMBERED POINTS  (cs-numbered-points)
   Mørk cirkel-badge med tal + fed titel + brødtekst
   Hvert punkt er sin egen boks
   ═══════════════════════════════════════════════ */
.cs-numbered-points { display: flex; flex-direction: column; gap: 14px; }
.cs-np-item {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  background: #FFFFFF;
  border-radius: 14px;
  padding: 20px 24px;
  border: 1px solid rgba(35,31,32,.1);
}
.cs-np-badge {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: #231F20;
  color: #FFFFFF;
  font-size: 14px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  margin-top: 2px;
}
.cs-np-title {
  font-size: 15px;
  font-weight: 700;
  color: #231F20;
  margin-bottom: 8px;
  line-height: 1.3;
}
.cs-np-text {
  font-size: 14px;
  color: #5A5256;
  line-height: 1.65;
  margin: 0;
}
/* Kortfarve varianter */
.vc_row .cs-numbered-points.cs-card-beige .cs-np-item      { background: #F1DFCB; border-color: rgba(35,31,32,.08); }
.vc_row .cs-numbered-points.cs-card-beige-dark .cs-np-item { background: #E5D2BA; border-color: rgba(35,31,32,.1); }
.vc_row .cs-numbered-points.cs-card-dark .cs-np-item {
  background: rgba(35,31,32,.85); border-color: rgba(241,223,203,.1);
}
.vc_row .cs-numbered-points.cs-card-dark .cs-np-badge { background: rgba(241,223,203,.15); color: #F1DFCB; }
.vc_row .cs-numbered-points.cs-card-dark .cs-np-title { color: #F1DFCB; }
.vc_row .cs-numbered-points.cs-card-dark .cs-np-text  { color: rgba(241,223,203,.65); }
/* Sektionsfarve-overrides */
.vc_row.cs-bg-dark .cs-np-item { background: rgba(255,255,255,.06); border-color: rgba(241,223,203,.1); }
.vc_row.cs-bg-dark .cs-np-badge { background: rgba(241,223,203,.15); color: #F1DFCB; }
.vc_row.cs-bg-dark .cs-np-title { color: #F1DFCB; }
.vc_row.cs-bg-dark .cs-np-text  { color: rgba(241,223,203,.65); }
/* Hover lift */
.cs-np-item { transition: transform 0.2s, box-shadow 0.2s; }
.cs-np-item:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(35,31,32,.1); }


/* ═══════════════════════════════════════════════
   MYTH / REALITY BOX  (cs-myth-box)
   To-delt boks: MYTH label + kursiv påstand,
   REALITY label + forklaring nedenunder
   ═══════════════════════════════════════════════ */
.cs-myth-box {
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(35,31,32,.1);
  max-width: 680px;
}
.cs-myth-row {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 20px;
}
.cs-myth-row:first-child {
  background: #F1DFCB;
  border-bottom: 1px solid rgba(35,31,32,.1);
}
.cs-myth-row:last-child { background: #FFFFFF; }
.cs-myth-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  flex-shrink: 0;
  padding-top: 2px;
  min-width: 54px;
}
.cs-myth-row:first-child .cs-myth-label { color: #5A5256; }
.cs-myth-row:last-child  .cs-myth-label { color: #3D6EE9; }
.cs-myth-text { font-size: 15px; color: #231F20; line-height: 1.6; }
.cs-myth-row:first-child .cs-myth-text { font-weight: 600; }

/* Farvevarianter */
.vc_row .cs-myth-box.cs-card-dark .cs-myth-row:first-child  { background: #2A2627; border-color: rgba(241,223,203,.1); }
.vc_row .cs-myth-box.cs-card-dark .cs-myth-row:last-child   { background: #231F20; }
.vc_row .cs-myth-box.cs-card-dark .cs-myth-row:first-child .cs-myth-label { color: rgba(241,223,203,.5); }
.vc_row .cs-myth-box.cs-card-dark .cs-myth-text             { color: rgba(241,223,203,.85); }
.vc_row .cs-myth-box.cs-card-beige-dark .cs-myth-row:first-child { background: #C4B09A; }
.vc_row .cs-myth-box.cs-card-beige-dark .cs-myth-row:last-child  { background: #E5D2BA; }


/* ═══════════════════════════════════════════════
   VERTICAL PROCESS LIST  (cs-process-list)
   Numre i cirkler forbundet med lodret streg,
   boks til højre med titel + tekst
   ═══════════════════════════════════════════════ */
.cs-process-list { display: flex; flex-direction: column; }
.cs-process-item {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}
/* Streg-connector venstre */
.cs-process-left {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  width: 44px;
}
.cs-process-badge {
  width: 44px; height: 44px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; font-weight: 700;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}
.cs-process-line {
  width: 2px;
  flex: 1;
  min-height: 20px;
  margin: 4px 0;
}
.cs-process-item:last-child .cs-process-line { display: none; }

/* Standard farver: mørk cirkel */
.cs-process-list .cs-process-badge { background: #231F20; color: #FFFFFF; }
.cs-process-list .cs-process-line  { background: rgba(35,31,32,.15); }
/* Fremhævet: blå cirkel (til at markere et specielt trin) */
.cs-process-item.cs-process-highlight .cs-process-badge { background: #3D6EE9; color: #FFFFFF; }
.cs-process-item.cs-process-accent .cs-process-badge    { background: #F1DFCB; color: #231F20; }

/* Boks til højre */
.cs-process-box {
  flex: 1;
  background: #FFFFFF;
  border: 1px solid rgba(35,31,32,.1);
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 12px;
}
.cs-process-title { font-size: 15px; font-weight: 700; color: #231F20; margin-bottom: 4px; line-height: 1.3; }
.cs-process-text  { font-size: 14px; color: #5A5256; line-height: 1.6; margin: 0; }

/* Kortfarve varianter for boks */
.cs-process-list.cs-card-beige .cs-process-box      { background: #F1DFCB; border-color: rgba(35,31,32,.08); }
.cs-process-list.cs-card-beige-dark .cs-process-box { background: #E5D2BA; border-color: rgba(35,31,32,.1); }
.cs-process-list.cs-card-dark .cs-process-box       { background: rgba(35,31,32,.8); border-color: rgba(241,223,203,.1); }
.cs-process-list.cs-card-dark .cs-process-title     { color: #F1DFCB; }
.cs-process-list.cs-card-dark .cs-process-text      { color: rgba(241,223,203,.65); }
.cs-process-list.cs-card-dark .cs-process-line      { background: rgba(241,223,203,.15); }
/* Sektionsfarve */
.vc_row.cs-bg-dark .cs-process-box   { background: rgba(255,255,255,.06); border-color: rgba(241,223,203,.1); }
.vc_row.cs-bg-dark .cs-process-title { color: #F1DFCB; }
.vc_row.cs-bg-dark .cs-process-text  { color: rgba(241,223,203,.65); }
.vc_row.cs-bg-dark .cs-process-line  { background: rgba(241,223,203,.15); }


/* ═══════════════════════════════════════════════
   ICON CARD  (cs-icon-card)
   Simpel boks: ikon øverst, titel, brødtekst
   ═══════════════════════════════════════════════ */
.cs-icon-card {
  background: #F1DFCB;
  border-radius: 14px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(35,31,32,.08);
}
.cs-icon-card-icon {
  width: 48px; height: 48px;
  border-radius: 10px;
  background: rgba(61,110,233,.1);
  display: flex; align-items: center; justify-content: center;
  color: #3D6EE9;
  margin-bottom: 16px;
  flex-shrink: 0;
}
.cs-icon-card-icon img {
  width: 28px; height: 28px;
  object-fit: contain;
}
.cs-icon-card-title { font-size: 16px; font-weight: 700; color: #231F20; margin-bottom: 10px; line-height: 1.3; }
.cs-icon-card-text  { font-size: 14px; color: #5A5256; line-height: 1.65; margin: 0; }

/* Kortfarve varianter */
.vc_row .cs-icon-card.cs-card-white      { background: #FFFFFF; border-color: rgba(35,31,32,.1); box-shadow: 0 2px 12px rgba(35,31,32,.07); }
.vc_row .cs-icon-card.cs-card-beige-dark { background: #E5D2BA; border-color: rgba(35,31,32,.1); }
.vc_row .cs-icon-card.cs-card-dark {
  background: #231F20; border-color: rgba(241,223,203,.1);
}
.vc_row .cs-icon-card.cs-card-dark .cs-icon-card-icon { background: rgba(104,144,242,.2); color: #6890F2; }
.vc_row .cs-icon-card.cs-card-dark .cs-icon-card-title { color: #F1DFCB; }
.vc_row .cs-icon-card.cs-card-dark .cs-icon-card-text  { color: rgba(241,223,203,.65); }
/* Sektions-override */
.vc_row.cs-bg-dark .cs-icon-card { background: rgba(255,255,255,.06); border-color: rgba(241,223,203,.1); }
.vc_row.cs-bg-dark .cs-icon-card .cs-icon-card-icon  { background: rgba(104,144,242,.2); color: #6890F2; }
.vc_row.cs-bg-dark .cs-icon-card .cs-icon-card-title { color: #F1DFCB; }
.vc_row.cs-bg-dark .cs-icon-card .cs-icon-card-text  { color: rgba(241,223,203,.65); }
/* Hover lift */
.cs-icon-card { transition: transform 0.2s, box-shadow 0.2s; }
.cs-icon-card:hover { transform: translateY(-3px); box-shadow: 0 10px 28px rgba(35,31,32,.1); }


/* ═══════════════════════════════════════════════
   DATA TABLE  (cs-data-table)
   Titel + rækker: ikon + kategori + tekst + % + progress bar
   ═══════════════════════════════════════════════ */
.cs-data-table {
  background: #FFFFFF;
  border-radius: 16px;
  padding: 28px 32px;
  border: 1px solid rgba(35,31,32,.1);
  box-shadow: 0 4px 20px rgba(35,31,32,.07);
}
.cs-data-table-title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #3D6EE9;
  margin-bottom: 24px;
}
.cs-data-row {
  display: grid;
  grid-template-columns: 52px 1fr auto;
  gap: 16px;
  align-items: center;  /* lodret centreret for alle kolonner */
  padding: 18px 0;
  border-bottom: 1px solid rgba(35,31,32,.08);
}
.cs-data-row:last-child { border-bottom: none; padding-bottom: 0; }
.cs-data-icon {
  width: 44px; height: 44px;
  border-radius: 10px;
  background: rgba(61,110,233,.08);
  display: flex; align-items: center; justify-content: center;
  color: #3D6EE9;
  align-self: start;   /* ikon følger toppen af teksten */
  margin-top: 2px;
  flex-shrink: 0;
}
.cs-data-icon img { width: 22px; height: 22px; object-fit: contain; }
.cs-data-category {
  font-size: 11px; font-weight: 700; letter-spacing: 1.5px;
  text-transform: uppercase; color: #3D6EE9;
  margin-bottom: 4px;
}
.cs-data-desc {
  font-size: 13px; color: #5A5256; line-height: 1.55;
  margin-bottom: 10px;
}
.cs-data-value {
  font-size: 20px; font-weight: 700; color: #231F20;
  white-space: nowrap;
  align-self: center;   /* centreret lodret */
  letter-spacing: -0.02em;
}
.cs-data-bar-wrap {
  height: 4px;
  background: rgba(35,31,32,.08);
  border-radius: 100px;
  overflow: hidden;
}
.cs-data-bar {
  height: 100%;
  border-radius: 100px;
  background: #3D6EE9;
  transition: width 0.6s ease;
}

/* Footnote */
.cs-data-table-note {
  font-size: 12px; font-style: italic; color: rgba(35,31,32,.45);
  margin-top: 18px; padding-top: 14px;
  border-top: 1px solid rgba(35,31,32,.08);
}

/* Farvevarianter */
.vc_row .cs-data-table.cs-card-beige      { background: #F1DFCB; border-color: rgba(35,31,32,.08); box-shadow: none; }
.vc_row .cs-data-table.cs-card-beige-dark { background: #E5D2BA; border-color: rgba(35,31,32,.1); box-shadow: none; }
.vc_row .cs-data-table.cs-card-dark {
  background: #231F20; border-color: rgba(241,223,203,.1); box-shadow: none;
}
.vc_row .cs-data-table.cs-card-dark .cs-data-table-title { color: #6890F2; }
.vc_row .cs-data-table.cs-card-dark .cs-data-row    { border-color: rgba(241,223,203,.08); }
.vc_row .cs-data-table.cs-card-dark .cs-data-category { color: #6890F2; }
.vc_row .cs-data-table.cs-card-dark .cs-data-desc   { color: rgba(241,223,203,.6); }
.vc_row .cs-data-table.cs-card-dark .cs-data-value  { color: #F1DFCB; }
.vc_row .cs-data-table.cs-card-dark .cs-data-bar-wrap { background: rgba(241,223,203,.1); }
.vc_row .cs-data-table.cs-card-dark .cs-data-bar    { background: #6890F2; }
.vc_row .cs-data-table.cs-card-dark .cs-data-table-note { color: rgba(241,223,203,.4); border-color: rgba(241,223,203,.08); }


/* ─────────────────────────────────────────────
   MEDIA CARD  (cs_media_card)
   Hvidt kort med billede øverst + indhold under.
   Radius: top-hjørner følger billedet, bund-hjørner følger kortet.
   ───────────────────────────────────────────── */

.cs-media-card {
  border-radius: 16px;
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.cs-media-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(35,31,32,.12) !important;
}
/* Kortene strækkes til samme højde i kolonnerne */
.vc_column_container .cs-media-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}
/* Kortets body fylder resterende plads så alle kort er ens høje */
.vc_column_container .cs-media-card .cs-mc-body {
  flex: 1;
}
/* Indre gap — bruges kun som padding rundt om kortet, ikke som constraint */
.vc_column_container:has(.cs-media-card) > .vc_column-inner {
  padding-left: 8px;
  padding-right: 8px;
}
@media (max-width: 768px) {
  .vc_column_container:has(.cs-media-card) > .vc_column-inner {
    padding-bottom: 16px;
  }
}
/* Gap mellem media-kort — håndteres af den generelle multi-kolonne constraint */


/* ─────────────────────────────────────────────
   SECTION HEADING  (cs_section_heading)
   Label + H2 + valgfri undertitel
   ───────────────────────────────────────────── */

.cs-section-heading {
  padding: 0;
}
.cs-sh-title {
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(32px, 4vw, 56px);
  font-weight: 500 !important;
  line-height: 1.08;
  letter-spacing: -0.02em;
  margin: 0 0 12px;
  text-wrap: balance;
}
.cs-sh-subtitle {
  font-size: clamp(15px, 1.6vw, 18px);
  line-height: 1.65;
  margin: 32px 0 0;
  opacity: 0.8;
  display: block;
}



/* ═══════════════════════════════════════════════════════════════
   CASES GRID  (cs_cases_grid)
   Bento-layout: 1 stor featured card + 2×2 secondary cards.
   Baggrunde er featured images — mørk gradient overlay.
   ═══════════════════════════════════════════════════════════════ */

.cs-cases-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 16px;
  width: 100%;
}

/* Fjern vc_column-inner padding naar cases grid er til stede */
.vc_column-inner:has(.cs-cases-grid) {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Secondary 2x2 grid */
.cs-cases-secondary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 12px;
}

/* Base card */
.cs-case-card {
  display: block;
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
  background: linear-gradient(135deg,#1a2a5e 0%,#0f1a3d 100%);
}

/* Billede som fuld-daekke baggrund — samme princip som cs-cgs-img */
picture.cs-case-bg-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

picture.cs-case-bg-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 0 !important;
}
.cs-case-bg-fallback {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg,#1a2a5e 0%,#0f1a3d 100%);
}
.cs-case-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(0,0,0,.25);
}

/* Featured card: fast hoejde saa background-image er synlig */
.cs-case-featured {
  height: 560px;
  min-height: 560px;
}

/* Small cards */
.cs-case-small {
  height: 270px;
  min-height: 270px;
}

/* Fjern WPBakery wrapper-padding rundt om elementet */
.vc_row .wpb_wrapper .cs-cases-grid,
.wpb_wrapper .cs-cases-grid {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.wpb_wrapper:has(.cs-cases-grid) {
  padding: 0 !important;
}

/* ── Dark gradient overlay ── */
.cs-case-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,.05) 0%,
    rgba(0,0,0,.35) 45%,
    rgba(0,0,0,.82) 100%
  );
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 22px 24px;
}

/* ── Category badge ── */
.cs-case-badge {
  position: absolute;
  top: 18px;
  left: 18px;
  display: inline-block;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 999px;
  white-space: nowrap;
  z-index: 2;
}

/* ── Text content ── */
.cs-case-content { width: 100%; }

.cs-case-title {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 600 !important;
  color: #fff;
  margin: 0 0 6px;
  line-height: 1.25;
}
.cs-case-featured .cs-case-title { font-size: clamp(18px, 2vw, 24px); }
.cs-case-small   .cs-case-title  { font-size: 15px; }

.cs-case-tagline {
  font-size: 13px;
  color: rgba(255,255,255,.72);
  margin: 0;
  line-height: 1.5;
}

.cs-case-meta {
  font-size: 11px;
  color: rgba(255,255,255,.5);
  margin: 10px 0 0;
  letter-spacing: .2px;
}

/* ── Video play button ── */
.cs-case-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: rgba(255,255,255,.88);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background .2s;
}
.cs-case-card:hover .cs-case-play {
  background: #fff;
}

/* ── Cases grid images — undtages fra global border-radius ── */
.cs-case-card img { border-radius: 0 !important; }

/* ── Responsive ── */
@media (max-width: 900px) {
  .cs-cases-grid {
    grid-template-columns: 1fr;
  }
  .cs-case-featured { min-height: 340px; }
}
@media (max-width: 600px) {
  .cs-case-featured {
    height: auto;
    min-height: 280px;
  }
  .cs-case-small {
    height: auto;
    min-height: 200px;
  }
}
@media (max-width: 560px) {
  .cs-cases-secondary {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
  }
  .cs-case-card { min-width: 0 !important; }
}

/* ─────────────────────────────────────────────
   PAGE HERO  (cs_page_hero)
   Beige baggrund og padding er hardcodet her.
   Brug Default row — ingen stretch, ingen flash.
   ───────────────────────────────────────────── */

/* Hero inner — siden er fuld bredde, bare centrer indhold */
.cs-page-hero-inner {
  background: var(--cs-beige); /* default — overrides via inline style */
  /* Horisontal centrering og padding håndteres af .vc_column-inner — SAMME system som split section */
  padding: 60px 0 80px;
  box-sizing: border-box;
  overflow: hidden;
}

@media (max-width: 768px) {
  .cs-page-hero-inner {
    padding: 48px 0 64px;  /* column-inner giver mobil side-padding */
  }
}

/* Label / eyebrow */
.cs-ph-label {
  margin-bottom: 28px;
}

/* H1 */
.cs-ph-title {
  font-family: 'Poppins', -apple-system, sans-serif !important;
  font-size: clamp(44px, 5.8vw, 84px);
  font-weight: 500 !important;
  line-height: 1.04;
  color: #231F20;
  margin: 0 0 28px;
  letter-spacing: -0.03em;
  text-transform: none;
  text-wrap: balance;
  word-break: break-word;   /* forhindrer overflow på smalle skærme */
  overflow-wrap: break-word;
  max-width: 100%;           /* titel overskrider aldrig container */
}

/* Blå accent i H1 */
.cs-ph-accent {
  color: #3D6EE9;
  display: inline;
}

/* Dekorativ streg — vises KUN under det ord/den frase der er markeret med {u}...{/u} inde i {blue} */
.cs-ph-accent-line {
  display: inline;
  color: inherit;
  padding-bottom: 6px;
  border-bottom: 4px solid rgba(61, 110, 233, 0.55);
  border-radius: 3px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.cs-ph-accent-line::after {
  display: none; /* bruges ikke mere — erstattet af border-bottom */
}

/* Blå undertitel */
.cs-ph-subtitle {
  font-family: 'Poppins', -apple-system, sans-serif;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.45;
  color: #3D6EE9;
  margin: 32px 0 28px;
  display: block;
}

/* Brødtekst */
.cs-ph-text {
  font-size: 17px;
  line-height: 1.65;
  color: #231F20;
  margin: 0 0 14px;
  max-width: 640px;
}

/* Sekundær lille tekst */
.cs-ph-text2 {
  font-size: 14px;
  line-height: 1.6;
  color: #5A5256;
  margin: 0 0 28px;
  max-width: 600px;
}

/* CTA-knapper */
.cs-ph-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 36px;
}

/* ── Skillelinje — cs_divider element ───────────────────────────
   Indsæt via cs_divider element med style="subtle"/"bold"
   ──────────────────────────────────────────────────────────────── */
.cs-divider {
  width: 100%;
  border: none;
  margin: 0;
}
.cs-divider-subtle {
  border-top: 1px solid rgba(35, 31, 32, 0.22);  /* Øget fra 0.12 — mere synlig */
}
.cs-divider-bold {
  border-top: 2px solid rgba(35, 31, 32, 0.3);
}
/* På mørk baggrund */
.cs-bg-dark .cs-divider-subtle,
[style*="background:#231F20"] .cs-divider-subtle,
[style*="background: #231F20"] .cs-divider-subtle {
  border-top-color: rgba(255, 255, 255, 0.25) !important;
}
.cs-bg-dark .cs-divider-bold,
[style*="background:#231F20"] .cs-divider-bold {
  border-top-color: rgba(255, 255, 255, 0.35) !important;
}

/* ── Proof-liste — blå cirkel-punkter ───────────────────────────
   Brug i WPBakery Text Block:
   <ul class="cs-proof-list">
     <li>Long-term partnerships with companies like Systematic</li>
     <li>Building dedicated development teams since 2006</li>
   </ul>

   Virker overalt på sitet — ikke kun i hero.
   På mørk baggrund bruges varianten cs-proof-list-light.
   ──────────────────────────────────────────────────────────────── */
.cs-proof-list {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.cs-proof-list li {
  display: flex;
  align-items: flex-start;  /* prikken følger første linje, ikke hele blokken */
  gap: 10px;
  font-size: 14px;
  font-weight: 500;
  color: #231F20;
  opacity: 0.75;
  line-height: 1.5;
}
.cs-proof-list li::before {
  content: '';
  display: block;
  width: 6px;
  height: 6px;
  min-width: 6px;
  border-radius: 50%;
  background: #3D6EE9;
  margin-top: 5px;  /* optisk centrering ud for første linjes midtpunkt (14px * 1.5 / 2 - 3px) */
  flex-shrink: 0;
}
/* Lys variant til mørke/blå sektioner */
.cs-proof-list-light li {
  color: rgba(241, 223, 203, 0.85);
  opacity: 1;
}
.cs-proof-list-light li::before {
  background: #6890F2;
}

/* ── Mobil ── */
@media (max-width: 768px) {
  .cs-ph-title {
    font-size: clamp(30px, 8vw, 46px);
    margin-bottom: 18px;
  }
  .cs-ph-subtitle {
    font-size: 16px;
  }
  .cs-ph-text {
    font-size: 15px;
  }
  .cs-ph-cta {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin-top: 28px;
  }
}

/* ─────────────────────────────────────────────
   PILLAR PAGE HERO  (cs_pillar_hero)
   Bygger oven på .cs-page-hero — kun delta herunder
   ───────────────────────────────────────────── */

/* Breadcrumbs */
.cs-ph2-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 20px;
  font-size: 13px;
  font-family: 'Poppins', -apple-system, sans-serif;
}
.cs-ph2-crumb-link {
  color: #231F20;
  text-decoration: none;
  opacity: .55;
  transition: opacity .15s;
}
.cs-ph2-crumb-link:hover { opacity: 1; }
.cs-ph2-crumb-sep {
  color: #231F20;
  opacity: .3;
  font-size: 12px;
}
.cs-ph2-crumb-current {
  color: #3D6EE9;
  font-weight: 500;
}

/* Label — lidt tættere på H1 end på Core Page */
.cs-ph2-label { margin-bottom: 20px; }

/* H1 — højere specificitet end Bootstrap/Bootscore, ingen !important */
section.cs-pillar-hero h1.cs-ph2-title {
  font-family: 'Poppins', -apple-system, sans-serif;
  font-size: clamp(38px, 5.5vw, 64px);
  font-weight: 800;
  line-height: 1.13;
  color: #231F20;
  margin: 0 0 28px;
  letter-spacing: -0.025em;
  text-transform: none;
  max-width: 780px;
}

/* Brødtekst — lidt større og mere luft til Pillar Pages */
.cs-ph2-text {
  font-size: 18px;
  line-height: 1.7;
  color: #231F20;
  margin: 0 0 32px;
  max-width: 660px;
}

/* Mobil */
@media (max-width: 768px) {
  .cs-ph2-title {
    font-size: clamp(28px, 7.5vw, 42px);
    margin-bottom: 20px;
  }
  .cs-ph2-text {
    font-size: 16px;
  }
}

/* ─────────────────────────────────────────────
   ROW SYSTEM — FINAL
   Siden er fuld bredde. Kolonner styrer indhold.
   Ingen breakout nødvendig.
   ───────────────────────────────────────────── */

/* Siden er fuld bredde — ingen max-width her */
main.site-main {
  max-width: 100%;
  width: 100%;
  padding: 0;
  margin: 0;
  overflow: visible;
}

/* Multi-kolonne layout — se LAYOUT CONSTRAINT blokken nedenfor */

/* ── Reset alle wrappers over WPBakery content ── */
#content,
#content .row,
#content .col-12,
#primary,
.site-main,
.entry-content,
.wpb-content-wrapper {
  padding-top: 0 !important;
  margin-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* Første WPBakery row — ingen ekstra luft */
.vc_row:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ══════════════════════════════════════════════════════════════════
   LAYOUT CONSTRAINT
   
   ENKELT KOLONNE: max-width + margin:auto centrerer indholdet
   MULTI-KOLONNE:  row-level side-padding holder ALLE kolonner samlet
                   inden for site-bredden
   ══════════════════════════════════════════════════════════════════ */

/* Enkelt kolonne — centrér content til site-width (kun i indholdsområdet)

   SKRIDT 2 (test): !important blev fjernet fra denne regel, ud fra
   den antagelse at filen nu loader efter main.css og derfor ville
   vinde af sig selv.

   RESULTAT: den antagelse holder ikke. !important slår
   indlæsningsrækkefølge, uanset specificitet. System A i main.css
   har

     .vc_column_container > .vc_column-inner { padding: ... !important }

   og vandt derfor over padding-linjerne her. max-width, margin og
   box-sizing overlevede — de har ingen modpart i System A, og det
   er grunden til at fejlen var usynlig i to uger.

   Sådan viste den sig: en hvid sektion på en case. Målt med
   getBoundingClientRect:

     HERO       venstre 443, padding 48px  → tekst starter ved 491
     .vc_column-inner  venstre 443, padding 12px  → tekst ved 455

   Rammen var altså rigtig hele vejen. Kun de 48px manglede, og
   brødteksten i sektionen lå 36px længere til venstre end resten
   af siden.

   De seks !important er sat tilbage, som kommentaren foreskrev.
   Testen var ikke spildt — den fastslog at reglen ikke kan undvære
   dem så længe System A findes.

   SKRIDT 3: fjern System A's regel i _bootscore_custom.scss. Først
   dér kan !important ryge herfra. Mål før og efter, samme to tal
   som ovenfor. */
.site-main .vc_row .wpb_column > .vc_column-inner,
#primary .vc_row .wpb_column > .vc_column-inner,
.entry-content .vc_row .wpb_column > .vc_column-inner,
.site-main .vc_row .vc_column-inner,
#primary .vc_row .vc_column-inner,
.entry-content .vc_row .vc_column-inner {
  max-width: var(--cs-site-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--cs-site-pad) !important;
  padding-right: var(--cs-site-pad) !important;
  box-sizing: border-box !important;
}

/* Multi-kolonne: ROW-niveau side-padding
   Formel: max(5vw + 48px, (100vw - var(--cs-site-max))/2 + 48px)

   Tallet var foer hardcodet til 1440px. Det gik godt saa laenge
   hele sitet var 1440 bredt. Da artikel- og casesider begyndte at
   saette bredden til 1100 paa deres egen wrapper, holdt enkelt- og
   multi-kolonne op med at flugte: enkelt kolonne centrerede til
   1100, mens formlen stadig regnede med 1440.

   Maalt paa en case ved 1986px viewport:
     enkelt kolonne  (1986-1100)/2 + 48 = 491
     multi-kolonne   max(147, 321)      = 321   ← 170px forskel

   Nu bruger begge --cs-site-max, saa de foelges ad uanset hvad
   en sidetype saetter bredden til.
   Inkluderer den indre 48px padding som single-col også bruger.
   Dette giver identisk venstre kant på begge layout-typer.

   Verifikation:
   1920px → max(144px, 288px) = 288px → row-content = 1344px ✓
   1440px → max(120px,  48px) = 120px → row-content = 1200px ✓
   1200px → max(108px, -72px) = 108px → row-content =  984px ✓  (= 90vw - 96px)
   Single col 1200px:  (1200-1080)/2 + 48px = 108px ← MATCH */
.site-main .vc_row:has(.vc_column_container:nth-child(2)),
#primary .vc_row:has(.vc_column_container:nth-child(2)),
.entry-content .vc_row:has(.vc_column_container:nth-child(2)) {
  padding-left:  max(calc(5vw + var(--cs-site-pad)), calc((100vw - var(--cs-site-max)) / 2 + var(--cs-site-pad))) !important;
  padding-right: max(calc(5vw + var(--cs-site-pad)), calc((100vw - var(--cs-site-max)) / 2 + var(--cs-site-pad))) !important;
}

/* Multi-kolonne inner: reset max-width (ellers prøver hver kolonne at centrere til 1440px) */
.site-main .vc_row .vc_column_container:not(:only-child) > .vc_column-inner,
#primary .vc_row .vc_column_container:not(:only-child) > .vc_column-inner,
.entry-content .vc_row .vc_column_container:not(:only-child) > .vc_column-inner {
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  box-sizing: border-box !important;
}

/* UNDTAGELSE: parallax-raekker.
   ---------------------------------------------------------------
   En parallax-raekke har KUN én kolonne, men temaet indsaetter et
   ekstra baggrundslag som soeskende til den. Dermed er kolonnen
   ikke :only-child, og reglen ovenfor behandler raekken som
   flerkolonne: max-width 100% og 12px padding.

   Maalt paa Kamstrup-casen ved 1986px viewport:
     .vc_column-inner   venstre -7, bredde 2001, pad 12px, max-w 100%
   mod de 1100/48px resten af siden bruger. Teksten laa derfor
   klistret op ad venstre kant.

   Bemaerk at raekke-reglen ovenfor IKKE ramte: den spoerger om der
   findes en KOLONNE som barn nr. 2, og det goer der ikke. De to
   regler stiller forskellige spoergsmaal om samme raekke. Den rette
   loesning er at give dem samme test — det hoerer til skridt 3,
   hvor hele LAYOUT CONSTRAINT gennemgaas. Indtil da undtages
   parallax her, hvor det er maalt og verificeret. */
.site-main .vc_row.cs-row-parallax .vc_column_container > .vc_column-inner,
#primary .vc_row.cs-row-parallax .vc_column_container > .vc_column-inner,
.entry-content .vc_row.cs-row-parallax .vc_column_container > .vc_column-inner {
  max-width: var(--cs-site-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--cs-site-pad) !important;
  padding-right: var(--cs-site-pad) !important;
  box-sizing: border-box !important;
}
/* Første/sidste kolonne: ingen ekstra ydre padding (row'en har den) */
.site-main .vc_row .vc_column_container:not(:only-child):first-child > .vc_column-inner {
  padding-left: 0 !important;
}
.site-main .vc_row .vc_column_container:not(:only-child):last-child > .vc_column-inner {
  padding-right: 0 !important;
}

@media (max-width: 768px) {
  .site-main .vc_row:has(.vc_column_container:nth-child(2)),
#primary .vc_row:has(.vc_column_container:nth-child(2)),
.entry-content .vc_row:has(.vc_column_container:nth-child(2)) {
    padding-left:  var(--cs-site-pad-sm) !important;
    padding-right: var(--cs-site-pad-sm) !important;
  }
  .site-main .vc_row .vc_column-inner,
#primary .vc_row .vc_column-inner,
.entry-content .vc_row .vc_column-inner {
    padding-left: var(--cs-site-pad-sm) !important;
    padding-right: var(--cs-site-pad-sm) !important;
  }
  .site-main .vc_row .vc_column_container:not(:only-child) > .vc_column-inner,
#primary .vc_row .vc_column_container:not(:only-child) > .vc_column-inner,
.entry-content .vc_row .vc_column_container:not(:only-child) > .vc_column-inner {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
  .site-main .vc_row .vc_column_container:not(:only-child):first-child > .vc_column-inner {
    padding-left: 0 !important;
  }
  .site-main .vc_row .vc_column_container:not(:only-child):last-child > .vc_column-inner {
    padding-right: 0 !important;
  }
}

/* Multi-kolonne rows: ens højde på alle kolonner — kun i site-main */
.site-main .vc_row,
#primary .vc_row,
.entry-content .vc_row {
  align-items: stretch;
}
.site-main .vc_row .wpb_column,
#primary .vc_row .wpb_column,
.entry-content .vc_row .wpb_column {
  display: flex !important;
  flex-direction: column !important;
}
.site-main .vc_row .wpb_column > .vc_column-inner,
#primary .vc_row .wpb_column > .vc_column-inner,
.entry-content .vc_row .wpb_column > .vc_column-inner {
  width: 100%;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.site-main .vc_row .wpb_column > .vc_column-inner > .wpb_wrapper,
#primary .vc_row .wpb_column > .vc_column-inner > .wpb_wrapper,
.entry-content .vc_row .wpb_column > .vc_column-inner > .wpb_wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* ─────────────────────────────────────────────
   SECTION KLASSER — Extra class name på Default row
   Siden er allerede fuld bredde — bare sæt farve
   ───────────────────────────────────────────── */
.vc_row.cs-bg-dark      { background: var(--cs-black); }
.vc_row.cs-bg-beige     { background: var(--cs-beige); }
.vc_row.cs-bg-beige-alt { background: #E8D5C0; }
.vc_row.cs-bg-white     { background: #ffffff; }
.vc_row.cs-bg-blue      { background: var(--cs-blue); }

.vc_row.cs-pad-normal { padding-top: 96px !important; padding-bottom: 96px !important; }
.vc_row.cs-pad-sm     { padding-top: 64px !important; padding-bottom: 64px !important; }
.vc_row.cs-pad-lg     { padding-top: 128px !important; padding-bottom: 128px !important; }

@media (max-width: 768px) {
  .vc_row .vc_column-inner {
    padding-left: var(--cs-site-pad-sm);
    padding-right: var(--cs-site-pad-sm);
  }
  .vc_row.cs-pad-normal { padding-top: 64px !important; padding-bottom: 64px !important; }
  .vc_row.cs-pad-sm     { padding-top: 48px !important; padding-bottom: 48px !important; }
  .vc_row.cs-pad-lg     { padding-top: 80px !important; padding-bottom: 80px !important; }
}

/* ─────────────────────────────────────────────
   SPLIT SECTION  (cs_split_section)
   Brug Default row — elementet bryder selv ud
   ───────────────────────────────────────────── */

/* Split section — siden er fuld bredde, ingen breakout */
.cs-split-section {
  width: 100%;
}
.cs-split-inner {
  /* Horisontal centrering og padding håndteres af .vc_column-inner
     — split-inner tilføjer KUN vertikal padding */
  width: 100%;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 5vw, 80px);
  align-items: start;
  box-sizing: border-box;
}
.cs-ss-reverse .cs-split-inner { direction: rtl; }
.cs-ss-reverse .cs-split-inner > * { direction: ltr; }

/* Mellemstore skærme — skift til enkelt kolonne lidt tidligere */
@media (max-width: 900px) {
  .cs-split-inner {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 72px 0;  /* horisontalt stadig 0 — column-inner klarer det */
  }
}

.cs-ss-title {
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(36px, 4.5vw, 64px);
  font-weight: 500 !important;
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 16px 0 20px;
  text-wrap: balance;   /* Fordeler linjebrud jævnt — ingen akavede enkeltord */
}

/* Blå accent-ord i split section titler — uden hero-dekorationer */
.cs-ss-accent-word {
  color: #3D6EE9;
}

/* Label synlig på mørk baggrund */
.cs-split-section .cs-slabel-light {
  color: rgba(241,223,203,.7);
}
.cs-split-section .cs-slabel-light::before {
  background: rgba(241,223,203,.35);
}

@media (max-width: 768px) {
  .cs-split-inner {
    padding: 64px 0;  /* column-inner giver mobil side-padding */
  }
}

/* ─────────────────────────────────────────────
   HERO KNAPPER — mørk/blå baggrund
   Sikrer knapper altid er synlige
   ───────────────────────────────────────────── */
.cs-ph-dark .cs-btn.cs-btn-dark,
.cs-ph-dark .cs-btn.cs-btn-outline-dark {
  background: var(--cs-beige) !important;
  color: var(--cs-black) !important;
  border-color: var(--cs-beige) !important;
}
.cs-ph-dark .cs-btn.cs-btn-dark .cs-btn-icon,
.cs-ph-dark .cs-btn.cs-btn-outline-dark .cs-btn-icon {
  background: rgba(35,31,32,.1) !important;
  color: var(--cs-black) !important;
}

/* ─────────────────────────────────────────────
   WPBAKERY DEFAULT SPACING RESET
   Fjerner WPBakery's egne default margins
   ───────────────────────────────────────────── */
.vc_row-fluid,
.vc_column_container,
.wpb_column {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* WPBakery sætter margin-bottom: 35px på rows */
.vc_row {
  margin-bottom: 0;
}

/* Hero-inner må ikke have dobbelt padding fra column-inner */
/* Hero bruger nu standardsystemet — ingen speciel reset nødvendig */

/* ── Grobowski undtagelser ─────────────────────────────────────
   Grobowskis egne layout-klasser må IKKE have max-width/padding
   overskrevet — de har deres eget layout-system.
   ────────────────────────────────────────────────────────────── */
.branche-container .vc_column-inner,
.branche-row .vc_column-inner,
.cases-slider .vc_column-inner,
.tech-hubs-slider .vc_column-inner,
.logo-slider .vc_column-inner,
.mere-conscensia .vc_column-inner,
.gbs-grid .vc_column-inner,
.gbs-slider .vc_column-inner {
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Cases grid — featured kort større end secondary */
/* Mobil: én kolonne */
@media (max-width: 600px) {
  .cs-cases-grid {
    grid-template-columns: 1fr;
  }
  .cs-cases-secondary {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
}

/* Nulstil Grobowskis header padding */
body #content { padding-top: 0 !important; }


/* ═══════════════════════════════════════
   CASES GRID — WPBakery padding reset
   Fjerner al indre padding fra WPB wrapper
   saa featured og secondary sidder taet
   ═══════════════════════════════════════ */
.vc_row .wpb_single_image + .wpb_content_element .cs-cases-grid,
.wpb_column .wpb_wrapper > .cs-cases-grid {
  width: 100% !important;
}
.cs-cases-grid .cs-case-featured,
.cs-cases-grid .cs-cases-secondary {
  /* ingen ekstra margin — gap styres kun af grid gap */
  margin: 0 !important;
}/* FIX: Cases Grid må ikke arve almindelig Case Card styling */
.cs-cases-grid .cs-case-card {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  border: none !important;
  display: block !important;
  box-sizing: border-box !important;
}

.cs-cases-grid .cs-case-featured,
.cs-cases-grid .cs-cases-secondary {
  width: 100% !important;
}


/* ═══════════════════════════════════════════════
   CTA MED FORMULAR  (cs_cta_form)
   Stor overskrift til venstre + formular til højre
   ═══════════════════════════════════════════════ */

.cs-cta-form-wrap {
  width: 100%;
}
.cs-cta-form-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(40px, 5vw, 80px);
  align-items: start;
  max-width: var(--cs-site-width);
  margin: 0 auto;
  padding: 80px var(--cs-site-pad);
  box-sizing: border-box;
}
.cs-cta-form-left {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 8px;
}
.cs-ctaf-heading {
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(28px, 3vw, 44px) !important;
  font-weight: 600 !important;
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 0;
  text-wrap: balance;
}
.cs-ctaf-text {
  font-size: 16px;
  line-height: 1.65;
  margin: 0;
}
.cs-ctaf-contact {
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
  opacity: 0.75;
}
.cs-ctaf-contact a {
  color: #3D6EE9;
  font-weight: 600;
  text-decoration: none;
}
.cs-cta-form-right {
  background: transparent;
}

/* Gravity Forms — ren og enkel */
.cs-cta-form-right .gform_wrapper .gfield_label {
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  margin-bottom: 5px !important;
  color: inherit !important;
}
.cs-cta-form-right .gform_wrapper input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.cs-cta-form-right .gform_wrapper textarea,
.cs-cta-form-right .gform_wrapper select {
  border-radius: 8px !important;
  border: 1px solid rgba(35,31,32,.18) !important;
  padding: 11px 14px !important;
  font-size: 15px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: rgba(255,255,255,.8) !important;
  transition: border-color 0.15s ease !important;
}
.cs-cta-form-right .gform_wrapper input:focus,
.cs-cta-form-right .gform_wrapper textarea:focus {
  border-color: #3D6EE9 !important;
  outline: none !important;
  background: #fff !important;
}
.cs-cta-form-right .gform_wrapper .gform_footer {
  margin-top: 12px !important;
  padding: 0 !important;
}
.cs-cta-form-right .gform_wrapper .gform_submit_button,
.cs-cta-form-right .gform_wrapper input[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  background: #231F20 !important;
  color: #F1DFCB !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 13px 32px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  font-family: 'Poppins', sans-serif !important;
  cursor: pointer !important;
  transition: opacity 0.2s ease !important;
  width: auto !important;
  float: none !important;
  vertical-align: middle !important;
}
.cs-cta-form-right .gform_wrapper .gform_submit_button:hover {
  opacity: 0.75 !important;
}

/* ═════════════════════════════════════════════
   GRAVITY FORMS — SUBMIT-KNAP: PIL OVEN I TEKSTEN
   ─────────────────────────────────────────────
   ÅRSAG (fundet i main.css, linje ~1652 i _bootscore-custom.scss):
   Grobowski styler submit-knappen sådan her:
       .gform_wrapper .gform_footer input[type="submit"] {
           padding: 15px 50px 15px 25px !important;
       }
   De 50px i højre padding er den plads, pil-ikonet
   (.gform_footer_icon, absolut placeret på right:20px) skal have.

   Men Gravity Forms 2.9 renderer ikke længere <input type="submit">.
   Den renderer <button class="gform_button button">Send</button>.
   Selektoren rammer derfor ikke længere, højre-paddingen udebliver,
   og pilen lander oven i teksten.

   Det forklarer også, hvorfor de samme formularer var i orden på det
   gamle site: dengang rendererede Gravity Forms et <input>.

   LØSNING: samme regelsæt, men for <button>. Designet bevares
   nøjagtigt som Grobowski har tegnet det — pillen, kanten og
   pil-cirklen er urørte. Der tilføjes kun den manglende plads.
   ═════════════════════════════════════════════ */
.gform_wrapper .gform_footer button.gform_button,
.gform_wrapper .gform_footer button[type="submit"] {
  font-size: 14px !important;
  line-height: normal !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 99px !important;
  padding: 15px 50px 15px 25px !important;
  box-shadow: none !important;
  min-height: 0 !important;
  min-width: 0 !important;
  width: auto !important;
  color: inherit !important;
  white-space: nowrap !important;
  z-index: 1;
}
/* Bootscore hænger sin egen pil på .button — den skal væk, da
   Grobowskis .gform_footer_icon allerede leverer pilen. */
.gform_wrapper .gform_footer button.gform_button::before,
.gform_wrapper .gform_footer button.gform_button::after,
.gform_wrapper .gform_footer button[type="submit"]::before,
.gform_wrapper .gform_footer button[type="submit"]::after {
  content: none !important;
  display: none !important;
}

/* ═════════════════════════════════════════════
   LODRET CENTRERING AF ÉN ENKELT KOLONNE — cs-col-middle / midt
   ─────────────────────────────────────────────
   Sættes som Extra class name på DEN ENKELTE KOLONNE (ikke rækken),
   når kun den ene kolonnes indhold skal stå lodret centreret,
   mens den anden bliver i toppen.

   Kræver at rækken har Equal height = Yes, ellers er kolonnen
   ikke højere end sit eget indhold, og der er intet at centrere i.
   ═════════════════════════════════════════════ */
/* Klassen står FØR wpb_column i class-attributten, og kolonnen
   er allerede display:flex. Det afgørende er, at .vc_column-inner
   er flex-column og centrerer sit indhold. */
/* 'midt' er et kort alias til præcis samme mekanisme, så klassen
   kan skrives hurtigt i Extra class name. Den er bevidst scopet
   til .wpb_column.midt: ordet er så generisk, at et uscopet
   .midt før eller siden ville ramme noget andet på sitet. */
.cs-col-middle.wpb_column,
.wpb_column.cs-col-middle,
.wpb_column.midt {
  display: flex !important;
  align-items: stretch !important;
}
.cs-col-middle > .vc_column-inner,
.wpb_column.midt > .vc_column-inner {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  height: 100% !important;
  width: 100%;
}
/* .vc_column-inner har ::before og ::after (clearfix fra WPBakery).
   Som flex-items optager de plads og skubber indholdet op.
   De skal ud af flow, ellers centreres der forkert. */
.cs-col-middle > .vc_column-inner::before,
.cs-col-middle > .vc_column-inner::after,
.wpb_column.midt > .vc_column-inner::before,
.wpb_column.midt > .vc_column-inner::after {
  display: none !important;
}
/* .wpb_wrapper strækkes til fuld højde af temaets egen CSS,
   derfor hjælper centrering på .vc_column-inner ikke.
   Løsningen er at gøre selve wrapperen til en flex-kolonne,
   der centrerer sit eget indhold. */
.cs-col-middle > .vc_column-inner > .wpb_wrapper,
.wpb_column.midt > .vc_column-inner > .wpb_wrapper {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  height: 100% !important;
  width: 100%;
}
/* Mobil: kolonnerne stables — centrering giver ingen mening der */
@media (max-width: 767px) {
  .cs-col-middle > .vc_column-inner > .wpb_wrapper,
  .wpb_column.midt > .vc_column-inner > .wpb_wrapper {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
}

/* ═════════════════════════════════════════════
   GRAVITY FORMS-KNAP — FARVE EFTER SEKTIONSBAGGRUND
   ─────────────────────────────────────────────
   Knappen styres af tre variabler i stedet for faste farver:
     --cs-gf-fg       kant + tekst
     --cs-gf-icon-bg  pil-cirklens baggrund
     --cs-gf-icon-fg  pilen selv
   Standard er mørk (beige/hvid baggrund). På blå og sort
   baggrund skiftes der til lys.
   Virker både via rækkens cs-bg-klasse og via CTA-elementets
   egen baggrundsindstilling (cs-ctaf-bg-*).
   ═════════════════════════════════════════════ */
.gform_wrapper .gform_footer {
  --cs-gf-fg: #231F20;
  --cs-gf-icon-bg: #231F20;
  --cs-gf-icon-fg: #FFFFFF;
  --cs-gf-hover: #3D6EE9;
  --cs-gf-hover-icon-fg: #FFFFFF;
  border-color: var(--cs-gf-fg) !important;
  color: var(--cs-gf-fg) !important;
}
.gform_wrapper .gform_footer .gform_footer_icon {
  background-color: var(--cs-gf-icon-bg) !important;
  color: var(--cs-gf-icon-fg) !important;
}
.gform_wrapper .gform_footer:hover {
  border-color: var(--cs-gf-hover) !important;
  color: var(--cs-gf-hover) !important;
}
.gform_wrapper .gform_footer:hover .gform_footer_icon {
  background-color: var(--cs-gf-hover) !important;
  color: var(--cs-gf-hover-icon-fg) !important;
}

/* Blå baggrund — hvid knap, mørk pil */
.cs-bg-blue .gform_wrapper .gform_footer,
.cs-ctaf-bg-blue .gform_wrapper .gform_footer {
  --cs-gf-fg: #FFFFFF;
  --cs-gf-icon-bg: #FFFFFF;
  --cs-gf-icon-fg: #3D6EE9;
  --cs-gf-hover: #231F20;
  --cs-gf-hover-icon-fg: #FFFFFF;
}

/* Sort baggrund — beige knap, sort pil */
.cs-bg-dark .gform_wrapper .gform_footer,
.cs-ctaf-bg-dark .gform_wrapper .gform_footer {
  --cs-gf-fg: #F1DFCB;
  --cs-gf-icon-bg: #F1DFCB;
  --cs-gf-icon-fg: #231F20;
  --cs-gf-hover: #6890F2;
  --cs-gf-hover-icon-fg: #FFFFFF;
}

/* Beige, mørk beige og hvid — mørk knap (samme som standard),
   skrives eksplicit så nestede sektioner ikke arver forkert. */
.cs-bg-beige .gform_wrapper .gform_footer,
.cs-bg-beige-dark .gform_wrapper .gform_footer,
.cs-bg-white .gform_wrapper .gform_footer,
.cs-ctaf-bg-beige .gform_wrapper .gform_footer,
.cs-ctaf-bg-beige-dark .gform_wrapper .gform_footer,
.cs-ctaf-bg-white .gform_wrapper .gform_footer {
  --cs-gf-fg: #231F20;
  --cs-gf-icon-bg: #231F20;
  --cs-gf-icon-fg: #FFFFFF;
  --cs-gf-hover: #3D6EE9;
  --cs-gf-hover-icon-fg: #FFFFFF;
}

@media (max-width: 900px) {
  .cs-cta-form-inner {
    grid-template-columns: 1fr;
    padding: 56px var(--cs-site-pad);
    gap: 36px;
  }
}

/* ═══════════════════════════════════════════════
   FAQ GRID  (cs_faq_grid)
   Ét element — flere spørgsmål/svar — horisontal
   ═══════════════════════════════════════════════ */
.cs-faq-grid {
  display: grid !important;
  gap: 16px;
  width: 100%;
  align-self: stretch;
  min-width: 0;
}
.cs-faq-item {
  min-width: 0;
  padding: 24px 28px;
  border-radius: 14px;
  border: 1px solid rgba(35,31,32,.12);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.cs-faq-question {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: none;
  color: #231F20;
  opacity: 1;
  margin-bottom: 10px;
  line-height: 1.35;
}
.cs-faq-answer {
  font-size: 14px;
  line-height: 1.65;
  margin: 0;
  flex: 1;
}
.cs-faq-link {
  display: inline-block;
  margin-top: 16px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
}
a.cs-faq-item {
  transition: transform 0.18s ease, box-shadow 0.18s ease;
  cursor: pointer;
}
a.cs-faq-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(35,31,32,.12);
}

/* ── Luft mellem Conscensia-elementer i samme WPBakery kolonne ── */
.wpb_wrapper > .cs-faq-grid + *,
.wpb_wrapper > .cs-aeo-box + *,
.wpb_wrapper > .cs-section-heading + .cs-faq-grid,
.wpb_wrapper > .cs-section-heading + .cs-aeo-box {
  margin-top: 32px;
}

/* Standard vertikal luft mellem alle Conscensia-elementer i wrapper */
.wpb_wrapper > [class^="cs-"] + [class^="cs-"] {
  margin-top: 28px;
}

/* ═══════════════════════════════════════════════
   NYHEDER GRID  (cs_news_grid)
   4-kolonne grid med billede, kategori, titel, dato
   ═══════════════════════════════════════════════ */

/* ── NYHEDER GRID ── */

/* Featured første artikel — fuld bredde */
.cs-news-featured {
  width: 100%;
  margin-bottom: 24px;
}
.cs-news-featured .cs-news-card--featured {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 0;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  text-decoration: none;
  color: inherit;
  transition: box-shadow 0.2s ease;
  height: 360px;
}
.cs-news-featured .cs-news-card--featured:hover {
  box-shadow: 0 8px 40px rgba(35,31,32,.14);
}
.cs-news-featured .cs-news-thumb {
  aspect-ratio: unset;
  height: 100%;
}
.cs-news-featured .cs-news-body {
  padding: 36px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
}
.cs-news-featured .cs-news-title {
  font-size: 22px;
  line-height: 1.3;
}
.cs-news-featured .cs-news-date {
  font-size: 13px;
}

/* Grid for resten */
.cs-news-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  width: 100%;
  align-items: stretch;
}

/* Kort — fælles */
.cs-news-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.cs-news-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(35,31,32,.12);
}

/* Fix 4: thumbnail — overflow:hidden clipper billedet, border-radius kun toppen */
.cs-news-thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 3/2;  
  overflow: hidden;
  background: #E5D2BA;
  flex-shrink: 0;
   border-radius: 16px 16px 0 0;  
}

/* Parallax-sektioner: .cs-news-thumb må ikke arve z-index fra parallax */
.cs-row-parallax .cs-news-thumb {
  z-index: auto;
}

.cs-news-img {
  position: absolute;   
  inset: 0;             
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 0 !important;
  transition: transform 0.3s ease;
}
.cs-news-thumb picture {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.cs-news-thumb picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 0 !important;
}
.cs-news-card:hover .cs-news-img {
  transform: scale(1.04);
}
.cs-news-img-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #E5D2BA 0%, #F1DFCB 100%);
}

/* Fix 5: kategori-label på billedet */
.cs-news-cat--overlay {
  position: absolute;
  bottom: 12px;
  left: 12px;
  top: auto;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #fff;
  background: #3D6EE9;
  padding: 4px 10px;
  border-radius: 999px;
  line-height: 1.5;
  z-index: 2;
}

/* Kategori under billedet (alternativ) */
.cs-news-cat--below {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #3D6EE9;
}

.cs-news-body {
  padding: 18px 20px 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

.cs-news-title {
  font-family: 'Poppins', sans-serif !important;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  margin: 0;
  color: #231F20;
  flex: 1;
}

.cs-news-date {
  font-size: 12px;
  color: rgba(35,31,32,.45);
  margin-top: 4px;
}

/* Responsive */
@media (max-width: 1024px) {
  .cs-news-grid { grid-template-columns: repeat(2, 1fr); }
  .cs-news-featured .cs-news-card--featured {
    grid-template-columns: 1fr;
    height: auto;
  }
  .cs-news-featured .cs-news-thumb { height: 280px; aspect-ratio: unset; }
}
@media (max-width: 600px) {
  .cs-news-grid { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════════════════════════
   BRANCHER SLIDER — Grobowski swiper tilrettet til Conscensia layout
   ══════════════════════════════════════════════════════════════════ */

/* Fix swiper kollaps inden for vores layout */
.brancher-slider .swiper {
  width: 100%;
  overflow: hidden;
}
.brancher-slider .swiper-wrapper {
  display: flex;
}
.brancher-slider .swiper-slide {
  width: 320px !important;
  min-width: 280px;
  flex-shrink: 0;
  border-radius: 14px;
  background: #fff;
  height: auto;
}

/* Billede */
.brancher-slider .swiper-slide-image {
  overflow: hidden;
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
}
.brancher-slider img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.5s;
}
.brancher-slider .swiper-slide:hover img {
  transform: scale(1.05);
}

/* Indhold */
.brancher-slider .swiper-content {
  padding: 28px 24px 32px;
}
.brancher-slider h3 {
  font-family: 'Poppins', sans-serif;
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 500;
  line-height: 1.25;
  color: #231F20;
  margin: 0;
  letter-spacing: -0.01em;
  text-wrap: balance;
}
.brancher-slider a {
  text-decoration: none;
  display: block;
  height: 100%;
}

/* ── Skjul elementer på mobil ── */
@media (max-width: 600px) {
  .cs-hide-mobile {
    display: none;
  }
}

/* ══════════════════════════════════════════════════════════════════
   BURGER MENU — Grobowski slide-menu tilpasset Conscensia design
   ══════════════════════════════════════════════════════════════════ */

/* Sekundære menupunkter — lidt mindre men stadig læsbare */
.gbs-slidemenu .navbar-nav .nav-item:nth-child(n+8) > a {
  font-size: 15px !important;
  color: rgba(35,31,32,.55) !important;
}

/* Afstand før sekundære punkter */
.gbs-slidemenu .navbar-nav .nav-item:nth-child(8) {
  margin-top: 20px !important;
}

/* ═══════════════════════════════════════════════
   CS FEATURE CARDS — nyt grid-element
   Erstatter cs-four-cards / cs-pcard systemet
   ═══════════════════════════════════════════════ */

.cs-fcards {
  display: grid;
  gap: 20px;
  width: 100%;
}

/* Kolonner — desktop */
.cs-fcards-col-4 { grid-template-columns: repeat(4, 1fr); }
.cs-fcards-col-3 { grid-template-columns: repeat(3, 1fr); }
.cs-fcards-col-2 { grid-template-columns: repeat(2, 1fr); }

/* Tablet portrait: altid 2 kolonner */
@media (max-width: 991px) {
  .cs-fcards-col-4,
  .cs-fcards-col-3 { grid-template-columns: repeat(2, 1fr); }
}

/* Mobil: 1 kolonne */
@media (max-width: 600px) {
  .cs-fcards-col-4,
  .cs-fcards-col-3,
  .cs-fcards-col-2 { grid-template-columns: 1fr; }
}

/* ── Selve kortet ── */
.cs-fcard {
  position: relative;
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  padding: 28px 24px 24px;
  background: #fff;
  box-sizing: border-box;
  transition: box-shadow .2s, transform .2s;
}
.cs-fcard:hover {
  box-shadow: 0 8px 32px rgba(35,31,32,.09);
  transform: translateY(-2px);
}

/* Nummer-badge */
.cs-fcard-num {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #3D6EE9;
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  flex-shrink: 0;
}

/* Ikon */
.cs-fcard-icon {
  margin-bottom: 20px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cs-fcard-icon img {
  width: 180px;
  height: 180px;
  object-fit: contain;
}

/* Ikon-størrelse: Mellem — 96px, venstrestillet */
.cs-fcards-icon-medium .cs-fcard-icon {
  justify-content: flex-start;
  margin-bottom: 20px;
}
.cs-fcards-icon-medium .cs-fcard-icon img,
.cs-fcards-icon-medium .cs-fcard-icon picture,
.cs-fcards-icon-medium .cs-fcard-icon picture img {
  width: 96px;
  height: 96px;
}

/* Ikon-størrelse: Lille — 56px, venstrestillet (som designet) */
.cs-fcards-icon-small .cs-fcard-icon {
  justify-content: flex-start;
  margin-bottom: 20px;
}
.cs-fcards-icon-small .cs-fcard-icon img,
.cs-fcards-icon-small .cs-fcard-icon picture,
.cs-fcards-icon-small .cs-fcard-icon picture img {
  width: 56px;
  height: 56px;
}

/* Titel */
.cs-fcard-title {
  font-family: 'Poppins', sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #231F20;
  margin: 0 0 10px;
  line-height: 1.3;
}

/* Tekst */
.cs-fcard-text {
  font-family: 'Poppins', sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: rgba(35,31,32,.65);
  line-height: 1.65;
  margin: 0 0 16px;
  flex: 1;
}

/* Link */
.cs-fcard-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 500;
  color: #231F20;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: rgba(35,31,32,.3);
  text-decoration-thickness: 1px;
  transition: color .2s, text-decoration-color .2s;
  margin-top: auto;
}
.cs-fcard-link:hover {
  color: #3D6EE9;
  text-decoration-color: #3D6EE9;
}
.cs-fcard-link svg { flex-shrink: 0; }

/* Resultat-linje */
.cs-fcard-result {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #3D6EE9;
  line-height: 1.5;
  margin: 0;
  padding-top: 14px;
  border-top: 1px solid rgba(35,31,32,.1);
}
.cs-fcard-result-arrow {
  flex-shrink: 0;
  font-weight: 700;
}
.cs-fcard-result + .cs-fcard-link {
  margin-top: 14px;
}
.cs-fcards-beige .cs-fcard-result      { border-top-color: rgba(35,31,32,.14); }
.cs-fcards-beige-dark .cs-fcard-result { border-top-color: rgba(35,31,32,.14); }
.cs-fcards-dark .cs-fcard-result {
  color: #6890F2;
  border-top-color: rgba(241,223,203,.14);
}
.cs-fcards-blue .cs-fcard-result {
  color: #FFFFFF;
  border-top-color: rgba(255,255,255,.25);
}

/* ── Farvevarianter ── */

/* Hvid (standard) */
.cs-fcards-white {
  background: #ffffff;
}

/* Beige */
.cs-fcards-beige {
  background: #F1DFCB;
}
.cs-fcards-beige .cs-fcard-title { color: #231F20; }
.cs-fcards-beige .cs-fcard-text  { color: rgba(35,31,32,.7); }

/* Beige mørk */
.cs-fcards-beige-dark {
  background: #e8d0b5;
}

/* Mørk */
.cs-fcards-dark {
  background: #231F20;
}
.cs-fcards-dark .cs-fcard-title { color: #F1DFCB; }
.cs-fcards-dark .cs-fcard-text  { color: rgba(241,223,203,.65); }
.cs-fcards-dark .cs-fcard-num   { background: #3D6EE9; color: #fff; }
.cs-fcards-dark .cs-fcard-link  { color: #F1DFCB; text-decoration-color: rgba(241,223,203,.3); }
.cs-fcards-dark .cs-fcard-link:hover { color: #3D6EE9; text-decoration-color: #3D6EE9; }

/* Blå */
.cs-fcards-blue {
  background: #3D6EE9;
}
.cs-fcards-blue .cs-fcard-title { color: #fff; }
.cs-fcards-blue .cs-fcard-text  { color: rgba(255,255,255,.75); }
.cs-fcards-blue .cs-fcard-num   { background: #fff; color: #3D6EE9; }
.cs-fcards-blue .cs-fcard-link  { color: #fff; text-decoration-color: rgba(255,255,255,.4); }
.cs-fcards-blue .cs-fcard-link:hover { text-decoration-color: #fff; }


/* ═══════════════════════════════════════════════
   CS MEDIA SLIDER
   ═══════════════════════════════════════════════ */

.csms-wrap {
  position: relative;
  width: 100%;
  max-width: 100%;
  border-radius: 20px;
  overflow: hidden;
  background: #000;
  user-select: none;
}

/* Track */
.csms-track {
  position: relative;
  width: 100%;
}

/* Slide */
.csms-slide {
  display: none;
  width: 100%;
  position: relative;
}
.csms-slide.csms-active {
  display: block;
}
.csms-slide.csms-anim-in {
  animation: csmsIn .4s ease forwards;
}
.csms-slide.csms-anim-out {
  animation: csmsOut .4s ease forwards;
}
@keyframes csmsIn {
  from { opacity: 0; transform: translateX(32px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes csmsOut {
  from { opacity: 1; transform: translateX(0); }
  to   { opacity: 0; transform: translateX(-32px); }
}

/* Ratio box */
.csms-ratio {
  position: relative;
  width: 100%;
  height: 0;
  overflow: hidden;
}
.csms-ratio img,
.csms-ratio iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: none;
}

/* Caption */
.csms-caption {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 12px 20px;
  background: linear-gradient(transparent, rgba(35,31,20,.55));
  color: #fff;
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 400;
  margin: 0;
  text-align: center;
}

/* Pile */
.csms-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255,255,255,.9);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #231F20;
  z-index: 10;
  transition: background .2s, transform .2s;
  box-shadow: 0 2px 12px rgba(35,31,20,.15);
}
.csms-arrow:hover {
  background: #fff;
  transform: translateY(-50%) scale(1.08);
}
.csms-prev { left: 16px; }
.csms-next { right: 16px; }

/* Dots */
.csms-dots {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  align-items: center;
  z-index: 10;
}
.csms-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,.5);
  cursor: pointer;
  padding: 0;
  transition: background .2s, transform .2s;
  flex-shrink: 0;
}
.csms-dot.csms-active {
  background: #fff;
  transform: scale(1.35);
}
.csms-dot:hover {
  background: rgba(255,255,255,.85);
}

/* Pause ved hover */
.csms-wrap:hover .csms-arrow { opacity: 1; }


/* Play-knap overlay på video-slides (mobil) */
.csms-play-overlay {
  display: none; /* Skjult på desktop */
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 64px; height: 64px;
  border-radius: 50%;
  background: rgba(255,255,255,.92);
  border: none;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  color: #231F20;
  z-index: 20;
  box-shadow: 0 4px 20px rgba(35,31,20,.25);
  transition: background .2s, transform .2s;
}
.csms-play-overlay:hover {
  background: #fff;
  transform: translate(-50%, -50%) scale(1.08);
}
/* Vis kun på touch-enheder */
@media (hover: none) and (pointer: coarse) {
  .csms-play-overlay {
    display: flex;
  }
  /* Skjul når video er startet */
  .csms-video-playing .csms-play-overlay {
    display: none;
  }
}

/* Desktop/mobil synlighed for video vs. fallback-billede */
.csms-mobile-only { display: none; }
.csms-desktop-only { display: block; }

@media (max-width: 767px) {
  .csms-mobile-only  { display: block; }
  .csms-desktop-only { display: none; }
  .csms-hide-mobile  { display: none !important; }
  /* Skjul dots for video-slides uden fallback på mobil */
  .csms-dot.csms-hide-mobile { display: none !important; }
}

/* Pil synlighed — desktop/mobil kontrol */
.csms-arrow-desktop-only { display: flex; }
.csms-arrow-mobile-only  { display: none; }

@media (max-width: 767px) {
  .csms-arrow-desktop-only { display: none; }
  .csms-arrow-mobile-only  { display: flex; }
}


/* ═══════════════════════════════════════════════
   CS ROW PARALLAX — baggrundsbillede på vc_row
   ═══════════════════════════════════════════════ */

.vc_row.cs-row-parallax {
  position: relative;
  overflow: hidden;
}

/* Baggrundsbillede-lag */
.cs-row-parallax-bg {
  position: absolute;
  top: -30%;
  left: 0;
  right: 0;
  bottom: -30%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  will-change: transform;
  z-index: 0;
}

/* Overlay */
.cs-row-parallax-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
}

/* Indhold skal ligge over baggrund og overlay */
.vc_row.cs-row-parallax > .vc_column_container,
.vc_row.cs-row-parallax > .wpb_column,
.vc_row.cs-row-parallax .vc_column_container,
.vc_row.cs-row-parallax .wpb_column,
.vc_row.cs-row-parallax .vc_col-sm-1,
.vc_row.cs-row-parallax .vc_col-sm-2,
.vc_row.cs-row-parallax .vc_col-sm-3,
.vc_row.cs-row-parallax .vc_col-sm-4,
.vc_row.cs-row-parallax .vc_col-sm-5,
.vc_row.cs-row-parallax .vc_col-sm-6,
.vc_row.cs-row-parallax .vc_col-sm-7,
.vc_row.cs-row-parallax .vc_col-sm-8,
.vc_row.cs-row-parallax .vc_col-sm-9,
.vc_row.cs-row-parallax .vc_col-sm-10,
.vc_row.cs-row-parallax .vc_col-sm-11,
.vc_row.cs-row-parallax .vc_col-sm-12 {
  position: relative;
  z-index: 2;
}

/* Rammen fjernes her — LAYOUT CONSTRAINT saetter den allerede paa
   .vc_column-inner, og den gaelder ogsaa parallax-raekker.

   Disse to regler er skrevet foer LAYOUT CONSTRAINT fandtes og havde
   1440/48 hardcodet. Saa laenge tallet var 1440 bed de aldrig: der
   var altid mere plads end de kraevede, og kun paddingen virkede.
   Da artikel- og casesider satte bredden til 1100, ramte alle tre
   rammer samtidig — .vc_row-fluid, .wpb_wrapper og .vc_column-inner
   — og padding blev lagt oven i hinanden. Teksten i parallax-
   sektioner rykkede derfor cirka 125px laengere ind end resten.

   Loesningen er ikke at faa tre rammer til at vaere enige, men at
   have én. position/z-index beholdes: de holder indholdet over
   baggrundsbilledet. */
.vc_row.cs-row-parallax .vc_row-fluid {
  position: relative;
  z-index: 2;
}


}

@media (max-width: 640px) {
  .vc_row.cs-row-parallax .vc_row-fluid,
  .vc_row.cs-row-parallax .wpb_wrapper {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* Ingen parallax-bevægelse på mobil */
@media (max-width: 767px) {
  .cs-row-parallax-bg {
    top: 0;
    bottom: 0;
  }
}

/* ═══════════════════════════════════════════════
   CS GLASS — gennemsigtige bokse til parallax
   Brug via Extra class name på vc_column eller
   wpb_text_column elementet
   ═══════════════════════════════════════════════ */

.cs-glass-dark,
.cs-glass-beige,
.cs-glass-blue {
  border-radius: 16px;
  padding: 32px 36px;
  box-sizing: border-box;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.cs-glass-dark {
  background: rgba(35,31,32,0.82);
  color: #F1DFCB;
}
.cs-glass-dark h1, .cs-glass-dark h2,
.cs-glass-dark h3, .cs-glass-dark h4,
.cs-glass-dark p, .cs-glass-dark li {
  color: #F1DFCB;
}

.cs-glass-beige {
  background: rgba(241,223,203,0.88);
  color: #231F20;
}
.cs-glass-beige h1, .cs-glass-beige h2,
.cs-glass-beige h3, .cs-glass-beige h4,
.cs-glass-beige p, .cs-glass-beige li {
  color: #231F20;
}

.cs-glass-blue {
  background: rgba(61,110,233,0.85);
  color: #fff;
}
.cs-glass-blue h1, .cs-glass-blue h2,
.cs-glass-blue h3, .cs-glass-blue h4,
.cs-glass-blue p, .cs-glass-blue li {
  color: #fff;
}

/* Ekstra luft på alle elementer inden for parallax-sektion */
.vc_row.cs-row-parallax .wpb_content_element {
  margin-bottom: 20px;
}
.vc_row.cs-row-parallax .wpb_column {
  padding-top: 12px;
  padding-bottom: 12px;
}

/* ═════════════════════════════════════════════
   CASES OVERSIGT — cs_cases_overview
   ═════════════════════════════════════════════ */
.cs-cov-grid { display: grid; gap: 24px; }
.cs-cov-cols-2 { grid-template-columns: repeat(2, 1fr); }
.cs-cov-cols-3 { grid-template-columns: repeat(3, 1fr); }
.cs-cov-cols-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1024px) { .cs-cov-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .cs-cov-grid { grid-template-columns: 1fr; } }

.cs-cov-card {
  display: flex; flex-direction: column;
  background: #FFFFFF; border-radius: 16px; overflow: hidden;
  text-decoration: none !important;
  box-shadow: 0 4px 20px rgba(35,31,32,.06);
  transition: transform .3s, box-shadow .3s;
}
.cs-cov-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(35,31,32,.10); }

/* Højere billede (4:3) og ingen afrunding i bunden —
   kortets egen border-radius klipper de øverste hjørner. */
.cs-cov-thumb {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 0;
}
.cs-cov-thumb img, .cs-cov-thumb picture, .cs-cov-thumb picture img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  border-radius: 0 !important;
}
.cs-cov-thumb-fallback { width: 100%; height: 100%; background: #E5D2BA; }
.cs-cov-years {
  position: absolute; top: 14px; right: 14px;
  background: rgba(35,31,32,.85); color: #F1DFCB;
  font-family: 'Poppins', sans-serif; font-size: 12px; font-weight: 700;
  padding: 6px 14px; border-radius: 100px; backdrop-filter: blur(4px);
}

.cs-cov-body { display: flex; flex-direction: column; gap: 10px; padding: 24px 26px 26px; flex: 1; }
.cs-cov-tag {
  font-family: 'Poppins', sans-serif; font-size: 11px; font-weight: 700;
  letter-spacing: 1.5px; text-transform: uppercase; color: #3D6EE9;
}
.cs-cov-company {
  font-family: 'Poppins', sans-serif; font-size: 22px; font-weight: 700;
  color: #231F20; line-height: 1.25;
}
.cs-cov-desc {
  font-family: 'Poppins', sans-serif; font-size: 14px; color: #5A5256;
  line-height: 1.65; margin: 0;
}
.cs-cov-hubs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.cs-cov-hub {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(61,110,233,.08); color: #3D6EE9;
  font-family: 'Poppins', sans-serif; font-size: 12px; font-weight: 500;
  padding: 5px 12px; border-radius: 100px;
}
.cs-cov-flag { font-size: 13px; line-height: 1; }
.cs-cov-cta {
  margin-top: auto; padding-top: 14px;
  font-family: 'Poppins', sans-serif; font-size: 14px; font-weight: 500;
  color: #3D6EE9;
}
.cs-cov-cta::after { content: ' →'; }
.cs-cov-empty {
  color: rgba(35,31,32,.5); font-size: 14px; padding: 40px 0; text-align: center;
}


/* ═════════════════════════════════════════════
   NYHEDER OVERSIGT — cs_news_overview
   ═════════════════════════════════════════════ */
/* ── Kategorifiltre ── */
.cs-nov-filter { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 40px; }
.cs-nov-filter-btn {
  display: inline-flex; align-items: center;
  font-family: 'Poppins', sans-serif; font-size: 14px; font-weight: 500;
  padding: 9px 20px; border-radius: 100px;
  border: 1.5px solid rgba(35,31,32,.15);
  color: #231F20; text-decoration: none !important;
  transition: background .2s, border-color .2s, color .2s;
}
.cs-nov-filter-btn:hover { border-color: #3D6EE9; color: #3D6EE9; }
.cs-nov-filter-btn.cs-nov-active {
  background: #231F20; border-color: #231F20; color: #F1DFCB;
}

/* ── Fælles ── */
.cs-nov-tag {
  display: inline-flex; align-self: flex-start;
  font-family: 'Poppins', sans-serif; font-size: 11px; font-weight: 700;
  letter-spacing: 1.2px; text-transform: uppercase;
  background: rgba(61,110,233,.1); color: #3D6EE9;
  padding: 5px 12px; border-radius: 100px;
}
.cs-nov-date {
  font-family: 'Poppins', sans-serif; font-size: 13px; color: #5A5256;
}
.cs-nov-cta {
  margin-top: auto; padding-top: 14px;
  font-family: 'Poppins', sans-serif; font-size: 14px; font-weight: 500; color: #3D6EE9;
}
.cs-nov-cta::after { content: ' →'; }
.cs-nov-img-fallback { width: 100%; height: 100%; background: #E5D2BA; }
.cs-nov-empty { color: rgba(35,31,32,.5); font-size: 14px; padding: 40px 0; text-align: center; }

/* ── Fremhævet indlæg ── */
.cs-nov-featured {
  display: grid; grid-template-columns: 1.1fr 1fr; gap: 0;
  background: #FFFFFF; border-radius: 20px; overflow: hidden;
  text-decoration: none !important; margin-bottom: 48px;
  box-shadow: 0 4px 20px rgba(35,31,32,.06);
  transition: transform .3s, box-shadow .3s;
}
.cs-nov-featured:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(35,31,32,.10); }
/* Kortets hoejde blev dikteret af billedets egne proportioner:
   img'en har height:100% i en container uden fast hoejde, og saa
   falder procenten tilbage til auto — billedet tegner sig i sit
   fulde format og traekker rækken med. Et naesten kvadratisk
   portraet gav derfor et 740px hoejt kort.

   Billedet tages ud af flowet, og en clamp bestemmer hoejden.
   Er broedteksten hoejere end billedet, vokser kortet stadig —
   den vej rundt er hoejden oensket. */
.cs-nov-feat-img { position: relative; min-height: clamp(260px, 24vw, 380px); overflow: hidden; }
.cs-nov-feat-img img, .cs-nov-feat-img picture, .cs-nov-feat-img picture img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0 !important;
}
.cs-nov-feat-body {
  display: flex; flex-direction: column; gap: 12px;
  padding: 40px 44px;
}
.cs-nov-feat-title {
  font-family: 'Poppins', sans-serif; font-size: clamp(24px, 2.4vw, 32px);
  font-weight: 700; color: #231F20; line-height: 1.25; margin: 0;
}
.cs-nov-feat-excerpt {
  font-family: 'Poppins', sans-serif; font-size: 15px; color: #5A5256;
  line-height: 1.7; margin: 0;
}
@media (max-width: 900px) {
  .cs-nov-featured { grid-template-columns: 1fr; }
  .cs-nov-feat-img { min-height: 220px; aspect-ratio: 16 / 9; }
  .cs-nov-feat-body { padding: 28px 26px 32px; }
}

/* ── Grid ── */
.cs-nov-grid { display: grid; gap: 24px; }
.cs-nov-cols-2 { grid-template-columns: repeat(2, 1fr); }
.cs-nov-cols-3 { grid-template-columns: repeat(3, 1fr); }
.cs-nov-cols-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1024px) { .cs-nov-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .cs-nov-grid { grid-template-columns: 1fr; } }
.cs-nov-card {
  display: flex; flex-direction: column;
  background: #FFFFFF; border-radius: 16px; overflow: hidden;
  text-decoration: none !important;
  box-shadow: 0 4px 20px rgba(35,31,32,.06);
  transition: transform .3s, box-shadow .3s;
}
.cs-nov-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(35,31,32,.10); }
.cs-nov-thumb { position: relative; aspect-ratio: 4 / 3; overflow: hidden; }
.cs-nov-thumb img, .cs-nov-thumb picture, .cs-nov-thumb picture img {
  width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0 !important;
}
.cs-nov-tag-float { position: absolute; top: 14px; left: 14px; background: rgba(255,255,255,.92); }
.cs-nov-body { display: flex; flex-direction: column; gap: 8px; padding: 22px 24px 24px; flex: 1; }
.cs-nov-title {
  font-family: 'Poppins', sans-serif; font-size: 18px; font-weight: 700;
  color: #231F20; line-height: 1.35; margin: 0;
}

/* ── Vis flere ── */
.cs-nov-more { margin-top: 48px; display: flex; justify-content: center; }

/* ═════════════════════════════════════════════
   MEDARBEJDER-GRID — cs_team_grid
   ═════════════════════════════════════════════ */
.cs-team-grid { display: grid; gap: 28px; }
.cs-team-cols-2 { grid-template-columns: repeat(2, 1fr); }
.cs-team-cols-3 { grid-template-columns: repeat(3, 1fr); }
.cs-team-cols-4 { grid-template-columns: repeat(4, 1fr); }
.cs-team-cols-5 { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 1024px) { .cs-team-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .cs-team-grid { grid-template-columns: 1fr; } }

.cs-team-card { display: flex; flex-direction: column; }
.cs-team-photo {
  position: relative; aspect-ratio: 1 / 1; overflow: hidden;
  border-radius: 16px; background: #E5D2BA;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 18px;
}
.cs-team-photo img, .cs-team-photo picture, .cs-team-photo picture img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  border-radius: 0 !important;
}
.cs-team-initials {
  font-family: 'Poppins', sans-serif; font-size: 34px; font-weight: 700;
  color: #3D6EE9; letter-spacing: 1px;
}
.cs-team-body { display: flex; flex-direction: column; gap: 6px; }
.cs-team-role {
  font-family: 'Poppins', sans-serif; font-size: 11px; font-weight: 700;
  letter-spacing: 1.5px; text-transform: uppercase; color: #3D6EE9;
}
.cs-team-name {
  font-family: 'Poppins', sans-serif; font-size: 20px; font-weight: 700;
  color: #231F20; line-height: 1.25;
}
.cs-team-bio {
  font-family: 'Poppins', sans-serif; font-size: 14px; color: #5A5256;
  line-height: 1.65; margin: 4px 0 0;
}
.cs-team-links { display: flex; gap: 16px; margin-top: 10px; }
.cs-team-link {
  font-family: 'Poppins', sans-serif; font-size: 13px; font-weight: 500;
  color: #3D6EE9; text-decoration: none !important;
}
.cs-team-link:hover { text-decoration: underline !important; }
.cs-team-empty { color: rgba(35,31,32,.5); font-size: 14px; padding: 40px 0; text-align: center; }

/* Mørk baggrund */
.cs-bg-dark .cs-team-name { color: #F1DFCB; }
.cs-bg-dark .cs-team-bio  { color: rgba(241,223,203,.7); }
.cs-bg-dark .cs-team-role { color: #6890F2; }

/* ── Lokationskort: ens højde uanset indholdsmængde ── */
.cs-location-grid { align-items: stretch; }
.cs-location-card { display: flex; flex-direction: column; height: 100%; }

/* ── Medarbejderkort uden hvid boks (renere på farvet baggrund) ── */
.cs-team-plain .cs-team-body { background: transparent; padding: 0; }

/* ═════════════════════════════════════════════
   KOLONNEAFSTAND — cs-gap-*
   ─────────────────────────────────────────────
   Sættes som Extra class name på RÆKKEN. Giver luft mellem
   venstre og højre kolonne uden at røre sidens ydre margener.
   WPBakerys egen Column gap virker ikke, når kolonnerne er
   gjort til flex-items af cs-col-middle.
   Slår fra på mobil, hvor kolonnerne stables.
   ═════════════════════════════════════════════ */
@media (min-width: 992px) {
  .vc_row.cs-gap-40 > .wpb_column > .vc_column-inner { padding-left: 20px; padding-right: 20px; }
  .vc_row.cs-gap-64 > .wpb_column > .vc_column-inner { padding-left: 32px; padding-right: 32px; }
  .vc_row.cs-gap-80 > .wpb_column > .vc_column-inner { padding-left: 40px; padding-right: 40px; }

  /* Første og sidste kolonne skal ikke rykke ind mod sidens kant */
  .vc_row.cs-gap-40 > .wpb_column:first-child > .vc_column-inner,
  .vc_row.cs-gap-64 > .wpb_column:first-child > .vc_column-inner,
  .vc_row.cs-gap-80 > .wpb_column:first-child > .vc_column-inner { padding-left: 0; }

  .vc_row.cs-gap-40 > .wpb_column:last-child > .vc_column-inner,
  .vc_row.cs-gap-64 > .wpb_column:last-child > .vc_column-inner,
  .vc_row.cs-gap-80 > .wpb_column:last-child > .vc_column-inner { padding-right: 0; }
}

/* ── Works best-tabellen: centrer gridet og fodnoten under en
   centreret sektionsoverskrift, i stedet for at lade dem stå
   venstrestillet i fuld bredde. ── */
.cs-when-grid {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.cs-when-footnote {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* ═════════════════════════════════════════════
   SAMMENLIGN LEVERINGSMODELLER — cs_model_compare
   ═════════════════════════════════════════════ */
.cs-mc { font-family: 'Poppins', sans-serif; }

/* Faneblade */
.cs-mc-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 40px; justify-content: center; }
.cs-mc-tab {
  font-family: 'Poppins', sans-serif; font-size: 14px; font-weight: 500;
  padding: 10px 22px; border-radius: 100px; cursor: pointer;
  border: 1.5px solid rgba(35,31,32,.15); background: transparent; color: #231F20;
  transition: background .2s, border-color .2s, color .2s;
}
.cs-mc-tab:hover { border-color: #3D6EE9; color: #3D6EE9; }
.cs-mc-tab.is-active { background: #231F20; border-color: #231F20; color: #F1DFCB; }

.cs-mc-panel { display: none; }
.cs-mc-panel.is-visible { display: block; }

/* Radar */
.cs-mc-radar-wrap { display: grid; grid-template-columns: 1.2fr .8fr; gap: 48px; align-items: center; }
.cs-mc-canvas-box { width: 100%; max-width: 520px; margin: 0 auto; }
.cs-mc-canvas { width: 100%; height: auto; display: block; }
.cs-mc-legend { display: flex; flex-direction: column; gap: 12px; margin-bottom: 32px; }
.cs-mc-legend-item {
  display: flex; align-items: center; gap: 10px; cursor: pointer;
  background: none; border: 0; padding: 6px 0; text-align: left;
  opacity: .35; transition: opacity .2s;
}
.cs-mc-legend-item.is-on { opacity: 1; }
.cs-mc-dot { width: 12px; height: 12px; border-radius: 50%; flex-shrink: 0; }
.cs-mc-legend-label { font-size: 14px; font-weight: 500; color: #231F20; }
.cs-mc-axes-title {
  font-size: 11px; font-weight: 700; letter-spacing: 1.5px;
  text-transform: uppercase; color: #3D6EE9; margin-bottom: 10px;
}
.cs-mc-axes-text { font-size: 14px; color: #5A5256; line-height: 1.65; margin: 0; }

/* Prioriteter */
.cs-mc-intro { font-size: 15px; color: #5A5256; line-height: 1.7; margin: 0 0 32px; max-width: 720px; }
.cs-mc-priority-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.cs-mc-slider-row { margin-bottom: 22px; }
.cs-mc-slider-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 2px; }
.cs-mc-slider-name { font-size: 14px; font-weight: 500; color: #231F20; }
.cs-mc-slider-val { font-size: 14px; color: #3D6EE9; font-weight: 700; }
.cs-mc-slider-desc { font-size: 12px; color: #5A5256; margin: 0 0 8px; }
.cs-mc-slider-row input[type=range] {
  width: 100%; height: 4px; border-radius: 4px; -webkit-appearance: none; appearance: none;
  background: rgba(35,31,32,.12); outline: none;
}
.cs-mc-slider-row input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none;
  width: 18px; height: 18px; border-radius: 50%; background: #3D6EE9;
  cursor: pointer; border: 3px solid #FFFFFF; box-shadow: 0 1px 4px rgba(35,31,32,.25);
}
.cs-mc-slider-row input[type=range]::-moz-range-thumb {
  width: 18px; height: 18px; border-radius: 50%; background: #3D6EE9;
  cursor: pointer; border: 3px solid #FFFFFF;
}
.cs-mc-result { background: #FFFFFF; border-radius: 16px; padding: 32px 30px; }
.cs-mc-result-title {
  font-size: 11px; font-weight: 700; letter-spacing: 1.5px;
  text-transform: uppercase; color: #3D6EE9; margin-bottom: 22px;
}
.cs-mc-bar-row { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.cs-mc-bar-name { font-size: 13px; font-weight: 500; color: #231F20; flex: 0 0 46%; }
.cs-mc-badge {
  display: inline-block; margin-left: 8px; padding: 2px 10px; border-radius: 100px;
  font-size: 10px; font-weight: 700; background: #3D6EE9; color: #FFFFFF;
  letter-spacing: .5px;
}
.cs-mc-bar-track { flex: 1; height: 8px; border-radius: 8px; background: rgba(35,31,32,.08); overflow: hidden; }
.cs-mc-bar-fill { display: block; height: 100%; border-radius: 8px; transition: width .3s ease; }
.cs-mc-bar-score { font-size: 13px; font-weight: 700; color: #231F20; min-width: 32px; text-align: right; }
.cs-mc-verdict {
  font-size: 14px; color: #5A5256; line-height: 1.7; margin: 24px 0 0;
  padding-top: 20px; border-top: 1px solid rgba(35,31,32,.1);
}

/* Tabel */
.cs-mc-table-scroll { overflow-x: auto; }
.cs-mc-table { width: 100%; border-collapse: collapse; min-width: 720px; }
.cs-mc-table thead th {
  font-size: 13px; font-weight: 700; color: #231F20; text-align: center;
  padding: 16px 14px; border-bottom: 2px solid rgba(35,31,32,.12);
}
.cs-mc-table thead th:first-child { width: 26%; }
.cs-mc-table tbody th {
  font-size: 12px; font-weight: 700; color: #5A5256; text-align: left;
  text-transform: uppercase; letter-spacing: .8px; padding: 14px;
  border-bottom: 1px solid rgba(35,31,32,.08);
}
.cs-mc-table tbody td {
  font-size: 14px; color: #231F20; text-align: center; padding: 14px;
  border-bottom: 1px solid rgba(35,31,32,.08);
}
.cs-mc-table .cs-mc-highlight { background: rgba(61,110,233,.05); font-weight: 500; }
.cs-mc-note { font-size: 13px; color: #5A5256; margin-top: 20px; font-style: italic; }

/* Mørk baggrund */
.cs-bg-dark .cs-mc-tab { border-color: rgba(241,223,203,.25); color: #F1DFCB; }
.cs-bg-dark .cs-mc-tab.is-active { background: #F1DFCB; border-color: #F1DFCB; color: #231F20; }
.cs-bg-dark .cs-mc-legend-label,
.cs-bg-dark .cs-mc-table tbody td { color: #F1DFCB; }
.cs-bg-dark .cs-mc-axes-text,
.cs-bg-dark .cs-mc-intro { color: rgba(241,223,203,.7); }

/* Responsivt */
@media (max-width: 900px) {
  .cs-mc-radar-wrap, .cs-mc-priority-grid { grid-template-columns: 1fr; gap: 32px; }
  .cs-mc-bar-name { flex: 0 0 40%; font-size: 12px; }
  .cs-mc-result { padding: 24px 20px; }
}

/* ── Page Hero på mørk baggrund ──
   cs-ph-dark satte kun knapfarver. Brødteksten arvede den mørke
   farve fra standardvarianten og blev derfor usånlig på sort,
   og labelen stod for svagt.

   RETTELSE: selve H1-titlen (.cs-ph-title) manglede i denne
   rettelse fra start. Ren tekst i overskriften forblev mørk og
   næsten usynlig på et mørkt foto — kun den del af titlen, der
   ligger inde i {blue}...{/blue}, har sin egen farve og så rigtig
   ud. Fårst opdaget på "Sådan arbejder vi". ── */
.cs-ph-dark .cs-ph-title {
  color: #F1DFCB !important;
}
.cs-ph-dark .cs-ph-text {
  color: #F1DFCB;
}
.cs-ph-dark .cs-ph-text2 {
  color: rgba(241,223,203,.7);
}
.cs-ph-dark .cs-ph-label,
.cs-ph-dark .cs-ph-label .cs-section-label,
.cs-ph-dark .cs-section-label {
  color: rgba(241,223,203,.85);
}
/* Stregen foran labelen */
.cs-ph-dark .cs-section-label::before,
.cs-ph-dark .cs-ph-label::before {
  background: rgba(241,223,203,.6);
}

/* Hero-label bruger klassen .cs-slabel, ikke .cs-section-label. */
.cs-ph-dark .cs-slabel,
.cs-ph-dark .cs-ph-label {
  color: rgba(241,223,203,.85) !important;
}
.cs-ph-dark .cs-slabel::before,
.cs-ph-dark .cs-ph-label::before {
  background: rgba(241,223,203,.6) !important;
}


/* ═══════════════════════════════════════════════
   HELE KORTET KLIKBART — hub, branche og case
   ═══════════════════════════════════════════════
   Kortene har cursor:pointer på hele fladen, men selve
   linket er kun CTA-teksten nederst. Derfor kommer der en
   hånd frem, uden at et klik gør noget.

   Løsning: stretched link. CTA-linkets ::after strækkes ud
   over hele kortet, så hele fladen bliver ét klikmål.
   Ingen ændring i PHP.

   VIGTIGT: CTA-linket må IKKE selv have position:relative.
   Så bliver linket sin egen referenceramme, og ::after
   dækker kun tekstlinjen i stedet for hele kortet.
   ═════════════════════════════════════════════ */
.cs-hub-card,
.cs-industry-card,
.cs-case-card {
  position: relative;
  cursor: default;
}
/* Kun kort MED et CTA-link får hånd. Kort uden link lovede
   før et klik, der ikke fandtes. */
.cs-hub-card:has(.cs-hub-card-cta),
.cs-industry-card:has(.cs-industry-card-cta),
.cs-case-card:has(.cs-case-card-cta) {
  cursor: pointer;
}
/* Klikfladen. z-index holder den over billedet. */
.cs-hub-card-cta::after,
.cs-industry-card-cta::after,
.cs-case-card-cta::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
}
/* Hub-kortets børn må ikke være positionerede, ellers klippes
   klikfladen af, og billedet flyder ud over kortets kant.
   Branche- og casekort er IKKE med her: de har bevidst
   absolut placerede badges og overlays på billedet. */
.cs-hub-card > *,
.cs-hub-card-body > * {
  position: static;
}
/* Tastaturfokus skal kunne ses */
.cs-hub-card:focus-within,
.cs-industry-card:focus-within,
.cs-case-card:focus-within {
  outline: 2px solid #3D6EE9;
  outline-offset: 3px;
}


/* ═══════════════════════════════════════════════
   HUB-KORTETS BILLEDE — runde hjørner kun i toppen
   ═══════════════════════════════════════════════
   Temaet lægger en global border-radius på alle billeder.
   Kortet klipper selv toppen med overflow:hidden, men
   billedets egen radius gav også runde hjørner i bunden,
   midt inde i kortet.

   Samme løsning som cases-billederne længere oppe i filen:
   billedet undtages fra den globale radius. !important er
   nødvendigt, fordi temaets regel er tvunget igennem.

   Branchekortet har allerede sin egen løsning:
   .cs-industry-card-media sætter 16px 16px 0 0 på wrapperen.
   ═════════════════════════════════════════════ */
.cs-hub-card img,
.cs-hub-card .cs-hub-card-img-placeholder {
  border-radius: 16px 16px 0 0 !important;
}


/* ═══════════════════════════════════════════════
   ENS HØJDE PÅ KORT I FLERKOLONNE-RÆKKER
   ═══════════════════════════════════════════════
   Equal height på rækken strækker KOLONNERNE, men kortet
   inde i kolonnen beholder sin egen højde. Derfor står to
   kort ved siden af hinanden i forskellig højde, når det
   ene har mere tekst end det andet.

   Her strækkes kortet ud i hele kolonnens højde. Kortene er
   allerede flex-column, og deres tekstfelt har flex:1, så
   CTA-linjen holdes automatisk i bunden. Så flugter både
   kortkant og CTA på tværs af rækken.

   :has() bruges for kun at ramme kolonner, der faktisk
   indeholder et af disse kort. Andre kolonner er urørte.
   ═════════════════════════════════════════════ */
.vc_column-inner:has(> .wpb_wrapper > .cs-industry-card),
.vc_column-inner:has(> .wpb_wrapper > .cs-hub-card),
.vc_column-inner:has(> .wpb_wrapper > .cs-case-card) {
  height: 100%;
}
.wpb_wrapper:has(> .cs-industry-card),
.wpb_wrapper:has(> .cs-hub-card),
.wpb_wrapper:has(> .cs-case-card) {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.wpb_wrapper > .cs-industry-card,
.wpb_wrapper > .cs-hub-card,
.wpb_wrapper > .cs-case-card {
  height: 100%;
  flex: 1;
}
/* Kortene er som standard maks 480px brede. I en halv kolonne
   på fuld sidebredde efterlader det et stort hul i midten.
   Her får de lov at fylde kolonnen ud. */
.vc_col-sm-6 .cs-industry-card,
.vc_col-sm-6 .cs-hub-card {
  max-width: 100%;
}


/* ═══════════════════════════════════════════════
   LOFT OVER BILLEDHØJDEN I KORTENE
   ═══════════════════════════════════════════════
   Billedfeltet har aspect-ratio 16/9. Da kortene fik lov
   at fylde en halv kolonne ud, voksede bredden — og med
   fast forhold voksede højden tilsvarende. Billederne fyldte
   pludselig over en tredjedel af kortet.

   max-height sætter et loft. Under loftet gælder 16/9 som
   før, så på mobil og i smalle kolonner ser kortene uændrede
   ud. Over loftet beskæres billedet i stedet for at vokse —
   object-fit: cover er allerede sat på begge korttyper, så
   motivet holdes centreret og bliver ikke forvrænget.

   Resultatet er, at alle kort har samme billedhøjde,
   uanset hvor bredt kortet er.
   ═════════════════════════════════════════════ */
.cs-industry-card-media,
.cs-hub-card-img,
.cs-hub-card-img-placeholder,
.cs-industry-card-img-placeholder {
  max-height: 280px;
}


/* ═══════════════════════════════════════════════
   CENTRERING AF SMALLE BLOKKE I FULD-BREDDE SEKTIONER
   ═══════════════════════════════════════════════
   Fem elementer sætter max-width på sig selv, men ingen
   vandret margin. I en fuld-bredde række med en centreret
   overskrift ovenover sidder blokken derfor flugtende til
   venstre i stedet for centreret under overskriften — synligt
   på cs_mistake_list og cs_myth_box på Stabilitet-pillaren, og
   allerede live på cs_internal_quote og cs_how_blocks i
   "Sådan fungerer det"-sektionen på Warszawa- og Lviv-hubsiderne.

   cs_arrow_list er tilføjet i anden omgang: den blev overset i
   første runde, fordi den dengang kun var set brugt i to-kolonne-
   sektioner, hvor fejlen ikke er synlig (se forklaring nedenfor).
   Den ramte i praksis "Kontinuitet over tid" på Stabilitet-pillaren,
   hvor den bruges i en fuld-bredde, centreret sektion.

   Ingen af de fem ændrer bredde her — kun hvordan de placerer
   sig, når deres max-width er smallere end kolonnen. I en
   halv-bred kolonne (to-kolonne-sektioner) er kolonnen typisk
   allerede smallere end max-width, så auto-margin regner ud til
   praktisk talt 0 og ændrer ingenting dér.
   ═════════════════════════════════════════════ */
/* ═══════════════════════════════════════════════
   RETTELSE AF EN FOR BRED RETTELSE
   ═══════════════════════════════════════════════
   De to blokke herunder gjorde disse syv elementer
   ALTID centreret, når deres max-width var smallere end
   kolonnen. Det var rigtigt i fuld-bredde, centrerede
   sektioner (fx "Værd at huske" på Stabilitet-pillaren) —
   men forkert i venstrestillede to-kolonne-sektioner, hvor
   det fik boksen til at rykke ind fra venstre, mens
   overskriften ovenover blev stående venstrestillet. Set
   første gang på "Sådan arbejder vi", kun på brede skærme,
   hvor kolonnen reelt er bredere end elementets max-width.

   Centrering er nu et tilvalg: sæt el_class="cs-center-content"
   på den vc_column, elementet ligger i, når det reelt skal
   centreres. Ingen kolonner får det automatisk længere.
   ═════════════════════════════════════════════ */
.cs-center-content .cs-mistake-list,
.cs-center-content .cs-myth-box,
.cs-center-content .cs-internal-quote,
.cs-center-content .cs-how-blocks,
.cs-center-content .cs-arrow-list,
.cs-center-content .cs-ibox,
.cs-center-content .cs-pull-quote {
  margin-left: auto;
  margin-right: auto;
}

/* ═══════════════════════════════════════════════
   SAMME FEJL, TO ELEMENTER TIL — fundet ved fuldt gennemsyn
   ═══════════════════════════════════════════════
   .cs-ibox (cs_insight_box, fx "Værd at huske") og .cs-pull-quote
   havde samme mangel. De blev overset i de tidligere runder, fordi
   et automatisk gennemsøg søgte efter ".cs-insight-box", som ikke er
   det rigtige klassenavn — den rigtige klasse er ".cs-ibox". Et bredere
   gennemsyn af HELE filen fandt 24 andre kandidater med max-width;
   de øvrige 22 var enten allerede korrekt centrerede (fx cs_cta_form,
   der bruger "margin: 0 auto" uden px på nullet — hvilket det første
   automatiske gennemsøg heller ikke opfangede) eller er elementer som
   hero-tekst og knapper, der med vilje IKKE skal centreres.
   ═════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════
   LUFT TIL NUMMER-BADGET PÅ FEATURE CARDS
   ═══════════════════════════════════════════════
   .cs-fcard-num er position:absolute og lægger sig oven på
   kortets tekstzone i øverste højre hjørne. Titlen havde ingen
   reserveret plads til den, så en lang titel (fx "Dedikerede
   teams vs. andre modeller") støder ind i badget i stedet for
   at bryde om det.

   Badget ligger altid FØR titlen i koden, når show_num="yes" —
   ~ rammer derfor kun titler, der reelt har et badge foran sig.
   Kort uden nummerering (show_num="no", langt de fleste på
   sitet) er upåvirkede.
   ═════════════════════════════════════════════ */
.cs-fcard-num ~ .cs-fcard-title {
  padding-right: 36px;
}

/* ═══════════════════════════════════════════════
   H1 PÅ PILLAR HERO VISTE INGENTING
   ═══════════════════════════════════════════════
   Den oprindelige regel er skrevet som
   "section.cs-pillar-hero h1.cs-ph2-title" — den kræver altså
   at overskriften ligger inde i et <section class="cs-pillar-hero">.
   WPBakerys vc_row renderer altid som <div>, aldrig <section>, så
   den ancestor kan aldrig opstå i praksis — reglen ramte derfor
   aldrig, og titlen fik ingen styling overhovedet.

   Løsningen er en uscopet kopi af samme regel. !important er
   nødvendigt her, fordi kommentaren i den oprindelige regel selv
   forklarer, at dobbelt-kvalificeringen (tag + klasse) var det,
   der gav nok specificitet til at slå Bootstrap/Bootscore uden
   !important — uden den ancestor mangler vi den specificitet,
   og skal bruge !important i stedet for at opnå samme resultat.
   ═════════════════════════════════════════════ */
/* Størrelsen er nu identisk med cs_page_hero (.cs-ph-title) — de er
   samme slags side i jeres egen model og skal derfor se lige
   prominente ud, uanset hvilket af de to elementer der bruges. */
.cs-ph2-title {
  font-family: 'Poppins', -apple-system, sans-serif !important;
  font-size: clamp(44px, 5.8vw, 84px) !important;
  font-weight: 500 !important;
  line-height: 1.04 !important;
  color: #231F20 !important;
  margin: 0 0 28px !important;
  letter-spacing: -0.03em !important;
  max-width: 100% !important;
}
.cs-ph2-text {
  font-size: 17px !important;
  line-height: 1.65 !important;
  max-width: 640px !important;
}

/* ═══════════════════════════════════════════════
   HERO-BOKSEN VAR ALDRIG GJORT GENNEMSIGTIG PÅ MØRK BAGGRUND
   ═══════════════════════════════════════════════
   .cs-page-hero-inner har en hårdkodet beige baggrund (se
   linje ~3906), og der findes INGEN eksisterende regel, der gør
   den gennemsigtig i en mørk sektion. Det er fælles grundlag for
   både cs_page_hero og cs_pillar_hero.

   Det har ikke vist sig før, fordi ingen tidligere hero både
   (a) sad i en cs-bg-dark række OG (b) havde et rigtigt
   parallax-billede sat ind samtidig — kun ét af de to ad gangen.
   Første gang begge dele mødtes (cs_pillar_hero på Dedikerede
   udviklingsteams), stod en beige boks som en ramme midt i
   billedet i stedet for at lade det fylde hele sektionen.

   Løsningen bruger samme klasse-konvention som allerede findes
   for mørk brødtekst (.cs-ph-dark) — tilføj el_class="cs-ph-dark"
   på selve vc_row, der indeholder heroen, når den skal være mørk
   med rigtigt billede. Ingen ændring i PHP.

   OBS TIL SENERE: den samme fejl venter på P3, Warszawa, Lviv,
   Brancher og Tech Hubs, den dag deres pladsholder-billeder
   ERSTAT_ID_... udskiftes med rigtige. Husk el_class="cs-ph-dark"
   på de rækker, når det sker.
   ═════════════════════════════════════════════ */
.cs-ph-dark .cs-page-hero-inner {
  background: transparent !important;
}

/* Samme mørke tekstbehandling for cs_pillar_hero (.cs-ph2-*),
   som allerede findes for cs_page_hero (.cs-ph-*) ovenfor. */
.cs-ph-dark .cs-ph2-title {
  color: #F1DFCB !important;
}
.cs-ph-dark .cs-ph2-text {
  color: rgba(241,223,203,.85) !important;
}
.cs-ph-dark .cs-ph2-label {
  color: rgba(241,223,203,.85) !important;
}
.cs-ph-dark .cs-ph2-crumb-link,
.cs-ph-dark .cs-ph2-crumb-sep {
  color: rgba(241,223,203,.6) !important;
}
/* Den aktuelle side i brødsmulestien må ikke se ud som et link —
   den blå farve fra den oprindelige regel (samme farve som "Viden",
   det rigtige link) gjorde det bagvendt: den side, man allerede står
   på, så vigtigere og mere klikbar ud end det faktiske link foran. */
.cs-ph-dark .cs-ph2-crumb-current {
  color: #F1DFCB !important;
  font-weight: 500 !important;
}

/* ══════════════════════════════════════════════
   NYHEDSARTIKEL (single.php)

   Rammen kommer fra sitets EGET system laengere oppe i
   denne fil — "LAYOUT CONSTRAINT" — som centrerer alt til
   var(--cs-site-width) med var(--cs-site-pad) i siderne.

   WPBakery-raekker faar den ramme automatisk, fordi de
   rammes af #primary .vc_row .vc_column-inner. Templatens
   egen markup er ikke vc_row og faar den derfor ikke.
   Den faar den her, med de samme variabler.

   Skal rammen aendres, sker det i :root paa linje 16-17.
   Der er ingen egne breddevaerdier herunder.
   ══════════════════════════════════════════════ */

.cs-artikel-side {
	--cs-blue: #3D6EE9;
	--cs-radius: var(--borderRadius, 12px);
	--cs-gap: clamp(24px, 4vw, 48px);
	--cs-block: clamp(48px, 8vw, 96px);
  --cs-site-max:   1100px;
  --cs-site-width: min(var(--cs-site-max), 90vw);

}

/* Sitets ramme, paa templatens egne blokke */
.cs-artikel__header,
.cs-artikel__media,
.cs-artikel__summary,
.cs-artikel__content,
.cs-artikel__faq,
.cs-artikel__share,
.cs-artikel__contact,
.cs-mere-nyheder__heading,
.cs-mere-nyheder__grid {
	max-width: var(--cs-site-width);
	margin-inline: auto;
	padding-inline: var(--cs-site-pad);
	box-sizing: border-box;
}

/* WPBakery-indhold har allerede sin egen ramme fra
   LAYOUT CONSTRAINT. Uden dette ville det faa 48px to gange. */
.cs-artikel__content:has(> .wpb-content-wrapper) {
	max-width: none;
	padding-inline: 0;
}

.cs-artikel > *,
.cs-artikel__content > *,
.cs-artikel__contact .wpb_column,
.cs-artikel__contact .vc_column-inner,
.cs-artikel__contact .wpb_wrapper { min-width: 0; }


/* --- Header ------------------------------------------------ */

.cs-artikel__header { margin-block: clamp(24px, 5vw, 56px) var(--cs-gap); }

.cs-artikel__kicker {
	font-size: 1.125rem;
	margin: 0 0 0.5em;
	color: var(--cs-blue);
}

.cs-artikel__title {
	margin: 0 0 0.4em;
	max-width: 32ch;
	text-wrap: balance;
	hyphens: auto;
}

.cs-artikel__meta {
	display: flex; flex-wrap: wrap; gap: 0.25em 1.5em;
	margin: 0; font-size: 0.9375rem; opacity: 0.75;
}


/* --- Resume (AEO) ------------------------------------------ */

.cs-artikel__summary { margin-block: var(--cs-gap); }

.cs-artikel__summary-heading { font-size: 1rem; margin: 0 0 0.75em; }
.cs-artikel__summary-body > :last-child { margin-bottom: 0; }


/* --- Medier ------------------------------------------------- */

.cs-artikel__media { margin-block: var(--cs-gap); }

.cs-artikel__media .csms-wrap { max-width: 100%; }

.cs-artikel__image {
	display: block; width: 100%; height: auto;
	border-radius: var(--cs-radius);
}


/* --- Brodtekst ---------------------------------------------- */

/* Afstand mellem indholdsblokke.

   .cs-pad-normal giver 96px foroven og forneden paa hver
   raekke (linje 4320). Paa en landingsside er det rigtigt.
   I en artikel staar der mange smaa raekker efter hinanden,
   saa to naboraekker giver 192px luft om ét afsnit tekst.

   Derfor saettes en tættere rytme KUN inde i artikelindhold.
   Sider er urørte.

   !important er noedvendig her, fordi reglen vi overskriver
   selv har !important. Fjernes den paa linje 4320, kan denne
   ogsaa undvaere sin — men det skal testes paa sider foerst. */
.cs-artikel__content .vc_row.cs-pad-normal {
	padding-top: var(--cs-gap) !important;
	padding-bottom: var(--cs-gap) !important;
}

.cs-artikel__content .vc_row.cs-pad-sm,
.cs-artikel__content .vc_row.cs-pad-small {
	padding-top: calc(var(--cs-gap) * 0.5) !important;
	padding-bottom: calc(var(--cs-gap) * 0.5) !important;
}

.cs-artikel__content .vc_row.cs-pad-lg,
.cs-artikel__content .vc_row.cs-pad-large {
	padding-top: calc(var(--cs-gap) * 1.5) !important;
	padding-bottom: calc(var(--cs-gap) * 1.5) !important;
}

/* Raekker med baggrundsfarve beholder deres luft — ellers
   klemmer farvebaandet sig om teksten. */
.cs-artikel__content .vc_row[class*="cs-bg-"].cs-pad-normal {
	padding-top: calc(var(--cs-gap) * 1.5) !important;
	padding-bottom: calc(var(--cs-gap) * 1.5) !important;
}

.cs-artikel__content .vc_empty_space { height: var(--cs-gap); }

/* --- To spor -------------------------------------------------
 * Maalt paa jeres egne artikler:
 *   brodtekst og overskrifter  851px
 *   hero og brede billeder     fuld ramme
 * Venstrestillet, saa alt deler samme venstrekant.
 */
.cs-artikel-side { --cs-tekst-bredde: 851px; }

/* Samme ramme som medieblokken, saa venstrekanten flugter.
   Tidligere stod her en calc() der gav 1128px mod billedets
   1280px — og fordi headeren dermed var smallere end sin
   foraelder, centrerede margin-inline: auto den. Det gav
   springet paa 23px mellem overskrift og billede.

   Ingen udregning her: containeren er den samme for alle
   blokke, og laesespalten paa 851px ligger paa selve teksten
   laengere nede. */
.cs-artikel__header,
.cs-artikel__summary,
.cs-artikel__faq,
.cs-artikel__share,
.cs-artikel__contact,
.cs-mere-nyheder__heading,
.cs-mere-nyheder__grid {
	max-width: var(--cs-site-width);
	margin-inline: auto;
	padding-inline: var(--cs-site-pad);
}

/* Laesespalte paa headerens tekst, ikke paa containeren */
.cs-artikel__title,
.cs-artikel__summary-body,
.cs-artikel-faq__item { max-width: var(--cs-tekst-bredde); }

/* Tekst i WPBakery-indhold */
.cs-artikel__content .wpb_text_column p,
.cs-artikel__content .wpb_text_column h2,
.cs-artikel__content .wpb_text_column h3,
.cs-artikel__content .wpb_text_column h4,
.cs-artikel__content .wpb_text_column h5,
.cs-artikel__content .wpb_text_column ul,
.cs-artikel__content .wpb_text_column ol,
.cs-artikel__content .wpb_text_column blockquote,
/* og i artikler skrevet i ren HTML */
.cs-artikel__content > p,
.cs-artikel__content > h2,
.cs-artikel__content > h3,
.cs-artikel__content > h4,
.cs-artikel__content > ul,
.cs-artikel__content > ol,
.cs-artikel__content > blockquote { max-width: var(--cs-tekst-bredde); }

/* Flerkolonne-raekker undtages — deres kolonner har allerede
   deres egen bredde fra offset/col-vaerdierne i indholdet. */
.cs-artikel__content .vc_row_inner .wpb_text_column p,
.cs-artikel__content .vc_row_inner .wpb_text_column h2,
.cs-artikel__content .vc_row_inner .wpb_text_column h3,
.cs-artikel__content .vc_row_inner .wpb_text_column ul { max-width: none; }

.cs-artikel__content > :first-child { margin-top: 0; }
.cs-artikel__content h2 { margin-block: 1.6em 0.5em; }
.cs-artikel__content h3 { margin-block: 1.4em 0.4em; }
.cs-artikel__content p { margin-block: 0 1.1em; }
.cs-artikel__content ul,
.cs-artikel__content ol { margin-block: 0 1.4em; padding-left: 1.25em; }
.cs-artikel__content li { margin-bottom: 0.5em; }
.cs-artikel__content img { max-width: 100%; height: auto; }

/* Laesespalte i artikler skrevet i ren HTML.
   Venstrestillet, saa den deler kant med overskriften. */
.cs-artikel__content > p,
.cs-artikel__content > h2,
.cs-artikel__content > h3,
.cs-artikel__content > h4,
.cs-artikel__content > ul,
.cs-artikel__content > ol,
.cs-artikel__content > blockquote { max-width: 70ch; }


/* --- Portraetcitat og hvid citatboks ------------------------ */

.cs-portraet {
	display: flex; flex-wrap: wrap; align-items: center;
	gap: clamp(20px, 3vw, 40px);
	margin-block: var(--cs-block);
}
.cs-portraet__foto { flex: 0 0 clamp(120px, 16vw, 190px); }
.cs-portraet__foto img {
	display: block; width: 100%; height: auto;
	aspect-ratio: 1; object-fit: cover; border-radius: 50%;
}
.cs-portraet__tekst { flex: 1 1 260px; min-width: 0; }
.cs-portraet__tekst p { margin-block: 0 0.8em; }
.cs-portraet__tekst p:last-child { margin-bottom: 0; }
.cs-portraet__citat { font-style: italic; font-size: 1.0625rem; }

.cs-hvid-citat {
	background: #fff;
	border-radius: var(--cs-radius);
	padding: clamp(28px, 4vw, 50px);
	margin-block: var(--cs-block);
}
.cs-hvid-citat p { margin-block: 0 0.9em; }
.cs-hvid-citat p:last-child { margin-bottom: 0; }
.cs-hvid-citat__citat { font-style: italic; }


/* --- Deling og kontaktperson -------------------------------- */

.cs-artikel__share { margin-block: var(--cs-gap); }
.cs-artikel__contact { margin-block: var(--cs-block); }


/* --- FAQ ---------------------------------------------------- */

.cs-artikel__faq { margin-block: var(--cs-block); }
.cs-artikel-faq__item { padding-block: 1.25em; border-top: 1px solid rgba(35, 31, 32, 0.15); }
.cs-artikel-faq__item:last-child { border-bottom: 1px solid rgba(35, 31, 32, 0.15); }
.cs-artikel-faq__q { font-weight: 600; margin: 0 0 0.4em; }
.cs-artikel-faq__a { margin: 0; }
.cs-artikel-faq__a > :last-child { margin-bottom: 0; }


/* --- Relaterede nyheder ------------------------------------- */

.cs-mere-nyheder { margin-block: var(--cs-block); }

.cs-mere-nyheder__heading {
	margin: 0 auto var(--cs-gap);
	padding-top: var(--cs-block);
}

.cs-mere-nyheder__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	gap: 20px;
	list-style: none;
	margin-block: 0 var(--cs-block);
}

.cs-mere-nyheder__item { display: flex; }
.cs-nyhedsboks { display: flex; width: 100%; }

.cs-mere-nyheder .cs-nyhedsboks__link {
	display: flex; flex-direction: column; width: 100%;
	color: inherit; text-decoration: none;
	background: #fff;
	border-radius: var(--cs-radius);
	overflow: hidden;
	transition: transform 0.2s ease;
}
.cs-nyhedsboks__link:hover { transform: translateY(-3px); }
.cs-nyhedsboks__link:focus-visible { outline: 2px solid var(--cs-blue); outline-offset: 3px; }

/* Kortet er ét objekt: rundingen sidder paa .cs-nyhedsboks__link
   med overflow: hidden. Billedet selv har INGEN runding — ellers
   faar det ogsaa runde hjoerner forneden, hvor det moeder den
   hvide boks, og der opstaar et hak.

   aspect-ratio + object-fit tvinger alle billeder til samme
   stoerrelse uanset originalens format. */
.cs-nyhedsboks__media {
	aspect-ratio: 3 / 2;
	overflow: hidden;
	flex: 0 0 auto;
}

.cs-nyhedsboks__image,
.cs-mere-nyheder .cs-nyhedsboks__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
}

/* Den hvide kasse saettes baade paa kortet og paa
   tekstomraadet, saa den er der uanset hvad der ellers
   maatte ramme <a>-elementet. */
.cs-mere-nyheder .cs-nyhedsboks__body {
	display: flex; flex-direction: column; gap: 0.4em;
	flex: 1 1 auto;
	padding: clamp(20px, 2vw, 28px);
	background: #fff;
	justify-content: flex-start;
}
/* Blaa kategori, som paa de eksisterende nyhedskort */
.cs-nyhedsboks__kicker {
	margin: 0 0 0.2em;
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--cs-blue);
	opacity: 1;
}
.cs-nyhedsboks__title {
	margin: 0;
	font-size: clamp(1.25rem, 1.5vw, 1.5rem);
	font-weight: 400;
	line-height: 1.25;
	hyphens: auto;
}
.cs-nyhedsboks__date { margin: 0.6em 0 0; font-size: 0.9375rem; opacity: 0.7; }
.cs-nyhedsboks__link:hover .cs-nyhedsboks__title { color: var(--cs-blue); }

/* ══════════════════════════════════════════════
   SEKTIONSFARVER I FULD BREDDE
   Farvebaandet bryder ud til hele vinduet, mens indholdet
   inde i raekken bliver i sitets ramme via .vc_column-inner.
   body har overflow-x: hidden, saa 100vw giver ingen
   vandret scroll.
   ══════════════════════════════════════════════ */

.site-main .vc_row[class*="cs-bg-"],
#primary .vc_row[class*="cs-bg-"],
.cs-artikel__content .vc_row[class*="cs-bg-"] {
	width: 100vw;
	max-width: none;
	/* !important er noedvendig indtil skridt 3.
	   System A i main.css saetter
	     .vc_row:not(...) { margin-left: calc(-.5 * var(--bs-gutter-x)) !important }
	   Den vandt over vores margin-left, saa baandet startede
	   inde paa siden til venstre, mens width: 100vw skubbede
	   det ud i hoejre side. Derfor hullet i venstre kant.
	   Fjernes System A's raekkemargin i _bootscore_custom.scss,
	   kan de to !important herunder ogsaa fjernes. */
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}


/* ══════════════════════════════════════════════
   LODRET CENTRERING UDEN EKSTRA KLASSE
   WPBakery har det indbygget: aabn raekkens indstillinger,
   saet "Columns position" til Middle. Det giver raekken
   klassen vc_row-o-content-middle, som vi lytter paa her.
   Saa behoever redaktoeren ikke kende cs-valign-middle.
   ══════════════════════════════════════════════ */

.vc_row.vc_row-o-content-middle > .wpb_column > .vc_column-inner,
.vc_row_inner.vc_row-o-content-middle > .wpb_column > .vc_column-inner {
	justify-content: center;
}

.vc_row.vc_row-o-content-bottom > .wpb_column > .vc_column-inner,
.vc_row_inner.vc_row-o-content-bottom > .wpb_column > .vc_column-inner {
	justify-content: flex-end;
}

/* Den gamle klasse virker stadig, saa eksisterende sider
   ikke aendrer sig. */


/* ═══════════════════════════════════════════════════════════════
   BILLEDE + TEKST  (cs_media_text)
   Portraet + udtalelse, til brug inde i artikler.
   ═══════════════════════════════════════════════════════════════ */

.cs-mediatext {
  /* Container query-konteksten. Ombrydningen skal ske efter den
     plads elementet FAAR, ikke efter skaermens bredde — ellers
     staar det forkert i artiklens 851px brede broedtekst paa en
     stor skaerm, hvilket er praecis det tilfaelde det bruges i. */
  container-type: inline-size;
  width: 100%;
  margin: 40px 0;
}

/* Kolonnerne foelger indholdet, ikke beholderen.
   Med 1fr beholdt tekstkolonnen hele bredden, mens teksten indeni
   var begraenset — og saa opstod hullet inde i kolonnen, hvor gap
   ikke naar hen. Nu er kolonnen praecis saa bred som teksten maa
   vaere, og afstanden mellem billede og tekst er reelt gap'et.

   justify-content: start i begge retninger, saa teksten beholder
   samme venstrekant som den omkringliggende broedtekst. Staar
   billedet til hoejre, rykker det ind mod teksten i stedet for at
   klaebe til sidens kant. */
.cs-mediatext__inner {
  display: grid;
  grid-template-columns: var(--cs-mt-size) minmax(0, var(--cs-mt-text, 62ch));
  justify-content: start;
  gap: var(--cs-mt-gap, 40px);
  align-items: center;
}

/* Afstande */
.cs-mediatext--gap-small  { --cs-mt-gap: 24px; }
.cs-mediatext--gap-normal { --cs-mt-gap: 40px; }
.cs-mediatext--gap-large  { --cs-mt-gap: 64px; }

/* Stoerrelser */
.cs-mediatext--small  { --cs-mt-size: 140px; }
.cs-mediatext--medium { --cs-mt-size: 200px; }
.cs-mediatext--large  { --cs-mt-size: 260px; }

/* Billedet til hoejre: DOM-raekkefoelgen bevares, kun det visuelle
   vendes. Ved ombrydning ligger billedet derfor stadig oeverst. */
.cs-mediatext--right .cs-mediatext__inner {
  grid-template-columns: minmax(0, var(--cs-mt-text, 62ch)) var(--cs-mt-size);
}

/* "Ingen begraensning": teksten skal fylde resten, saa her er 1fr
   stadig det rigtige. minmax() kan ikke tage vaerdien none. */
.cs-mediatext--text-full .cs-mediatext__inner {
  grid-template-columns: var(--cs-mt-size) 1fr;
}
.cs-mediatext--text-full.cs-mediatext--right .cs-mediatext__inner {
  grid-template-columns: 1fr var(--cs-mt-size);
}
.cs-mediatext--right .cs-mediatext__media { order: 2; }

/* Formen ligger paa WRAPPEREN, ikke paa billedet.
   Klassen paa <img> kan blive fjernet af plugins der bygger
   billedtags om (WebP-konvertering pakker dem i <picture>), og
   saa forsvandt baade kvadrat og cirkel. Wrapperen kan de ikke
   roere. Alt indeni laegges absolut, saa billedets egne
   proportioner aldrig kan diktere hoejden. */
.cs-mediatext__media {
  position: relative;
  width: 100%;
  max-width: var(--cs-mt-size);
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 16px;
}
.cs-mediatext--circle .cs-mediatext__media { border-radius: 50%; }

.cs-mediatext__media img,
.cs-mediatext__media picture,
.cs-mediatext__media picture img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: top;
  border-radius: 0 !important;
}

/* Tekst */
/* Laesebredde, maalt i tegn. ch foelger skriftstoerrelsen, saa
   linjelaengden holder sig behagelig uanset hvor bredt elementet
   staar. Under ca. 75 tegn er den gaengse graense. */
.cs-mediatext__body { max-width: var(--cs-mt-text, 62ch); }
.cs-mediatext--text-narrow { --cs-mt-text: 48ch; }
.cs-mediatext--text-normal { --cs-mt-text: 62ch; }
.cs-mediatext--text-wide   { --cs-mt-text: 76ch; }
.cs-mediatext--text-full   { --cs-mt-text: none; }

.cs-mediatext__body > p {
  font-family: 'Poppins', sans-serif;
  font-size: 17px;
  line-height: 1.7;
  color: #231F20;
  margin: 0 0 16px;
}
.cs-mediatext__body > p:last-child { margin-bottom: 0; }

.cs-mediatext--quote .cs-mediatext__body > p { font-style: italic; }

.cs-mediatext__attrib {
  font-weight: 700;
  font-style: normal !important;
  margin-top: 20px !important;
}

/* Ombrydning efter elementets egen bredde. 520px er der hvor et
   200px billede plus tekst holder op med at fungere side om side. */
@container (max-width: 520px) {
  .cs-mediatext__inner,
  .cs-mediatext--right .cs-mediatext__inner,
  .cs-mediatext--text-full .cs-mediatext__inner,
  .cs-mediatext--text-full.cs-mediatext--right .cs-mediatext__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .cs-mediatext--right .cs-mediatext__media { order: 0; }
}

/* Sikkerhedsnet for browsere uden container queries. */
@media (max-width: 600px) {
  .cs-mediatext__inner,
  .cs-mediatext--right .cs-mediatext__inner,
  .cs-mediatext--text-full .cs-mediatext__inner,
  .cs-mediatext--text-full.cs-mediatext--right .cs-mediatext__inner {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .cs-mediatext--right .cs-mediatext__media { order: 0; }
}


/* ═══════════════════════════════════════════════════════════════
   ARTIKELSIDE — CTA-baand i fuld bredde + linkfarve paa moerk bund
   ═══════════════════════════════════════════════════════════════ */

/* main.css (System A) giver enhver .row paa en single-side en
   POSITIV sidemargin:

     .single #primary .row {
       margin-left:  calc(2.5% - 15px) !important;
       margin-right: calc(2.5% - 15px) !important;
     }

   Ved 1870px viewport er det 31,75px i hver side — maalt med
   getBoundingClientRect: .content-area 1870px, .row 1807px.
   Det var praecis de 63px CTA-baandet manglede.

   Resetten paa linje 4177 (#content .row) rammer det samme, men
   har specificitet 1-2-0 mod System A's 1-2-0 og taber, fordi
   begge har !important. Her hoejnes specificiteten til 1-3-0.

   Scoped til .cs-artikel-side, saa andre single-templates
   beholder System A's margin uaendret.

   Artiklens oevrige blokke flytter sig ikke: de er begraenset til
   var(--cs-site-width) med margin-inline: auto og staar centreret
   i forhold til viewporten, uanset foraelderens bredde. */
body.single .cs-artikel-side #primary .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Samme regelsaet, linjen ovenfor i main.css:

     .single #primary {
       padding-left:  calc(var(--bs-gutter-x) * .5) !important;
       padding-right: calc(var(--bs-gutter-x) * .5) !important;
     }

   --bs-gutter-x er 1.5rem, halvdelen 12px. Maalt: .content-area
   1870px med pad 12px 12px, .row 1846px. Resetten paa linje 4179
   rammer #primary med 1-0-0 og taber til System A's 1-1-0. */
body.single .cs-artikel-side #primary {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Linkfarven i kontaktlinjen er hardcodet til sitets blaa. Paa
   blaa og moerk bund forsvinder telefonnummeret helt. Her arver
   det tekstfarven i stedet, med understregning saa det stadig
   kan ses at det er et link. Alle tilstande daekkes — uden
   :visited og :active skifter det farve efter et klik. */
.cs-ctaf-bg-blue .cs-ctaf-contact a,
.cs-ctaf-bg-dark .cs-ctaf-contact a,
.cs-ctaf-bg-blue .cs-ctaf-contact a:link,
.cs-ctaf-bg-dark .cs-ctaf-contact a:link,
.cs-ctaf-bg-blue .cs-ctaf-contact a:visited,
.cs-ctaf-bg-dark .cs-ctaf-contact a:visited,
.cs-ctaf-bg-blue .cs-ctaf-contact a:hover,
.cs-ctaf-bg-dark .cs-ctaf-contact a:hover,
.cs-ctaf-bg-blue .cs-ctaf-contact a:focus,
.cs-ctaf-bg-dark .cs-ctaf-contact a:focus,
.cs-ctaf-bg-blue .cs-ctaf-contact a:active,
.cs-ctaf-bg-dark .cs-ctaf-contact a:active {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}


/* Portraettet oeverst i artiklens CTA.
   .cs-cta-form-left er allerede flex column med gap 16px, saa
   order: -1 flytter avataren op uden at roere afstandene.

   Scoped til .cs-artikel__cta: pillar-siderne bruger samme element
   med navn og titel under billedet, og der giver den nuvaerende
   raekkefoelge stadig mening. Kun artiklen aendres.

   margin-top nulstilles fordi elementet saetter den som inline
   style — der findes ingen anden vej udenom end !important. */
.cs-artikel__cta .cs-cta-avatar-row {
  order: -1;
  margin-top: 0 !important;
}


/* ═══════════════════════════════════════════════════════════════
   PUNKTOPSTILLINGER I BROEDTEKST — generelt
   ───────────────────────────────────────────────────────────────
   Rammer KUN lister redaktoeren selv har skrevet i et tekstfelt.
   :not([class]) holder elementernes egne lister udenfor — de
   baerer alle en klasse (cs-proof-list, cs-tl-items,
   cs-two-col-items, cs-loc-bullets), saa de er ikke i fare.

   Bevidst valg: ingen ottende liste-element. En liste i broedtekst
   skrives i strommen og skal redigeres i strommen. Naar den
   native ol/ul altid ser rigtig ud, er der intet at vaelge og
   intet at vaelge forkert.
   ═══════════════════════════════════════════════════════════════ */

:is(.wpb_text_column, .cs-artikel__content, .entry-content)
:is(ul, ol):not([class]) {
  margin-block: 1.2em 1.5em;
  padding-left: 1.7em;   /* plads nok til tocifrede numre */
}

:is(.wpb_text_column, .cs-artikel__content, .entry-content)
:is(ul, ol):not([class]) > li {
  margin-bottom: 0.7em;  /* mere luft MELLEM punkter end inde i dem */
}

:is(.wpb_text_column, .cs-artikel__content, .entry-content)
:is(ul, ol):not([class]) > li:last-child {
  margin-bottom: 0;
}

/* Tal og punkttegn i Conscensia-blaa med fed. ::marker styrer
   kun markoeren, ikke teksten — den fede indledning i punktet
   beholder sin egen farve. */
:is(.wpb_text_column, .cs-artikel__content, .entry-content)
:is(ul, ol):not([class]) > li::marker {
  color: var(--cs-blue);
  font-weight: 700;
}

/* wpautop pakker af og til punkter i <p>. Uden det her faar hvert
   punkt et helt afsnits bundmargin. */
:is(.wpb_text_column, .cs-artikel__content, .entry-content)
:is(ul, ol):not([class]) > li > p {
  margin: 0 0 0.4em;
}
:is(.wpb_text_column, .cs-artikel__content, .entry-content)
:is(ul, ol):not([class]) > li > p:last-child {
  margin-bottom: 0;
}

/* Indlejrede lister: taettere, saa de laeses som en underinddeling */
:is(.wpb_text_column, .cs-artikel__content, .entry-content)
:is(ul, ol):not([class]) :is(ul, ol):not([class]) {
  margin-block: 0.6em 0;
}


/* ═══════════════════════════════════════════════════════════════
   CASE (single-case) — header, hero og faktakort
   ───────────────────────────────────────────────────────────────
   Egne cs-case__-klasser. System C i main.css haenger paa
   .single-case .entry-header / .entry-image / .entry-content og
   roeres ikke — den bliver overfloedig naar den gamle markup er ude.
   ═══════════════════════════════════════════════════════════════ */

/* Sidebredde paa cases. Samme princip som .cs-artikel-side paa
   linje 6453: tokenet redefineres paa sidewrapperen, og alle
   cs-case__-blokke arver det, fordi de bruger var(--cs-site-width)
   frem for faste tal. Vil du have en anden bredde paa cases end
   paa artikler, er det kun dette ene tal der skal aendres. */
/* Casesiden arver ikke artiklens tokens — de er defineret paa
   .cs-artikel-side, ikke i :root. Uden dem bliver erklaeringer som
   margin-block: var(--cs-block) UGYLDIGE og smidt vaek, og saa
   forsvandt baade luften omkring "Flere cases" og den
   margin-inline: auto der laa i samme shorthand paa overskriften.
   Derfor faldt overskriften helt til venstre.

   Samme vaerdier som artiklen, saa de to sidetyper deler rytme. */
.cs-case-side {
  --cs-blue:   #3D6EE9;
  --cs-radius: var(--borderRadius, 12px);
  --cs-gap:    clamp(24px, 4vw, 48px);
  --cs-block:  clamp(48px, 8vw, 96px);

  --cs-site-max:   1100px;
  --cs-site-width: min(var(--cs-site-max), 90vw);
}

/* Luft omkring "Flere cases" — 80px over og under sektionen,
   saa den ikke klaeber til den farvede sektion ovenfor. */
.cs-mere-cases {
  padding-block: 80px;
  margin-block: 0 !important;
}
.cs-mere-cases .cs-mere-nyheder__heading { padding-top: 0; }
.cs-mere-cases .cs-mere-nyheder__grid { margin-bottom: 0; }

/* System A i main.css skubber alt indhold ind fra kanten paa
   ENHVER single-side, ogsaa cases:

     .single #primary       { padding-inline: calc(var(--bs-gutter-x) * .5) !important; }
     .single #primary .row  { margin-inline:  calc(2.5% - 15px) !important; }

   Maalt paa artikelsiden: 12px + 31,75px i hver side. Uden det her
   kan et fuldbreddebaand paa en case ikke naa kanten. Specificiteten
   er hoejnet til 1-3-0 mod System A's 1-2-0, og scopet til
   .cs-case-side, saa andre single-templates er uberoerte. */
body.single .cs-case-side #primary {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.single .cs-case-side #primary .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.cs-case__header,
.cs-case__hero,
.cs-case__content {
  max-width: var(--cs-site-width);
  margin-inline: auto;
  padding-inline: var(--cs-site-pad);
  box-sizing: border-box;
}

/* WPBakery-indhold har allerede sin egen ramme fra
   LAYOUT CONSTRAINT. Uden dette faar det 48px to gange, og
   broedteksten rykker ind i forhold til hero og header.

   Praecis samme regel findes paa .cs-artikel__content (linje
   ~6518) — den var skrevet foer, og casen skulle have haft den
   fra starten. */
.cs-case__content:has(> .wpb-content-wrapper) {
  max-width: none;
  padding-inline: 0;
}

.cs-case__header { padding-top: 40px; }

.cs-case__kicker {
  font-size: 20px;
  color: var(--cs-black);
  margin: 0 0 12px;
}

.cs-case__title {
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 700;
  line-height: 1.12;
  margin: 0;
  max-width: 20ch;   /* holder overskriften i 2-3 linjer */
}

/* Hero: billedet bestemmer ikke hoejden. Fast format, beskaaret. */
.cs-case__hero {
  position: relative;
  margin-block: clamp(40px, 5vw, 72px);
}

.cs-case__hero-slider {
  border-radius: 20px;
  overflow: hidden;
}

.cs-case__hero-media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: 20px;
}

.cs-case__hero-media img,
.cs-case__hero-media picture,
.cs-case__hero-media picture img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  border-radius: 0 !important;
}

/* Faktakortet ligger oven paa billedet og rager lidt ud i hoejre
   side. Det er derfor .cs-case__hero IKKE har overflow: hidden —
   kun mediet har det, saa billedet stadig beskaeres til radius. */
/* Kortet i oeverste hoejre hjoerne. Portraetter har som regel
   ansigterne i midten, og et kort lodret centreret laegger sig
   hen over dem. Oeverst er der oftest luft — himmel, vaeg, loft.

   Vil du have det tilbage til midten: top: 50% og
   transform: translateY(-50%). */
.cs-case__facts {
  position: absolute;
  top: clamp(24px, 4%, 48px);
  right: calc(var(--cs-site-pad) * -0.5);
  width: min(340px, 32%);
  background: var(--cs-white);
  border-radius: 20px;
  padding: 28px 30px;
  box-sizing: border-box;
}

/* Logo: FAST HOEJDE, aldrig fast bredde. Kundelogoer varierer
   voldsomt i format — Kamstrup er bredt og lavt, Saxo naesten
   kvadratisk. Laases bredden, fylder de hoeje logoer alt. Laases
   hoejden, faar de samme optiske vaegt. */
.cs-case__logo {
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(35, 31, 32, 0.12);
}
.cs-case__logo-img {
  display: block;
  /* Fast hoejde, fri bredde — som en almindelig logobjaelke.
     Hoejden er den faelles maalestok; bredden foelger logoets eget
     format. Redaktoeren styrer stoerrelsen ved at beskaere filen
     taet om motivet: Photoshop → Image → Trim → Transparent Pixels.

     Et tidligere forsoeg gav logoet et felt paa 340×64 med
     object-fit: contain. Det gjorde kun luften i filen stoerre —
     motivet blev ikke mere fremtraedende, og boksen blev hoej og
     tom. Fast hoejde er den rigtige model. */
  height: 40px;
  width: auto;
  max-width: 100%;
}

/* Etiket + vaerdi. Etiketten er lille og daempet, vaerdien er
   broedtekst — saa kan oejet springe til den linje det leder
   efter i stedet for at laese hele boksen. */
/* Afstanden MELLEM par skal vaere stoerre end afstanden INDE i et
   par. Foerste forsoeg havde gap: 16px paa hele listen, saa der var
   lige langt fra etiket til vaerdi som fra vaerdi til naeste etiket
   — og saa kunne oejet ikke se hvad der hoerte sammen. */
.cs-case__facts-list { margin: 0; }

.cs-case__facts-list dt {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: rgba(35, 31, 32, 0.5);
  line-height: 1.3;
  margin: 0 0 1px;
}
.cs-case__facts-list dd {
  font-size: 17px;
  line-height: 1.4;
  color: var(--cs-black);
  margin: 0 0 18px;
}
.cs-case__facts-list dd:last-child { margin-bottom: 0; }
.cs-case__facts-list a {
  color: var(--cs-blue);
  text-underline-offset: 3px;
}

/* Laesespalte — samme princip som artiklen loeser det med.

   Containeren begraenses IKKE. Den er lige saa bred som header og
   hero, saa alle blokke deler ramme. Laesebredden ligger paa selve
   tekstelementerne.

   Foerste forsoeg ramte kun direkte boern (> p). En tekst inde i en
   vc_row er ikke et direkte barn, saa den blev aldrig begraenset og
   fulgte i stedet raekkens egen ramme. Det gav 36px forskel mellem
   en farvet sektion og broedteksten omkring — praecis den fejl
   artiklen allerede havde loest ved ogsaa at ramme .wpb_text_column. */
.cs-case-side { --cs-tekst-bredde: 755px; }

.cs-case__content .wpb_text_column p,
.cs-case__content .wpb_text_column h2,
.cs-case__content .wpb_text_column h3,
.cs-case__content .wpb_text_column h4,
.cs-case__content .wpb_text_column h5,
.cs-case__content .wpb_text_column ul,
.cs-case__content .wpb_text_column ol,
.cs-case__content .wpb_text_column blockquote,
/* og i cases skrevet i ren HTML */
.cs-case__content > p,
.cs-case__content > h2,
.cs-case__content > h3,
.cs-case__content > h4,
.cs-case__content > ul,
.cs-case__content > ol,
.cs-case__content > blockquote { max-width: var(--cs-tekst-bredde); }

/* Flerkolonne-raekker undtages — deres kolonner har allerede
   deres egen bredde fra offset/col-vaerdierne i indholdet. */
.cs-case__content .vc_row_inner .wpb_text_column p,
.cs-case__content .vc_row_inner .wpb_text_column h2,
.cs-case__content .vc_row_inner .wpb_text_column h3,
.cs-case__content .vc_row_inner .wpb_text_column ul { max-width: none; }

/* Smal skaerm: kortet kan ikke ligge oven paa uden at daekke
   motivet. Det laegger sig under billedet i stedet. */
@media (max-width: 900px) {
  .cs-case__facts {
    position: static;
    top: auto;
    transform: none;
    width: 100%;
    margin-top: 20px;   /* ingen overlap: teksten landede oven i billedet */
    margin-inline: auto;
    right: auto;
  }
  .cs-case__hero-media { aspect-ratio: 4 / 3; }

  /* Lange sammensatte ord braekker uden bindestreg paa smal skaerm.
     hyphens: auto braekker med bindestreg efter danske regler —
     <html lang="da"> er allerede sat af WordPress. */
  .cs-case__title {
    font-size: clamp(26px, 7vw, 36px);
    hyphens: auto;
    overflow-wrap: break-word;
  }
}
