/* ===== fra nyheder.html ===== */
/* ============================================================
   NYHEDER — side-specifikke styles
   Globale tokens, knapper, top-nav, footer bor i dofk.css.
   ============================================================ */

/* PAGE HERO — kompakt sort hero */
.page-hero {
  background-color: var(--dofk-sort);
  background-size: cover;
  background-position: center 35%;
  padding: 72px 0;
  position: relative;
  overflow: hidden;
  color: var(--hvid);
  /* Fast minimumshøjde, men heroen kan vokse ved lange titler */
  min-height: 560px;
  display: flex;
  flex-direction: column;
  justify-content: center;

}

/* Ingen toning på topbilleder — billedet vises rent. */
.page-hero::before { content: none; }

.page-hero .wrap { position: relative; z-index: 1; width: 100%; text-align: left; }
.page-hero h1 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(40px, 5.4vw, 72px);
  line-height: 1.05;
  letter-spacing: 0.005em;
  text-transform: uppercase;
  margin: 0 0 28px;
  max-width: 22ch;
  color: var(--hvid);
}

.breadcrumb {
  font-size: 13px;
  font-weight: 500;
  margin: 0 0 24px;
  display: flex;
  gap: 8px;
  align-items: center;
  color: var(--hvid);
}
.breadcrumb a { color: inherit; }
.breadcrumb a:hover { color: var(--dofk-rosa-medium); }
.breadcrumb .sep { opacity: 0.4; }

/* SUBPAGE — fuld bredde for nyheds-listen */
.subpage { background: var(--hvid); padding: 80px 0 112px; }
.subpage-main { max-width: 100%; }

/* Lede over filter */
/* .subpage-main p.lede: defineret i dofk.css (her: ekstra bundmargen) */
.subpage-main p.lede { margin-bottom: 40px; max-width: 60ch; }

/* Filter chips: styling lever i dofk.css */

/* Featured nyhed */
.nyhed-featured {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  background: #EDEDED;
  padding: 0;
  margin-bottom: 56px;
  overflow: hidden;
  align-items: stretch;
}
.nyhed-featured .nyhed-foto {
  aspect-ratio: 4/3;
  background-size: cover;
  background-position: center;
  min-height: 340px;
}
.nyhed-featured .nyhed-content {
  padding: 36px 32px 36px 0;
  display: flex; flex-direction: column;
  justify-content: center;
}
.nyhed-featured h2 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(25px, 3.06vw, 38px);
  line-height: 1.05;
  letter-spacing: 0.005em;
  text-transform: uppercase;
  margin: 0 0 18px;
  color: var(--dofk-sort);
}
.nyhed-featured .nyhed-excerpt {
  font-size: 16px; line-height: 1.7;
  margin: 0 0 22px; color: var(--dofk-sort);
  font-weight: 300;
}

/* Nyheds-grid */
.nyheder-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 48px 32px;
}
.nyhed-card { display: flex; flex-direction: column; }
.nyhed-card.is-hidden { display: none; }
.nyhed-card .nyhed-foto {
  aspect-ratio: 4/3;
  background-size: cover;
  background-position: center;
  margin-bottom: 18px;
  background-color: #EDEDED;
  background-image: linear-gradient(135deg, #EDEDED 0%, #D6D6D6 100%);
  transition: opacity 0.3s;
}
.nyhed-card:nth-child(3n+1) .nyhed-foto { aspect-ratio: 4/3; }
.nyhed-card:nth-child(3n+2) .nyhed-foto { aspect-ratio: 1/1; }
.nyhed-card:nth-child(3n+3) .nyhed-foto { aspect-ratio: 16/10; }
.nyhed-card:hover .nyhed-foto { opacity: 0.85; }
.nyhed-meta {
  display: flex; flex-wrap: wrap; gap: 12px;
  align-items: baseline;
  margin: 0 0 12px;
  font-size: 14px; font-weight: 500;
  color: rgba(28,28,27,0.55);
  font-style: italic;
}
.nyhed-meta .tag {
  font-style: normal; font-weight: 800;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--dofk-cta-blaa); font-size: 11px;
}
.nyhed-meta .tag::before { content: "#"; }
.nyhed-card h3 {
  font-family: var(--font-body);
  font-weight: 800;
  font-size: 24px;
  line-height: 1.2;
  margin: 0 0 12px;
  letter-spacing: -0.015em;
  color: var(--dofk-sort);
}
.nyhed-card .nyhed-excerpt {
  font-size: 16px; line-height: 1.7;
  margin: 0 0 16px; color: var(--dofk-sort);
  font-weight: 300;
}
.nyhed-card .read-more { margin-top: auto; }

