/* ========================================================= */
/* ===================== PRINT / W2P ======================= */
/* ========================================================= */
@media print {

  /* ---------- page ---------- */




  /* ---------- reset écran ---------- */

  * {
    animation: none !important;
    transition: none !important;
  }

  body {
    background: white;
    color: black;
    font-size: 10.5pt;
    line-height: 1.45;
  }

  :root {
    --textcolor: black;
    --bordercolor: black;
    --accentcolor: black;
    --backgroundcolor: white;
  }

  /* ---------- page ---------- */

  @page {
    size: A4;
    margin: 25mm 25mm 30mm 25mm; /* marges plus généreuses */
  }

  main > * {
    padding: 0;
  }

  /* ---------- navigation ---------- */

  .top-nav {
    position: static;
    border: none;
    padding: 0;
  }

  /* ---------- titres ---------- */

  h1 {
    font-size: 26pt;
    line-height: 1.15;
    background: none;
    color: black;
    padding: 0;
    margin-bottom: 12mm;
    page-break-after: avoid;
  }

  h2 {
    font-size: 16pt;
    margin-top: 12mm;
    page-break-after: avoid;
  }

  h3 {
    font-size: 13pt;
    margin-top: 8mm;
    page-break-after: avoid;
  }

  /* ---------- texte ---------- */

  p {
    orphans: 3;
    widows: 3;
  }

  .text {
    padding: 0;
    gap: 1em;
  }

  .epigraphe,
  .text .quote {
    max-width: 100%;
    align-self: flex-start;
    font-style: italic;
  }

  /* ---------- colonnes / sections ---------- */


  .text,
  .readmore > *,
  .biography > *,
  .footnotes > * {
    max-width: 110mm;        /* colonne éditoriale */
    margin-inline: auto;    /* centrage */
  }

  .text {
    padding: 0;
  }

  /* ---------- tableaux ---------- */

  table {
    width: 100%;
    font-size: 9.5pt;
    page-break-inside: avoid;
  }

  th, td {
    border-color: black;
  }

  /* ---------- images ---------- */

  img {
    max-width: 70%;         /* réduit la taille */
    height: auto;
    margin: 8mm auto;       /* centrée dans la page */
    display: block;
  }

  .monimage {
    align-items: center;
  }

  /* ---------- éviter les images trop proches des bords ---------- */

  figure,
  .monimage {
    page-break-inside: avoid;
  }


  /* ---------- liens ---------- */

  a {
    text-decoration: none;
    color: black;
  }

  a[href]::after {
    content: " (" attr(href) ")";
    font-size: 8pt;
    word-break: break-all;
  }

  /* ---------- footer ---------- */

  #footer {
    align-items: flex-start;
    font-size: 9pt;
    margin-top: 15mm;
  }

  .articles-prev-next {
    display: none;
  }
}
