/* Loaded with media=print; the guard also protects late/combined stylesheets.
   JS marks only ancestors/siblings of an existing card, never a hide-all rule.
   No @page override: retain the user's paper size and printer margins. */
@media print {
    html.oelcr-printing .oelcr-print-hidden { display: none !important; }
    html.oelcr-printing .oelcr-print-path {
        display: block !important;
        position: static !important;
        float: none !important;
        width: auto !important; max-width: none !important; min-width: 0 !important;
        height: auto !important; min-height: 0 !important; max-height: none !important;
        margin: 0 !important; padding: 0 !important;
        border: 0 !important; background: #fff !important; box-shadow: none !important;
        overflow: visible !important; transform: none !important;
        columns: auto !important;
        break-inside: auto !important; page-break-inside: auto !important;
        /* Suppress loose editorial text alongside a shortcode, without removing it. */
        font-size: 0 !important; line-height: 0 !important; color: transparent !important;
    }
    html.oelcr-printing .oelcr-print-path::before,
    html.oelcr-printing .oelcr-print-path::after { content: none !important; }
    .oelcr-card, .oelcr-card * {
        color: #111 !important; background: transparent !important;
        box-shadow: none !important; text-shadow: none !important;
        border: 0 !important; border-radius: 0 !important;
        font-family: Georgia, 'Times New Roman', serif !important;
    }
    .oelcr-card {
        display: block !important; position: static !important; float: none !important;
        width: auto !important; max-width: none !important;
        height: auto !important; overflow: visible !important;
        margin: 0 !important; padding: 0 !important;
        font-size: 11pt !important; line-height: 1.45 !important;
        break-inside: auto; page-break-inside: auto;
    }
    .oelcr-card__columns, .oelcr-card__columns > div { display: block !important; }
    .oelcr-card h2 { font-size: 20pt !important; margin: 0 0 12pt !important; }
    .oelcr-card h3 { font-size: 14pt !important; margin: 14pt 0 6pt !important; }
    .oelcr-card h4 { font-size: 12pt !important; margin: 10pt 0 5pt !important; }
    .oelcr-card h2, .oelcr-card h3, .oelcr-card h4, .oelcr-card dt {
        break-after: avoid-page; page-break-after: avoid;
    }
    .oelcr-card__facts { display: block !important; margin: 0 0 12pt !important; }
    .oelcr-card__facts > div { display: inline-block; padding: 0 14pt 5pt 0; }
    .oelcr-card__facts dt { font-size: 10pt; }
    .oelcr-card__facts dd { margin: 0; }
    .oelcr-card ul, .oelcr-card ol { margin: 0 0 10pt !important; padding-inline-start: 18pt !important; }
    .oelcr-card li { margin: 0 0 6pt !important; }
    .oelcr-card p { margin: 4pt 0 !important; orphans: 3; widows: 3; }
    .oelcr-card ul li, .oelcr-card__short-step, .oelcr-card__facts > div {
        break-inside: avoid-page; page-break-inside: avoid;
    }
    /* Long steps, complete groups and notes can flow over multiple pages. */
    .oelcr-card__note { padding: 0 !important; margin: 12pt 0 0 !important; break-inside: auto; }
    .oelcr-card a { text-decoration: none !important; overflow-wrap: anywhere; }
    .oelcr-card a::before, .oelcr-card a::after { content: none !important; }
    .oelcr-card__source { display: block !important; margin-top: 16pt !important; font-size: 9pt !important; }
    .oelcr-card button, .oelcr-card input, .oelcr-card select, .oelcr-card textarea,
    .oelcr-card form, .oelcr-card iframe, .oelcr-card video, .oelcr-card audio,
    .oelcr-card img, .oelcr-card__video { display: none !important; }
}
