/* ==========================================================================
   HUNGRY JAZZ — IMPRESSION
   Chargé avec media="print". Sert aussi de base aux exports PDF.
   ========================================================================== */

@media print {

  /* Les aplats de couleur portent l'identité de la marque : sans cette règle,
     le navigateur les supprime à l'impression et il ne reste que du texte. */
  *,
  *::before,
  *::after {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Rien ne doit rester masqué : les blocs révélés au défilement, les lignes
     de titre à masque et les listes en cascade sont forcés à leur état final.
     Sans cela, une page imprimée pourrait être presque vide. */
  [data-reveal].is-armed,
  [data-reveal="stagger"].is-armed > * {
    opacity: 1 !important;
    transform: none !important;
  }
  .line__in { transform: none !important; }

  /* Le header fixe se répéterait par-dessus le contenu à chaque page. */
  .header { position: static !important; }

  /* Le hero occupe une hauteur d'écran : sur papier, on le ramène à un bloc. */
  .hero {
    min-height: 0 !important;
    height: auto !important;
    grid-template-rows: auto 1fr auto;
  }
  .hero__inner { padding-block: var(--sp-xl); }

  /* Éléments sans objet sur papier. */
  .skip-link,
  .drawer,
  .hero__pause,
  .hero__scroll,
  .hero__media-label { display: none !important; }

  /* On évite de couper un bloc au milieu d'une page. */
  .uni,
  .slot,
  .price,
  .person,
  .faq__item,
  .news__item,
  .chapter-head { break-inside: avoid; }

  /* Les panneaux dépliables du planning et de la FAQ sont fermés à l'écran :
     sur papier on montre tout, l'interaction n'existe pas. */
  .slot__panel,
  .faq__panel { grid-template-rows: 1fr !important; }
  .slot__panel-inner,
  .faq__panel-inner { visibility: visible !important; }

  /* L'URL des liens externes est ajoutée, faute de pouvoir cliquer. */
  a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: .75em;
    font-weight: 400;
    word-break: break-all;
  }

  @page { margin: 12mm; }
}