/* Responsive */
@media (max-width: 1100px) {
  .nyheder-list { grid-template-columns: 1fr 1fr; }
  .nyhed-featured { grid-template-columns: 1fr; }
  .nyhed-featured .nyhed-content { padding: 24px 28px 32px; }
}
@media (max-width: 700px) {
  .page-hero { padding: 48px 0; min-height: 380px; }
  .subpage { padding: 56px 0 80px; }
  .nyheder-list { grid-template-columns: 1fr; }
}

/* ===== fra artikel.html ===== */
:root {
  --dofk-sort: #1C1C1B;
  --dofk-rosa-lys: #F9E1EF;
  --dofk-rosa-medium: #F5B8D5;
  --dofk-cta: #E5007D;
  --dofk-blaa: #2F47F7;
  --dofk-dm-blond: #F3DCC7;
  --dofk-brun: #663514;
  --dofk-sand: #F2DCC7;
  --dofk-dm-brun: #673719;
  --hvid: #FFFFFF;
  --kant: rgba(28, 28, 27, 0.12);
  --font-display: 'Anton', 'Mango Grotesque', sans-serif;
  --font-body: 'Inter', system-ui, sans-serif;
  --font-quote: 'Playfair Display', 'BentonModDisp', serif;
  --max: 1360px;
  --gap: 24px;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body { font-family: var(--font-body); font-weight: 400; color: var(--dofk-sort); background: var(--hvid); line-height: 1.55; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }

.wrap { max-width: var(--max); margin: 0 auto; padding: 0 var(--gap); }

.btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 13px 22px; border-radius: 6px;
  font-family: var(--font-body); font-weight: 700; font-size: 14px;
  letter-spacing: 0.005em; border: 2px solid transparent;
  cursor: pointer; transition: all 0.15s ease; white-space: nowrap;
}
.btn-cta { background: var(--dofk-cta); color: var(--hvid); }
.btn-cta:hover { background: var(--dofk-sort); color: var(--hvid); }
.btn-cta-blaa { background: var(--dofk-cta-blaa); color: var(--hvid); border-color: var(--dofk-cta-blaa); }
.btn-cta-blaa:hover { background: var(--hvid); color: var(--dofk-cta-blaa); border-color: var(--dofk-cta-blaa); }
.btn-outline { background: transparent; color: var(--dofk-sort); border-color: var(--dofk-sort); }
.btn-outline:hover { background: var(--dofk-sort); color: var(--hvid); }
.btn-outline-light { background: transparent; color: var(--hvid); border-color: var(--hvid); }
.btn-outline-light:hover { background: var(--hvid); color: var(--dofk-sort); }

.read-more {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 13px 22px; background: transparent;
  border: 2px solid var(--dofk-sort); color: var(--dofk-sort);
  font-family: var(--font-body); font-size: 14px; font-weight: 700;
  letter-spacing: 0.005em; border-radius: 6px; text-decoration: none;
  align-self: flex-start;
  transition: all 0.15s ease;
}
.read-more::after { content: "→"; font-weight: 500; font-size: 14px; transition: transform 0.2s ease; display: inline-block; }
.read-more:hover { background: var(--dofk-cta); border-color: var(--dofk-cta); color: var(--hvid); }
.read-more:hover::after { transform: translateX(4px); }

.eyebrow { font-size: 12px; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; margin: 0 0 16px; color: var(--dofk-cta); }

/* Top nav */
.top { position: sticky; top: 0; z-index: 50; background: var(--hvid); border-bottom: 1px solid var(--kant); }
.top .wrap { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 21px; padding-bottom: 21px; }
.top .logo img { height: 50px; width: auto; display: block; }
/* .top nav styles defined in dofk.css */
.top .actions { display: flex; gap: 10px; align-items: center; }

.social-icons { display: flex; gap: 6px; align-items: center; }
.social-icons a { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; color: var(--dofk-sort); border-radius: 9px; transition: background 0.15s, color 0.15s, border-color 0.15s; }
.social-icons a svg { width: 18px; height: 18px; stroke: none; fill: currentColor; }
.social-icons a:hover { color: var(--dofk-cta); }
.top .social-icons { margin-right: 8px; padding-right: 12px; border-right: 1px solid var(--kant); }
.top .social-icons a { width: 32px; height: 32px; }
.top .social-icons a svg { width: 16px; height: 16px; }

