/*
Theme Name: PlusPenge
Author: PlusPenge Redaktion
Description: Redaktionelt tema til PlusPenge — optimeret til læsning på mobil.
Version: 1.2.1
License: GNU General Public License v2 or later
Text Domain: meridian
Tags: blog, custom-logo, editor-style, featured-images, post-thumbnails, threaded-comments
*/

/* ═══════════════════════════════════════════════════════════════════════
   LEDGER — opslagsværk. INGEN sidepanel.
   Tynd topbjælke, indholdet i én centreret kolonne, og tabeller/moduler
   der bryder ud i fuld bredde. Tallene sættes i ensbredde-cifre, så
   kolonner flugter. Bygget til koncepter hvor data bærer og billeder er
   sekundære.
   ═══════════════════════════════════════════════════════════════════════ */

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

:root {
  --paper:  #fcfbf8;
  --paper2: #f2efe9;
  --ink:    #14130f;
  --ink2:   #383530;
  --muted:  #726d64;
  --muted2: #a29b90;
  --rule:   #ddd8cd;
  --rule2:  #c4bcae;
  --accent: #c9184a;
  --plus:   #1f7a4d;
  --minus:  #a63a2b;

  --display: 'Space Grotesk', 'Helvetica Neue', Arial, sans-serif;
  --serif:   'Iowan Old Style', Charter, Georgia, serif;
  --ui:      -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;

  --max:     1160px;      /* bred zone: tabeller og moduler */
  --measure: 700px;       /* læsezone: brødtekst */
  --pad:     clamp(1rem, 4vw, 2.5rem);
}

html { font-size: 17px; -webkit-text-size-adjust: 100%; }
body { background: var(--paper); color: var(--ink); font-family: var(--ui);
       line-height: 1.6; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }

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

.kicker, .card-label, .post-section-tag, .section-kicker, .related-label, .widget-title {
  font-family: var(--ui); font-size: .64rem; font-weight: 700;
  letter-spacing: .17em; text-transform: uppercase;
}

/* ── Tynd topbjælke ───────────────────────────────────────────────── */
.site-header { border-bottom: 1px solid var(--ink); background: var(--paper);
               position: sticky; top: 0; z-index: 40; }
/* To rækker: navn og servicelinks øverst, sektioner nedenunder. Danske
   kategorinavne er lange, og på én række brækkede menuen rundt om logoet. */
.masthead-inner { max-width: var(--max); margin: 0 auto; padding: .55rem var(--pad) 0;
  display: flex; align-items: baseline; gap: 1rem; }
.main-nav { flex-basis: 100%; }
.main-nav ul { border-top: 1px solid var(--rule); margin-top: .5rem;
  padding: .5rem 0 .55rem; overflow-x: auto; flex-wrap: nowrap;
  scrollbar-width: none; }
.main-nav ul::-webkit-scrollbar { display: none; }
.site-logo { display: flex; align-items: baseline; gap: .4rem; flex: none; }
.site-mark { display: none; }
.logo-text { font-family: var(--display); font-weight: 800;
  font-size: clamp(1.05rem, 2vw, 1.42rem); letter-spacing: -.035em; }
.logo-text span { color: var(--accent); }

.main-nav ul { list-style: none; display: flex; flex-wrap: wrap;
  gap: clamp(.7rem, 2vw, 1.7rem); padding: 0; margin: 0; }
.main-nav a { font-family: var(--ui); font-size: .7rem; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase; color: var(--ink2);
  padding-bottom: 2px; border-bottom: 1px solid transparent; white-space: nowrap; }
.main-nav a:hover { color: var(--accent); border-bottom-color: var(--accent); }
.masthead-side { display: flex; gap: .8rem; flex: none; }
.masthead-side a { font-family: var(--ui); font-size: .66rem; letter-spacing: .12em;
  text-transform: uppercase; color: var(--muted); }
.masthead-side a:hover { color: var(--accent); }
.hamburger { display: none; background: none; border: 0; cursor: pointer;
  flex-direction: column; gap: 4px; padding: .3rem; }
