/* ============================================================================
   MyInvest24 — Lateral Print-Layer (Welle E auf Papier)
   Erste und einzige Druckschicht des Repos. Zwei Konsumenten:
     (a) Leser, die eine Ratgeber-Seite / Checkliste im Browser ausdrucken
     (b) der PDF-Generator (Playwright page.pdf()), der aus einer HTML-Vorlage
         die Download-PDFs rendert — das PDF sieht exakt so aus wie hier definiert.

   EINBINDUNG (verbindlich):
     <link rel="stylesheet" href="/css/mi24-lateral.css">
     <link rel="stylesheet" href="/css/mi24-print.css">   <-- OHNE media-Attribut
   Diese Datei definiert KEINE eigenen Tokens (Schicht-Regel: Tokens nur in
   mi24-lateral.css) und muss deshalb NACH mi24-lateral.css geladen werden.
   Ein media="print" am <link> wäre falsch: der Screen-Block unten (Abschnitt 3)
   versteckt die Print-only-Elemente am Bildschirm und muss dort greifen.

   PDF-GENERATOR: page.pdf({ preferCSSPageSize: true, printBackground: true })
   — und KEINE margin-Option übergeben. Gemessen (Chromium 1228, A4):
     · ohne margin-Option gewinnt das @page aus Abschnitt 1 (26 mm seitlich),
       mit und ohne preferCSSPageSize identisch;
     · eine gesetzte margin-Option überschreibt die CSS-Ränder komplett;
     · preferCSSPageSize:true fixiert zusätzlich das Format auf A4.
   printBackground ist bewusst egal: Abschnitt 5 nimmt jede dunkle Fläche
   heraus, das Ergebnis ist mit true und false byte-gleich lesbar.

   Grundsatz: Druck ist monochrom zu denken. Dunkle Flächen mit heller Schrift
   werden aufs Papier UMGEDREHT (Abschnitt 5) — sonst druckt der Browser den
   Hintergrund weg und der weiße Text steht unsichtbar auf weißem Papier.
   ========================================================================== */

/* ----------------------------------------------------------------------------
   1 · @page — A4, Ränder so, dass nichts beschnitten wird
   Sicherer Druckbereich handelsüblicher Laserdrucker: ~5 mm Randverlust.
   Textbreite = 210 − 2×26 = 158 mm → bei 11 pt rund 80 Zeichen/Zeile.
---------------------------------------------------------------------------- */
@page {
  size: A4 portrait;
  margin: 20mm 26mm 22mm;
}
@page :first {
  margin-top: 24mm;
}

/* ----------------------------------------------------------------------------
   2 · GRUNDSETZUNG — Papier weiß, Schrift schwarz, keine Viewport-Tricks
---------------------------------------------------------------------------- */
@media print {
  html.lx-root,
  html {
    scroll-behavior: auto !important;
    background: none !important;
  }

  /* body.lx trägt am Bildschirm --black-base. Ungedreht wäre die erste Seite
     eine schwarze Fläche (bzw. bei weggelassenem Hintergrund weißer Text
     auf weißem Papier). */
  body.lx,
  body {
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    min-height: 0 !important;
    background: none !important;
    color: var(--ink) !important;
    font-family: var(--font-ui);
    font-size: 11pt;
    line-height: 1.5;
    -webkit-print-color-adjust: economy;
    print-color-adjust: economy;
  }

  /* Sticky/Fixed löst sich auf — sonst klebt es auf jeder Seite oder verdeckt
     Fließtext. Alles, was nicht ohnehin ausgeblendet wird, fließt mit. */
  .lx :where(*) {
    position: static !important;
    float: none !important;
    max-height: none !important;
    overflow: visible !important;
    box-shadow: none !important;
    text-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    filter: none !important;
    transition: none !important;
    animation: none !important;
  }

  /* Reveal-Engine: [data-lxr] startet bei opacity .011. Was beim Druck nie
     im Viewport war, hat kein .lx-in bekommen und wäre im PDF unsichtbar.
     Das ist der teuerste Druckfehler dieser Codebase — hier hart aufgelöst. */
  .lx-motion [data-lxr],
  .lx-motion [data-lxr].lx-in,
  .lx-motion .lx-lines .lx-line,
  .lx-motion .lx-rail,
  .lx-motion .lx-compare__divider,
  .lx [data-lxr] {
    opacity: 1 !important;
    transform: none !important;
    visibility: visible !important;
  }
  .lx-motion .lx-rail,
  .lx-motion .lx-compare__divider {
    transform: scaleY(1) !important;
  }

  /* Container-Rhythmus: am Papier tragen die @page-Ränder, nicht die Gutter. */
  .lx-container,
  .mi24-seo-wrap,
  .mi24-seo-layout {
    max-width: none !important;
    width: auto !important;
    margin: 0 !important;
    /* Auch oben/unten auf 0: die 64/96 px Layout-Polsterung der Ratgeber-Seiten
       hinterlassen auf Papier sonst handbreite Löcher zwischen den Blöcken. */
    padding: 0 !important;
    display: block !important;
  }
  .lx-section,
  .lx-section--dark,
  .lx-section--light,
  .lx-section--warm,
  .mi24-seo-hero {
    padding: 0 0 12pt !important;
    margin: 0 !important;
  }
}

