@media print {
    *,
    *::before,
    *::after {
        background: transparent !important;
        box-shadow: none !important;
        color: #000 !important;
        text-shadow: none !important;
    }

    html {
        font-size: 50%;
    }

    body {
        font-family: var(--font-family-main), serif;
        line-height: 1.5;
        margin: 0;
        padding-bottom: 0;
        padding-inline: 0;
        width: 100%;
    }

    /* Typography */
    h1, h2, h3, h4, h5, h6 {
        font-family: var(--font-family-heading), serif;
        page-break-after: avoid;
        orphans: 3;
        widows: 3;
    }

    p, blockquote, ul, ol, dl, table {
        orphans: 3;
        widows: 3;
    }

    /* Links */
    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]::after {
        content: " (" attr(href) ")";
        font-size: 0.8em;
        font-weight: normal;
    }

    a[href^="#"]::after,
    a[href^="javascript:"]::after {
        content: "";
    }

    /* Images */
    img {
        max-width: 100% !important;
        page-break-inside: avoid;
    }

    /* Tables */
    table {
        border-collapse: collapse;
        width: 100%;
    }

    thead {
        display: table-header-group;
    }

    tr {
        page-break-inside: avoid;
    }

    td,
    th {
        border: 1px solid #ccc;
        padding: 4pt 8pt;
    }

    /* Page breaks */
    pre,
    blockquote {
        page-break-inside: avoid;
    }

    /* Accordions — force all <details> open */
    details {
        display: block !important;
    }

    details > summary {
        list-style: none !important;
    }

    :where(.site-header) .logo {
        padding-top: 0;
    }

    :where(.site-header) .logo a[href]::after,
    :where(.site-footer) .logo a[href]::after {
        content: "" !important;
    }

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

    /* Hide non-essential elements */
    nav,
    .no-print,
    [aria-hidden="true"],
    video,
    audio,
    iframe:not([title]) {
        display: none !important;
    }

    /* Layout */
    .wp-block-group,
    .wp-block-columns,
    section {
        display: block;
        width: 100%;
    }

    /* Keep each component on a single page where possible */
    section {
        break-inside: auto;
    }

    .hero.artice {
        padding-top: 8rem;
    }

    .logo {
        padding-top: 0 !important;
    }

    .site-header {
        width: auto;
        height: fit-content;
        background: transparent;
        padding: 0;
        margin: 0;
        position: static !important;


        .header-wrapper {
            display: block;
            padding: 0;
            width: auto;
        }

        .nav-and-features,
        .leaderboard-ad {
            display: none !important;
        }


        .mobile-stacked-logo {
            display: none !important;
        }

        .desktop-logo svg {
            width: auto;
            height: 10rem;
        }
    }


    .hero-simple {
        .hero-top {
            background-image: none !important;
            padding-top: 0 !important;
        }

        .region {
            border-bottom: 1px solid #ccc;
        }

        &.article > .region {
            margin-top: 0;
        }
    }


    /* Page margins */
    @page {
        margin: 2cm;
    }

    @page :first {
        margin-top: 3cm;
    }
}