.hamburger span { display: block; width: 20px; height: 1.5px; background: var(--ink); }

/* ── Forside ──────────────────────────────────────────────────────── */
.k-intro { padding: clamp(1.8rem,4vw,3.2rem) 0 clamp(1.2rem,2.5vw,1.8rem);
           border-bottom: 2px solid var(--ink); }
.site-premise { font-family: var(--display); font-size: clamp(1.5rem,3.4vw,2.7rem);
  font-weight: 800; letter-spacing: -.035em; line-height: 1.06; max-width: 26ch; }
.k-om { font-family: var(--serif); font-size: 1.02rem; color: var(--muted);
  margin-top: .7rem; max-width: 62ch; line-height: 1.55; }

.panel-block { padding: clamp(1.5rem,3vw,2.4rem) 0; border-bottom: 1px solid var(--rule); }
.block-label { display: flex; align-items: baseline; gap: .75rem; margin-bottom: 1.1rem;
  font-family: var(--ui); font-size: .64rem; font-weight: 700;
  letter-spacing: .17em; text-transform: uppercase; }
.k-nr { color: var(--muted2); font-variant-numeric: tabular-nums; }

.listing-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.listing-table thead th { font-family: var(--ui); font-size: .6rem; font-weight: 700;
  letter-spacing: .15em; text-transform: uppercase; color: var(--muted);
  text-align: left; padding: .4rem .5rem; border-bottom: 2px solid var(--ink); }
.listing-table td { padding: .55rem .5rem; border-bottom: 1px solid var(--rule); vertical-align: baseline; }
.listing-table tbody tr:hover td { background: var(--paper2); }
.listing-table td a { font-family: var(--display); font-weight: 600; letter-spacing: -.015em; }
.listing-table td a:hover { color: var(--accent); }
.row-area { font-family: var(--ui); font-size: .72rem; color: var(--muted); white-space: nowrap; }
.k-h { text-align: right; font-family: var(--ui); font-size: .72rem; color: var(--muted); white-space: nowrap; }

.area-grid { display: grid; gap: 1px; background: var(--rule);
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); }
.k-felt { background: var(--paper); padding: 1rem; display: flex;
  align-items: baseline; justify-content: space-between; gap: .5rem; }
.k-felt:hover { background: var(--paper2); }
.area-name { font-family: var(--display); font-weight: 700; letter-spacing: -.02em; }
.subject-count { font-family: var(--ui); font-size: .7rem; color: var(--muted2); font-variant-numeric: tabular-nums; }

.k-liste { display: grid; gap: 1.3rem;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.index-item { border-top: 1px solid var(--rule); padding-top: .65rem; }
.panel-item-top { display: flex; justify-content: space-between; gap: .5rem; align-items: baseline; }
.k-post-dato { font-family: var(--ui); font-size: .64rem; color: var(--muted2); font-variant-numeric: tabular-nums; }
.index-item-title { font-family: var(--display); font-size: 1.1rem; font-weight: 700;
  letter-spacing: -.025em; line-height: 1.2; margin: .3rem 0 .25rem; }
.index-item-title a:hover { color: var(--accent); }
.front-item-dek { font-family: var(--serif); font-size: .91rem; line-height: 1.5; color: var(--muted); }

/* ── Artikel: centreret læsezone, moduler bryder ud ───────────────── */
.article-head { padding: clamp(1.8rem,4vw,3rem) 0 0; }
.post-section-tag { color: var(--accent); }
.story-title { font-family: var(--display); font-weight: 800;
  font-size: clamp(1.8rem, 3.8vw, 2.9rem); line-height: 1.05; letter-spacing: -.038em;
  margin: .45rem 0 .7rem; }
.post-standfirst { font-family: var(--serif); font-size: 1.16rem; line-height: 1.55; color: var(--ink2); }
.meta-row { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem;
  font-family: var(--ui); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase;
  color: var(--muted); padding: .9rem 0; border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule); margin-top: 1.1rem; }
.writer-chip { display: inline-flex; align-items: center; gap: .45rem; }
.contributor-avatar, .avatar-initials { border-radius: 50%; flex: none; }
.writer-name { color: var(--ink); font-weight: 600; }
.sep-dot { color: var(--rule2); }