/* Artikel hero — klassisk blog: kategori → titel → manchet → meta */
.artikel-hero { background: var(--dofk-rosa-lys); padding: 64px 0 48px; }
.breadcrumb { font-size: 13px; font-weight: 500; margin: 0 0 32px; display: flex; gap: 8px; align-items: center; color: rgba(28,28,27,0.65); }
.breadcrumb a:hover { color: var(--dofk-cta); }
.breadcrumb .sep { opacity: 0.4; }
.page-hero .breadcrumb { color: var(--hvid); text-shadow: none; }
.page-hero .breadcrumb a { color: var(--hvid); }
.page-hero .breadcrumb a:hover { color: var(--dofk-rosa-medium); }
.artikel-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: baseline;
  margin: 0 0 18px;
}
.artikel-tags .tag {
  font-family: var(--font-body);
  font-weight: 800;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--dofk-blaa);
  transition: color 0.15s;
}
.artikel-tags .tag::before { content: "#"; }
.artikel-tags .tag:hover { color: var(--dofk-sort); }
.artikel-titel {
  font-family: var(--font-body); font-weight: 700;
  font-size: clamp(34px, 4.4vw, 60px);
  line-height: 1.05; letter-spacing: -0.02em;
  margin: 0 0 20px; max-width: 22ch; color: var(--dofk-sort);
}
.artikel-manchet {
  font-family: var(--font-body); font-weight: 300;
  font-size: 19px; line-height: 1.55;
  margin: 0 0 24px; max-width: 60ch; color: var(--dofk-sort);
}
.artikel-meta { display: flex; flex-wrap: wrap; gap: 14px; align-items: baseline; margin: 0; font-size: 13px; font-weight: 500; color: rgba(28,28,27,0.65); }

/* Hovedbillede */
.artikel-foto-stort {
  width: 100%;
  aspect-ratio: 16/9;
  background-image: url('assets/media/DOFK_web_22.webp?v=1778772854');
  background-size: cover;
  background-position: center 40%;
}

/* Artikel hero — split: tekst til venstre, mindre foto til højre */
.artikel-hero--split .artikel-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.62fr);
  gap: 56px;
  align-items: center;
}
.artikel-hero--split .artikel-titel { font-size: clamp(30px, 3.2vw, 46px); max-width: 20ch; }
.artikel-hero--split .artikel-manchet { font-size: 18px; max-width: 48ch; }
.artikel-hero-figur { margin: 0; }
.artikel-foto-kredit {
  margin: 8px 0 0;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: rgba(28,28,27,0.5);
}
.artikel-hero-foto {
  width: 100%;
  aspect-ratio: 4/3;
  background-size: cover;
  background-position: center 40%;
  border-radius: 4px;
  box-shadow: 0 18px 40px -22px rgba(28,28,27,0.45);
}
@media (max-width: 900px) {
  .artikel-hero--split .artikel-hero-grid { grid-template-columns: 1fr; gap: 28px; }
  .artikel-hero-foto { aspect-ratio: 16/9; }
}


/* Subpage layout */
.subpage { background: var(--hvid); padding: 56px 0 112px; }
.subpage-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 80px; align-items: start; }
.subpage-main { max-width: 720px; }

/* Artikel-body — klassisk blog */
.artikel-body { font-size: 16px; line-height: 1.7; color: var(--dofk-sort); }
.artikel-body p { margin: 0 0 22px; }
.artikel-body p.lead {
  font-size: 20px; line-height: 1.55; font-weight: 400;
  margin: 0 0 28px;
  color: var(--dofk-sort);
}
.artikel-body h2 {
  font-family: var(--font-body); font-weight: 700;
  font-size: 22px; line-height: 1.25;
  letter-spacing: -0.005em;
  margin: 40px 0 14px;
  color: var(--dofk-sort);
}
.artikel-body h3 {
  font-family: var(--font-body); font-weight: 700;
  font-size: 18px; line-height: 1.3;
  margin: 28px 0 10px;
  color: var(--dofk-sort);
}
.artikel-body ul, .artikel-body ol {
  padding-left: 24px; margin: 0 0 22px;
}
.artikel-body li { margin-bottom: 8px; line-height: 1.6; }
.artikel-body strong { font-weight: 700; }
.artikel-body a { color: var(--dofk-cta); border-bottom: 1px solid var(--dofk-cta); padding-bottom: 1px; }
.artikel-body a:hover { color: var(--dofk-sort); border-bottom-color: var(--dofk-sort); }

