/* ag-redesign.css: abonnementguiden.dk i designsystemet (https://claude.ai/artifact/BA4ZBpo8UdfFBVRjpmJGVo).
   Canvas 16/10 2026 (https://claude.ai/artifact/9oEsr3aetnoipo69yyzrX2), godkendt 18/10. Indsættes sidst i <head> på alle sider af
   ensure_design.py (predeploy), oven på style.css og sidernes egne styles, så indholdet er sidernes eget.
   Tokens og værdier er designsystemets (tokens.json, bundle.css). Logoet er brand-assets' eget (Nikolajs valg 15/10). */

/* Skrifterne hostes selv (18/10): ingen forbindelse til Google før samtykke. Bricolage Grotesque og Figtree, SIL Open Font License 1.1 (fonts/OFL-*.txt). */
@font-face { font-family: 'Bricolage Grotesque'; font-style: normal; font-weight: 600 800; font-display: swap; src: url(/fonts/bricolage-grotesque-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Bricolage Grotesque'; font-style: normal; font-weight: 600 800; font-display: swap; src: url(/fonts/bricolage-grotesque-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Figtree'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(/fonts/figtree-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Figtree'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(/fonts/figtree-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }


:root {
  --ag-surface: #ffffff; --ag-surface-alt: #f4f7f6; --ag-ink: #12211f; --ag-ink-muted: #4b5d5a; --ag-line: #dde5e3; --ag-line-strong: #7a8b88;
  --ag-brand: #0e7c7b; --ag-brand-strong: #0a6261; --ag-brand-tint: #e3f2f1; --ag-on-brand: #ffffff; --ag-on-brand-tint: #0a5554;
  --ag-deal: #f5b83d; --ag-on-deal: #12211f; --ag-danger: #b42318; --ag-focus-ring: #0e7c7b;
  --ag-font-display: "Bricolage Grotesque", "Figtree", system-ui, sans-serif;
  --ag-font-sans: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ag-space-1: 4px; --ag-space-2: 8px; --ag-space-3: 12px; --ag-space-4: 16px; --ag-space-6: 24px; --ag-space-8: 32px; --ag-space-12: 48px; --ag-space-16: 64px;
  --ag-radius-sm: 6px; --ag-radius-md: 12px; --ag-radius-lg: 20px; --ag-radius-pill: 999px;
  --ag-shadow-card: 0 1px 2px rgba(18,33,31,.06), 0 4px 16px rgba(18,33,31,.06);
  --ag-shadow-raised: 0 2px 4px rgba(18,33,31,.08), 0 12px 32px rgba(18,33,31,.10);
  /* sitets gamle navne peger på systemet */
  --accent: var(--ag-brand-strong); --accent-dark: var(--ag-brand-strong);  /* sitets --accent bruges også til tekst på grå flader; brand-strong holder 4,5:1 */ --accent-light: var(--ag-brand-tint); --accent-tint: var(--ag-brand-tint);
  --bg: var(--ag-surface); --card: var(--ag-surface); --text: var(--ag-ink); --text-soft: var(--ag-ink-muted); --text-muted: var(--ag-ink-muted); --soft: var(--ag-ink-muted);
  --border: var(--ag-line); --gold: var(--ag-deal); --shadow-soft: var(--ag-shadow-card); --shadow-hover: var(--ag-shadow-raised);
}

/* ---------- typografi ---------- */
body { font-family: var(--ag-font-sans); color: var(--ag-ink); background: var(--ag-surface); letter-spacing: 0; font-size: 16px; line-height: 24px; }
h1, h2 { font-family: var(--ag-font-display); font-weight: 700; color: inherit; }
h1 { font-size: 36px; line-height: 42px; letter-spacing: -0.015em; }
h2, .article h2, .r3-berig h2, .deep-section h2 { font-size: 26px; line-height: 32px; letter-spacing: -0.01em; font-weight: 700; }
h3, .article h3, .r3-berig h3, .deep-section h3, .step h3, .usecase h3, .method h3, .review h3, .guide h3, .info-block h3, .r3-tilbud-top h3, .r3-tip h3 {
  font-family: var(--ag-font-sans); font-size: 19px; line-height: 26px; font-weight: 700; letter-spacing: 0; }
p { line-height: 24px; }
.section-sub, .hero-sub { font-size: 18px; line-height: 28px; }
.section-hd { margin-bottom: var(--ag-space-8); }
/* sektionernes luft er sidernes egen: flere sider trækker et kort 120 px ned i næste sektion og regner med den (hastighedstest 18/10) */
.section-tint { background: var(--ag-surface-alt); }
a { text-underline-offset: 3px; }
.article a:not([class]), .r3-berig a:not([class]), .info-block a, .callout-body a, .deep-section a:not([class]) { color: var(--ag-brand); font-weight: 600; text-decoration: underline; }
.r3-ref a { color: var(--ag-brand); text-decoration: none; }
strong, b { font-weight: 700; }
:focus-visible { outline: 2px solid var(--ag-focus-ring); outline-offset: 2px; }

/* priser og store tal: display med tabeltal */
.deal-price, .t-price, .cslider-value .n, .offer-value .n, .winner-price strong, .tracker-stat-value, .r3-tip-pris, .featured-vnum, .stat-num {
  font-family: var(--ag-font-display); font-weight: 700; letter-spacing: -0.01em; font-variant-numeric: tabular-nums; }

/* etiketter: label-stilen (13/16, 600) i brand, uden flade */
.eyebrow, .guide-tag, .winner-cat, .alt-card .alt-brand, .r3-tilbud-mrk, .nl2-eyebrow, .see-also h3 {
  font-family: var(--ag-font-sans); font-size: 13px; line-height: 16px; font-weight: 600; letter-spacing: .02em; text-transform: none;
  background: none; border: 0; border-radius: 0; padding: 0; color: var(--ag-brand); }
.section-hd .eyebrow { margin-bottom: var(--ag-space-3); }

/* ---------- sidehoved: hvid, med logoet ---------- */
.nav-wrap { background: var(--ag-surface) !important; color: var(--ag-ink); box-shadow: 0 1px 0 var(--ag-line); }
.nav { min-height: 64px; }
.nav .logo { display: inline-flex; align-items: center; min-height: 44px; flex: none; }
.nav .logo img { display: block; width: 172px; height: 32px; }
.nav .logo .logo-mark { display: none; }
.nav-links { color: var(--ag-ink) !important; font-size: 15px; font-weight: 600; }
.nav-links a { color: var(--ag-ink); }
.nav-links a:hover { color: var(--ag-brand); }
.hamburger-btn { color: var(--ag-ink) !important; min-width: 44px; min-height: 44px; }

/* ---------- hero: teal (Nikolaj 4/10: teal hero på alle sidetyper) ---------- */
.hero-wrap { background: var(--ag-brand) !important; color: var(--ag-on-brand); }
.hero-wrap::before, .hero-wrap::after { display: none !important; }
.hero-wrap h1 { color: var(--ag-on-brand); }
.hero-wrap .hero-sub { color: rgba(255,255,255,.92); }
.hero-wrap .eyebrow, .hero-wrap .eyebrow-pill { color: var(--ag-on-brand); background: rgba(255,255,255,.14); border: 0; border-radius: var(--ag-radius-pill);
  padding: var(--ag-space-1) var(--ag-space-3); font: 600 13px/16px var(--ag-font-sans); letter-spacing: .02em; text-transform: none; backdrop-filter: none; }
.hero-chip, .hero-trust .trust-chip, .trust-chip { background: rgba(255,255,255,.14) !important; border: 0 !important; border-radius: var(--ag-radius-pill);
  padding: var(--ag-space-1) var(--ag-space-3); font: 600 13px/16px var(--ag-font-sans); letter-spacing: .02em; color: var(--ag-on-brand); backdrop-filter: none; }
.breadcrumb, .breadcrumb a { color: rgba(255,255,255,.85); font-size: 14px; line-height: 20px; }
.breadcrumb a { text-decoration: underline; text-decoration-color: rgba(255,255,255,.4); }
.hero-with-quiz .hero-text h1, #quiz.hero h1 { font-size: 36px; line-height: 42px; max-width: 920px; }
@media (min-width: 861px) {
  .hero-with-quiz .hero-text h1, #quiz.hero h1 { font-size: 52px; line-height: 56px; letter-spacing: -0.02em; }
  h1 { font-size: 36px; line-height: 42px; }
}

/* ---------- knapper: radius-md, 44 px, 600 16 px ---------- */
.btn-primary, .t-cta, .offer-cta, .cslider-cta, .r3-tip-cta, .speedtest-btn, .btn-hero, .nl2-form button, .deep-cta-row a, .pc-btn, .featured-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--ag-space-2); min-height: 44px; padding: var(--ag-space-3) var(--ag-space-6);
  border-radius: var(--ag-radius-md) !important; font: 600 16px/20px var(--ag-font-sans) !important; letter-spacing: 0; text-decoration: none;
  background: var(--ag-brand); color: var(--ag-on-brand); border: 1.5px solid transparent; box-shadow: none; transform: none !important; filter: none !important; }
.btn-primary:hover, .t-cta:hover, .offer-cta:hover, .cslider-cta:hover, .r3-tip-cta:hover, .deep-cta-row a:hover { background: var(--ag-brand-strong); }
.t-cta { min-height: 36px; padding: var(--ag-space-2) var(--ag-space-4); font-size: 14px !important; }
.btn-ghost { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: var(--ag-space-3) var(--ag-space-6);
  border-radius: var(--ag-radius-md); font: 600 16px/20px var(--ag-font-sans); background: var(--ag-surface); color: var(--ag-ink); border: 1.5px solid var(--ag-line-strong); }
.btn-ghost:hover { border-color: var(--ag-brand); color: var(--ag-brand); background: var(--ag-surface); }
.nav-cta { display: inline-flex !important; align-items: center; min-height: 40px; padding: var(--ag-space-2) var(--ag-space-4); border-radius: var(--ag-radius-md) !important; background: var(--ag-brand) !important; color: var(--ag-on-brand) !important; font: 600 15px/20px var(--ag-font-sans) !important; }
@media (max-width: 860px) { .nav-cta { display: none !important; } }
/* lyse knapper på mørke og teal flader */
.hero-wrap .btn-hero, .speedtest-btn { background: var(--ag-surface); color: var(--ag-brand-strong); }
.hero-wrap .btn-hero:hover { background: var(--ag-brand-tint); }

/* ---------- kort: skygge, ingen kant (systemet: aldrig kant og skygge på samme kort) ---------- */
.step, .deal, .usecase, .winner, .method, .review, .guide, .offer-card, .cslider-card, .alt-card, .see-also-card, .info-block, .tracker-card,
.r3-kort, .brand-card, .campaign-card, .testimonial, .vs-card, .result-card {
  background: var(--ag-surface); border: 0 !important; border-radius: var(--ag-radius-lg) !important; box-shadow: var(--ag-shadow-card) !important; transform: none !important; }
.step:hover, .deal:hover, .usecase:hover, .winner:hover, .method:hover, .review:hover, .guide:hover, .offer-card:hover, .cslider-card:hover, .alt-card:hover, .see-also-card:hover {
  box-shadow: var(--ag-shadow-raised) !important; transform: none !important; }
.offer-card::before { display: none; }
.step, .usecase, .method, .review, .guide, .deal, .winner { padding: var(--ag-space-6); }
.step-num { width: 44px; height: 44px; border-radius: var(--ag-radius-md); font: 700 20px/1 var(--ag-font-display); }
.usecase-icon, .method-icon { border-radius: var(--ag-radius-md); background: var(--ag-brand-tint); color: var(--ag-on-brand-tint); }
.usecase-link, .review-link, .alt-card a, .cslider-all, .r3-tip-flere a { color: var(--ag-brand); font-weight: 600; }
.method-metric, .review-brand-tag, .guide-tag + *, .cslider-chip, .offer-chip, .winner-badge, .aq-pill--cheap {
  border-radius: var(--ag-radius-sm); }
.method-metric, .review-brand-tag, .cslider-chip, .offer-chip { background: var(--ag-brand-tint); color: var(--ag-on-brand-tint); font: 600 13px/16px var(--ag-font-sans); letter-spacing: .02em; text-transform: none; padding: var(--ag-space-1) var(--ag-space-2); }
.review-badge, .deal-badge { background: var(--ag-deal) !important; color: var(--ag-on-deal) !important; border-radius: var(--ag-radius-sm); font: 600 13px/16px var(--ag-font-sans); letter-spacing: .02em; text-transform: none; padding: var(--ag-space-1) var(--ag-space-2); }
.review-score svg { color: var(--ag-deal); }
.deal-feat li::before { color: var(--ag-brand); }
.deal-brand { color: var(--ag-brand); font-weight: 600; }
.deal-title { font-family: var(--ag-font-sans); font-size: 19px; line-height: 26px; font-weight: 700; letter-spacing: 0; }
.deal-price { font-size: 32px; line-height: 36px; }
.deal-cta { gap: var(--ag-space-2); }

/* besparelser: OfferCards besparelseslinje (brand-tint); gul er kun til "Bedste tilbud" og "Vores valg", højst én pr. kort */
.offer-value, .cslider-value { background: var(--ag-brand-tint) !important; border-radius: var(--ag-radius-sm) !important; color: var(--ag-on-brand-tint) !important; }
.offer-value *, .cslider-value * { color: var(--ag-on-brand-tint) !important; }
.cslider-label { font: 600 13px/16px var(--ag-font-sans) !important; letter-spacing: .02em !important; text-transform: none !important; color: var(--ag-ink-muted) !important; }

/* udbyderkarrusel og tilbudskort */
.cslider-card { border-top: 0 !important; }
.cslider-badge { background: var(--ag-deal); color: var(--ag-on-deal); border-radius: var(--ag-radius-sm); font: 600 13px/16px var(--ag-font-sans); letter-spacing: .02em; text-transform: none; }
.cslider-urg { font-weight: 600; }
.cslider-title, .offer-card h3, .alt-card .alt-title { font-family: var(--ag-font-sans); font-weight: 700; letter-spacing: 0; }
.cslider-btn { border-radius: var(--ag-radius-md); min-width: 44px; min-height: 44px; }
.offer-card { overflow: hidden; }
.m1-gave--moerk, .offer-media { background: var(--ag-ink) !important; }

/* ---------- tabeller: designsystemets Table ---------- */
.r3-tabel table, table.compare-table, table.comp-table, .tablewrap table {
  border-collapse: separate !important; border-spacing: 0; background: var(--ag-surface); border: 0 !important; border-radius: var(--ag-radius-lg) !important;
  box-shadow: var(--ag-shadow-card) !important; overflow: hidden; font: 400 15px/22px var(--ag-font-sans); font-variant-numeric: tabular-nums; }
.r3-tabel th, table.compare-table thead th, table.comp-table thead th, .tablewrap th {
  background: var(--ag-surface-alt) !important; color: var(--ag-ink-muted) !important; font: 600 13px/16px var(--ag-font-sans) !important; letter-spacing: .02em !important;
  text-transform: none !important; padding: var(--ag-space-3) var(--ag-space-4) !important; border-bottom: 1px solid var(--ag-line) !important; }
.r3-tabel td, table.compare-table tbody td, table.comp-table tbody td, .tablewrap td {
  padding: var(--ag-space-4) !important; border-top: 0 !important; border-bottom: 1px solid var(--ag-line) !important; background: none !important; }
.r3-tabel tr:last-child td, table.compare-table tbody tr:last-child td { border-bottom: 0 !important; }
.r3-tabel tbody tr:hover td, table.compare-table tbody tr:hover td { background: var(--ag-surface-alt) !important; }
.r3-tabel th:first-child, .r3-tabel td:first-child, table.compare-table th:first-child, table.compare-table td:first-child { padding-left: var(--ag-space-6) !important; }
.r3-tabel th:last-child, .r3-tabel td:last-child, table.compare-table th:last-child, table.compare-table td:last-child { padding-right: var(--ag-space-6) !important; }
.r3-kildelinje, .disclosure { font-size: 14px; line-height: 20px; color: var(--ag-ink-muted); }
.tablewrap, .table-scroll { border-radius: var(--ag-radius-lg); }

/* ---------- FAQ: designsystemets Accordion ---------- */
.faq-list .faq, .faq-list .faq-item, .faq-item, .r3-faq-item, .deep-faq details {
  background: var(--ag-surface-alt) !important; border: 0 !important; border-radius: var(--ag-radius-md) !important; box-shadow: none !important; padding: 0 !important; margin: 0 0 var(--ag-space-2) !important; }
.faq-q, .r3-faq-item summary, .deep-faq summary {
  min-height: 44px; padding: var(--ag-space-4) var(--ag-space-6) !important; font: 700 17px/24px var(--ag-font-sans) !important; color: var(--ag-ink) !important; letter-spacing: 0 !important; }
.faq-a, .faq-a-in, .faq-a-inner, .r3-faq-a { color: var(--ag-ink-muted); font: 400 16px/24px var(--ag-font-sans); }
.faq-a-in, .faq-a-inner, .r3-faq-a { padding: 0 var(--ag-space-6) var(--ag-space-4) !important; }
.faq-ic, .faq-icon { color: var(--ag-brand) !important; background: none !important; font: 500 24px/1 var(--ag-font-sans); }
.r3-faq-item summary::after { content: "+" !important; flex: none !important; width: auto !important; height: auto !important; background: none !important; color: var(--ag-brand) !important; font: 500 24px/1 var(--ag-font-sans) !important; transition: transform .2s; }
.r3-faq-item[open] summary::after { transform: rotate(45deg); }
.faq-list { border: 0 !important; background: none !important; box-shadow: none !important; }

/* ---------- bokse: flade frem for venstrekant ---------- */
.callout, .deep-value, .info-block.tip { background: var(--ag-brand-tint) !important; border: 0 !important; border-radius: var(--ag-radius-md) !important; box-shadow: none !important; }
.callout-body, .deep-value { color: var(--ag-ink) !important; }
.callout-ic { background: var(--ag-surface); color: var(--ag-on-brand-tint); border-radius: var(--ag-radius-sm); }
.deep-terms, .callout--warn { background: var(--ag-surface-alt) !important; border: 0 !important; border-radius: var(--ag-radius-md) !important; color: var(--ag-ink-muted) !important; }
.r3-tilbud { background: var(--ag-surface-alt) !important; border: 0 !important; border-radius: var(--ag-radius-lg) !important; }
.tracker-stat { border-left: 0 !important; padding-left: 0 !important; }
.tracker-change.down { background: var(--ag-brand-tint); color: var(--ag-on-brand-tint); border-radius: var(--ag-radius-sm); }

/* ---------- større flader ---------- */
.providers { background: var(--ag-surface-alt) !important; box-shadow: none !important; border-radius: var(--ag-radius-lg) !important; }
.providers h3, .providers .providers-label, .providers [class*="label"] { color: var(--ag-ink-muted) !important; }
.provider { box-shadow: var(--ag-shadow-card); border-radius: var(--ag-radius-md) !important; }
.speedtest-card { background: var(--ag-ink) !important; border-radius: var(--ag-radius-lg) !important; }
.speedtest-card::before { display: none !important; }
.speedtest-text .eyebrow { color: #7dd8d4; background: none; }
.coverage-card { background: var(--ag-brand-tint) !important; border-radius: var(--ag-radius-lg) !important; }
.region-chip { border-radius: var(--ag-radius-pill); min-height: 44px; }

/* prisvagten: rolig flade med primær knap */
.nl2 { background: var(--ag-brand-tint) !important; color: var(--ag-ink) !important; border-radius: var(--ag-radius-lg) !important; }
.nl2-text h2 { color: var(--ag-ink) !important; font-family: var(--ag-font-display); }
.nl2-text p, .nl2-consent { color: var(--ag-ink-muted) !important; }
.nl2-eyebrow { background: none !important; color: var(--ag-brand) !important; padding: 0 !important; }
.nl2-form input[type=email] { background: var(--ag-surface) !important; color: var(--ag-ink) !important; border: 1.5px solid var(--ag-line-strong) !important; border-radius: var(--ag-radius-md) !important; min-height: 44px; }
.nl2-form input[type=email]::placeholder { color: var(--ag-ink-muted) !important; }
.nl2-form button { background: var(--ag-brand) !important; color: var(--ag-on-brand) !important; }
.nl2-consent input { accent-color: var(--ag-brand) !important; }

/* logovæggens etiketter (inline hvid tekst) og dækningsboksen (inline gradient) */
.providers > div[style*="text-transform:uppercase"] { color: var(--ag-ink-muted) !important; font: 600 13px/16px var(--ag-font-sans) !important; letter-spacing: .02em !important; text-transform: none !important; }
div[style*="linear-gradient(135deg,var(--accent),var(--accent-dark))"] { background: var(--ag-brand) !important; border-radius: var(--ag-radius-lg) !important; }
div[style*="linear-gradient(135deg,var(--accent),var(--accent-dark))"] h2 { font: 700 26px/32px var(--ag-font-display) !important; letter-spacing: -0.01em !important; }
div[style*="linear-gradient(135deg,var(--accent),var(--accent-dark))"] > span:first-child { font: 600 13px/16px var(--ag-font-sans) !important; letter-spacing: .02em !important; text-transform: none !important; background: rgba(255,255,255,.14) !important; }

/* sidefod: ink med det mørke logo */
.footer { background: var(--ag-ink) !important; }
.footer-brand img { display: block; width: 194px; height: 36px; }
.footer-brand .logo-mark { display: none; }
.footer h4 { font: 600 13px/16px var(--ag-font-sans); letter-spacing: .02em; text-transform: none; }
.footer a:hover { color: #7dd8d4; }

/* se også */
.see-also-card { color: var(--ag-ink); font-weight: 600; min-height: 56px; }
.see-also-card .arr { color: var(--ag-brand); }

/* ---------- quizzen: ChoiceChip og OfferCard ---------- */
#quiz-mount .aq { font-family: var(--ag-font-sans); color: var(--ag-ink); border-radius: var(--ag-radius-lg); box-shadow: var(--ag-shadow-raised); }
#quiz-mount .aq-tab { border-radius: var(--ag-radius-pill); border: 1.5px solid var(--ag-line-strong); font: 600 15px/20px var(--ag-font-sans); color: var(--ag-ink); background: var(--ag-surface); }
#quiz-mount .aq-tab[aria-pressed="true"] { background: var(--ag-brand); border-color: var(--ag-brand); color: var(--ag-on-brand); }
#quiz-mount .aq-chip { border-radius: var(--ag-radius-pill); border: 1.5px solid var(--ag-line-strong); font: 600 15px/20px var(--ag-font-sans); color: var(--ag-ink); }
#quiz-mount .aq-chip[aria-pressed="true"], #quiz-mount .aq-chip.is-on { background: var(--ag-brand); border-color: var(--ag-brand); color: var(--ag-on-brand); }
#quiz-mount .aq-game { background: var(--ag-surface-alt); border-radius: var(--ag-radius-md); }
#quiz-mount .aq-game-t, #quiz-mount .aq-q legend { font-family: var(--ag-font-sans); font-weight: 700; color: var(--ag-ink); }
#quiz-mount .aq-step { background: none; color: var(--ag-brand); font: 600 13px/16px var(--ag-font-sans); letter-spacing: .02em; padding: 0; }
#quiz-mount .aq-prog { background: var(--ag-line); }
#quiz-mount .aq-prog span, #quiz-mount .aq-medal { background: var(--ag-brand); }
#quiz-mount .aq-card { border: 0; border-radius: var(--ag-radius-lg); box-shadow: var(--ag-shadow-card); background: var(--ag-surface); }
#quiz-mount .aq-card.is-top { border: 0; background: var(--ag-surface); box-shadow: var(--ag-shadow-raised), 0 0 0 2px var(--ag-brand); }
#quiz-mount .aq-logo { border: 0; border-radius: var(--ag-radius-md); background: var(--ag-surface); box-shadow: inset 0 0 0 1px var(--ag-line); }
#quiz-mount .aq-pill { border-radius: var(--ag-radius-sm); font: 600 13px/16px var(--ag-font-sans); letter-spacing: .02em; background: var(--ag-brand-tint); color: var(--ag-on-brand-tint); }
#quiz-mount .aq-pill--top { background: var(--ag-deal); color: var(--ag-on-deal); }
#quiz-mount .aq-amount { font-family: var(--ag-font-display); font-weight: 700; color: var(--ag-ink); font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
#quiz-mount .aq-desc, #quiz-mount .aq-terms, #quiz-mount .aq-cross-desc, #quiz-mount .aq-trust { color: var(--ag-ink-muted); }
#quiz-mount .aq-reason, #quiz-mount .aq-cross-lbl, #quiz-mount .aq-why { color: var(--ag-on-brand-tint); }
#quiz-mount .aq-cta { border-radius: var(--ag-radius-md); border: 1.5px solid var(--ag-line-strong); background: var(--ag-surface); color: var(--ag-ink); font: 600 16px/20px var(--ag-font-sans); }
#quiz-mount .aq-card.is-top .aq-cta { background: var(--ag-brand); border-color: var(--ag-brand); color: var(--ag-on-brand); }
#quiz-mount .aq-cross-row { background: var(--ag-surface-alt); border-radius: var(--ag-radius-md); }
#quiz-mount .aq-done { background: var(--ag-brand-tint); color: var(--ag-on-brand-tint); }

/* rettelser efter første gennemsyn (16/10) */
.deep-cta-row a { color: var(--ag-on-brand) !important; text-decoration: none !important; }
.r3-faq, .faq-list { background: none !important; box-shadow: none !important; padding: 0 !important; border: 0 !important; }
.r3-berig { background: var(--ag-surface-alt) !important; }
[style*="border-left:3px solid"], [style*="border-left: 3px solid"], [style*="border-left:4px solid"], [style*="border-left: 4px solid"] {
  border-left: 0 !important; background: var(--ag-surface-alt) !important; border-radius: var(--ag-radius-md) !important; color: var(--ag-ink-muted) !important; }

/* gate-fund 16/10: berøringsflader og sidehovedets kanter (de fleste fandtes også på sitet i dag) */
.nav-links a { display: inline-flex; align-items: center; min-height: 44px; }
.t-cta { min-height: 44px; }
.hamburger-btn { margin: 0 !important; }
@media (max-width: 768px) {
  .nav-container, .container { padding-left: 24px !important; padding-right: 24px !important; }
  .faq-q, .r3-faq-item summary, .deep-faq summary { padding: var(--ag-space-4) !important; font-size: 16px !important; line-height: 22px !important; }
  .faq-a-in, .faq-a-inner, .r3-faq-a { padding: 0 var(--ag-space-4) var(--ag-space-4) !important; }
}
.faq-q, .r3-faq-item summary, .deep-faq summary { align-items: flex-start !important; }
.faq-q .faq-icon, .faq-q .faq-ic { line-height: 22px !important; height: 22px; }

/* frisk review 16/10: gul kun til Vores valg og Bedste tilbud, kontrast 4,5:1, FAQ synlig på grå flader */
.deal-badge, .review-badge { background: var(--ag-brand-tint) !important; color: var(--ag-on-brand-tint) !important; }
.review-score svg { color: var(--ag-brand) !important; }
.eyebrow, .guide-tag, .winner-cat, .alt-card .alt-brand, .r3-tilbud-mrk, .nl2-eyebrow, .see-also h3, .section-hd .eyebrow { color: var(--ag-brand-strong) !important; }
.hero-wrap .eyebrow, .hero-wrap .eyebrow-pill, .hero-chip, .hero-trust .trust-chip, .trust-chip,
div[style*="linear-gradient(135deg,var(--accent),var(--accent-dark))"] > span:first-child { background: var(--ag-brand-strong) !important; color: #fff !important; }
.speedtest-text .eyebrow { color: #7dd8d4 !important; }
.breadcrumb, .breadcrumb a, .breadcrumb span { color: #fff !important; }
.hero h1 span, .hero-text h1 span { color: inherit !important; }
div[style*="opacity:0.75"] { opacity: 1 !important; }
a[href*="/internet/"][style*="rgba(0,0,0,0.2)"] { background: var(--ag-brand-strong) !important; min-height: 44px; display: inline-flex !important; align-items: center; }
.nav-cta { min-height: 44px !important; }
.winner a:not([class]), .winner-card a:not([class]) { color: var(--ag-brand) !important; font-weight: 600; }
.cslider-urg { background: var(--ag-danger) !important; }
[style*="color:#92400e"] { color: var(--ag-danger) !important; }
[style*="color:rgba(28,24,39,.7)"], [style*="color:rgba(28,24,39,0.7)"], .cslider-meta, .cslider-strike { color: var(--ag-ink-muted) !important; }
#quiz-mount .aq-terms, #quiz-mount .aq-desc, #quiz-mount .aq-amount small, #quiz-mount .aq-check, #quiz-mount .aq-game-s { color: var(--ag-ink-muted) !important; }
body, .article { background: var(--ag-surface) !important; }
/* grå sektioner: FAQ-punkter og tilbudsblokke i hvidt eller teal-tint, så de kan ses */
.r3-berig .r3-faq-item, .r3-berig .faq-item, .section-tint .faq, .section-tint .faq-item { background: var(--ag-surface) !important; box-shadow: var(--ag-shadow-card) !important; }
.r3-tilbud { background: var(--ag-brand-tint) !important; padding: var(--ag-space-6) !important; }
.r3-tilbud .r3-tilbud-mrk { color: var(--ag-on-brand-tint) !important; }
.r3-tilbud-top p { color: var(--ag-on-brand-tint) !important; }
/* tabelhintet må ikke klippes af hjørnet; tættere celler på telefon */
.tablewrap, .table-scroll { border-radius: 0 !important; }
.kan-rulle::before { color: var(--ag-ink-muted) !important; padding-left: 2px !important; }
@media (max-width: 768px) {
  .r3-tabel td, .r3-tabel th, table.compare-table td, table.compare-table th, .tablewrap td, .tablewrap th { padding: var(--ag-space-3) var(--ag-space-2) !important; font-size: 14px !important; line-height: 20px !important; }
  .r3-tabel th:first-child, .r3-tabel td:first-child, table.compare-table th:first-child, table.compare-table td:first-child { padding-left: var(--ag-space-4) !important; }
  .r3-tabel th:last-child, .r3-tabel td:last-child, table.compare-table th:last-child, table.compare-table td:last-child { padding-right: var(--ag-space-4) !important; }
}
.nl2-wrap { padding-bottom: var(--ag-space-12) !important; }
.chart-title .mono { color: var(--ag-brand-strong) !important; }
div[style*="linear-gradient(135deg,var(--accent),var(--accent-dark))"] p { opacity: 1 !important; }
[style*="background:var(--accent-light)"] [style*="color:var(--accent)"] { color: var(--ag-on-brand-tint) !important; }
.r3-kilder li a, .r3-kilder li { display: list-item; }
.r3-kilder li a { display: inline !important; }
.r3-kilder li { padding: 6px 0; }
.r3-kort [style*="font-size:24px;font-weight:800;color:#0e7c7b"] { color: var(--ag-ink) !important; font-family: var(--ag-font-display) !important; font-weight: 700 !important; font-variant-numeric: tabular-nums; }
[style*="color:#1c1827"] { color: var(--ag-ink) !important; }
.r3-kort { border: 0 !important; }

/* ---------- menuskuffen (_shell/drawer.html har inline styles) ---------- */
.mobile-drawer { background: var(--ag-surface) !important; font-family: var(--ag-font-sans) !important; box-shadow: var(--ag-shadow-raised) !important; }
.mobile-drawer-close { color: var(--ag-ink) !important; min-width: 44px; min-height: 44px; }
.mobile-drawer ul a { color: var(--ag-ink) !important; font-family: var(--ag-font-sans) !important; font-weight: 600 !important; border-bottom-color: var(--ag-line) !important; border-radius: 0 !important; }
.mobile-drawer ul a:hover { color: var(--ag-brand) !important; }
.mobile-drawer > a:last-child { background: var(--ag-brand) !important; color: var(--ag-on-brand) !important; border-radius: var(--ag-radius-md) !important; font: 600 16px/20px var(--ag-font-sans) !important; }
.mobile-drawer-overlay { background: rgba(18,33,31,.45) !important; }

/* ---------- cookie-boksen (abg-consent.js lægger sin CSS ind ved kørsel) ---------- */
.abg-cb-ov { background: rgba(18,33,31,.55) !important; }
.abg-cb-ov .abg-cb { font-family: var(--ag-font-sans); color: var(--ag-ink); border-radius: var(--ag-radius-lg); box-shadow: var(--ag-shadow-raised); }
.abg-cb-ov .abg-cb h2 { font: 700 22px/28px var(--ag-font-display); letter-spacing: -0.01em; color: var(--ag-ink); }
.abg-cb-ov .abg-cb p { color: var(--ag-ink-muted); font: 400 16px/24px var(--ag-font-sans); }
.abg-cb-ov .abg-cb button { border-radius: var(--ag-radius-md); min-height: 48px; font: 600 16px/20px var(--ag-font-sans); border-width: 1.5px; }
.abg-cb-ov .abg-cb .abg-cb-yes { background: var(--ag-brand); border-color: var(--ag-brand); color: var(--ag-on-brand); }
.abg-cb-ov .abg-cb .abg-cb-no { background: var(--ag-surface); border-color: var(--ag-line-strong); color: var(--ag-ink); }
.abg-cb-ov .abg-cb a { color: var(--ag-brand-strong); }
.abg-cb-ov .abg-cb button:focus-visible, .abg-cb-ov .abg-cb a:focus-visible { outline: 2px solid var(--ag-focus-ring); outline-offset: 2px; }

/* pristrackerens graf: på telefon blev teksten ca. 5 px; vandret rul med hint i stedet for at skalere grafen ned */
@media (max-width: 768px) {
  .tracker-card .chart { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .tracker-card .chart svg { min-width: 560px; }
  .tracker-card .chart::before { content: "Rul til siden for at se hele grafen \2192"; display: block; position: sticky; left: 0; font: 600 13px/18px var(--ag-font-sans); color: var(--ag-ink-muted); padding: 0 0 8px; }
}

/* sidernes egne inline-skrifter (Plus Jakarta Sans) følger systemet, nu hvor Google Fonts-linket er væk */
[style*="Plus Jakarta Sans"] { font-family: var(--ag-font-sans) !important; }
svg text { font-family: var(--ag-font-sans); }

/* gate 18/10 på alle sider: knapper på én linje, kompakte kampagneknapper i smalle kort, berøringsflader */
.btn-primary, .btn-ghost, .btn-secondary, .t-cta, .offer-cta, .cslider-cta, .r3-tip-cta, .deep-cta-row a, .comp-cta { white-space: nowrap; }
.btn-secondary { display: inline-flex; align-items: center; justify-content: center; gap: var(--ag-space-2); min-height: 44px; padding: var(--ag-space-3) var(--ag-space-6);
  border-radius: var(--ag-radius-md) !important; font: 600 16px/20px var(--ag-font-sans) !important; background: var(--ag-surface); color: var(--ag-ink); border: 1.5px solid var(--ag-line-strong); }
.actions .btn-primary, .actions .btn-secondary { padding-inline: var(--ag-space-4); }
.cslider-cta { padding: var(--ag-space-3) !important; font-size: 14px !important; }
.geo-toc a { display: inline-flex; align-items: center; min-height: 44px; }
.comp-cta { display: inline-flex !important; align-items: center; justify-content: center; min-height: 44px; border-radius: var(--ag-radius-md) !important; }
button.copy { min-height: 44px; border-radius: var(--ag-radius-md); }
a[href^="mailto:"] { overflow-wrap: anywhere; }
.geo-toc a { min-width: 44px; }
@media (max-width: 768px) { .deep-cta-row a, .offer-cta, .r3-tip-cta { padding-inline: var(--ag-space-4) !important; font-size: 15px !important; } }
/* quiz-test 18/10: fanen Lydbøger løb ud af quizzen på 375 px; fanerne følger sitets mindre størrelse på smalle telefoner */
#quiz-mount .aq-tab { font-size: 14px; }
@media (max-width: 400px) { #quiz-mount .aq-tabs { gap: 4px; } #quiz-mount .aq-tab { font-size: 13px; padding: 0 6px; } }

/* ===== frisk review og DOM-revision af alle sidetyper (18/10) ===== */
/* bokse med venstrekant: rolig flade i stedet */
.info-box, .pros, .cons, .method-box, .checklist, .verdict, .vs-disclaimer, .method-card.anbefalet, .r3-svar, .alert, .alert.info {
  border-left: 0 !important; border-radius: var(--ag-radius-md) !important; box-shadow: none !important; }
.info-box, .method-box, .checklist, .verdict, .r3-svar, .alert.info, .method-card.anbefalet, .pros { background: var(--ag-brand-tint) !important; }
.cons, .vs-disclaimer, .alert:not(.info) { background: var(--ag-surface-alt) !important; }
.r3-svar, .r3-svar * { color: var(--ag-ink) !important; }
div[style*="border-left"], aside[style*="border-left"], p[style*="border-left"], section[style*="border-left"] { border-left: 0 !important; border-radius: var(--ag-radius-md) !important; }

/* kort med kant og skygge: kun skygge; topkanter og medaljefarver væk */
.kf, .brand-cluster-nav, .rank-card, .vs-cat, .fact, .block, .winner-card, .vs-bar, .method-card, .pcard, .vs-choose-card, .steps li, .step-list li,
.comp-table-wrap, .info-card, .rank-card.gold, .rank-card.silver, .rank-card.bronze {
  border: 0 !important; border-radius: var(--ag-radius-lg) !important; box-shadow: var(--ag-shadow-card) !important; }
.comp-table-wrap table, .comp-table-wrap .comp-table { box-shadow: none !important; }
.rank-card .rank-badge, .rank-card [class*="badge"] { background: var(--ag-brand-tint) !important; color: var(--ag-on-brand-tint) !important; border-radius: var(--ag-radius-sm) !important; }
.rank-card.gold [class*="badge"] { background: var(--ag-deal) !important; color: var(--ag-on-deal) !important; }
ol li[style*="border"], ul.steps li { border: 0 !important; }

/* pilleknapper: radius 12, mindst 44 px; små kortlinks */
.card-cta, .cta-btn, .alt-btn, .comp-cta, .pbtn, a[class*="btn"], button[class*="btn"] { border-radius: var(--ag-radius-md) !important; min-height: 44px; }
.card-cta, .cta-btn, .alt-btn, .pbtn { display: inline-flex !important; align-items: center; justify-content: center; font: 600 15px/20px var(--ag-font-sans) !important; padding: var(--ag-space-3) var(--ag-space-4) !important; }
.alt-btn.ghost, .pbtn.ghost, .comp-cta:not([style*="background"]) { background: var(--ag-surface) !important; color: var(--ag-ink) !important; border: 1.5px solid var(--ag-line-strong) !important; }
.comp-cta[style*="background"] { background: var(--ag-brand) !important; color: var(--ag-on-brand) !important; }
.see-also-card { border-radius: var(--ag-radius-md) !important; }
.see-also-card span { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
.alt-card a, .card-link { display: inline-flex; align-items: center; min-height: 44px; }
.brand-cluster-nav a { display: inline-flex; align-items: center; min-height: 44px; border-radius: var(--ag-radius-pill); }
#quiz-mount .aq-chip, #quiz-mount .aq-tab, #quiz-mount .aq-done { min-height: 44px !important; }
.brand-card-cta { gap: var(--ag-space-2); }
.brand-card-cta a { flex: 1 1 auto; }
button:disabled, .btn-primary:disabled, [aria-disabled="true"] { background: var(--ag-line) !important; color: var(--ag-ink-muted) !important; border-color: var(--ag-line) !important; }

/* gradienter flade */
section[style*="linear-gradient(135deg"], .alt-cta, .next-card, div[style*="radial-gradient"] { background-image: none !important; }
section[style*="linear-gradient(135deg"], .alt-cta { background-color: var(--ag-brand) !important; }
.next-card::before, .next-card::after { display: none !important; }
section.campaign-injection { background: var(--ag-surface-alt) !important; }

/* gul og rød i deres roller */
.hero h1 b, .hero-text h1 b { color: inherit !important; }
#quiz-mount .aq-pill--top { background: var(--ag-brand-strong) !important; color: #fff !important; }
.bundle-badge, .bundle-badge.warn, .bundle-badge.green { background: var(--ag-brand-tint) !important; color: var(--ag-on-brand-tint) !important; border-radius: var(--ag-radius-sm) !important; }
.campaign-chip { background: var(--ag-brand-tint) !important; color: var(--ag-on-brand-tint) !important; border: 0 !important; border-radius: var(--ag-radius-sm) !important; }
.campaign-card-badge, span[style*="background:#dc2626"], span[style*="background: #dc2626"], span[style*="background:#ef4444"] { background: var(--ag-brand) !important; color: #fff !important; }
.offer-urg, [data-urg] { color: var(--ag-danger) !important; }
.offer-urg[data-urg], .cslider-urg { color: #fff !important; background: var(--ag-danger) !important; }
.tb-dot { width: 8px !important; height: 8px !important; border-radius: 50% !important; background: #7dd8d4 !important; display: inline-block; flex: none; }
.trustband span { display: inline-flex; align-items: center; gap: 8px; }
div[style*="background:#fef5e6"], div[style*="background: #fef5e6"], .problems, .problem-box { background: var(--ag-surface-alt) !important; border: 0 !important; }

/* gammel skrift og tekstfarve */
.mono, [class*="mono"], .brand-card-score, .comp-price, .pkg-price, .score-chip-value, .phase-val, .speed-num, .speedo-num, .letter { font-family: var(--ag-font-sans) !important; font-variant-numeric: tabular-nums; }
.brand-card-score, .score-chip-value { background: var(--ag-brand-tint) !important; color: var(--ag-on-brand-tint) !important; border-radius: var(--ag-radius-sm) !important; font-weight: 600 !important; }
[style*="color:#13343b"], [style*="color: #13343b"], .row-label, .m1-rib, .tv2-amount, #quiz-mount .aq-cross-hd, #quiz-mount .aq-logo-txt { color: var(--ag-ink) !important; }
b, strong { color: inherit; }
.r3-tip [style*="#5fd0c4"], .r3-tip-pris { color: inherit !important; }

/* FAQ uden indre svar-wrapper (.faq-item > .faq-a) og plads til + */
.faq-item > .faq-a:not(:has(.faq-a-in, .faq-a-inner)) { padding: 0 var(--ag-space-6) var(--ag-space-4) !important; color: var(--ag-ink-muted); font: 400 16px/24px var(--ag-font-sans); }
@media (max-width: 768px) { .faq-item > .faq-a:not(:has(.faq-a-in, .faq-a-inner)) { padding: 0 var(--ag-space-4) var(--ag-space-4) !important; } }
.faq-q, .r3-faq-item summary, .deep-faq summary { gap: var(--ag-space-4) !important; }
div.faq-q { cursor: default; }

/* layout: brødtekst under h2 venstrestillet i artikler, afstand, mærker inde i kort, sidefod i én bredde */
.article .section-sub, .r3-berig .section-sub { margin-left: 0 !important; margin-right: 0 !important; text-align: left !important; }
.brand-grid { margin-top: var(--ag-space-6); }
.deal .deal-badge { position: static !important; display: inline-flex; align-self: flex-start; margin: 0 0 var(--ag-space-2); }
.footer > .container { max-width: 1180px !important; margin: 0 auto !important; padding: 0 64px !important; }
@media (max-width: 768px) { .footer > .container { padding: 0 24px !important; } }

/* ranglistetabeller som kort på telefon (data-label fra tabel_kort.py), systemets ComparisonTable */
@media (max-width: 640px) {
  table.comp-table, table.compare-table { min-width: 0 !important; width: 100% !important; background: none !important; box-shadow: none !important; border-radius: 0 !important; border-spacing: 0 var(--ag-space-3) !important; }
  table.comp-table thead, table.compare-table thead { display: none !important; }
  table.comp-table, table.comp-table tbody, table.comp-table tr, table.comp-table td,
  table.compare-table, table.compare-table tbody, table.compare-table tr, table.compare-table td { display: block !important; }
  table.comp-table tr, table.compare-table tr { background: var(--ag-surface) !important; border-radius: var(--ag-radius-lg) !important; box-shadow: var(--ag-shadow-card) !important; padding: var(--ag-space-4) !important; margin: 0 0 var(--ag-space-3) !important; }
  table.comp-table td, table.compare-table td { padding: var(--ag-space-1) 0 !important; border: 0 !important; background: none !important; text-align: right; }
  table.comp-table td[data-label]:not([data-label=""]), table.compare-table td[data-label]:not([data-label=""]) { display: flex !important; justify-content: space-between; align-items: baseline; gap: var(--ag-space-4); }
  table.comp-table td[data-label]:not([data-label=""])::before, table.compare-table td[data-label]:not([data-label=""])::before {
    content: attr(data-label); flex: none; max-width: 45%; text-align: left; font: 600 13px/18px var(--ag-font-sans); letter-spacing: .02em; color: var(--ag-ink-muted); }
  table.comp-table td:last-child, table.compare-table td:last-child { display: flex !important; flex-wrap: wrap; gap: var(--ag-space-2); padding-top: var(--ag-space-3) !important; }
  table.comp-table td:last-child a, table.compare-table td:last-child a { flex: 1 1 auto; margin: 0 !important; justify-content: center; }
  table.comp-table td:last-child::before, table.compare-table td:last-child::before { display: none !important; }
  .comp-table-wrap, .table-scroll:has(> table.compare-table), .tablewrap:has(> table.compare-table), .tablewrap:has(> table.comp-table) { overflow: visible !important; box-shadow: none !important; background: none !important; }
  .kan-rulle:has(> table.compare-table)::before, .kan-rulle:has(> table.comp-table)::before { display: none !important; }
}
#quiz-mount b, #quiz-mount strong, .brandlinks a { color: var(--ag-ink) !important; }
.brandlinks a { font-family: var(--ag-font-sans); font-weight: 600; }
.cta-block > a:not([class]) { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: var(--ag-space-3) var(--ag-space-6);
  border-radius: var(--ag-radius-md) !important; background: var(--ag-brand) !important; color: var(--ag-on-brand) !important; font: 600 16px/20px var(--ag-font-sans); text-decoration: none; }
.criteria, .featured.har-medie, .featured, .chartbox { border: 0 !important; }
.tv2-hd b, .tv2-name b, .tv2-price b, .tv2-terms b, #quiz-mount .aq-cross-name, #quiz-mount .aq-cross-name span, #quiz-mount .aq-select select { color: var(--ag-ink) !important; }

/* kontrast på alle sidetyper (18/10): links i tekst i brand-strong (teal på den grå flade var 4,35:1), ingen opacity på etiketter */
a:not([class]):not(.footer a):not(.nav-wrap a):not(.hero-wrap a):not(.mobile-drawer a):not(.citebox a):not(.study-hero a):not(.nl2 a) { color: var(--ag-brand-strong); }
.kicker, .phase-label, .next-card-eyebrow { opacity: 1 !important; }
.phase-label { color: var(--ag-ink-muted) !important; }
.status-pill, .test-status span { color: var(--ag-brand-strong) !important; }
.next-btn:disabled { opacity: 1 !important; background: var(--ag-line) !important; color: var(--ag-ink-muted) !important; }
[style*="color:rgba(28,24,39,.5)"], [style*="color:rgba(28,24,39,0.5)"], [style*="color:rgba(28,24,39,.6)"], [style*="color:rgba(28,24,39,.65)"] { color: var(--ag-ink-muted) !important; }
.citebox .pbtn { background: #fff !important; color: var(--ag-brand-strong) !important; text-decoration: none !important; }
@media (max-width: 640px) {
  table.pkg-table { min-width: 0 !important; width: 100% !important; background: none !important; box-shadow: none !important; border-spacing: 0 var(--ag-space-3) !important; }
  table.pkg-table thead { display: none !important; }
  table.pkg-table, table.pkg-table tbody, table.pkg-table tr, table.pkg-table td { display: block !important; }
  table.pkg-table tr { background: var(--ag-surface) !important; border-radius: var(--ag-radius-lg) !important; box-shadow: var(--ag-shadow-card) !important; padding: var(--ag-space-4) !important; margin: 0 0 var(--ag-space-3) !important; }
  table.pkg-table td { padding: var(--ag-space-1) 0 !important; border: 0 !important; background: none !important; text-align: right; }
  table.pkg-table td[data-label]:not([data-label=""]) { display: flex !important; justify-content: space-between; align-items: baseline; gap: var(--ag-space-4); }
  table.pkg-table td[data-label]:not([data-label=""])::before { content: attr(data-label); flex: none; max-width: 45%; text-align: left; font: 600 13px/18px var(--ag-font-sans); letter-spacing: .02em; color: var(--ag-ink-muted); }
  .tablewrap:has(> table.pkg-table) { overflow: visible !important; }
  .kan-rulle:has(> table.pkg-table)::before { display: none !important; }
}

.main-cta-eyebrow, [style*="opacity:.85"], [style*="opacity:0.85"], [style*="opacity: 0.85"], [style*="opacity:.9"], [style*="opacity:0.9"], [style*="opacity:.95"], [style*="opacity: .9"] { opacity: 1 !important; }
.score-chip-sub { color: #fff !important; opacity: 1 !important; }
.pkg-price { color: var(--ag-ink) !important; }
.alt-cta p, .alt-cta { color: #fff !important; }
a[style*="color:#0e7c7b"]:not([style*="background"]), span[style*="color:#0e7c7b"]:not([style*="background"]) { color: var(--ag-brand-strong) !important; }
.yes { color: var(--ag-on-brand-tint) !important; } .no { color: var(--ag-ink-muted) !important; }
.winner-badge { background: var(--ag-brand-tint) !important; color: var(--ag-on-brand-tint) !important; border-radius: var(--ag-radius-sm) !important; }
.winner-badge.win { background: var(--ag-brand) !important; color: #fff !important; }
[style*="color:rgba(28,24,39,0.6)"], [style*="color:rgba(28,24,39,0.7)"], [style*="color:rgba(28,24,39,0.62)"], [style*="color: rgba(28,24,39,0.6)"] { color: var(--ag-ink-muted) !important; }

/* ---------- review-fund 27/10 (v152) ---------- */
.bundle-savings { background: var(--ag-brand-tint) !important; color: var(--ag-on-brand-tint) !important; font-weight: 600 !important; }
.r3-tip-medie { background: var(--ag-brand-strong) !important; }
.r3-tip-pris span { color: rgba(255,255,255,.9) !important; }
.problems-list { background: var(--ag-surface-alt) !important; border-radius: var(--ag-radius-md) !important; }
.problems-list strong { color: var(--ag-ink) !important; }
section[data-placement="opsig-alternativ"] + h2 { margin-top: var(--ag-space-12) !important; }
/* sidefoden er mørk: sidernes egne .footer-brand p (tekst i --text-soft) må ikke give mørk tekst på mørk flade */
.footer p, .footer .footer-brand p { color: rgba(255,255,255,.85) !important; }
/* kontakt: mailadressen må ikke knække eller løbe ud over boksen på telefon */
@media (max-width: 480px) { .info-box p[style*="19px"] { font-size: 16px !important; } .src-table td a[href^="mailto:"] { font-size: 13px; white-space: nowrap; } }
/* sitets gamle lysegrønne (--green #a5f3a5) bliver systemets lyse teal på mørke flader (måler, ping, badges) */
:root { --green: #7dd8d4; }
.result-savings { background: var(--ag-brand-tint) !important; color: var(--ag-on-brand-tint) !important; }
/* trustbandets prik arver pillens polstring og blev en oval */
.trustband .tb-dot { padding: 0 !important; border: 0 !important; background: rgba(255,255,255,.85) !important; }
/* tilbudskortenes gave (M1): mint ud */
.m1-rib { background: var(--ag-brand-tint) !important; color: var(--ag-on-brand-tint) !important; }
.m1-gave--moerk { background: var(--ag-ink) !important; }
.m1-gave--moerk span { color: rgba(255,255,255,.9) !important; }
.m1-gave--lys { background: var(--ag-brand-tint) !important; color: var(--ag-on-brand-tint) !important; }
/* prisen i tabelkortene må ikke ombrydes ("99" over "kr") */
.t-price { white-space: nowrap; }

/* Hastighedsbjælken over quizzen på internetsiderne (internettragten, canvas version 17; build_hastighed_bjaelke.py) */
.hb { background: var(--ag-surface); color: var(--ag-ink); border-radius: var(--ag-radius-lg); padding: 12px 14px; margin: 0 0 12px; box-shadow: var(--ag-shadow-raised); font-family: var(--ag-font-sans); text-align: left; }
.hb [hidden] { display: none !important; }
.hb-start { display: flex; align-items: center; gap: 12px; }
.hb-ikon { width: 40px; height: 40px; flex: none; border-radius: var(--ag-radius-md); background: var(--ag-brand-tint); color: var(--ag-on-brand-tint); display: flex; align-items: center; justify-content: center; }
.hb-tekst { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; line-height: 1.3; }
.hb-tekst b { font-size: 15px; font-weight: 800; color: var(--ag-ink); }
.hb-sub { font-size: 13px; color: var(--ag-ink-muted); }
.hb-knap, .hb-igen { min-height: 44px; flex: none; padding: 0 18px; border: 0; border-radius: var(--ag-radius-md); background: var(--ag-brand); color: var(--ag-on-brand); font: inherit; font-size: 15px; font-weight: 800; white-space: nowrap; cursor: pointer; }
.hb-igen { background: transparent; color: var(--ag-brand-strong); padding: 0 4px; font-size: 14px; font-weight: 700; }
.hb-knap:hover { background: var(--ag-brand-strong); }
.hb-linje { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.hb-linje-res { justify-content: flex-start; flex-wrap: wrap; gap: 4px 16px; }
.hb-fase { font-size: 13px; font-weight: 700; color: var(--ag-brand-strong); }
.hb-stort { font-family: var(--ag-font-display); font-size: 28px; font-weight: 800; color: var(--ag-ink); white-space: nowrap; line-height: 1.1; }
.hb-stort small { font-family: var(--ag-font-sans); font-size: 14px; font-weight: 700; color: var(--ag-ink-muted); }
.hb-res-sub { font-size: 13px; color: var(--ag-ink-muted); white-space: nowrap; }
.hb-bar { height: 8px; border-radius: var(--ag-radius-pill); background: var(--ag-brand-tint); overflow: hidden; margin: 10px 0; }
.hb-bar i { display: block; width: 0; height: 100%; background: var(--ag-brand); transition: width .2s; }
.hb-smaa { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: 13px; color: var(--ag-ink-muted); }
.hb-smaa b { color: var(--ag-ink); }
.hb-dom { margin: 8px 0 4px; font-size: 14px; line-height: 1.45; color: var(--ag-ink); }
.hb-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 12px; }
.hb-ned, .hb-mobil { min-height: 44px; display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 800; color: var(--ag-brand-strong); text-decoration: none; }
.hb-ned:hover, .hb-mobil:hover { text-decoration: underline; }
@media (max-width: 380px) { .hb-start { flex-wrap: wrap; } .hb-knap { width: 100%; } }

/* Tv-regnskabet (/priser/tv2-play/) og stafetten (/opsig/), canvas 31/10 og Nikolajs ja 1/11 2026 (abg-plan.js) */
.tvr,.st{font-family:var(--ag-font-sans);color:var(--ag-ink);background:var(--ag-surface);border-radius:var(--ag-radius-lg);box-shadow:var(--ag-shadow-raised);padding:24px 20px;margin:32px 0;box-sizing:border-box;max-width:100%}
.tvr *,.st *{box-sizing:border-box}
.tvr [hidden],.st [hidden]{display:none!important}
.tvr-mrk,.st-mrk{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ag-on-brand-tint);background:var(--ag-brand-tint);border-radius:var(--ag-radius-pill);padding:5px 12px}
.tvr h2,.st h2{font-family:var(--ag-font-display);font-size:26px;line-height:1.2;margin:12px 0 8px;letter-spacing:-.01em}
.tvr h2:focus{outline:none}
.tvr p,.st p{margin:0 0 12px;font-size:16px;line-height:1.55;color:var(--ag-ink)}
.tvr .tvr-q{margin:18px 0 0}
.tvr .tvr-l{display:block;font-weight:700;font-size:16px;margin:0 0 8px}
.tvr-pris{display:flex;align-items:center;gap:10px}
.tvr-pris input{width:120px;min-height:48px;font:700 20px var(--ag-font-sans);color:var(--ag-ink);border:1.5px solid var(--ag-line-strong);border-radius:var(--ag-radius-md);padding:8px 12px;font-variant-numeric:tabular-nums;background:var(--ag-surface)}
.tvr-pris span{color:var(--ag-ink-muted)}
.tvr-check{display:flex;align-items:center;gap:10px;min-height:44px;font-size:15px;margin-top:6px;cursor:pointer}
.tvr-check input{width:28px;height:28px;margin:0;accent-color:var(--ag-brand)}
.tvr-netvej{margin-top:12px}
.tvr-chips{display:flex;flex-wrap:wrap;gap:8px}
.tvr-chips button{min-height:44px;padding:8px 14px;border-radius:var(--ag-radius-pill);border:1.5px solid var(--ag-line-strong);background:var(--ag-surface);color:var(--ag-ink);font:600 15px var(--ag-font-sans);white-space:nowrap;cursor:pointer}
.tvr-chips button.on{background:var(--ag-brand);border-color:var(--ag-brand);color:var(--ag-on-brand)}
.tvr-fejl{color:var(--ag-danger)!important;font-weight:600;margin:16px 0 0!important}
.tvr-go,.st-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin-top:20px;border:0;border-radius:var(--ag-radius-md);background:var(--ag-brand);color:var(--ag-on-brand);font:700 17px var(--ag-font-sans);text-decoration:none;white-space:nowrap;cursor:pointer;padding:0 16px}
.st-btn.ghost,.tvr-go.ghost{background:var(--ag-surface);color:var(--ag-brand-strong);border:1.5px solid var(--ag-brand)}
.tvr button:focus-visible,.tvr a:focus-visible,.tvr input:focus-visible,.st button:focus-visible,.st a:focus-visible{outline:3px solid var(--ag-focus-ring);outline-offset:2px}
.tvr-note,.st-note{font-size:14px!important;color:var(--ag-ink-muted)!important;margin:12px 0 0!important}
.tvr-tal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}
.tvr-tal div{background:var(--ag-surface-alt);border-radius:var(--ag-radius-md);padding:10px 8px;min-width:0}
.tvr-tal span{display:block;font-size:13px;color:var(--ag-ink-muted)}
.tvr-tal b{display:block;font:700 clamp(13px,3.7vw,17px) var(--ag-font-display);font-variant-numeric:tabular-nums;white-space:nowrap}
.tvr-tal .spar{background:var(--ag-brand-tint)}
.tvr-tal .spar b{color:var(--ag-on-brand-tint)}
.tvr-plan{margin:8px 0 4px}
.tvr-mdr,.tvr-rk{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2px}
.tvr-mdr span{font-size:12px;text-align:center;color:var(--ag-ink-muted)}
.tvr-nm{font-size:14px;font-weight:700;margin:12px 0 4px}
.tvr-nm small{font-weight:500;color:var(--ag-ink-muted);font-size:13px}
.tvr-rk i{height:22px;border-radius:4px;background:var(--ag-brand)}
.tvr-rk i.lys{background:var(--ag-brand-tint);box-shadow:inset 0 0 0 1.5px var(--ag-brand)}
.tvr-rk i.fri{background:var(--ag-surface-alt);border:1px dashed var(--ag-line-strong)}
.tvr-rk.net i{background:var(--ag-brand-strong)}
.tvr-rk.net i.lys{background:var(--ag-brand-tint);box-shadow:inset 0 0 0 1.5px var(--ag-brand-strong)}
.tvr-skift{list-style:none;padding:0;margin:16px 0 0}
.tvr-skift li{display:grid;grid-template-columns:96px 1fr;gap:10px;padding:10px 0;border-top:1px solid var(--ag-line);font-size:15px;line-height:1.45}
.tvr-skift b{font-variant-numeric:tabular-nums}
.tvr-kort{display:grid;grid-template-columns:1fr;gap:10px;margin-top:18px}
.tvr-kort article{border:1px solid var(--ag-line);border-radius:var(--ag-radius-md);padding:14px;min-width:0}
.tvr-kort h3{font:700 17px var(--ag-font-sans);margin:0 0 4px}
.tvr-kort p{font-size:15px;margin:0 0 4px}
.tvr-kort .lille{font-size:13px;color:var(--ag-ink-muted);margin:0}
.tvr-kort .st-btn{margin-top:10px;min-height:46px;font-size:16px}
.tvr-kort .tvr-ekstra{background:var(--ag-surface-alt);border-color:transparent}
.st-trin{list-style:none;padding:0;margin:16px 0 0;counter-reset:t}
.st-trin li{position:relative;padding:0 0 18px 44px}
.st-trin li:before{counter-increment:t;content:counter(t);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;background:var(--ag-brand);color:var(--ag-on-brand);font:700 15px/30px var(--ag-font-sans);text-align:center}
.st-trin li:not(:last-child):after{content:"";position:absolute;left:14px;top:34px;bottom:4px;width:2px;background:var(--ag-line)}
.st-trin b{display:block;font-size:17px;margin:3px 0 4px}
.st-trin span{display:block;font-size:15px;line-height:1.5}
.st-trin .st-btn{margin-top:10px;min-height:46px;font-size:16px}
.st-trin .st-dato{display:inline-block;font:700 13px var(--ag-font-sans);color:var(--ag-on-brand-tint);background:var(--ag-brand-tint);border-radius:var(--ag-radius-sm);padding:2px 8px;margin-bottom:4px}
.st-lille{display:inline-flex;align-items:center;min-height:44px;font-size:15px;color:var(--ag-brand-strong);text-decoration:underline;text-underline-offset:3px}
.st-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}
.st-tabs button{min-height:44px;border-radius:var(--ag-radius-md);border:1.5px solid var(--ag-line-strong);background:var(--ag-surface);font:600 14px var(--ag-font-sans);color:var(--ag-ink);white-space:nowrap;padding:0 4px;cursor:pointer}
.st-tabs button.on{background:var(--ag-brand);border-color:var(--ag-brand);color:var(--ag-on-brand)}
@media (min-width:860px){
 .tvr,.st{padding:32px 36px}
 .tvr h2,.st h2{font-size:30px}
 .tvr-tal b{font-size:24px}
 .tvr-go{width:auto;padding:0 32px}
 .st-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
 .tvr-twocol{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:start}
}

/* Forfatterlinje og forfatterboks (canvas og Nikolajs "det er fint" 1/11 2026, build_forfatter.py) */
.ag-by{display:inline-flex;max-width:100%;vertical-align:top;text-align:left;align-items:center;gap:10px;margin:14px 0 0;font:500 14px var(--ag-font-sans);color:inherit}  /* inline-flex: følger heroens venstre- eller midterstilling som én blok */
.ag-by-av{width:40px;height:40px;border-radius:50%;background:var(--ag-brand-tint);color:var(--ag-on-brand-tint);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;flex:none}
.ag-by-t{display:flex;flex-direction:column;line-height:1.35;min-width:0}
.ag-by-t>span{opacity:.92;font-size:13px}
.ag-by a{color:inherit;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;min-height:44px}
.ag-forf{font-family:var(--ag-font-sans);color:var(--ag-ink);background:var(--ag-surface);border-radius:var(--ag-radius-lg);box-shadow:var(--ag-shadow-raised);padding:22px 20px;margin:24px 0;display:grid;grid-template-columns:64px minmax(0,1fr);gap:4px 14px;align-items:center}
.ag-forf-hd{min-width:0}
.ag-forf-txt{grid-column:1/-1;margin-top:10px}
.ag-forf-av{width:64px;height:64px;border-radius:50%;background:var(--ag-brand-tint);color:var(--ag-on-brand-tint);display:flex;align-items:center;justify-content:center;font:700 24px var(--ag-font-display)}
.ag-forf h2{font:700 22px var(--ag-font-display);margin:0 0 4px}
.ag-forf .ag-forf-rolle{font-size:14px;color:var(--ag-ink-muted);margin:0}
.ag-forf ul{margin:0;padding-left:18px;font-size:15px;line-height:1.6}
@media (min-width:860px){
 .ag-forf{grid-template-columns:96px minmax(0,1fr);padding:28px 32px;gap:4px 20px}
 .ag-forf-av{width:96px;height:96px;font-size:30px}
 .ag-forf-txt{grid-column:2}
}

/* Prisagent-boksen (abg-prisagent.js): teal mod sidens hvide baggrund (Nikolaj 1/11 2026: "en anden kontrast farve") */
.ag-pa{position:fixed;left:12px;right:12px;bottom:12px;z-index:900;font-family:var(--ag-font-sans);color:var(--ag-on-brand);background:var(--ag-brand);border-radius:var(--ag-radius-lg);box-shadow:0 8px 40px rgba(18,33,31,.35);padding:18px 16px 16px;box-sizing:border-box;transform:translateY(24px);opacity:0;transition:transform .25s ease,opacity .25s ease}
.ag-pa.ind{transform:none;opacity:1}
.ag-pa *{box-sizing:border-box}
.ag-pa-luk{position:absolute;top:6px;right:6px;width:44px;height:44px;border:0;background:transparent;border-radius:50%;font-size:24px;line-height:1;color:var(--ag-on-brand);cursor:pointer}
.ag-pa-luk:focus-visible,.ag-pa button:focus-visible,.ag-pa input:focus-visible{outline:3px solid var(--ag-on-brand);outline-offset:2px}
.ag-pa-mrk{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ag-on-brand);background:rgba(255,255,255,.16);border-radius:var(--ag-radius-pill);padding:4px 10px}
.ag-pa h2{font:700 19px/1.25 var(--ag-font-display);margin:10px 44px 6px 0;color:var(--ag-on-brand)}
.ag-pa p{font-size:14px;line-height:1.5;margin:0 0 10px;color:var(--ag-on-brand)}
.ag-pa-row{display:flex;gap:8px}
.ag-pa-row input{flex:1 1 auto;min-width:0;min-height:48px;border:0;border-radius:var(--ag-radius-md);padding:0 12px;font:500 16px var(--ag-font-sans);color:var(--ag-ink);background:var(--ag-surface)}
.ag-pa-row button{flex:none;min-height:48px;padding:0 16px;border:0;border-radius:var(--ag-radius-md);background:var(--ag-ink);color:var(--ag-on-brand);font:700 16px var(--ag-font-sans);white-space:nowrap;cursor:pointer}
.ag-pa-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ag-pa-ok{display:flex;gap:10px;align-items:flex-start;min-height:44px;font-size:13px;line-height:1.45;margin-top:10px;color:var(--ag-on-brand)}
.ag-pa-ok input{width:22px;height:22px;margin:2px 0 0;flex:none;accent-color:var(--ag-ink)}
.ag-pa-msg{min-height:0;margin:6px 0 0!important;font-weight:700}
.ag-pa-tak{font-size:15px!important;margin:4px 0 0!important}
@media (min-width:860px){.ag-pa{left:auto;right:24px;bottom:24px;width:380px}}
@media (prefers-reduced-motion:reduce){.ag-pa{transition:none}}
