/* ═══════════════════════════════════════════════════════════════
   toolbox/print.css · gemeinsames Drucklayout der Toolbox
   Einbinden NACH theme.css:  <link rel="stylesheet" href="../print.css" media="print">
   Gedruckt wird nur der Block .druck-seite (plus Blöcke mit .druck-mit), alles andere bleibt am Bildschirm.
   Größen in pt, nichts unter 7,5 pt. Bausteine: .druck-kopf, .dk-karten,
   .df-titel, .df-grid/.df-z, .druck-cta, .druck-disclaimer.
   Helfer dazu: toolbox/druck.js (ToolDruck).
   ═══════════════════════════════════════════════════════════════ */
@page{ size:A4; margin:12mm 14mm; }
*{ -webkit-print-color-adjust:exact !important; print-color-adjust:exact !important; }

html, body, body.rechner-breit{ background:#fff !important; }
main{ padding:0; }
.container{ max-width:none; padding:0; }
header, footer, .ergebnis-leiste{ display:none !important; }
/* .druck-mit: Bildschirm-Block, der zusätzlich gedruckt wird (Formular der Selbstauskunft) */
main .container > *:not(.druck-seite):not(.druck-mit){ display:none !important; }

.druck-seite{ display:block; font-family:'Inter', sans-serif; font-size:9pt; line-height:1.45; color:#0A1130; }

/* Kopf: Titel links, Signatur-Logo rechts, Marken-Linie */
.druck-seite .druck-kopf{ display:block; margin-bottom:10pt; }
.druck-seite .dk-zeile{ display:flex; justify-content:space-between; align-items:flex-start; gap:12pt; }
.druck-seite .dk-kicker{ font-weight:600; font-size:7.5pt; letter-spacing:0.16em; text-transform:uppercase; color:#B08D2F; margin-bottom:3pt; }
.druck-seite .dk-titel{ font-size:19pt; font-weight:700; line-height:1.1; letter-spacing:-0.01em; color:#0A1130; }
.druck-seite .dk-sub{ font-size:8.5pt; color:#4A5184; margin-top:4pt; }
.druck-seite .dk-logo{ height:33pt; width:auto; flex-shrink:0; }
.druck-seite .dk-rule{ height:2.25pt; background:#0018A8; margin-top:7pt; position:relative; }
.druck-seite .dk-rule::after{ content:''; position:absolute; left:0; top:0; width:48pt; height:2.25pt; background:#B08D2F; }

/* Kennzahlen-Karten */
.druck-seite .dk-karten{ display:flex; gap:7pt; margin:0 0 4pt; }
.druck-seite .dk-karte{ flex:1; background:#F4F6FB; border-top:2.25pt solid #0018A8; border-radius:0 0 6pt 6pt; padding:6pt 8pt 6pt; }
.druck-seite .dk-karte .kl{ font-weight:600; font-size:7.5pt; letter-spacing:0.08em; text-transform:uppercase; color:#4A5184; }
.druck-seite .dk-karte .kw{ font-weight:600; font-size:13pt; color:#0018A8; margin-top:2pt; white-space:nowrap; font-variant-numeric:tabular-nums; }
.druck-seite .dk-karte.gold{ border-top-color:#B08D2F; }
.druck-seite .dk-karte.gold .kw{ color:#8A6D1F; }
.druck-seite .dk-karte.rot{ border-top-color:#B42318; }
.druck-seite .dk-karte.rot .kw{ color:#B42318; }

/* Abschnittstitel und Wertzeilen */
.druck-seite .df-titel{ font-weight:600; font-size:7.5pt; letter-spacing:0.14em; text-transform:uppercase; color:#0018A8; margin:11pt 0 4pt; }
.druck-seite .df-titel::before{ content:''; display:inline-block; width:11pt; height:1.5pt; background:#B08D2F; margin-right:5pt; vertical-align:2.5pt; }
.druck-seite .df-grid{ display:grid; grid-template-columns:1fr 1fr; column-gap:26pt; }
.druck-seite .df-z{ display:flex; justify-content:space-between; gap:12pt; padding:2.5pt 0; border-bottom:0.75pt solid #E1E4F0; font-size:9pt; color:#4A5184; break-inside:avoid; }
.druck-seite .df-z span:last-child{ color:#0A1130; white-space:nowrap; font-variant-numeric:tabular-nums; }
.druck-seite .df-z.summe{ border-bottom:none; border-top:1.25pt solid #0018A8; margin-top:-0.75pt; padding-top:4pt; font-weight:700; color:#0A1130; }
.druck-seite .df-z.summe span:last-child{ color:#0018A8; font-size:10.5pt; }
.druck-seite .df-hinweis{ font-size:8pt; color:#4A5184; margin:4pt 0 0; max-width:none; }

/* Tabellen (Tilgungsplan, Ansparplan) */
.druck-seite table.dtab{ width:100%; border-collapse:collapse; margin-top:3pt; }
.druck-seite .dtab thead{ display:table-header-group; }
.druck-seite .dtab th{ font-weight:600; font-size:7.5pt; letter-spacing:0.05em; text-transform:uppercase; color:#fff;
                       background:#0018A8; text-align:right; padding:4.5pt 6pt; border:none; }
.druck-seite .dtab td{ font-size:8.5pt; text-align:right; padding:3pt 6pt; border-bottom:0.75pt solid #E7E9F2;
                       white-space:nowrap; font-variant-numeric:tabular-nums; color:#0A1130; }
.druck-seite .dtab th:first-child, .druck-seite .dtab td:first-child{ text-align:left; }
.druck-seite .dtab tr.gerade td, .druck-seite .dtab tbody tr:nth-child(even) td{ background:#F4F6FB; }
.druck-seite .dtab tr.zb td{ border-bottom:1.5pt solid #8E97D8; }
.druck-seite .dtab tr.schluss td{ font-weight:700; border-bottom:none; }
.druck-seite .dtab tr{ break-inside:avoid; }
.druck-seite .druck-auszug{ display:block; font-size:7.5pt; color:#4A5184; margin:4pt 0 0; max-width:none; }

/* Finanzrechner: drei Ausgaben in einer Seite, die Body-Klasse wählt die aktive */
.druck-seite .druck-block{ display:none; }
body.druck-invest .druck-seite .druck-invest,
body.druck-fin .druck-seite .druck-fin,
body.druck-rente .druck-seite .druck-rente{ display:block; }
.druck-seite .balken-chart-druck{ margin:4pt 0 6pt; }
.druck-seite .balken-chart-druck svg{ width:100%; height:auto; display:block; }
/* Altersvorsorgedepot: Schichtgrafik in der PDF */
.druck-seite .verlauf-druck{ margin:2pt 0 4pt; break-inside:avoid; }
.druck-seite .verlauf-druck svg{ width:100%; height:auto; display:block; max-height:110pt; }
.druck-seite .verlauf-druck .verlauf-legende{ display:flex; flex-wrap:wrap; gap:3pt 12pt; justify-content:center; font-size:7.5pt; color:#4A5184; margin-top:2pt; }
.druck-seite .verlauf-druck .verlauf-legende i{ display:inline-block; width:7pt; height:7pt; border-radius:50%; margin-right:4pt; vertical-align:-1pt; }

/* Kontaktkasten */
.druck-seite .druck-cta{ display:block; margin-top:13pt; background:#0018A8; color:#fff; padding:10pt 13pt 9pt 15pt;
                         border-radius:10px; overflow:hidden; break-inside:avoid; position:relative; }
.druck-seite .druck-cta::before{ content:''; position:absolute; left:0; top:0; bottom:0; width:3pt; background:#B08D2F; }
.druck-seite .druck-cta .dc-titel{ font-weight:700; font-size:12pt; color:#fff; margin-bottom:3pt; }
.druck-seite .druck-cta p{ font-size:9pt; margin:0 0 3pt; max-width:none; color:rgba(255,255,255,0.92); }
.druck-seite .druck-cta .dc-kontakt{ font-weight:600; font-size:9pt; color:#E4C567; margin-top:5pt; }
.druck-seite .nb{ white-space:nowrap; }

.druck-seite .druck-disclaimer{ font-size:7.5pt; color:#4A5184; margin:8pt 0 0; max-width:none; }