/* Blockquote — enkel, sort venstrekant */
.artikel-body blockquote {
  margin: 32px 0;
  padding: 4px 0 4px 24px;
  border-left: 3px solid var(--dofk-sort);
  font-style: italic;
  font-size: 19px;
  line-height: 1.5;
  color: var(--dofk-sort);
}
.artikel-body blockquote cite {
  display: block;
  margin-top: 12px;
  font-style: normal;
  font-weight: 600;
  font-size: 14px;
  color: rgba(28,28,27,0.7);
}
.artikel-body blockquote cite::before { content: "— "; }

/* Importeret WordPress-indhold i artikler */
.artikel-body figure { margin: 28px 0; }
.artikel-body img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 4px;
}
.artikel-body figure.aligncenter,
.artikel-body figure.is-resized { text-align: center; }
.artikel-body figure.aligncenter img,
.artikel-body figure.is-resized img { margin-left: auto; margin-right: auto; }
.artikel-body figcaption {
  font-size: 13px;
  line-height: 1.5;
  color: rgba(28,28,27,0.6);
  margin-top: 8px;
  text-align: center;
}
.artikel-body .wp-block-columns {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px 20px;
  margin: 32px 0;
  align-items: start;
}
.artikel-body .wp-block-column { min-width: 0; }
.artikel-body .wp-block-column > *:last-child { margin-bottom: 0; }
.artikel-body .wp-block-column figure { margin: 0 0 12px; }
.artikel-body .wp-block-column figure img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 999px;
}
.artikel-body .wp-block-column p {
  margin: 0 0 6px;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
}
.artikel-body p:empty { display: none; }
.artikel-body .has-text-align-center { text-align: center; }
@media (max-width: 900px) {
  .artikel-body .wp-block-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .artikel-body .wp-block-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px; }
}

/* Faktaboks — neutral og enkel */
.faktaboks {
  background: rgba(28,28,27,0.04);
  border-radius: 4px;
  padding: 24px 28px;
  margin: 32px 0;
}
.faktaboks .eyebrow { color: var(--dofk-blaa); margin-bottom: 14px; }
.faktaboks-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.faktaboks-tal { font-family: var(--font-body); font-weight: 800; font-size: 28px; line-height: 1; letter-spacing: -0.01em; color: var(--dofk-sort); margin: 0 0 4px; font-variant-numeric: tabular-nums; }
.faktaboks-label { font-size: 13px; color: rgba(28,28,27,0.7); margin: 0; line-height: 1.4; }

/* Bund: del på social + se alle nyheder */
.artikel-bund {
  margin-top: 56px;
  padding-top: 32px;
  border-top: 1px solid var(--kant);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}
.artikel-share {
  display: flex;
  align-items: center;
  gap: 12px;
}
.artikel-share-label {
  font-size: 13px;
  font-weight: 600;
  color: rgba(28,28,27,0.7);
}
.artikel-share-list {
  display: flex;
  gap: 8px;
}
.artikel-share-list a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px; height: 36px;
  border: 1.5px solid var(--dofk-sort);
  border-radius: 6px;
  color: var(--dofk-sort);
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.artikel-share-list a svg { width: 16px; height: 16px; stroke: currentColor; stroke-width: 1.8; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.artikel-share-list a:hover { background: var(--dofk-cta); border-color: var(--dofk-cta); color: var(--hvid); }
.artikel-se-alle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: 700;
  color: var(--dofk-sort);
  border-bottom: 2px solid currentColor;
  padding-bottom: 3px;
  transition: color 0.15s, border-color 0.15s;
}
.artikel-se-alle::after { content: "→"; font-weight: 500; transition: transform 0.2s ease; display: inline-block; }
.artikel-se-alle:hover { color: var(--dofk-cta); }
.artikel-se-alle:hover::after { transform: translateX(4px); }

/* Sidebar widgets — tre tilladte varianter:
   1) neutral (hvid), 2) .widget-fyldt (lyserød), 3) .widget-sort (sort, ekstra fremhævning) */