/* Indholdsfortegnelse: kompakt boks i læsezonen, ikke et sidepanel. */
.index-box { border-left: 2px solid var(--ink); background: var(--paper2);
  padding: .9rem 1.1rem; margin: 1.6rem 0; }
.toc-heading { display: block; font-family: var(--ui); font-size: .6rem;
  font-weight: 700; letter-spacing: .17em; text-transform: uppercase;
  color: var(--muted); margin-bottom: .45rem; }
.index-box ol { list-style: none; padding: 0; margin: 0; counter-reset: toc;
  columns: 2; column-gap: 1.6rem; }
.index-box li { counter-increment: toc; break-inside: avoid; }
.index-box a { display: grid; grid-template-columns: 1.5rem 1fr; gap: .25rem;
  padding: .2rem 0; font-size: .86rem; line-height: 1.3; }
.index-box a::before { content: counter(toc, decimal-leading-zero);
  color: var(--muted2); font-variant-numeric: tabular-nums; font-size: .74rem; }
.index-box a:hover { color: var(--accent); }
@media (max-width: 620px) { .index-box ol { columns: 1; } }

.story-body { padding: 1.4rem 0 clamp(2rem,4vw,3rem); }
.story-body > * { margin-bottom: 1.05rem; }
.story-body p { font-family: var(--serif); font-size: 1.1rem; line-height: 1.72; color: var(--ink2); }
.story-body h2 { font-family: var(--display); font-size: clamp(1.28rem,2.3vw,1.7rem);
  font-weight: 800; letter-spacing: -.03em; margin: 2.1rem 0 .55rem;
  padding-top: .8rem; border-top: 1px solid var(--rule); }
.story-body h3 { font-family: var(--display); font-size: 1.14rem; font-weight: 700;
  letter-spacing: -.02em; margin: 1.5rem 0 .4rem; }
.story-body a { color: var(--accent); border-bottom: 1px solid rgba(0,0,0,.16); }
.story-body ul, .story-body ol { font-family: var(--serif); font-size: 1.05rem;
  line-height: 1.68; color: var(--ink2); padding-left: 1.3em; }
.story-body blockquote { border-left: 2px solid var(--accent); padding-left: 1.1rem;
  margin: 1.6rem 0; font-family: var(--display); font-size: 1.22rem; letter-spacing: -.025em; }

/* Tabeller og koncept-moduler bryder UD af læsezonen. */
.story-body table, .konceptmodul {
  width: min(var(--max), calc(100vw - 2 * var(--pad)));
  margin-left: 50%; transform: translateX(-50%);
}
.story-body table { border-collapse: collapse; font-variant-numeric: tabular-nums;
  font-family: var(--ui); font-size: .94rem; margin-top: 1.4rem; margin-bottom: 1.4rem; }
.story-body th, .story-body td { padding: .55rem .7rem; border-bottom: 1px solid var(--rule); text-align: left; }
.story-body th { font-size: .62rem; letter-spacing: .15em; text-transform: uppercase; color: var(--muted); border-bottom: 2px solid var(--ink); }
.story-body td:not(:first-child), .story-body th:not(:first-child) { text-align: right; }

.takeaways { background: var(--paper2); border-left: 2px solid var(--ink);
  padding: 1.1rem 1.2rem; margin: 1.7rem 0; }
.takeaways h3 { margin-top: 0; font-family: var(--ui); font-size: .62rem;
  letter-spacing: .17em; text-transform: uppercase; }

.author-box { display: flex; gap: 1rem; border-top: 1px solid var(--ink); padding: 1.2rem 0; }
.author-box p { font-family: var(--serif); font-size: .93rem; color: var(--muted); }

