/*
 * Druckansicht des oeffentlichen Bereichs.
 *
 * Ein Teil der Nutzer druckt aus dem Browser statt das PDF zu laden (ADR-007). Das Ergebnis soll
 * derselbe Plan sein, nicht ein Abzug der Webseite: Papier, Linien, Heftrand, Farbcode und Doodles
 * bleiben — Rotation und Schlagschatten entfallen, weil sie auf Papier wie ein Druckfehler wirken.
 *
 * Wird nur mit `media="print"` eingebunden.
 */

@page {
    margin: 14mm 12mm;
}

body {
    background: #fff;
    background-image: none;
    color: #000;
    font-size: 11pt;
    line-height: 1.45;
}

/* Navigation, Fußzeile und alles Bedienbare gehören nicht auf Papier. */
.site-header,
.site-footer,
.skip-link,
.breadcrumb,
.button,
.consent,
.consent-choice,
form,
.no-print {
    display: none !important;
}

/* Der reservierte Platz unter dem Dialog gehört zum Bildschirm, nicht aufs Blatt. */
body.consent-open {
    padding-bottom: 0;
}

main {
    padding: 0;
}

.wrap {
    width: auto;
    max-width: none;
    margin: 0;
}

/* Rotation und Schatten fallen weg, die Rahmen bleiben. */
.card,
.tile,
.notebook,
.receipt,
.facts {
    transform: none !important;
    box-shadow: none !important;
    border: 1.5px solid #000;
    break-inside: avoid;
}

.card-tilt-left,
.card-tilt-right {
    transform: none !important;
}

.taped::before {
    display: none;
}

/* Die Zackenkante des Einkaufszettels ist im Druck nur eine abgeschnittene Kante. */
.receipt {
    -webkit-mask-image: none;
    mask-image: none;
    padding: 8mm 6mm;
}

/*
 * Der Heftrand bleibt — er ist die Wiedererkennung, auch auf Papier.
 *
 * `print-color-adjust: exact` ist dafür Pflicht, keine Feinheit: Browser werfen Hintergrundflächen
 * beim Drucken standardmäßig weg. Ohne die Angabe verschwinden genau die Linien und der rote Rand,
 * die der Dateikopf oben als bleibend zusagt, und der Ablaufplan druckt als Text auf leerem Weiß.
 */
.notebook,
.receipt,
.notebook-marker {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}

.notebook {
    background-color: #fff;
}

.notebook::before {
    background: #ff4d4d;
    opacity: 1;
}

.notebook-entry,
.receipt-list li,
.steps li {
    break-inside: avoid;
}

h1,
h2,
h3 {
    break-after: avoid;
}

/* Ein Link ohne sichtbares Ziel ist auf Papier wertlos. */
.prose a[href^='http']::after,
.prose a[href^='/']::after {
    content: ' (' attr(href) ')';
    font-size: 0.85em;
    color: #444;
    word-break: break-all;
}

/* Abhakbare Zeilen bekommen ein echtes Kästchen zum Ankreuzen. */
.check input[type='checkbox'] {
    appearance: none;
    width: 4mm;
    height: 4mm;
    border: 1pt solid #000;
    border-radius: 0.5mm;
}
