/* =============================================================
   print.css — feuille print légère
   Ciblée sur impression itinéraire / fiche assurance par les voyageurs.
   ============================================================= */

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

  html, body {
    background: #fff !important;
    color: #000 !important;
    font-size: 11pt;
    line-height: 1.45;
  }

  body {
    font-family: 'EB Garamond', Georgia, serif;
  }

  /* Masquer chrome */
  .site-header,
  .site-footer,
  .whatsapp-bubble,
  .nav-toggle,
  .nav-drawer,
  .nav-primary,
  .pwa-install,
  .reveal,
  .skip-link,
  .no-print {
    display: none !important;
  }

  .reveal { opacity: 1 !important; transform: none !important; }

  /* Reset containers */
  .container,
  .container-narrow,
  .container-prose {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .layout-bleed {
    width: 100% !important;
    margin-left: 0 !important;
    transform: none !important;
  }

  main { padding: 0 !important; }

  section, .section { page-break-inside: avoid; padding-block: 16pt; }

  h1, h2, h3 { page-break-after: avoid; color: #000; }
  h2, h3 { margin-top: 18pt; }
  p, li { orphans: 3; widows: 3; }

  img, figure, table { page-break-inside: avoid; max-width: 100% !important; }

  /* Liens : afficher l'URL après le texte */
  a[href]:not([href^="#"]):not([href^="javascript:"])::after {
    content: " (" attr(href) ")";
    font-size: 9pt;
    color: #555 !important;
    word-break: break-all;
  }

  a { color: #000 !important; text-decoration: underline; }

  /* Tables sur fond blanc, lignes nettes */
  table { border-collapse: collapse; width: 100%; }
  th, td {
    border-bottom: 0.5pt solid #000 !important;
    padding: 6pt 4pt;
  }

  thead th { border-bottom-width: 1pt !important; }

  blockquote {
    border-left: 1pt solid #000 !important;
    padding-left: 10pt;
    page-break-inside: avoid;
  }

  /* Saut de page utilitaire */
  .page-break { page-break-after: always; }

  /* Hero : pas de bg image, juste texte si présent */
  .hero, .hero-media { min-height: auto !important; height: auto !important; }
  .hero-media { display: none !important; }

  /* Photo : alléger pour économiser l'encre */
  .photo::after { display: none !important; }

  /* Pas de grain */
}