.related-posts { border-top: 2px solid var(--ink); padding: clamp(1.5rem,3vw,2.3rem) 0; }
.related-label { display: block; margin-bottom: 1rem; }
.related-row { display: grid; gap: 1.3rem;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); }
.card-headline { font-family: var(--display); font-size: 1.02rem; font-weight: 700; letter-spacing: -.02em; }
.post-card-image img { width: 100%; aspect-ratio: 4/3; object-fit: cover; margin-bottom: .6rem; }
.post-tile-meta { font-family: var(--ui); font-size: .66rem; color: var(--muted); letter-spacing: .08em; text-transform: uppercase; }

.archive-hero { padding: clamp(1.8rem,4vw,2.8rem) 0 1.2rem; border-bottom: 2px solid var(--ink); margin-bottom: 1.4rem; }
.archive-hero h1 { font-family: var(--display); font-size: clamp(1.7rem,3.4vw,2.6rem);
  font-weight: 800; letter-spacing: -.035em; line-height: 1.05; }

/* ── Nyhedsbrev / footer / cookie ─────────────────────────────────── */
.newsletter-box { border-top: 2px solid var(--ink); padding: clamp(1.5rem,3vw,2.2rem) 0; }
.newsletter-box h3 { font-family: var(--display); font-size: 1.4rem; font-weight: 800; letter-spacing: -.03em; }
.newsletter-box p { font-family: var(--serif); color: var(--muted); margin: .35rem 0 .8rem; max-width: 46ch; }
.nl-form { display: flex; gap: .5rem; flex-wrap: wrap; max-width: 420px; }
.nl-form input { flex: 1 1 190px; padding: .62rem .75rem; font: inherit; font-size: .9rem;
  border: 1px solid var(--rule2); background: transparent; color: var(--ink); }
.nl-form button { padding: .62rem 1rem; font-family: var(--ui); font-size: .64rem;
  font-weight: 700; letter-spacing: .14em; text-transform: uppercase; cursor: pointer;
  background: var(--ink); color: var(--paper); border: 1px solid var(--ink); }
.nl-form button:hover { background: var(--accent); border-color: var(--accent); }

.site-footer { border-top: 1px solid var(--ink); padding: 1.3rem 0 2rem;
  font-family: var(--ui); font-size: .66rem; letter-spacing: .08em;
  text-transform: uppercase; color: var(--muted); }
.footer-layout { display: flex; flex-wrap: wrap; gap: 1.2rem; justify-content: space-between; }
.footer-group ul { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .9rem; }
.footer-group a:hover { color: var(--accent); }
.footer-legal { margin-top: .9rem; }

.cookie-banner { position: fixed; inset: auto 0 0 0; z-index: 60; background: var(--ink);
  color: var(--paper); transform: translateY(100%); transition: transform .35s ease; }
.cookie-banner.show { transform: translateY(0); }
.cookie-inner { max-width: var(--max); margin: 0 auto; padding: .85rem var(--pad);
  display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; font-size: .82rem; }
.cookie-inner p { flex: 1 1 240px; }
.cookie-btns { display: flex; gap: .5rem; }
.cookie-accept, .gdpr-minimal { padding: .42rem .85rem; font-family: var(--ui);
  font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  cursor: pointer; border: 1px solid var(--paper); }
.cookie-accept { background: var(--paper); color: var(--ink); }
.gdpr-minimal { background: transparent; color: var(--paper); }

.pagination { display: flex; gap: .4rem; padding: 1.5rem 0; font-family: var(--ui); }
.pagination .page-numbers { padding: .4rem .7rem; border: 1px solid var(--rule2); font-size: .8rem; }
.pagination .current { background: var(--ink); color: var(--paper); border-color: var(--ink); }

@media (max-width: 820px) {
  .masthead-inner { flex-wrap: wrap; }
  .hamburger { display: flex; margin-left: auto; }
  .main-nav { display: none; flex-basis: 100%; }
  .main-nav.open { display: block; }
  .main-nav ul { flex-direction: column; gap: 0; }
  .main-nav li { border-top: 1px solid var(--rule); }
  .main-nav a { display: block; padding: .6rem 0; }
  .masthead-side { display: none; }
  .story-body table, .konceptmodul { width: 100%; margin-left: 0; transform: none; }
}
@media print { .site-header, .cookie-banner, .newsletter-box, .related-posts { display: none; } }


