/* === NextGescom - Impression (factures A4 + etiquettes) === */
@media print {
  body * { visibility: hidden; }
  #print-area, #print-area * { visibility: visible; }
  #print-area { display: block !important; position: absolute; left: 0; top: 0; width: 100%; }
  .no-print { display: none !important; }

  /* Page A4 pleine hauteur : le pied de page reste colle en bas du papier
     (il ne "remonte" plus quand le tableau d'articles est court). */
  .facture-page {
    border: none !important; border-radius: 0 !important; max-width: 100% !important;
    margin: 0 !important; padding: 12mm 14mm !important;
    min-height: 297mm !important; box-sizing: border-box !important;
    display: flex !important; flex-direction: column !important;
  }
  .facture-page .fac-legal { margin-top: auto !important; }

  /* Documents multi-pages : chaque .doc-mp = une feuille A4 physique.
     Meme geometrie que le rendu 800x1131px (marges proportionnelles) pour
     que le decoupage des lignes calcule a l'ecran corresponde au papier. */
  .facture-page.doc-mp {
    min-height: 0 !important; height: 296mm !important;
    padding: 6.3mm 7.9mm !important; overflow: hidden;
    page-break-after: always; break-after: page;
  }
  .facture-page.doc-mp:last-child { page-break-after: auto; break-after: auto; }
  .fac-tbl th { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .fac-tot-ttc { -webkit-print-color-adjust: exact; print-color-adjust: exact; }

  /* Securite anti-coupure : un bloc n'est JAMAIS coupe en deux par un saut de page
     (totaux, garantie, coordonnees bancaires, mentions legales, lignes du tableau). */
  .fac-bottom, .fac-totaux, .fac-tot-ttc, .fac-regl, .fac-legal,
  .fac-head, .fac-client, .fac-tbl tr {
    page-break-inside: avoid !important; break-inside: avoid !important;
  }

  /* Planche d'etiquettes */
  .etq-print { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 4mm; }
  .etq { border: 1px solid #cbd5e1 !important; page-break-inside: avoid; }
}
