/* Document de proposition R3 : vue écran A4 et impression PDF (Enregistrer au format PDF). */
.doc-wrap { background: var(--gray-30); padding: 24px; border-radius: var(--radius); overflow-x: auto; }
.doc { width: 210mm; min-height: 297mm; margin: 0 auto; background: #fff; color: var(--navy); padding: 18mm 18mm 20mm; font-size: 10.5pt; line-height: 1.5; box-shadow: var(--shadow); }
.doc .doc-head { display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 3px solid var(--navy); padding-bottom: 10mm; margin-bottom: 9mm; }
.doc .doc-head img { height: 15mm; }
.doc .doc-head .meta { text-align: right; font-size: 9pt; color: var(--navy-60); }
.doc .doc-title { font-size: 21pt; font-weight: 700; line-height: 1.15; margin: 0 0 3mm; }
.doc .doc-sub { color: var(--blue); font-weight: 700; font-size: 10pt; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 8mm; }
.doc section { margin: 0 0 7mm; break-inside: avoid; }
.doc h3 { font-size: 11.5pt; text-transform: uppercase; letter-spacing: .06em; color: var(--navy); border-left: 4px solid var(--blue); padding-left: 3mm; margin: 0 0 3mm; }
.doc p { margin: 0 0 2mm; white-space: pre-line; }
.doc ul { margin: 0; padding-left: 5mm; }
.doc li { margin: 1mm 0; }
.doc .price { display: flex; justify-content: space-between; align-items: center; background: var(--navy); color: #fff; padding: 5mm 6mm; border-radius: 2mm; }
.doc .price strong { font-size: 15pt; }
.doc .note { font-size: 8.5pt; color: var(--navy-60); border-top: 1px solid var(--gray); padding-top: 3mm; margin-top: 8mm; }
.doc .badge-doc { display: inline-block; border: 1px solid var(--blue); color: var(--blue); font-size: 8pt; font-weight: 700; padding: 1mm 3mm; border-radius: 1mm; letter-spacing: .05em; text-transform: uppercase; }

@page { size: A4; margin: 0; }
@media print {
  html, body { background: #fff !important; height: auto; }
  .shell { display: block; }
  .side, .topbar, .tabbar, .page-head, .steps, .no-print, .toast-zone, .dossier-head, .sticky-bar { display: none !important; }
  .page { padding: 0 !important; max-width: none; }
  .doc-wrap { background: none; padding: 0; }
  .doc { box-shadow: none; margin: 0; width: auto; min-height: auto; }
  .card { border: 0; box-shadow: none; padding: 0; }
  .two-col { display: block; }
}