/* ----------------------------------------------------------------------------
   3 · SICHTBARKEIT — was nie aufs Papier gehört
   Screen-Block zuerst: .mi24-print-only/.mi24-print-meta sind am Bildschirm
   unsichtbar und werden erst im Druck eingeblendet.
---------------------------------------------------------------------------- */
@media screen {
  .mi24-print-only,
  .mi24-print-meta {
    display: none !important;
  }
}

@media print {
  .mi24-screen-only,
  [data-noprint],

  /* Navigation */
  .lx-nav,
  .lx-nav--lp,
  .lx-burger,
  .lx-mobilenav,
  #lxMobileNav,
  .lx-skip,
  .lxi-crumb,
  .mi24-seo-toc,
  .mi24-seo-toc-cta,

  /* Footer-Navigation (die Legal-Zeile bleibt als Kolophon, Abschnitt 5) */
  .lx-footer__grid,
  .lx-footer__col,
  .lx-footer__social,
  .lx-footer__cookiebtn,
  /* .lx-footer__legal nav bleibt sichtbar: darin steht KEINE Navigation,
     sondern Geschäftsführung, Registergericht, HRB und §34c GewO. */

  /* Cookie / Consent */
  #cookie-consent-banner,
  .cookie-banner,
  .cookie-banner__container,
  [data-consent],
  [data-cookie-banner],

  /* Sticky-Leisten und Sprungmarken */
  .mi24-stickycta,
  .lx-stickycta,
  .lx-sticky,
  .lx-hero__scrollcta,

  /* Share / Social */
  .lx-share,
  .mi24-share,
  [data-share],

  /* Rechner-Bedienelemente — das Ergebnis bleibt, die Steuerung geht */
  .lx-calcwin__bar,
  .lx-calcwin .mi24-progress,
  .lx-calcwin .mi24-btn,
  .lx-calcwin .mi24-range-wrapper,
  .lx-calcwin .mi24-slider,
  .lx-calcwin input,
  .lx-calcwin select,
  .lx-calcwin button,
  .lxi-presets,
  .lxi-inputwrap,
  .lxi-check,
  .mi24-seo-compass-meter,

  /* Deko */
  .lx-marquee,
  video,
  iframe,
  canvas:not([data-print]),
  noscript {
    display: none !important;
  }

  /* Print-only-Elemente einblenden */
  .mi24-print-only {
    display: revert !important;
  }
  .mi24-print-only[hidden] {
    display: revert !important;
  }
}