.subpage-sidebar { display: flex; flex-direction: column; gap: 24px; position: sticky; top: 88px; }
.subpage-sidebar > * { width: 100%; }
.widget {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--kant);
  border-radius: 4px;
  padding: 24px 24px 28px;
  background: var(--hvid);
  color: var(--dofk-sort);
}
.widget.widget-fyldt { background: var(--dofk-rosa-lys); border-color: transparent; }
/* Neutrale widgets — ingen farvet baggrund, men altid læsbar tekst/knapper */
.widget.widget-blaa, .widget.widget-cta { background: var(--hvid); border-color: var(--kant); color: var(--dofk-sort); }
.widget.widget-blaa h3, .widget.widget-cta h3,
.widget.widget-blaa p, .widget.widget-cta p { color: var(--dofk-sort); }
.widget.widget-blaa .read-more, .widget.widget-cta .read-more { border-color: var(--dofk-sort); color: var(--dofk-sort); }
.widget.widget-blaa .read-more:hover, .widget.widget-cta .read-more:hover { background: var(--dofk-sort); border-color: var(--dofk-sort); color: var(--hvid); }
/* Sort variant — kun til ekstra fremhævning */
.widget.widget-sort { background: var(--dofk-sort); border-color: transparent; color: var(--hvid); }
.widget.widget-sort h3, .widget.widget-sort p, .widget.widget-sort span { color: var(--hvid); }
.widget.widget-sort a:not(.btn) { color: var(--hvid); }
.widget.widget-sort .read-more { color: var(--hvid) !important; border-color: var(--hvid); }
.widget.widget-sort .read-more:hover { background: var(--hvid); color: var(--dofk-sort) !important; }
.widget .widget-eyebrow { font-size: 11px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; margin: 0 0 12px; color: var(--dofk-cta); }
.widget h3 { font-family: var(--font-body); font-weight: 700; font-size: 20px; line-height: 1.2; margin: 0 0 12px; }
.widget p { font-size: 14px; line-height: 1.55; margin: 0 0 16px; }
.widget form { display: flex; flex-direction: column; gap: 12px; margin-top: 12px; }
.widget input[type="email"] {
  font-family: var(--font-body);
  padding: 12px 14px;
  border: 1.5px solid var(--dofk-sort);
  border-radius: 6px;
  font-size: 14px;
  background: var(--hvid);
}
.widget input:focus { outline: 2px solid var(--dofk-cta); outline-offset: 2px; }
.widget .kontakt-detalje { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; font-size: 14px; font-weight: 500; }
/* Ikoner ved telefon, mail og adresse er altid lyserøde */
.widget .kontakt-detalje svg {
  width: 14px; height: 14px;
  stroke: var(--dofk-cta) !important;
  stroke-width: 1.8; fill: none;
  stroke-linecap: round; stroke-linejoin: round;
  color: var(--dofk-cta);
  flex-shrink: 0;
}
.widget.widget-sort .kontakt-detalje svg { stroke: var(--dofk-cta) !important; }

/* Relaterede nyheder */
.related-list { list-style: none; padding: 0; margin: 0; }
.related-list li { margin: 0; padding: 14px 0; border-bottom: 1px solid var(--kant); }
.related-list li:last-child { border-bottom: none; padding-bottom: 0; }
.related-list li:first-child { padding-top: 0; }
.related-meta {
  font-size: 11px; font-weight: 800;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--dofk-blaa); margin: 0 0 6px;
}
.related-meta::before { content: "#"; }
.related-list h4 {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 15px; line-height: 1.3;
  margin: 0;
  color: var(--dofk-sort);
}
.related-list a { display: block; transition: color 0.15s; }
.related-list a:hover h4 { color: var(--dofk-cta); }

/* Tilbage-link */
.tilbage-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--dofk-sort);
  margin-bottom: 32px;
  transition: color 0.15s;
}
.tilbage-link::before { content: "←"; font-weight: 500; }
.tilbage-link:hover { color: var(--dofk-cta); }

/* Footer + nav styles defined in dofk.css */

/* Responsive */
@media (max-width: 1100px) {
  
  .subpage-grid { grid-template-columns: 1fr; gap: 64px; }
  .subpage-sidebar { position: static; }

}
@media (max-width: 700px) {
  .artikel-hero { padding: 48px 0 40px; }
  .subpage { padding: 40px 0 80px; }
  .faktaboks-grid { grid-template-columns: 1fr; }

  
}

/* ===== Nyhedsliste (CMS-drevet) — overrides ===== */
.nyheder-page .subpage-main { max-width: 100%; }
.nyheder-page .nyhed-featured .nyhed-foto { min-height: 340px; }