/* ── Værktøjer (beregnere og tjeklister) ──────────────────────────── */


.vt{border-top:2px solid currentColor;padding:1.2rem 0 1.6rem;margin:0 0 1.4rem}
.vt-navn{font-size:1.25rem;font-weight:800;letter-spacing:-.02em;margin:0 0 .2rem}
.vt-om{opacity:.7;margin:0 0 1rem;font-size:.96rem}
.vt-felter{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:1.1rem}
.vt-felt{display:flex;flex-direction:column;gap:.25rem;font-size:.78rem;letter-spacing:.04em;opacity:.85}
.vt-felt input{padding:.5rem .6rem;font:inherit;font-size:.98rem;border:1px solid rgba(128,128,128,.42);
  background:transparent;color:inherit;font-variant-numeric:tabular-nums;width:100%}
.vt-felt input:focus{outline:2px solid currentColor;outline-offset:-1px}
.vt-resultater{display:grid;gap:1px;background:rgba(128,128,128,.28);
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.vt-res{background:rgba(128,128,128,.07);padding:.7rem .8rem;display:flex;flex-direction:column;gap:.1rem}
.vt-res-navn{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;opacity:.6}
.vt-res-tal{font-size:1.45rem;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.1}
.vt-res-enhed{font-size:.7rem;opacity:.6}
.vt-note{font-size:.82rem;opacity:.6;margin-top:.8rem;font-style:italic}
.vt-punkter{list-style:none;padding:0;margin:0;counter-reset:vt}
.vt-punkter li{counter-increment:vt;border-bottom:1px solid rgba(128,128,128,.22)}
.vt-punkter label{display:grid;grid-template-columns:auto 1.7rem 1fr;gap:.5rem;align-items:start;
  padding:.6rem 0;cursor:pointer;font-size:.95rem}
.vt-punkter label::after{content:counter(vt,decimal-leading-zero);grid-column:2;order:-1;
  opacity:.4;font-size:.78rem;font-variant-numeric:tabular-nums}
.vt-punkter input{margin-top:.25rem;order:-2}
.vt-punkter input:checked + span{opacity:.5;text-decoration:line-through}

.vt-alle{padding:1rem 0 2rem}
.vt-intro{margin-bottom:1.4rem}


/* "Minimale billeder" betyder SMÅ billeder, ikke ingen. En side helt uden
   billeder virker uafsluttet frem for stram. Listeindslag får et lille
   billede; tabellen og læsezonen forbliver rene. */
.index-item { display: grid; grid-template-columns: 88px 1fr; gap: .9rem; align-items: start; }
.entry-item-fig { grid-row: 1 / span 3; }
.entry-item-fig img { width: 88px; height: 66px; object-fit: cover; }
.index-item:not(:has(.entry-item-fig)) { grid-template-columns: 1fr; }
@media (max-width: 560px) { .index-item { grid-template-columns: 68px 1fr; } .entry-item-fig img { width: 68px; height: 52px; } }

/* ── Topbjælken, endelig ──────────────────────────────────────────────
   Menuen brækkede rundt om logoet. To fejl: containeren havde
   flex-wrap:nowrap, så flex-basis:100% ikke kunne skubbe menuen ned; og
   min regel stod FØR basens .main-nav ul og blev overskrevet. Derfor
   står korrektionen sidst i filen. */
.site-header .masthead-inner { flex-wrap: wrap; align-items: baseline; }
.site-header .main-nav { flex: 0 0 100%; order: 3; }
.site-header .main-nav ul {
  flex-wrap: nowrap;
  overflow-x: auto;
  border-top: 1px solid var(--rule);
  margin-top: .45rem;
  padding: .5rem 0 .55rem;
  gap: clamp(.8rem, 2vw, 1.6rem);
}
.site-header .masthead-side { margin-left: auto; order: 2; }
.site-header .site-logo { order: 1; }
@media (max-width: 820px) {
  .site-header .main-nav { display: none; }
  .site-header .main-nav.open { display: block; }
}

/* Navnet skal være et ordmærke, ikke en farvet klods. deploy.py's
   logo-varianter (boxed, pill, badge, gradient) sætter accentfarven som
   BAGGRUND — med en lys accent bliver sitenavnet til en cyan eller orange
   kasse, og det ligner alt andet end et medie. */
.site-header .site-logo > span,
.site-header .site-logo > span > span {
  background: none !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  -webkit-text-fill-color: currentColor;
}
.site-header .site-logo .site-mark { display: none !important; }

/* ── Fejl fundet i mobil-audit ─────────────────────────────────────────
   1. Tabellen var 412px bred i et 375px vindue → hele siden kunne scrolles
      vandret. Den skal rulle i sin egen boks, ikke skubbe layoutet.
   2. Metatekst havde kontrast 2,63:1 mod papiret — under WCAG AA (4,5:1).
   3. 14 klikmål var under 40px høje. */
.panel-block, .k-sek-tabel { overflow-x: auto; }
.listing-table { min-width: 100%; }
@media (max-width: 700px) {
  .listing-table { display: block; overflow-x: auto; white-space: nowrap; }
  .listing-table td:first-child { white-space: normal; min-width: 15rem; }
  .row-area { display: none; }
}
:root { --muted2: #6f6a60; }         /* var #a29b90 — for lys til tekst */
.k-post-dato, .subject-count, .k-nr { color: var(--muted); }
@media (max-width: 820px) {
  .site-header .main-nav a { padding: .8rem 0; }
  .footer-group a, .masthead-side a { display: inline-block; padding: .5rem 0; }
}

/* Afdæmpet billede: samme bredde som teksten, ikke et helsides opslag.
   Passer til koncepter hvor tallene bærer og billedet kun understøtter. */
.article-media.afdaempet img { aspect-ratio: 16/9; object-fit: cover; }
.article-media.afdaempet { margin: 1.4rem auto; }

/* Monogram-varianten sætter forbogstavet FORAN navnet: "P PlusPenge",
   "A Abyym". På en lille header giver mærket mening; i et masthead hvor
   navnet står fuldt ud, læses det som en tastefejl. */
.site-header .site-logo [class*="mono-initial"],
.site-header .site-logo [class*="logo-initial"] { display: none !important; }

/* ── Forside: tre rytmer, ikke seks ens sektioner ────────────────────
   Kritikken var berettiget: ens behandling af alt gav ingen hierarki, og
   30 ords præmis som overskrift blev en mur. Her er ét dominerende
   element, dernæst et fladt gitter, og til sidst et kompakt register.
   Versaletiketter er skåret ned til dér hvor de bærer mening. */

.front-top { padding: clamp(3rem, 8vw, 6.5rem) 0 clamp(2rem, 5vw, 3.5rem); }
.top-strap {
  font-family: var(--display); font-weight: 800;
  font-size: clamp(2.4rem, 6.5vw, 5rem); line-height: .98;
  letter-spacing: -.045em; max-width: 16ch;
}
.front-premise {
  font-family: var(--serif); font-size: clamp(1.02rem, 1.5vw, 1.22rem);
  line-height: 1.55; color: var(--muted); max-width: 56ch; margin-top: 1.3rem;
}

/* Kategori-etiket: det ENESTE sted versaler bruges på forsiden. */
.item-cat { font-family: var(--ui); font-size: .66rem; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase; color: var(--accent);
  display: inline-block; margin-bottom: .5rem; }
.story-meta { font-family: var(--ui); font-size: .78rem; color: var(--muted); margin-top: .7rem; }

/* 1. Hovedhistorie */
.lead-block { border-top: 2px solid var(--ink); padding: clamp(2rem,4vw,3.2rem) 0; }
.lead-block .wrap { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(0,1fr);
  gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
.primary-title { font-family: var(--display); font-weight: 800;
  font-size: clamp(1.9rem, 4.2vw, 3.2rem); line-height: 1.04; letter-spacing: -.04em;
  margin-bottom: .8rem; }
.primary-title a:hover { color: var(--accent); }
.primary-dek { font-family: var(--serif); font-size: 1.14rem; line-height: 1.6;
  color: var(--ink2); max-width: 52ch; }
.lg-sekundaere { display: grid; gap: 1.6rem; align-content: start; }
.support-item { border-top: 1px solid var(--rule); padding-top: 1rem; }
.support-item:first-child { border-top: 0; padding-top: 0; }
.aside-item-title { font-family: var(--display); font-weight: 700; font-size: 1.16rem;
  line-height: 1.22; letter-spacing: -.025em; margin-bottom: .35rem; }
.aside-item-title a:hover { color: var(--accent); }
.minor-dek { font-family: var(--serif); font-size: .95rem; line-height: 1.5; color: var(--muted); }

/* Sektionsoverskrift: almindelig og læselig, ikke mikro-versaler. */
.group-heading { font-family: var(--display); font-weight: 700;
  font-size: clamp(1.15rem, 2vw, 1.5rem); letter-spacing: -.025em;
  padding-bottom: .7rem; border-bottom: 1px solid var(--ink); margin-bottom: 1.8rem; }

/* 2. Udvalg */
.lg-udvalg { padding: clamp(2rem,4vw,3.4rem) 0; border-top: 1px solid var(--rule); }
.block-row { display: grid; gap: clamp(1.6rem, 3vw, 2.6rem);
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 290px), 1fr)); }
.card-item-title { font-family: var(--display); font-weight: 700; font-size: 1.3rem;
  line-height: 1.18; letter-spacing: -.028em; margin-bottom: .45rem; }
