/*
 * FAstock — Impression fiches techniques.
 * Palette couleur 100% autonome en --print-*.
 */
.print-view { display: none; }
@media print {
  body * { visibility: hidden; }
  .print-view, .print-view * { visibility: visible; -webkit-print-color-adjust: exact; print-color-adjust: exact; color-adjust: exact; }
  .print-view { display:block; position:absolute; top:0; left:0; width:100%; padding:var(--print-margin,7mm); background:var(--print-page-bg); color:var(--print-text); }
}
.pr-sheet { font-family:'Helvetica Neue',Helvetica,Arial,sans-serif; color:var(--print-text); background:var(--print-page-bg); max-width:var(--print-sheet-max-width,800px); margin:0 auto; }
.pr-header { display:flex; align-items:center; gap:16px; border-bottom:3px solid var(--print-primary); padding-bottom:14px; margin-bottom:20px; page-break-inside:avoid; break-inside:avoid; }
.pr-logo-badge { width:var(--print-logo-size,80px); height:var(--print-logo-size,80px); min-width:var(--print-logo-size,80px); border-radius:50%; background:var(--print-primary); display:flex; align-items:center; justify-content:center; overflow:hidden; flex-shrink:0; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
.pr-logo-badge img { width:130%; height:130%; object-fit:contain; }
.pr-header-text { flex:1; }
.pr-brand { font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--print-muted); font-weight:700; }
.pr-title { font-size:var(--print-title-size,26px); margin:2px 0 4px; color:var(--print-text); }
.pr-sub { font-size:var(--print-subtitle-size,13px); color:var(--print-muted); }
.pr-photo { width:90px; height:90px; object-fit:cover; border-radius:10px; flex-shrink:0; display:var(--print-show-photo,block); }
.pr-table { width:100%; border-collapse:collapse; margin-bottom:20px; font-size:var(--print-table-font-size,13px); }
.pr-table thead th { text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:var(--print-muted); border-bottom:2px solid var(--print-border); padding:6px 8px; }
.pr-table td { padding:var(--print-table-row-padding,7px) 8px; border-bottom:1px solid var(--print-border); }
.pr-table .pr-num { text-align:right; white-space:nowrap; }
.pr-table .pr-muted { color:var(--print-muted); font-size:12px; }
.pr-metrics { display:flex; gap:var(--print-metrics-gap,10px); margin-bottom:16px; page-break-inside:avoid; break-inside:avoid; }
.pr-metric { flex:1; background:var(--print-metric-bg); border-radius:10px; padding:10px 12px; text-align:center; }
.pr-metric span { display:block; font-size:10px; text-transform:uppercase; letter-spacing:.04em; color:var(--print-muted); margin-bottom:2px; }
.pr-metric b { font-size:16px; color:var(--print-text); }
.pr-allergens { font-size:12px; color:var(--print-allergen-text); background:var(--print-allergen-bg); border:1px solid var(--print-secondary); border-radius:8px; padding:8px 12px; margin-bottom:18px; display:var(--print-show-allergens,block); }
.pr-procede { page-break-inside:avoid; break-inside:avoid; }
.pr-procede h2 { font-size:15px; border-bottom:1px solid var(--print-border); padding-bottom:6px; margin-bottom:8px; color:var(--print-text); page-break-after:avoid; break-after:avoid; }
.pr-procede p { font-size:var(--print-procedure-font-size,13px); line-height:var(--print-procedure-line-height,1.6); white-space:pre-wrap; overflow-wrap:anywhere; margin:0; color:var(--print-text); }
.pr-footer { margin-top:30px; padding-top:10px; border-top:1px solid var(--print-border); font-size:var(--print-footer-font-size,10px); color:var(--print-footer-text); text-align:right; display:var(--print-show-footer,block); }

/* Alignement impression réelle sur l'aperçu Administration. */
.print-fiche-root { box-sizing: border-box; }
.print-fiche-root .pr-sheet { box-sizing: border-box; }
@media print {
  html, body { margin: 0 !important; padding: 0 !important; }
  .print-fiche-root { box-sizing:border-box; width:100%; min-height:0; }
  .print-fiche-root .pr-sheet { width:100%; box-sizing:border-box; page-break-after:avoid; break-after:avoid-page; }
}

/* Isolation A4 : évite qu'un layout applicatif caché crée une page blanche. */
@media print {
  @page { size: A4 portrait; margin: 0; }
  .print-fiche-root { position: static !important; width: 100% !important; min-height: 0 !important; margin: 0 !important; box-sizing: border-box !important; }
  .print-fiche-root .pr-sheet { width: 100% !important; max-width: none !important; min-height: 0 !important; margin: 0 !important; box-sizing: border-box !important; }
}