/* ===== Nyheder med højre spalte ===== */
.nyheder-page .subpage-grid { gap: 56px; }
.nyheder-page .nyheder-list { grid-template-columns: repeat(2, 1fr); gap: 40px 28px; }
.nyheder-page .nyhed-featured { grid-template-columns: 1fr; }
.nyheder-page .nyhed-featured .nyhed-content { padding: 24px 28px 32px; }
.related-list .related-dato {
  margin: 6px 0 0;
  font-size: 12px;
  font-style: italic;
  color: rgba(28,28,27,0.55);
}
@media (max-width: 1100px) {
  .nyheder-page .nyheder-list { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .nyheder-page .nyheder-list { grid-template-columns: 1fr; }
}

/* Del artiklen */
.artikel-del {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 40px 0 0;
  padding-top: 20px;
  border-top: 1px solid var(--kant, rgba(0,0,0,0.12));
}
.artikel-del-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(28,28,27,0.55);
  margin-right: 4px;
}
.artikel-del-knap {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  color: #1c1c1b;
  border: 1px solid rgba(28,28,27,0.18);
  background: #fff;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.artikel-del-knap svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.artikel-del-knap:hover { background: #1c1c1b; color: #fff; border-color: #1c1c1b; }

/* Events & downloads (CMS-drevne sider) */
.event-facts { list-style: none; padding: 0; margin: 0 0 4px; }
.event-facts li { font-size: 14px; line-height: 1.5; padding: 8px 0; border-bottom: 1px solid rgba(28,28,27,0.12); }
.event-facts li:last-child { border-bottom: none; }

.download-list { display: flex; flex-direction: column; gap: 12px; margin-top: 28px; }
.download-item {
  display: flex; align-items: center; gap: 18px;
  border: 1px solid var(--kant); border-radius: 6px;
  padding: 18px 20px; background: var(--hvid);
  transition: border-color 0.15s, transform 0.15s;
}
.download-item:hover { border-color: var(--dofk-sort); transform: translateY(-1px); }
.download-type {
  font-size: 11px; font-weight: 800; letter-spacing: 0.1em;
  border: 1.5px solid var(--dofk-sort); border-radius: 4px;
  padding: 6px 8px; min-width: 52px; text-align: center; flex-shrink: 0;
}
.download-body { display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 0; }
.download-body strong { font-size: 16px; font-weight: 600; }
.download-desc { font-size: 14px; line-height: 1.5; color: rgba(28,28,27,0.75); }
.download-meta { font-size: 12px; letter-spacing: 0.04em; color: rgba(28,28,27,0.55); }
.download-action { font-size: 13px; font-weight: 700; color: var(--dofk-cta); flex-shrink: 0; }
@media (max-width: 600px) {
  .download-item { flex-wrap: wrap; gap: 12px; }
  .download-action { margin-left: auto; }
}

/* ===== Events-side (CMS) — gammelt Events-layout ===== */
.events-page .subpage-main { max-width: 100%; }
.events-section { margin-bottom: 80px; }
.events-section:last-child { margin-bottom: 0; }
.events-section .section-heading {
  font-family: var(--font-display); font-weight: 400;
  font-size: clamp(25px, 3.06vw, 38px); line-height: 1.05;
  letter-spacing: 0.005em; text-transform: uppercase;
  margin: 0 0 20px; padding-bottom: 18px;
  border-bottom: 1px solid var(--kant); color: var(--dofk-sort);
}
.fremhaev-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 4px 0 0; }
.fremhaev-kort {
  display: flex; flex-direction: column; border: 1px solid var(--kant);
  overflow: hidden; background: var(--hvid); color: inherit;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.fremhaev-kort:hover { transform: translateY(-2px); box-shadow: 0 4px 16px rgba(28,28,27,0.08); }
.fremhaev-foto { aspect-ratio: 4/3; background-size: cover; background-position: center; background-color: rgba(28,28,27,0.06); }
.fremhaev-body { padding: 18px 22px 22px; display: flex; flex-direction: column; gap: 6px; }
.fremhaev-body .kategori {
  font-weight: 800; font-size: 11px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--dofk-cta);
}
.fremhaev-body .kategori::before { content: "#"; }
.fremhaev-body h3 { font-weight: 800; font-size: 19px; line-height: 1.3; margin: 4px 0 6px; color: var(--dofk-sort); }
.fremhaev-body .meta { display: flex; flex-wrap: wrap; gap: 14px; font-size: 13px; font-weight: 500; color: rgba(28,28,27,0.7); margin-bottom: 4px; }
.fremhaev-body .meta span { display: inline-flex; align-items: center; gap: 6px; }
.fremhaev-body p { font-size: 16px; line-height: 1.7; margin: 0; color: rgba(28,28,27,0.85); font-weight: 300; }

