/* =======================================================
   PRINT
   Règles dédiées à l'export PDF (sans impacter l'écran)
   ======================================================= */

@media print {

    /* ─── Forcer les couleurs de fond en impression ─── */
    *,
    *::before,
    *::after {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* ─── Reset impression ─── */
    body {
        background: #fff;
        font-size: 14px;
        line-height: 1.65;
    }

    /* ─── Page : marges gérées par CSS, pas par Chrome ─── */
    @page {
        size: A4;
        margin: 0;
    }

    /* ─── Header : plus de sticky (sinon il se répète sur chaque page) ─── */
    .header {
        position: relative;
    }

    /* ─── Supprimer ombres en PDF ─── */
    .card {
        box-shadow: none;
        border: 1px solid var(--table-border);
    }

    .table-wrap {
        box-shadow: none;
        overflow: visible;
    }

    /* ─── Tailles et gaps fixes (pas de vw en print, instable) ─── */
    .composed-title__stack {
        gap: 0.15rem;
    }
    .composed-title__main {
        font-size: 2.6rem;
    }
    .composed-title__accent {
        font-size: 2.8rem;
    }
    .composed-title--hero-inline .composed-title__main {
        font-size: 2.6rem;
    }
    .composed-title--hero-inline .composed-title__accent {
        font-size: 2.8rem;
    }
    .section-title .composed-title__stack {
        flex-direction: row;
        align-items: baseline;
        gap: 0.35rem;
    }
    .section-title .composed-title__main {
        font-size: 1.5rem;
    }
    .section-title .composed-title__accent {
        font-size: 1.7rem;
        width: auto;
    }

    /* ─── Anti-coupure : règles de pagination ─── */

    /* Un titre de section ne doit JAMAIS être seul en bas de page */
    .section-title,
    .composed-title {
        break-after: avoid;
    }

    /* Un séparateur suit toujours son titre */
    .sep {
        break-after: avoid;
    }

    /* Une card ne doit pas être coupée si possible */
    .card {
        break-inside: avoid;
    }

    /* Un pack-header ne doit pas être séparé de son contenu */
    .pack-header {
        break-after: avoid;
    }

    /* NOTE : pas de break-inside:avoid sur .section-block
       car certaines sections dépassent une page A4 et Chrome
       ignorerait alors TOUTES les règles de coupure enfants.
       La protection est assurée par les cards/tables individuellement. */

    /* Le tableau reste entier avec sa card parente */
    .table-wrap {
        break-inside: avoid;
    }

    /* Chaque ligne de tableau ne se coupe pas */
    .table-wrap > table tr {
        break-inside: avoid;
    }

    /* ─── Liens : pas de soulignement bleu dans le PDF ─── */
    a {
        color: inherit;
        text-decoration: none;
    }
}