/* ----------------------------------------------------------------------------
   4 · PRINT-META — Stand-/Quellenzeile
   Browser-Kopf/-Fuß über @page ist praktisch nicht steuerbar. Statt dessen ein
   sichtbares, nur im Druck eingeblendetes Element, das der PDF-Generator füllt:

     <div class="mi24-print-meta">
       <span><b>Quelle</b>myinvest24.de/ratgeber/…</span>
       <span><b>Stand</b>16.08.2026</span>
       <span><b>Version</b>1.2</span>
     </div>

   --head setzt es an den Dokumentanfang, ohne Modifier ans Ende.
---------------------------------------------------------------------------- */
@media print {
  .mi24-print-meta {
    display: flex !important;
    flex-wrap: wrap;
    gap: 4pt 18pt;
    margin: 18pt 0 0;
    padding-top: 8pt;
    border-top: 1px solid var(--ink);
    font-family: var(--font-mono);
    font-size: 8pt;
    line-height: 1.4;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--ink);
    font-variant-numeric: tabular-nums;
    break-inside: avoid;
  }
  .mi24-print-meta--head {
    margin: 0 0 20pt;
    padding: 0 0 8pt;
    border-top: 0;
    border-bottom: 1px solid var(--ink);
  }
  .mi24-print-meta span {
    display: inline-flex;
    align-items: baseline;
    gap: 8pt;
    overflow-wrap: anywhere;
  }
  /* 6×6-Quadrat vor jedem Meta-Paar — das Wiedererkennungszeichen der Marke
     überlebt auch aufs Papier. exact, weil Browser Flächen sonst wegdrucken. */
  .mi24-print-meta b {
    display: inline-flex;
    align-items: center;
    gap: 6pt;
    font-weight: 400;
    color: var(--ink);
  }
  .mi24-print-meta b::before {
    content: '';
    width: 4pt;
    height: 4pt;
    flex: none;
    background: var(--ink);
    border-radius: 0;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .mi24-print-meta b::after {
    content: ':';
  }
}

