/*
 * Druck — Livemusik Herdecke · Plakatwand
 * Eingebunden mit media="print". Ziel: Satzung, Impressum, Datenschutz,
 * Termine und die Startseite auf Papier — schwarz auf weiß, keine Flächen,
 * keine Laufbänder, keine Menüs; Linien bleiben, Schatten verschwinden.
 */

@page { margin: 18mm 16mm; }
@page :first { margin-top: 14mm; }

:root, :root[data-theme="dark"] {
	--paper: #FFFFFF; --paper-2: #FFFFFF; --ink: #000000; --ink-soft: #000000; --mute: #444444;
	--red: #000000; --blue: #000000; --on-red: #FFFFFF; --on-blue: #FFFFFF; --on-ink: #FFFFFF;
	--shadow: none; --rule: 1.5pt; --rule-s: 0.75pt;
}

html { scroll-behavior: auto; }
body { background: #fff !important; color: #000 !important; font-size: 11pt; line-height: 1.4; -webkit-print-color-adjust: exact; print-color-adjust: exact; }

/* Weg damit */
.ticker, .site-header .tools, .nav, .skip-link, .btn-row, .btn, .theme-toggle, .lang-switch,
.stamp, .ai-note, .footer__grid div:not(:first-child), .site-footer .footer__legal ul,
.faq summary::after, .stage summary::before { display: none !important; }

/* Kopf wird zur Briefzeile */
.site-header { position: static; border-bottom: 1.5pt solid #000; padding: 0 0 4mm; }
.site-header__inner { min-height: 0; padding: 0; }
.brand { font-size: 16pt; }
.brand__sub { color: #444; }

/* Flächen werden Rahmen */
.section, .hero, .figures, .close, .date-card, .card, .stage, .clause, .sphere, .tier, .event, .callout, .form-card {
	background: #fff !important; color: #000 !important; box-shadow: none !important;
}
.section { padding: 6mm 0; border-bottom: 0.75pt solid #000; page-break-inside: auto; }
.section--ink, .section--red, .section--blue, .close { border-top: 1.5pt solid #000; }
.section--ink *, .section--blue *, .section--red *, .close *, .stage--done *, .stage--next *, .card--ink *, .card--blue *, .figure--ink *, .date-card *, .event--next * { color: #000 !important; }
.figure--ink, .card--ink, .card--blue, .stage--done, .stage--next, .event--next, .date-card { background: #fff !important; border: 1.5pt solid #000 !important; }
.badge { border: 0.75pt solid #000; background: #fff !important; color: #000 !important; }
.badge--done::before { content: "■ "; }
.badge--gate::before { content: "▶ "; }
.kicker { border-color: #000; }
.legal { border-left: 1.5pt solid #000; color: #000; }
.mini-list li::before, .tier ul li::before { background: #000; }
.row__num { color: #000; }
.sphere__tag, .clause .ref { color: #000; }
.hero__body h1 em { color: #000; text-decoration: underline; text-decoration-thickness: 2pt; }

/* Typografie: Plakatgrößen zähmen */
h1 { font-size: 30pt; line-height: 1; }
h2 { font-size: 20pt; }
h3 { font-size: 13pt; }
.figure__num { font-size: 24pt; }
.date-card__day { font-size: 28pt; }
.date-card__time { font-size: 18pt; }
.close h2 { font-size: 20pt; }
.lede, .hero__lede { font-size: 12pt; }

/* Raster wird Fluss; Zweispaltigkeit nur, wo es sich lohnt */
.hero__grid, .grid, .stages, .figures, .rows .row, .field-row, .event { display: block; }
.grid > *, .stages > *, .figures > *, .event > * { margin-bottom: 4mm; page-break-inside: avoid; }
.figures { border: 0; }
.figure { border: 0; border-bottom: 0.75pt solid #000; padding: 2mm 0; }
.row { padding: 3mm 0; }
.row__media { margin-top: 2mm; }
.hero__body { padding: 4mm 0; border: 0; }
.date-card { padding: 4mm; margin: 4mm 0; }

/* Aufklappbares wird aufgeklappt */
details > * { display: block !important; }
details summary { font-weight: 800; }
.stage details > div, .faq__body { display: block !important; }

/* Links: Adresse dazu, aber nicht bei Ankern und Mails */
a { color: #000 !important; text-decoration: underline; }
a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 8.5pt; color: #444; word-break: break-all; }
a[href^="mailto"]::after, a[href^="tel"]::after, a[href^="#"]::after { content: ""; }

/* Formulare: Linien zum Ausfüllen */
.form-card { border: 1.5pt solid #000; padding: 4mm; }
.field input, .field select, .field textarea { border: 0; border-bottom: 0.75pt solid #000; background: #fff; min-height: 9mm; }
.field textarea { min-height: 30mm; }
.field--check input { width: 4mm; height: 4mm; border: 0.75pt solid #000; }

/* Tabellen */
table { font-size: 9.5pt; }
th, td { border-bottom: 0.5pt solid #000; padding: 1.5mm 1mm; }
.table-scroll { overflow: visible; }
.table-scroll table { min-width: 0; }

/* Seitenumbrüche */
h1, h2, h3 { page-break-after: avoid; }
.card, .clause, .sphere, .tier, .stage, .event, .callout, .faq details { page-break-inside: avoid; }
.site-footer { border-top: 1.5pt solid #000; padding: 4mm 0 0; font-size: 9pt; }
.footer__brand { font-size: 12pt; }
.footer__legal { border: 0; padding: 0; margin-top: 2mm; }
