/*
 * Druckdarstellung für pflegeundethik.de
 * Version 1.0.3
 *
 * Ziele:
 * - gut lesbare A4-Ausgabe und PDF-Speicherung
 * - keine Navigation, Formulare oder Bedienelemente
 * - keine dunklen Flächen, Schatten oder rein dekorativen Elemente
 * - Kontaktinformationen im Footer bleiben sichtbar
 */

@page {
    size: A4;
    margin: 16mm 15mm 18mm;
}

html {
    font-size: 10.5pt;
}

body {
    margin: 0;
    color: #000;
    background: #fff;
    font-family: Georgia, "Times New Roman", serif;
    line-height: 1.45;
    print-color-adjust: economy;
    -webkit-print-color-adjust: economy;
}

*,
*::before,
*::after {
    box-shadow: none !important;
    text-shadow: none !important;
    animation: none !important;
    transition: none !important;
}

img,
svg {
    max-width: 100% !important;
    height: auto !important;
}

img,
picture,
figure,
blockquote,
table,
pre,
.card,
.offer-card,
.stat,
.timeline-item,
.contact-card,
.document-link,
details {
    break-inside: avoid-page;
    page-break-inside: avoid;
}

p,
li,

h1,
h2,
h3,
h4 {
    color: #000 !important;
    break-after: avoid-page;
    page-break-after: avoid;
}

h1 {
    font-size: 25pt !important;
    line-height: 1.08;
}

h2 {
    font-size: 18pt !important;
    line-height: 1.15;
}

h3 {
    font-size: 13.5pt !important;
    line-height: 1.2;
}

h4 {
    font-size: 11.5pt !important;
}

.lead {
    color: #222 !important;
    font-size: 12pt !important;
    line-height: 1.5;
}

.eyebrow {
    color: #333 !important;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 8.5pt;
    letter-spacing: .08em;
}

.eyebrow::before {
    background: #333 !important;
}

/* Kopfzeile: Marke erhalten, Navigation ausblenden */
.site-header {
    position: static !important;
    min-height: 0 !important;
    margin: 0 0 8mm;
    padding: 0 0 5mm;
    border-bottom: .3mm solid #888;
    background: transparent !important;
    backdrop-filter: none !important;
}

.header-inner {
    display: block !important;
    min-height: 0 !important;
}

.site-nav,
.nav-toggle,
.skip-link,
.back-to-top {
    display: none !important;
}

.brand {
    display: inline-flex !important;
    color: #000 !important;
    text-decoration: none !important;
}

.brand-mark {
    width: 12mm !important;
    color: #000 !important;
    border: .3mm solid #777;
    background: transparent !important;
    box-shadow: none !important;
}

.brand-mark span,
.brand-copy strong,
.brand-copy small {
    color: #000 !important;
}

.brand-copy strong {
    font-size: 13pt !important;
}

.brand-copy small {
    display: block !important;
    font-size: 8pt !important;
}

/* Nicht druckbare bzw. interaktive Inhalte */
.button,
.button-row,
button,
form,
.frc-captcha,
.honeypot,
video,
iframe,
audio,
.notice,
.hero-note {
    display: none !important;
}