/* ----------------------------------------------------------------------------
   5 · FARBUMKEHR — dunkle Bausteine werden Papier-Panels
   Der klassische Fehler: .mi24-seo-final-cta (background rgb(8,8,8), Text
   weiß) druckt als weißer Kasten mit unsichtbarer Schrift, weil Browser
   Hintergründe standardmäßig weglassen. Mit printBackground:true wäre es
   umgekehrt ein schwarzer Toner-Block. Beide Fälle sind hier erledigt:
   Fläche raus, Text auf Ink, Hairline-Rahmen trägt die Blockwirkung.
---------------------------------------------------------------------------- */
@media print {
  .lx-dark,
  .lx-section--dark,
  .lx-section--light,
  .lx-section--warm,
  .mi24-seo-hero,
  .mi24-seo-insights,
  .lx-finalcta,
  .lx-footer,
  .lx-glass-bar,
  .lx-glass-panel,
  .lx-hero--photo,
  .lx-stats,
  .lx-stat,
  .lx-tab,
  .mi24-seo-final-cta,
  .mi24-seo-next-card,
  .mi24-seo-hero-card,
  .lx-calcwin,
  .lx-download {
    background: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    color: var(--ink) !important;
  }

  .lx-dark .lx-h1, .lx-dark .lx-h2, .lx-dark .lx-h3,
  .lx-dark .lx-body, .lx-dark .lx-tt, .lx-dark p, .lx-dark span,
  .lx-dark strong, .lx-dark a, .lx-dark li,
  .lx-footer, .lx-footer *,
  .lx-stat__value, .lx-stat__label,
  .mi24-seo-final-cta h2,
  .mi24-seo-final-cta p,
  .mi24-seo-final-cta span,
  .mi24-seo-final-cta a,
  .mi24-seo-final-primary,
  .mi24-seo-final-secondary,
  .mi24-seo-next-card h2,
  .mi24-seo-next-card p,
  .mi24-seo-next-card li,
  .mi24-seo-next-card strong,
  .mi24-seo-next-card a,
  .mi24-seo-hero-card span,
  .mi24-seo-hero-card strong {
    color: var(--ink) !important;
    background: none !important;
  }

  /* Der Block bleibt als Block lesbar — über Hairline, nicht über Fläche.
     (Brand-Gesetz 5: Struktur durch 1-px-Linien, nie durch Schlagschatten.) */
  .mi24-seo-final-cta,
  .mi24-seo-next-card,
  .mi24-seo-answer-card,
  .mi24-seo-insights,
  .mi24-seo-sources,
  .mi24-seo-calc-panel,
  .mi24-seo-chart-panel,
  .mi24-seo-compass,
  .lx-calcwin {
    display: block !important;
    border: 1px solid var(--ink) !important;
    border-radius: 0 !important;
    padding: 12pt 14pt !important;
    margin: 14pt 0 !important;
    break-inside: avoid;
  }
  /* SPEZIFITÄTS-NETZ
     Ratgeber-Seiten hängen ihr <style> hinter dieses Stylesheet und setzen
     dort !important auf gleicher Spezifität — .mi24-seo-final-secondary
     erzwingt so weisse Schrift. Bei Gleichstand gewinnt die spätere Regel,
     also die Seite, und der Text stünde weiß auf weißem Papier. body.lx hebt
     hier über jede dieser Regeln. */
  body.lx .mi24-seo-final-cta,
  body.lx .mi24-seo-final-cta *,
  body.lx .mi24-seo-next-card,
  body.lx .mi24-seo-next-card *,
  body.lx .mi24-seo-hero-card,
  body.lx .mi24-seo-hero-card *,
  body.lx .mi24-seo-toc-cta,
  body.lx .lx-dark,
  body.lx .lx-dark *,
  body.lx .lx-footer,
  body.lx .lx-footer * {
    color: var(--ink) !important;
    background-image: none !important;
  }
  body.lx .mi24-seo-final-cta,
  body.lx .mi24-seo-next-card,
  body.lx .mi24-seo-hero-card,
  body.lx .mi24-seo-next-card li,
  body.lx .mi24-seo-final-actions a,
  body.lx .lx-dark,
  body.lx .lx-footer {
    background-color: transparent !important;
  }
  body.lx .mi24-seo-final-actions a {
    text-decoration: underline !important;
  }

  /* CTA-Pills sind auf Papier keine Buttons mehr, sondern Textzeilen mit URL. */
  .lx-btn,
  .mi24-seo-final-actions a,
  .mi24-seo-final-primary,
  .mi24-seo-final-secondary {
    display: inline !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    color: var(--ink) !important;
    font-family: var(--font-ui) !important;
    font-size: 10pt !important;
    font-weight: 500 !important;
    text-decoration: underline !important;
    transform: none !important;
  }
  .mi24-seo-final-actions {
    display: block !important;
  }
  .mi24-seo-final-actions a + a {
    margin-left: 12pt;
  }

  /* Footer schrumpft auf ein Kolophon (Firmierung, HRB, §34c). */
  .lx-footer {
    margin-top: 16pt !important;
    padding: 0 !important;
    border-top: 1px solid var(--ink) !important;
  }
  .lx-footer__legal {
    display: block !important;
    margin: 0 !important;
    padding: 8pt 0 0 !important;
    border-top: 0 !important;
    font-family: var(--font-mono);
    font-size: 8pt;
    letter-spacing: 0.04em;
    color: var(--ink) !important;
  }

  /* Fortschritts-/Meter-Flächen ohne Farbe sind leere Kästen — Zahl bleibt,
     Balken wird zur Hairline-Skala. */
  .mi24-seo-bar-track {
    height: 3pt !important;
    border: 1px solid var(--ink) !important;
    border-radius: 0 !important;
    background: none !important;
  }
  .mi24-seo-bar-track span {
    background: var(--ink) !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

/* ----------------------------------------------------------------------------
   6 · TYPOGRAFIE FÜRS PAPIER — Größen in pt, Waisen/Witwen ausgeschlossen
   Größenleiter aufs Papier übersetzt: 22 · 16 · 12 · 11 · 9 · 8 pt.
---------------------------------------------------------------------------- */
@media print {
  .lx h1, .lx h2, .lx h3, .lx h4,
  .lx-h1, .lx-h2, .lx-h3,
  .mi24-seo-article h2,
  .mi24-seo-article h3 {
    color: var(--ink) !important;
    break-after: avoid;
    break-inside: avoid;
    page-break-after: avoid;
    text-wrap: balance;
    hyphens: none;
  }

  .lx-h1, .lx h1, .mi24-seo-hero h1 {
    font-family: var(--font-display);
    font-size: 22pt;
    font-weight: 300;
    line-height: 1.14;
    letter-spacing: -0.03em;
    margin: 0 0 8pt;
    max-width: none;
  }
  .lx-h2, .lx h2, .mi24-seo-article h2 {
    font-family: var(--font-display);
    font-size: 16pt;
    font-weight: 300;
    line-height: 1.2;
    letter-spacing: -0.03em;
    margin: 16pt 0 6pt;
  }
  .lx-h3, .lx h3, .mi24-seo-article h3 {
    font-family: var(--font-ui);
    font-size: 12pt;
    font-weight: 500;
    line-height: 1.28;
    letter-spacing: -0.01em;
    margin: 12pt 0 4pt;
  }

  .lx p, .lx li,
  .lx-body, .lx-sub,
  .mi24-seo-article,
  .mi24-seo-section p,
  .mi24-seo-section li,
  .mi24-seo-lead {
    font-family: var(--font-ui);
    font-size: 11pt;
    line-height: 1.5;
    color: var(--ink) !important;
    orphans: 3;
    widows: 3;
    /* Deutsche Komposita brechen an fester Zeilenbreite sonst hässlich um */
    hyphens: auto;
    -webkit-hyphens: auto;
  }
  /* Sicherheitsnetz gegen ausufernde Zeilenlänge auf abweichenden Papierformaten.
     Auf A4 (158 mm Satzspiegel) greift es nicht — dort sind es rund 80 Zeichen. */
  .mi24-seo-section p,
  .mi24-seo-section li,
  .mi24-seo-lead {
    max-width: 78ch;
  }
  .mi24-seo-lead {
    font-size: 12pt;
    line-height: 1.5;
  }
  .lx p { margin: 0 0 8pt; }
  .lx ul, .lx ol,
  .mi24-seo-section ul,
  .mi24-seo-section ol {
    margin: 0 0 10pt;
    padding-left: 14pt;
    list-style: disc outside;
  }
  .mi24-seo-section ol { list-style: decimal outside; }
  .lx li { margin: 0 0 4pt; break-inside: avoid; }

  /* Mono-Labels bleiben Mono-Labels — Ziffern tabellarisch. */
  .lx-mono, .lx-eyebrow,
  .mi24-seo-eyebrow,
  .mi24-seo-panel-label,
  .mi24-seo-meta,
  .lx-stat__label,
  .lxi-fieldhead label {
    font-family: var(--font-mono) !important;
    font-size: 8pt !important;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--ink) !important;
    font-variant-numeric: tabular-nums;
    break-after: avoid;
  }
  .lx-eyebrow::before {
    background: var(--ink) !important;
    width: 4pt;
    height: 4pt;
    border-radius: 0;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .mi24-seo-disclaimer,
  .lx-download__meta,
  figcaption,
  .mi24-seo-hero-caption {
    font-size: 8.5pt;
    line-height: 1.4;
    color: var(--ink) !important;
  }

  /* Blockkarten und Absätze nicht mitten durchreißen. */
  .lx-card,
  .lx-download,
  .mi24-seo-stat,
  .mi24-seo-compass-item,
  .mi24-seo-bar-row,
  .mi24-seo-faq details,
  blockquote,
  figure,
  .lxi-block {
    break-inside: avoid;
    page-break-inside: avoid;
  }
  /* FAQ-Akkordeons drucken offen — zugeklappt ist der Inhalt sonst verloren. */
  details {
    display: block !important;
  }
  details > summary {
    list-style: none;
    font-weight: 600;
    break-after: avoid;
  }
  details > summary::-webkit-details-marker { display: none; }
  details > *:not(summary) { display: revert !important; }
}

/* ----------------------------------------------------------------------------
   7 · TABELLEN — thead auf Folgeseiten wiederholen, Zeilen nicht trennen
---------------------------------------------------------------------------- */
@media print {
  table,
  .mi24-seo-section table {
    display: table !important;
    width: 100% !important;
    border-collapse: collapse !important;
    border-spacing: 0 !important;
    border: 1px solid var(--ink) !important;
    border-radius: 0 !important;
    background: none !important;
    margin: 10pt 0 14pt !important;
    font-size: 9.5pt !important;
    line-height: 1.35;
    break-inside: auto;
    page-break-inside: auto;
  }
  thead, .mi24-seo-section thead {
    display: table-header-group !important; /* wiederholt sich auf jeder Seite */
    break-inside: avoid;
    break-after: avoid;
  }
  tfoot { display: table-footer-group !important; }
  tbody, .mi24-seo-section tbody { display: table-row-group !important; }
  tr, .mi24-seo-section tr {
    display: table-row !important;
    break-inside: avoid !important;    /* keine Zeile mitten durchtrennen */
    page-break-inside: avoid !important;
  }
  th, td,
  .mi24-seo-section th,
  .mi24-seo-section td {
    display: table-cell !important;
    padding: 5pt 7pt !important;
    text-align: left;
    vertical-align: top;
    border: 0 !important;
    border-bottom: 1px solid var(--light-warm) !important;
    background: none !important;
    color: var(--ink) !important;
    hyphens: auto;
  }
  /* Kopfzeile war rgb(3,3,3) mit weißer Schrift → auf Papier Hairline + Mono. */
  th, .mi24-seo-section th {
    font-family: var(--font-mono) !important;
    font-size: 8pt !important;
    font-weight: 400 !important;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    border-bottom: 1px solid var(--ink) !important;
    /* Versal-Mono darf nicht trennen — sonst steht "WOHNFLÄ-CHE" im Kopf. */
    hyphens: none;
    -webkit-hyphens: none;
  }
  tr:last-child td { border-bottom: 0 !important; }
}

/* ----------------------------------------------------------------------------
   8 · LINKS — URL hinter dem Text, aber NUR bei absoluten Fließtext-Links
   Anker (#), Navigation, Buttons und TOC bleiben nackt — sonst ist das
   Dokument unlesbar.
---------------------------------------------------------------------------- */
@media print {
  .lx a,
  .mi24-seo-article a {
    color: var(--ink) !important;
    text-decoration: underline;
    text-underline-offset: 2px;
    overflow-wrap: anywhere;
  }

  .mi24-seo-section a[href^="http"]::after,
  .mi24-seo-section a[href^="//"]::after,
  .mi24-seo-insights a[href^="http"]::after,
  .mi24-seo-sources a[href^="http"]::after,
  .mi24-seo-sources a[href^="//"]::after,
  .lx-prose a[href^="http"]::after,
  .lx-prose a[href^="//"]::after {
    content: ' (' attr(href) ')';
    font-family: var(--font-mono);
    font-size: 8pt;
    letter-spacing: 0;
    text-decoration: none;
    color: var(--ink);
    overflow-wrap: anywhere;
  }

  /* Ausnahmen: alles, was keine Quellenangabe ist.
     NICHT ausgenommen: .lx-download__action — dort trägt die URL das Asset
     (Abschnitt 10 schreibt sie in eine eigene Zeile). */
  .lx a[href^="#"]::after,
  .lx-nav a::after,
  .lx-footer a::after,
  .lx-textlink::after,
  .mi24-seo-toc a::after,
  .mi24-seo-final-actions a::after {
    content: none !important;
  }
}

/* ----------------------------------------------------------------------------
   9 · MEDIEN — Bilder passen aufs Papier, Deko fliegt raus
---------------------------------------------------------------------------- */
@media print {
  .lx img,
  img {
    max-width: 100% !important;
    height: auto !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .mi24-seo-hero-media,
  .mi24-seo-hero-media img,
  .lx-media,
  .lx-media img {
    border-radius: 0 !important;
    box-shadow: none !important;
    max-height: 70mm !important;
    object-fit: contain !important;
    aspect-ratio: auto !important;
  }
  .lx-media { border: 1px solid var(--light-warm) !important; }
  svg { max-width: 100%; }
}

/* ----------------------------------------------------------------------------
   10 · DOWNLOAD-BAUSTEIN AUF PAPIER (Abschnitt 26 in mi24-lateral.css)
   Der Button ist gedruckt nutzlos — die URL trägt. Formatkennzeichen und
   Metazeile bleiben, damit der Ausdruck sagt, was es zum Download gibt.
---------------------------------------------------------------------------- */
@media print {
  .lx-download-group {
    display: block !important;
  }
  .lx-download {
    display: block !important;
    border: 1px solid var(--ink) !important;
    border-radius: 0 !important;
    padding: 10pt 12pt !important;
    margin: 10pt 0 !important;
  }
  .lx-download--gated {
    border-style: dashed !important;
  }
  .lx-download__head {
    display: flex !important;
    align-items: baseline;
    gap: 10pt;
  }
  .lx-download__format {
    display: inline-block !important;
    width: auto !important;
    min-height: 0 !important;
    padding: 2pt 5pt !important;
    border: 1px solid var(--ink) !important;
    border-radius: 0 !important;
    font-size: 8pt !important;
    color: var(--ink) !important;
    background: none !important;
  }
  /* Glyph-Streifen (Fläche) verschwindet beim Druck ohnehin — Kürzel trägt. */
  .lx-download__format::before {
    display: none !important;
  }
  .lx-download__title { font-size: 11pt !important; margin: 0 !important; }
  .lx-download__desc  { font-size: 10pt !important; margin: 5pt 0 0 !important; }
  .lx-download__meta {
    display: block !important;
    margin: 6pt 0 0 !important;
  }
  .lx-download__meta > * {
    border: 0 !important;
    padding: 0 !important; /* die Hairline-Trenner vom Bildschirm entfallen */
  }
  .lx-download__meta > * + *::before {
    content: ' · ';
  }
  .lx-download__gate {
    border: 1px solid var(--ink) !important;
    border-radius: 0 !important;
    padding: 1pt 5pt !important;
    font-size: 8pt !important;
    color: var(--ink) !important;
  }
  .lx-download__gate::before {
    background: var(--ink) !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  /* URL des Assets ausschreiben — der Ausdruck soll zum Download führen.
     !important, weil Abschnitt 8 Buttons pauschal von der URL-Ausgabe nimmt. */
  .lx-download__action { margin-top: 6pt !important; }
  .lx-download__action a[href]::after {
    content: '\A' attr(href) !important;
    display: block;
    white-space: pre-wrap;
    margin-top: 2pt;
    font-family: var(--font-mono);
    font-size: 8pt;
    text-decoration: none;
    overflow-wrap: anywhere;
  }
}

/* ----------------------------------------------------------------------------
   11 · RECHNER — Steuerung raus, Ergebnis bleibt
   Ein ausgedrucktes Slider-Feld ist wertlos; die berechneten Zahlen nicht.
---------------------------------------------------------------------------- */
@media print {
  .lx-calcwin__body,
  .lxi-cols,
  .lxi-col,
  .lxi-col--result {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }
  .lx-calcwin .mi24-step { display: none !important; }
  .lx-calcwin .mi24-step.active { display: block !important; }
  .lxi-stats,
  .mi24-seo-stat-grid,
  .mi24-seo-calc-rows {
    display: block !important;
    border: 0 !important;
    background: none !important;
  }
  .lxi-stat,
  .mi24-seo-stat,
  .mi24-seo-calc-row,
  .mi24-seo-calc-result {
    display: flex !important;
    justify-content: space-between;
    gap: 12pt;
    min-height: 0 !important;
    padding: 4pt 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--light-warm) !important;
    background: none !important;
    break-inside: avoid;
  }
  .lxi-bignum,
  .mi24-seo-calc-result strong,
  .mi24-seo-stat strong,
  .lx-stat__value {
    font-family: var(--font-display) !important;
    font-size: 14pt !important;
    font-weight: 300 !important;
    color: var(--ink) !important;
    font-variant-numeric: tabular-nums;
  }
}