.card-item-title a:hover { color: var(--accent); }
.unit-dek { font-family: var(--serif); font-size: .98rem; line-height: 1.55; color: var(--muted); }

/* 3. Register */
.roster-block { padding: clamp(2rem,4vw,3.4rem) 0 clamp(2rem,4vw,3rem); border-top: 1px solid var(--rule); }
.register-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
  column-gap: clamp(2rem,4vw,3.5rem); }
.roster-row { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem;
  padding: .62rem 0; border-bottom: 1px solid var(--rule); }
.roster-row:hover .register-title { color: var(--accent); }
.register-title { font-family: var(--display); font-weight: 500; font-size: .98rem; line-height: 1.3; }
.register-area { font-family: var(--ui); font-size: .72rem; color: var(--muted2); white-space: nowrap; }

@media (max-width: 860px) {
  .lead-block .wrap { grid-template-columns: 1fr; }
  .lg-sekundaere { border-top: 1px solid var(--ink); padding-top: 1.2rem; }
}
@media (max-width: 560px) { .register-area { display: none; } }

/* Billeder: understøttende, ikke fraværende. Hovedhistorien bærer ét
   billede; kortene får et lille. Registret forbliver rent tekst, så
   sidens rytme stadig går fra billede → tekst → register. */
.lg-stor-fig { display: block; margin-bottom: 1.1rem; overflow: hidden; }
.lg-stor-fig img { width: 100%; aspect-ratio: 16/9; object-fit: cover;
  transition: transform .5s cubic-bezier(.2,.6,.2,1); }
.lg-stor-fig:hover img { transform: scale(1.03); }
.card-item-fig { display: block; margin-bottom: .8rem; overflow: hidden; }
.card-item-fig img { width: 100%; aspect-ratio: 3/2; object-fit: cover; }

/* SKIN: Mono — tal og etiketter i ensbredde-skrift, stramt gitter. */
:root { --paper:#fafaf8; --rule:#d8d8d4; }
.listing-table, .k-h, .k-post-dato, .subject-count, .story-body table { font-family: ui-monospace, 'SF Mono', Menlo, monospace; }
.kicker, .card-label, .post-section-tag, .block-label, .main-nav a { font-family: ui-monospace, 'SF Mono', Menlo, monospace; letter-spacing: .1em; }
.listing-table thead th { border-bottom-width: 3px; }

/* LOGO: gradient */
.site-mark { display:none !important; }
.logo-gradient-text { font-size:1.3rem; font-weight:900; letter-spacing:-0.02em; background:linear-gradient(135deg,var(--accent) 0%,var(--accent-dark,var(--accent)) 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
