@media print {
    nav, footer, i.bi {
        display: none;
    }

    /* Reset général */
    * {
        display: revert;
        box-sizing: border-box;
    }
    img {
        max-width: 100%;
    }
    input,
    textarea,
    select {
        all: revert;
    }

    body {
        width: auto;
        margin: 0;
        font-size: 12pt;
        font-family: Georgia, serif;
        line-height: 1.6;
        color: #2B4755!important;
        background-color: #ffffff !important;
    }

    summary {
        font-weight: 600;
        margin: 24pt 0 8pt;
        font-size: 18pt;
        line-height: 1.2;
    }

    p,
    blockquote,
    label,
    ul,
    ol {
        margin-block: 0 15pt;
    }
    p:last-child {
        margin-bottom: 0;
    }

    h1 {
        margin-top: 24pt;
        margin-bottom: 8pt;
        font-weight: 700;
        font-size: 24pt;
        line-height: 1.1;
    }
    h2 {
        margin-top: 24pt;
        margin-bottom: 8pt;
        font-weight: 700;
        font-size: 16pt;
        line-height: 1.1;
    }
    h3 {
        margin-top: 24pt;
        margin-bottom: 8pt;
        font-weight: 700;
        font-size: 14pt;
    }
    h4 {
        margin-top: 24pt;
        margin-bottom: 8pt;
        font-weight: 700;
        font-size: 12pt;
    }

    img {
        max-width: 50%;
    }

    /* Pas de veuves ou orphelines (3 lignes minimum) */
    p,
    blockquote {
        orphans: 3;
        widows: 3;
    }

    /* Pas de saut de page au sein de ces éléments */
    blockquote,
    figure,
    table {
        page-break-inside: avoid;
    }

    table, tr, td {
        border-collapse: collapse;
        border: 1px solid #d4e1e9;
        line-height: 1.4;
    }
    td, th {
        padding: 8px;
    }

    /* Pas de saut de page après ces éléments */
    h1,
    h2,
    h3,
    h4,
    caption {
        page-break-after: avoid;
    }

    ul.checkbox li {
        list-style-type: " ▢ ";
    }

    li {
        list-style-type: " - ";
        line-height: 1.4;
        margin: 16px 0;
    }

    /* Styles des liens */
    a,
    a:link,
    a:visited {
        background: transparent!important;
        color: #2140ef;
        text-decoration: underline!important;
    }

    /* On affiche l'URL des liens externes */
    a[href^="http"]:after,
    a[href^="https"]:after {
        content: " (" attr(href) ")";
    }

    /* On masque les vidéos */
    video,
    object,
    iframe {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
    }
    .sources {
        opacity: .75;
        line-height: 1.2;
        page-break-before: always;
    }
}