/* =========================================================================
   Impression : tout est sobre, en noir et blanc, sans fond coloré ni gros contour.
   Les impressions passent par #impression (voir js/app/lib/impression.js).
   ========================================================================= */

#impression { display: none; }

@media print {
  html, body { background: #fff !important; }
  body { font-size: 10.5pt; line-height: 1.35; color: #000; }
  * { color: #000 !important; background: transparent !important; box-shadow: none !important; text-shadow: none !important; }
  .decor::before { display: none !important; }

  /* Impression lancée par l'application : seule la zone #impression sort. */
  body.impression-active > *:not(#impression) { display: none !important; }
  body.impression-active #impression { display: block !important; }

  /* Impression du navigateur sans passer par nos boutons : écran courant simplifié. */
  body:not(.impression-active) .barre,
  body:not(.impression-active) .bandeaux,
  body:not(.impression-active) .btn,
  body:not(.impression-active) .toasts,
  body:not(.impression-active) .bouton-sortie-projection,
  body:not(.impression-active) .masque-impression { display: none !important; }
  body:not(.impression-active) main.contenu { padding: 0; max-width: none; }
  body:not(.impression-active) .carte { border: 0.5pt solid #999; border-radius: 6px; }

  .imp-page { break-after: page; page-break-after: always; }
  .imp-page:last-child { break-after: auto; page-break-after: auto; }
  .imp-garder { break-inside: avoid; page-break-inside: avoid; }

  .imp-titre { font-family: 'Lora', Georgia, serif; font-style: italic; font-weight: 700; font-size: 17pt; margin: 0 0 3mm; padding-bottom: 1.5mm; border-bottom: 0.6pt solid #000; }
  .imp-titre.centre { text-align: center; border: 0.6pt solid #000; border-radius: 999px; padding: 1.5mm 6mm; }
  .imp-sous-titre { font-size: 9.5pt; margin: -1.5mm 0 4mm; }
  .imp-h2 { font-family: 'Lora', Georgia, serif; font-style: italic; font-weight: 600; font-size: 12.5pt; margin: 4mm 0 1.5mm; }
  .imp-petit { font-size: 8.5pt; }
  .imp-muet { color: #444 !important; }

  .imp-table { width: 100%; border-collapse: collapse; font-size: 9.5pt; }
  .imp-table th, .imp-table td { border: 0.5pt solid #555; padding: 1.6mm 2mm; vertical-align: top; text-align: left; }
  .imp-table th { font-weight: 600; font-size: 8.5pt; }
  .imp-table.compacte th, .imp-table.compacte td { padding: 1mm 1.5mm; font-size: 8.5pt; }

  .imp-encadre { border: 0.6pt solid #333; border-radius: 3mm; padding: 2.5mm 3mm; break-inside: avoid; page-break-inside: avoid; }
  .imp-encadre-titre { font-weight: 600; margin: 0 0 1.5mm; }
  .imp-grille-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 3mm; }
  .imp-grille-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 3mm; }
  .imp-seyes { display: block; margin: 1.5mm 0; }
  .imp-entete-eleve { margin-bottom: 4mm; }
  .imp-champs-eleve { display: flex; gap: 10mm; font-size: 10pt; margin-top: 1mm; }
  .imp-case { display: inline-block; width: 4mm; height: 4mm; border: 0.6pt solid #000; border-radius: 1mm; vertical-align: -0.6mm; margin-right: 1.5mm; }
  .imp-liste { margin: 0; padding-left: 5mm; }
  .imp-liste li { margin: 0.8mm 0; }

  /* Cahier journal imprimé */
  .imp-seance { display: grid; grid-template-columns: 22mm 1fr; gap: 0; border: 0.5pt solid #555; border-radius: 2.5mm; margin-bottom: 1.6mm; break-inside: avoid; page-break-inside: avoid; }
  .imp-seance .imp-duree { border-right: 0.5pt solid #555; padding: 1.5mm; text-align: center; display: flex; flex-direction: column; justify-content: center; }
  .imp-seance .imp-duree b { font-family: 'Lora', Georgia, serif; font-style: italic; font-size: 11.5pt; }
  .imp-seance .imp-corps { padding: 1.5mm 2.5mm; }
  .imp-seance .imp-corps h3 { font-family: 'Lora', Georgia, serif; font-style: italic; font-weight: 700; font-size: 11pt; margin: 0 0 0.6mm; }
  .imp-seance .imp-materiel { font-size: 8.5pt; }
  .imp-pause { border: 0; border-top: 0.4pt dashed #888; border-bottom: 0.4pt dashed #888; padding: 0.6mm 2mm; margin-bottom: 1.6mm; font-size: 8.5pt; font-style: italic; display: flex; gap: 4mm; }
  .imp-fiche { border: 0.5pt solid #555; border-radius: 2.5mm; padding: 2.5mm 3mm; margin: 0 0 3mm; break-inside: avoid-page; }
  .imp-fiche dl { display: grid; grid-template-columns: 30mm 1fr; gap: 1mm 3mm; margin: 0 0 2mm; font-size: 9.5pt; }
  .imp-fiche dt { font-weight: 600; }
  .imp-fiche dd { margin: 0; }
  .imp-checklist { columns: 2; font-size: 8.5pt; margin-top: 1.5mm; }
  .imp-fiche .imp-table td:first-child { white-space: nowrap; }

  a { text-decoration: none; }
  svg { max-width: 100%; }
}

/* Aperçu à l'écran pendant l'impression (certains iPad affichent la page avant le dialogue) */
body.impression-active #impression { display: none; }