.maaned-blok { margin-bottom: 48px; }
.maaned-blok:last-child { margin-bottom: 0; }
.maaned-overskrift {
  font-weight: 800; font-size: 13px; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--dofk-sort);
  margin: 0 0 4px; padding-bottom: 14px; border-bottom: 2px solid var(--dofk-sort);
}
.begivenheder-list { list-style: none; margin: 0; padding: 0; }
.begivenheder-list li {
  display: grid; grid-template-columns: 104px minmax(0,1fr) minmax(120px,150px); gap: 20px;
  padding: 22px 0; border-bottom: 1px solid var(--kant); align-items: start;
}
.begivenhed-dato { display: flex; flex-direction: column; gap: 2px; }
.begivenhed-dato .dag-md { font-weight: 800; font-size: 16px; color: var(--dofk-sort); font-variant-numeric: tabular-nums; }
.begivenhed-dato .ar { font-size: 12px; font-weight: 500; color: rgba(28,28,27,0.6); }
.begivenhed-info { min-width: 0; }
.begivenhed-info .kategori {
  font-weight: 800; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--dofk-cta); margin-bottom: 4px; display: inline-block;
}
.begivenhed-info .kategori::before { content: "#"; }
.begivenhed-info h3 { font-weight: 800; font-size: 18px; line-height: 1.3; margin: 0 0 6px; }
.begivenhed-info h3 a { color: var(--dofk-sort); }
.begivenhed-info h3 a:hover { color: var(--dofk-cta); }
.begivenhed-info p { font-size: 16px; line-height: 1.7; margin: 0; color: rgba(28,28,27,0.85); max-width: none; font-weight: 300; }
.begivenhed-sted {
  display: inline-flex; align-items: flex-start; gap: 8px; font-size: 13px;
  font-weight: 500; color: rgba(28,28,27,0.7); line-height: 1.4; padding-top: 18px;
}
.begivenhed-sted svg { width: 14px; height: 14px; stroke: currentColor; stroke-width: 1.8; fill: none; stroke-linecap: round; stroke-linejoin: round; color: var(--dofk-cta); flex-shrink: 0; margin-top: 2px; }
.begivenheder-list li.gammel .begivenhed-dato .dag-md,
.begivenheder-list li.gammel .begivenhed-info h3 a { color: rgba(28,28,27,0.5); }
@media (max-width: 900px) {
  .fremhaev-grid { grid-template-columns: 1fr; }
  .begivenheder-list li { grid-template-columns: 1fr; gap: 8px; }
  .begivenhed-sted { padding-top: 0; }
}

/* ===== CMS-undersider — brødtekst (fælles) ===== */
.subpage-section { margin-bottom: 36px; }
.subpage-section:last-child { margin-bottom: 0; }
/* En sektion der kun indeholder en overskrift skal ligge tæt på teksten under */
.subpage-section:has(> .section-heading:only-child) { margin-bottom: 20px; margin-top: 48px; }
.subpage-section:first-child { margin-top: 0; }
.subpage-section .section-heading {
  font-family: var(--font-display); font-weight: 400;
  font-size: clamp(25px, 3.06vw, 38px); line-height: 1.05;
  letter-spacing: 0.005em; text-transform: uppercase;
  margin: 0 0 20px; padding-bottom: 14px;
  border-bottom: 1px solid var(--kant); color: var(--dofk-sort);
}
.subpage-main > div > p:last-child, .subpage-section p:last-child { margin-bottom: 0; }
.subpage-main p {
  font-size: 16px; line-height: 1.7; margin: 0 0 18px;
  max-width: 62ch; font-weight: 300; color: var(--dofk-sort);
}
/* Brødtekst fra CMS-blokke uden <p> (fx feature_grid) skal matche øvrig brødtekst */
.subpage-main .kerneopgave > div,
.subpage-main .medlemspromo > div {
  font-size: 16px; line-height: 1.7; max-width: 62ch;
  font-weight: 300; color: var(--dofk-sort);
}

