/* ============================================================================
   DOSSIER — contrat d'impression canonique
   Chargé en dernier et limité au média print : les couches historiques écran
   ne peuvent pas reprendre la main sur le shell, les panneaux ou les ombres.
   Le futur one-pager audience reste un livrable distinct.
   ============================================================================ */

/* Défense en profondeur : même si l'attribut media du <link> disparaissait,
   aucune neutralisation d'impression ne pourrait toucher l'écran. */
@media print {

@page { size: A4 landscape; margin: 12mm; }

body > header,
body > aside,
body > button,
.analyse-modal,
.util-top,
.dnav,
.calc,
.v1-annex--notes,
.calc__mode,
.dossier-tabs,
.sm-photos,
.v1-gallery,
.dec-footer__notes,
.dec-footer__textarea,
.sc-params,
.fa__sim,
.atelier {
  display: none !important;
}

html,
body {
  background: var(--c-print-paper) !important;
  color: var(--c-print-ink) !important;
}

main { margin: 0 !important; padding: 0 !important; }
main > div { padding: 0 !important; }

.theme-emeraude.dossier-v2-shell {
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--c-print-paper) !important;
  box-shadow: none !important;
  font-size: 10.5px !important;
}

/* L'ombre est un repère d'écran, jamais une information imprimée. */
.theme-emeraude .dossier-tab-panel,
.theme-emeraude .dossier-tab-panel * {
  box-shadow: none !important;
  text-shadow: none !important;
}

.mh { gap: 10px !important; padding: 8px 0 12px !important; }
.mh__title { font-size: 22px !important; }
.mh__l2,
.mh__bc { grid-template-columns: 1fr 1fr !important; }

/* Sans ce dépliage, seul l'onglet actif au moment d'imprimer atteint le PDF. */
.dossier-tab-panel {
  display: block !important;
  page-break-before: always;
}
.dossier-tab-panel:first-of-type { page-break-before: avoid; }
section.v1-annex { page-break-before: always; }

.mh,
.risk-band,
.risk-card,
.v1-panel,
.band-a,
.block,
.hero-marge,
.fa__total,
.dvfc__stats {
  break-inside: avoid;
  page-break-inside: avoid;
}

}