/* Grundlayout für Papier */
.container,
.reading-width,
.legal {
    width: 100% !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

main {
    display: block;
}

.section,
.section--compact,
.page-hero {
    padding: 7mm 0 !important;
    color: #000 !important;
    background: transparent !important;
}

.page-hero {
    padding-top: 0 !important;
    border-bottom: .25mm solid #bbb;
}

.page-hero::after,
.hero::before,
.split-image::after,
.cta::after {
    display: none !important;
}

.section--cream,
.section--petrol,
.section--pattern,
.hero,
.cta,
.feature-band,
.card,
.card--quiet,
.card--accent,
.contact-card,
.contact-panel,
.logo-list li,
.document-link,
details,
.stat {
    color: #000 !important;
    background: transparent !important;
}

.section--petrol h2,
.section--petrol h3,
.section--petrol strong,
.section--petrol p,
.section--petrol .lead,
.section--petrol .eyebrow,
.section--petrol .tag-list li,
.card.section--petrol,
.card.section--petrol strong,
.card.section--petrol .stat span {
    color: #000 !important;
}

/* Startbereich auf der ersten Druckseite kompakt zweispaltig */
.hero {
    overflow: visible !important;
}

.hero-grid {
    display: grid !important;
    min-height: 0 !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(45mm, .65fr) !important;
    gap: 8mm !important;
    padding: 0 0 7mm !important;
    align-items: start !important;
}

.hero-copy {
    max-width: none !important;
}

.hero-visual,
.hero-portrait-wrap {
    align-self: start !important;
    max-width: 65mm !important;
    margin: 0 0 0 auto !important;
}

.hero-portrait {
    width: 100% !important;
    border-radius: 2mm !important;
    filter: grayscale(100%) contrast(1.04) !important;
}

/* Sonstige Raster für stabilen Seitenumbruch vereinfachen */
.grid-2,
.grid-3,
.grid-4,
.cards,
.offer-grid,
.contact-layout,
.logo-list,
.document-list,
.stats {
    display: block !important;
}

.grid-2 > *,
.grid-3 > *,
.grid-4 > *,
.cards > *,
.offer-grid > *,
.logo-list > *,
.document-list > *,
.stats > * {
    margin-bottom: 5mm !important;
}

.feature-band {
    display: grid !important;
    grid-template-columns: 48mm minmax(0, 1fr) !important;
    gap: 8mm !important;
    align-items: start !important;
}

.split-image {
    max-width: 85mm;
    margin: 0 auto 6mm;
}

.split-image img,
.book-cover {
    border-radius: 1.5mm !important;
    filter: none !important;
}

.book-cover {
    width: 45mm !important;
    max-width: 45mm !important;
    margin: 0 auto !important;
}

/* Karten und Listen */
.card,
.offer-card,
.contact-card,
.contact-panel,
.logo-list li,
.document-link,
details,
.stat {
    min-height: 0 !important;
    margin-bottom: 5mm;
    padding: 4mm !important;
    border: .25mm solid #aaa !important;
    border-radius: 1.5mm !important;
}

.card-number,
.icon-badge {
    color: #000 !important;
    border: .25mm solid #888;
    background: transparent !important;
}

.tag-list {
    gap: 2mm !important;
}

.tag-list li {
    color: #000 !important;
    border: .25mm solid #aaa !important;
    background: transparent !important;
}

.logo-list li {
    display: block !important;
    min-height: 0 !important;
    text-align: left !important;
}

.document-link {
    display: block !important;
    color: #000 !important;
    text-decoration: none;
}

.document-link::before {
    color: #000 !important;
    border: .25mm solid #888;
    background: transparent !important;
}

.check-list li::before {
    color: #000 !important;
}

.timeline {
    margin-top: 5mm !important;
}

.timeline::before,
.timeline-item::before {
    display: none !important;
}

.timeline-item {
    display: block !important;
    padding: 0 0 5mm !important;
    border-bottom: .2mm solid #ccc;
}

.timeline-date {
    display: block;
    margin-bottom: 1mm;
    color: #000 !important;
    font-weight: 700;
}

.quote {
    color: #000 !important;
    border-left: 1mm solid #777 !important;
    background: transparent !important;
}

.cta {
    padding: 6mm !important;
    border: .25mm solid #999;
    border-radius: 1.5mm !important;
}

.cta h2,
.cta p {
    color: #000 !important;
}

/* Geschlossene Akkordeons vollständig drucken */
details > summary {
    color: #000 !important;
    font-weight: 700;
    list-style: none;
}

details > summary::-webkit-details-marker {
    display: none;
}

details > summary::after {
    display: none !important;
}

details:not([open]) > :not(summary) {
    display: block !important;
}

.details-content {
    display: block !important;
    padding-top: 2mm !important;
}

/* Kontaktseite: Formular ausblenden, direkte Kontaktdaten drucken */
.contact-panel {
    display: none !important;
}

.contact-aside {
    display: block !important;
}

.contact-card {
    margin-bottom: 4mm !important;
}

/* Links lesbar halten */
a {
    color: #000 !important;
    text-decoration: underline;
}

.text-link::after {
    content: none !important;
}

main a[href^="http"]:not([href*="pflegeundethik.de"]):not(.button)::after {
    content: " (" attr(href) ")";
    font-family: Arial, Helvetica, sans-serif;
    font-size: 8pt;
    font-weight: 400;
    word-break: break-all;
}

a[href^="mailto:"]::after,
a[href^="tel:"]::after,
a[href^="#"]::after {
    content: none !important;
}

/* Tabellen und Code */
table {
    width: 100% !important;
    border-collapse: collapse;
}

th,
td {
    padding: 2mm;
    border: .25mm solid #999;
    text-align: left;
    vertical-align: top;
}

pre,
code {
    white-space: pre-wrap;
    word-break: break-word;
}

/* Footer mit Kontaktangaben */
.site-footer {
    margin-top: 10mm;
    padding: 5mm 0 0 !important;
    color: #000 !important;
    border-top: .3mm solid #888;
    background: transparent !important;
}

.site-footer a,
.site-footer h2,
.brand--footer,
.brand--footer .brand-copy strong,
.brand--footer .brand-copy small {
    color: #000 !important;
}

.footer-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10mm !important;
}

.footer-grid > div:nth-child(2) {
    display: none !important;
}

.footer-grid p {
    max-width: none !important;
}

.footer-bottom {
    display: block !important;
    margin-top: 4mm !important;
    padding-top: 3mm !important;
    color: #333 !important;
    border-top: .2mm solid #bbb !important;
    font-size: 8pt !important;
}

.footer-bottom nav {
    display: none !important;
}

/* Schmale Druckbereiche, etwa Browser-Druckvorschau */
@media print and (max-width: 170mm) {
    .hero-grid,
    .feature-band,
    .footer-grid {
        display: block !important;
    }

    .hero-visual,
    .hero-portrait-wrap,
    .book-cover {
        margin: 5mm 0 !important;
    }
}
