/* Palet skiftes ved at indlæse palet/P1.css, P2.css eller P3.css FØR dette lag (variabler --p-*). Uden palet bruges v4-værdierne.
   OMNI · Undersider – mørkegrøn Stripe/Apple-stil (www-idé 2)
   Ét fælles lag. Indlæses SIDST på: /home, /typeskilt, ESG, nyheder/medier, API, /design.
   Forsiden bruger det IKKE (kun tokens må genbruges).
   Hero-elementet markeres med class="mg-hero" (eller dækkes af fallback-listen nedenfor).
   Amber (--mg-warn*) kun til advarsler. */
:root{
  --mg-ink:var(--p-ink,#0b1c30); --mg-teal:var(--p-teal,#005c55); --mg-teal-2:var(--p-teal2,#0f766e);
  --mg-grad:var(--p-grad,linear-gradient(160deg,#0b1c30 0%,#0b2f3a 48%,#005c55 100%));
  --mg-on-dark:var(--p-onDark,#f8f9ff); --mg-on-dark-2:var(--p-onDark2,#dce9ff); --mg-accent:var(--p-accent,#8fe3d6);
  --mg-glass:rgba(229,238,255,.10); --mg-glass-line:rgba(229,238,255,.25); --mg-glass-blur:saturate(160%) blur(14px);
  --mg-surface:var(--p-surface,#f8f9ff); --mg-surface-2:var(--p-surface2,#eff4ff); --mg-surface-3:#e5eeff; --mg-line:var(--p-line,#e3e9f4); --mg-line-2:#dce9ff;
  --mg-text:var(--p-text,#0b1c30); --mg-text-2:#3e4947; --mg-mut:var(--p-mut,#575f6d); --mg-blue:#0047bf;
  --mg-warn:#9a6412; --mg-warn-bg:#fef3c7; --mg-warn-line:#f59e0b;
  --mg-bad:#ba1a1a; --mg-bad-bg:#ffdad6;
  --mg-r:18px; --mg-r-sm:12px; --mg-pill:999px;
  --mg-shadow:0 1px 2px rgba(11,28,48,.04),0 12px 28px -18px rgba(11,28,48,.20);
  --mg-sans:"Inter",-apple-system,"SF Pro Text",system-ui,sans-serif;
  --mg-display:"Inter",-apple-system,"SF Pro Display",system-ui,sans-serif;
  /* gamle tokens peges om (fjerner sandtone) */
  --cr:#f8f9ff; --cr2:#eff4ff; --line:#e3e9f4; --gold:#0f766e; --goldbg:#e6f2f0; --navy:#0b1c30; --mut:#575f6d; --focus:#0f766e;
  --lv-bg:#f8f9ff; --lv-bg-2:#f8f9ff; --lv-bg-3:#eff4ff; --lv-surface-2:#eff4ff; --lv-border-2:#dce9ff; --lv-accent-soft:#e6f2f0; --lv-accent-line:rgba(0,92,85,.3);
}
/* ---------- Base ---------- */
html,body{background:var(--mg-surface)!important;color:var(--mg-text)}
body{font-family:var(--mg-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3{font-family:var(--mg-display);letter-spacing:-.025em}
/* ---------- Header på mørk ---------- */
:is(header.hd,header.hh,header.top){background:#0b1c30!important;color:var(--mg-on-dark)!important;border-bottom:1px solid rgba(229,238,255,.12)!important}
:is(header.hd,header.hh,header.top) :is(a,button,span,b,small){color:var(--mg-on-dark-2)!important;border-color:var(--mg-glass-line)!important}
:is(header.hd,header.hh,header.top) :is(.nb,.tilforside,.ud){background:var(--mg-glass)!important;border:1px solid var(--mg-glass-line)!important;color:var(--mg-on-dark)!important}
:is(header.hd,header.hh,header.top) img{filter:brightness(0) invert(1)}
.hnav{background:#0b1c30!important;border-bottom:1px solid rgba(229,238,255,.12)!important}
.hnav a{color:var(--mg-on-dark-2)!important}.hnav a[aria-current],.hnav a.on,.hnav a.akt{color:#fff!important;box-shadow:inset 0 -2px 0 var(--mg-accent)!important}
.demo-bar{background:#06121f!important;color:var(--mg-on-dark-2)!important}
/* ---------- Hero-bande ---------- */
.mg-hero,:is(.ph-hero,.hhero,.dz-intro,.screen.home .hero){position:relative;background:var(--mg-grad)!important;color:var(--mg-on-dark)!important;isolation:isolate}
.mg-hero{padding:72px 0 120px!important;margin:0!important;border:0!important}
.mg-hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(40% 60% at 85% 10%,rgba(143,227,214,.16),transparent 70%),radial-gradient(35% 50% at 10% 0,rgba(0,71,191,.18),transparent 70%)}
/* overgang mørk → lys: blød kurve */
.mg-hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:56px;background:var(--mg-surface);border-radius:28px 28px 0 0;z-index:1}
.mg-hero :is(h1,h2,h3,b,strong){color:var(--mg-on-dark)!important}
.mg-hero :is(p,.lead,li,small,dd,dt,.adr,.ikon-lead){color:var(--mg-on-dark-2)!important}
.mg-hero :is(.kick,.eb,.k,.crumb,.crumb a){color:var(--mg-accent)!important;letter-spacing:.14em}
.mg-hero h1{font-weight:700!important;letter-spacing:-.04em!important;line-height:1.02!important;max-width:16ch}
.mg-hero a:not(.mg-btn):not(.pl-cta):not(.btn):not(.nb){color:var(--mg-accent)!important}
.mg-hero img,.mg-hero picture{border-radius:var(--mg-r)}
.mg-hero :is(.ph,.hhero-f,.phf,.ph-img){border-radius:22px!important;overflow:hidden;box-shadow:0 40px 80px -40px rgba(0,0,0,.6),0 0 0 1px var(--mg-glass-line)!important;-webkit-mask-image:none!important;mask-image:none!important}
.mg-hero :is(.ph,.hhero-f)::after,.mg-hero.hhero::after{background:none}
/* ---------- Knapper ---------- */
.mg-btn,.mg-hero :is(.btn,.nb,.pl-cta,.gr-btn,button[type=submit]){display:inline-flex;align-items:center;gap:8px;background:var(--mg-on-dark)!important;color:var(--mg-teal)!important;border:0!important;border-radius:var(--mg-pill)!important;padding:14px 24px;font-weight:600;text-decoration:none;box-shadow:0 10px 24px -12px rgba(0,0,0,.5)}
.mg-btn--ghost,.mg-hero :is(.btn2,.pl-cta2,.lnk){background:transparent!important;color:var(--mg-on-dark)!important;border:1px solid var(--mg-glass-line)!important;border-radius:var(--mg-pill)!important;padding:13px 22px}
main :is(.btn,.gr-btn,.pl-cta):not(.mg-hero *){background:var(--mg-teal)!important;color:#fff!important;border-radius:var(--mg-pill)!important;border:0!important}
/* ---------- Glaskort (på mørk) ---------- */
.mg-glass,.mg-hero :is(.kort,.card,.pkort,.tile){background:var(--mg-glass)!important;border:1px solid var(--mg-glass-line)!important;border-radius:var(--mg-r)!important;-webkit-backdrop-filter:var(--mg-glass-blur);backdrop-filter:var(--mg-glass-blur);color:var(--mg-on-dark)!important;box-shadow:none!important}
/* ---------- Kort (på lys) ---------- */
.mg-card,main :is(.pl-card,.sag,.pkort,.vvsag,.kort,.rss-k,.mcard,.media-k):not(.mg-hero *){background:#fff!important;border:1px solid var(--mg-line)!important;border-radius:var(--mg-r)!important;box-shadow:var(--mg-shadow)!important}
/* sektioner på lys flade */
main :is(section.s,section.alt,.s.alt,.hs,.hs.alt){background:var(--mg-surface)!important;border-color:var(--mg-line)!important}
main :is(.alt,.s.alt){background:var(--mg-surface-2)!important}
main :is(.kaede,.cta,.cta-s,.mork,.dark){background:var(--mg-grad)!important;color:var(--mg-on-dark)!important;border-radius:24px}
/* ---------- Badges ---------- */
.mg-badge,main :is(.for,.eks,.tag,.badge,.chip){display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;border-radius:var(--mg-pill);padding:3px 10px;background:#e6f2f0;color:var(--mg-teal);border:0}
.mg-badge--dark{background:var(--mg-glass);color:var(--mg-accent);border:1px solid var(--mg-glass-line)}
.mg-hero .api-maerke,.mg-badge--warn,.api-maerke{background:var(--mg-warn-bg)!important;color:#7c2d12!important;border:1px solid var(--mg-warn-line)!important;border-radius:var(--mg-pill)!important;padding:3px 10px!important}
/* ---------- Tabeller og kode (API) ---------- */
.mg-table,main table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--mg-line);border-radius:var(--mg-r-sm);overflow:hidden;font-size:14px}
main th{background:var(--mg-surface-2);color:var(--mg-text);text-align:left;font-weight:600;padding:10px 14px;border-bottom:1px solid var(--mg-line)}
main td{padding:10px 14px;border-bottom:1px solid var(--mg-line);color:var(--mg-text-2)}main tr:last-child td{border-bottom:0}
main :is(pre,.code){background:#0b1c30!important;color:#dce9ff!important;border:1px solid #1d3348;border-radius:var(--mg-r-sm);padding:16px 18px;overflow:auto;font:13px/1.6 "JetBrains Mono",ui-monospace,monospace}
main :not(pre)>code{background:var(--mg-surface-3);color:var(--mg-ink);border-radius:6px;padding:1px 6px;font-size:.9em}
/* ---------- R-ikoner ---------- */
.mg-ico{width:56px;height:56px;border-radius:50%}
.mg-hero .mg-ico,.mg-hero img.i3d{filter:none;background:rgba(248,249,255,.9);border-radius:50%;box-shadow:0 0 0 1px var(--mg-glass-line)}
/* ---------- Advarsel ---------- */
.mg-warn,.warn,.advarsel{background:var(--mg-warn-bg)!important;border:1px solid var(--mg-warn-line)!important;color:#7c2d12!important;border-radius:var(--mg-r-sm)}
/* ---------- Footer ---------- */
footer:is(.hf,.ft,.fo,footer){background:#0b1c30!important;color:var(--mg-on-dark-2)!important}footer a{color:var(--mg-accent)!important}
/* ---------- Mobil ---------- */
@media(max-width:899px){.mg-hero{padding:40px 0 88px!important}.mg-hero h1{font-size:clamp(32px,9vw,44px)!important}.mg-hero::after{height:40px;border-radius:22px 22px 0 0}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