.subpage-main h2 {
  font-family: var(--font-body); font-weight: 700;
  font-size: 22px; line-height: 1.25; margin: 40px 0 14px; color: var(--dofk-sort);
}
.subpage-main h3 {
  font-family: var(--font-body); font-weight: 700;
  font-size: 18px; line-height: 1.3; margin: 28px 0 10px; color: var(--dofk-sort);
}
.subpage-main ul, .subpage-main ol { padding-left: 24px; margin: 0 0 20px; max-width: 62ch; }
.subpage-main ul.begivenheder-list { padding-left: 0; max-width: none; }
.subpage-main .begivenhed-info p { max-width: none; }
.subpage-main li { margin-bottom: 8px; line-height: 1.7; font-weight: 300; font-size: 16px; }
.subpage-main strong { font-weight: 700; }
.subpage-main a:not(.btn):not(.read-more) {
  color: var(--dofk-cta-blaa, var(--dofk-cta));
  border-bottom: 1px solid currentColor; padding-bottom: 1px;
  text-decoration: none;
  transition: color 0.15s, border-color 0.15s;
}
.subpage-main a:not(.btn):not(.read-more):hover { color: var(--dofk-sort); }

/* Kontaktoplysninger (mail/telefon) — ingen blå streger eller blå tekst */
.subpage-main a[href^="mailto:"]:not(.btn):not(.read-more),
.subpage-main a[href^="tel:"]:not(.btn):not(.read-more),
.person-kontakt a:not(.btn):not(.read-more),
.widget a[href^="mailto:"]:not(.btn):not(.read-more),
.widget a[href^="tel:"]:not(.btn):not(.read-more) {
  color: var(--dofk-sort) !important;
  border-bottom: 0 !important;
  text-decoration: none !important;
  padding-bottom: 0;
}
.subpage-main a[href^="mailto:"]:hover,
.subpage-main a[href^="tel:"]:hover,
.person-kontakt a:hover,
.widget a[href^="mailto:"]:not(.read-more):hover,
.widget a[href^="tel:"]:not(.read-more):hover { color: var(--dofk-cta); }

/* CTA-banner i CMS-undersider — luft over knappen */
.medlemspromo { margin-top: 8px; }
.medlemspromo p:last-of-type { margin-bottom: 0; }
.medlemspromo .btn { margin-top: 24px; }

/* Generel regel: knapper skal altid have luft over og under */
.dofk-page .btn,
.widget .btn,
.page-content .btn { margin-top: 20px; margin-bottom: 8px; }
.widget p:last-of-type { margin-bottom: 0; }
/* read-more i widgets skal også have luft over — og aldrig løbe ud over kanten */
.widget .read-more { margin-top: 20px; max-width: 100%; }
.widget p + .read-more { margin-top: 20px; }

/* Links i sidebar-widgets skal altid være læsbare (mørk tekst) */
.widget .read-more,
.widget-blaa .read-more,
.widget-cta .read-more { color: var(--sort, #111); }

/* Punktopstillinger: altid pink markører */
.dofk-page ul,
.page-content ul,
.artikel-body ul,
.prose ul {
  list-style: none;
  padding-left: 1.4em;
}
.dofk-page ul > li,
.page-content ul > li,
.artikel-body ul > li,
.prose ul > li {
  position: relative;
  margin-bottom: 8px;
}
.dofk-page ul > li::before,
.page-content ul > li::before,
.artikel-body ul > li::before,
.prose ul > li::before {
  content: "";
  position: absolute;
  left: -1.1em;
  top: 0.62em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--dofk-cta, #E5007D);
}
.dofk-page ol,
.page-content ol,
.artikel-body ol,
.prose ol {
  list-style: none;
  counter-reset: dofk-li;
  padding-left: 1.6em;
}
.dofk-page ol > li,
.page-content ol > li,
.artikel-body ol > li,
.prose ol > li {
  position: relative;
  margin-bottom: 8px;
  counter-increment: dofk-li;
}
.dofk-page ol > li::before,
.page-content ol > li::before,
.artikel-body ol > li::before,
.prose ol > li::before {
  content: counter(dofk-li) ".";
  position: absolute;
  left: -1.4em;
  color: var(--dofk-cta, #E5007D);
  font-weight: 700;
}
/* Undtag navigation/lister uden punkter */
.dofk-page nav ul > li::before,
.page-content nav ul > li::before,
.dofk-page ul.no-bullets > li::before,
.page-content ul.no-bullets > li::before { content: none; }

/* Ensartet luft under manchet (lede) på alle undersider */
.subpage-main p.lede,
.subpage-main div > p.lede,
.subpage-main section p.lede { margin-bottom: 40px !important; }

/* ---- Laug-oversigt ---- */
.laug-liste {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 14px;
}
.laug-kort {
  border: 1px solid var(--dofk-linje, rgba(28,28,27,0.12));
  padding: 16px 18px;
  background: #fff;
}
.laug-kort a { color: inherit; text-decoration: underline; }
.laug-kort a:hover { color: var(--dofk-blaa, #2F47F7); }
