/* Documents générés (lettre de mission…) : aperçu dans l'application, page imprimable A4 et PDF
   (Gotenberg reçoit cette feuille en ligne et les polices en pièces jointes : StockagePdf). */

@font-face { font-family: 'Open Sans'; font-weight: 400; font-display: swap; src: url("../fonts/open-sans-400-wXCs6kL.woff2") format('woff2'); }
@font-face { font-family: 'Open Sans'; font-weight: 600 700; font-display: swap; src: url("../fonts/open-sans-600-wHwATTd.woff2") format('woff2'); }

.document {
    /* Couleur principale de l'identité des documents (lot P1-6d) : posée sur l'enveloppe par
       `--couleur-document` (figée avec le document), sinon l'encre par défaut. */
    --couleur: var(--couleur-document, #1d2333);
    --couleur-filet: color-mix(in srgb, var(--couleur) 30%, #fff);
    --couleur-fond: color-mix(in srgb, var(--couleur) 9%, #fff);
    max-width: 210mm;
    box-sizing: border-box;
    padding: 18mm 18mm 20mm;
    background: #fff;
    color: #1d2333;
    font-family: 'Open Sans', system-ui, sans-serif;
    font-size: 10.5pt;
    line-height: 1.5;
}
.document--apercu { margin: 0 auto; box-shadow: 0 1px 2px rgba(20, 23, 26, .06), 0 4px 16px rgba(20, 23, 26, .1); border-radius: 4px; }
.document h1 { margin: 18px 0 4px; font-size: 18pt; color: var(--couleur); }
.document h2 { margin: 18px 0 6px; font-size: 12pt; color: var(--couleur); break-after: avoid; }
.document h3 { margin: 12px 0 4px; font-size: 10.5pt; color: var(--couleur); break-after: avoid; }
.document p { margin: 0 0 8px; }
.document ul { margin: 0 0 8px; padding-left: 20px; }
.document li { margin: 0 0 2px; }
.document table { width: 100%; border-collapse: collapse; margin: 6px 0 10px; }
.document th, .document td { padding: 4px 6px; border-bottom: 1px solid #d9dde8; text-align: left; vertical-align: top; }
.document table.donnees th { width: 34%; font-weight: 600; }
.document thead th { border-bottom: 2px solid var(--couleur); color: var(--couleur); }
.document .montant { text-align: right; white-space: nowrap; }
.document tfoot th, .document tfoot td { font-weight: 700; border-bottom: 0; }
.document .entete { display: flex; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
.document .destinataire { margin-left: auto; min-width: 40%; }
.document .lieu-date { text-align: right; }
.document .reference { color: #525d89; }
.document .signatures { display: flex; justify-content: space-between; gap: 24px; margin-top: 28px; break-inside: avoid; }
.document .signatures > div { flex: 1; min-height: 32mm; }
.document .mention-accord { color: #525d89; font-size: 9pt; }
.document .mentions { margin-top: 24px; padding-top: 8px; border-top: 1px solid var(--couleur-filet); color: #525d89; font-size: 8.5pt; }
.document .saut-de-page { break-before: page; }
.document .a-completer {
    display: inline;
    margin: 0;
    padding: 0 3px;
    border: 0;
    border-radius: 2px;
    background: #ffe3e1;
    color: #9c2f2b;
    font-size: inherit;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}
/* Lot liens directs : dans l'aperçu écran, le chemin d'un passage « à compléter » est un lien ; à
   l'impression, le texte seul (aucun lien dans un document qui part chez le client). */
.document .a-completer .renvoi { color: inherit; text-decoration: underline; }
.document .renvoi--impression { display: none; }

/* Page imprimable autonome */
.impression { margin: 0; background: #f7f7f4; }
.impression__barre {
    position: sticky; top: 0; z-index: 1;
    display: flex; flex-wrap: wrap; align-items: center; gap: 12px;
    padding: 10px 16px;
    background: #14563f; color: #fff;
    font-family: 'Open Sans', system-ui, sans-serif; font-size: 14px;
}
.impression__barre a { color: #fff; }
.impression__barre button, .impression__barre .bouton-barre {
    padding: 6px 14px; border: 0; border-radius: 6px;
    background: #d9b878; color: #0f3d2e; font: inherit; font-weight: 600; cursor: pointer; text-decoration: none;
}
.impression__barre .avertissement { padding: 4px 10px; border-radius: 6px; background: #ffe3e1; color: #9c2f2b; }
.impression__barre .infos { margin-left: auto; opacity: .85; }
.impression__page { padding: 24px 16px; }
.impression__page .document { margin: 0 auto; box-shadow: 0 4px 16px rgba(20, 23, 26, .12); }

/* Écran étroit seulement : à l'impression, la zone utile A4 (174 mm) passerait sous ce seuil. */
@media screen and (max-width: 720px) {
    .document { padding: 16px; }
    .document .entete, .document .signatures { flex-direction: column; }
}

/* Marges A4 identiques à ConvertisseurGotenberg::MARGES : navigateur et PDF paginent pareil.
   Page nommée : cette feuille est importée par toute l'application (assets/app.js), seules la page
   imprimable et le PDF prennent le format A4 ; les autres écrans gardent le choix d'orientation. */
@page document { size: A4; margin: 18mm 18mm 20mm; }
body.impression, body.pdf { page: document; }
@media print {
    body.impression, body.pdf { margin: 0; }
    :is(.impression, .pdf) .document { max-width: none; padding: 0; }
    .impression { background: #fff; }
    .impression__barre { display: none; }
    .document .renvoi--ecran { display: none; }
    .document .renvoi--impression { display: inline; }
    .impression__page { padding: 0; }
    .impression__page .document { box-shadow: none; max-width: none; }
}

/* Modèles repris de Word (lot P1-6a) : le nettoyeur retire les styles en ligne, la mise en page
   passe par ces classes. */
.document .centre { text-align: center; }
.document .droite { text-align: right; }
.document .justifie { text-align: justify; }
.document .petit { font-size: 8.5pt; }
.document .grand { font-size: 14pt; }
.document .retrait { margin-left: 12mm; }
.document .souligne { text-decoration: underline; }
.document img { max-width: 100%; height: auto; }
.document img.logo { max-height: 28mm; width: auto; }
.document img.bandeau { display: block; width: 100%; max-height: 40mm; object-fit: contain; }
.document .entete-cabinet { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 14px; }
.document .pied-cabinet { margin-top: 24px; padding-top: 6px; border-top: 1px solid var(--couleur-filet); color: #525d89; font-size: 8pt; text-align: center; }
.document .encadre { margin: 8px 0 12px; padding: 8px 10px; border: 1px solid var(--couleur); break-inside: avoid; }
.document table.grille th, .document table.grille td { border: 1px solid #9aa3bf; }
.document table.grille thead th { background: var(--couleur-fond); -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.document img.icone { max-height: 10mm; width: auto; }
/* Identité des documents (lot P1-6d) : signature scannée, nom du cabinet, filet de couleur. */
.document img.signature-image { display: block; max-height: 22mm; max-width: 60mm; width: auto; margin: 4px 0; }
.document .nom-cabinet { color: var(--couleur); font-weight: 700; }
.document .filet { height: 0; margin: 10px 0; border: 0; border-top: 2px solid var(--couleur); }
.document .entete-modele { margin-bottom: 14px; }
.document .cadre-texte { margin: 4px 0 10px; font-size: 9pt; color: #525d89; }
