/*
 * oddy.fr — la lettre des courriers du CSE (gabarit views/documents/courrier-lettre.php).
 * Une seule feuille pour l'aperçu de l'éditeur, l'impression du navigateur et le PDF du serveur de traitement
 * (qui l'intègre au document). Toutes les mesures sont en --mm : à l'écran, 1/210e de la largeur de la feuille
 * (la feuille suit la largeur de sa colonne) ; à l'impression, un vrai millimètre.
 * Le texte reste noir ; la couleur du CSE ne sert qu'aux filets et aux titres.
 */

.lettre {
  --mm: calc(100cqw / 210);
  --lt: #1f3a5f;
  position: relative;
  box-sizing: border-box;
  width: 100%;
  min-height: calc(297 * var(--mm));
  padding: calc(14 * var(--mm)) calc(20 * var(--mm)) calc(30 * var(--mm));
  background: #FFFFFF;
  color: #1d2126;
  font-family: Arial, Helvetica, sans-serif;
  font-size: calc(3.7 * var(--mm));
  line-height: 1.55;
  text-align: left;
}
.lettre *, .lettre *::before { box-sizing: border-box; }
.lettre p { margin: 0; }
.lettre [data-l]:empty { display: none; }
.lettre [hidden] { display: none !important; }

/* Couleur du CSE (Paramètres du CSE) */
.lt-marine { --lt: #1f3a5f; }
.lt-bordeaux { --lt: #7a1e2e; }
.lt-sapin { --lt: #1e4d3a; }
.lt-anthracite { --lt: #3a3f45; }
.lt-roi { --lt: #1f4e9c; }
.lt-prune { --lt: #4b2a5c; }

/* En-tête : logo et nom du CSE, filet de couleur */
.lt-tete { display: flex; align-items: center; gap: calc(4 * var(--mm)); padding-bottom: calc(4 * var(--mm)); border-bottom: calc(.8 * var(--mm)) solid var(--lt); }
.lt-logo { display: block; max-height: calc(16 * var(--mm)); max-width: calc(40 * var(--mm)); width: auto; height: auto; }
.lt-cse { display: grid; gap: calc(.5 * var(--mm)); min-width: 0; }
.lt-cse b { color: var(--lt); font-size: calc(4.4 * var(--mm)); line-height: 1.25; }
.lt-cse span { color: #4a5057; font-size: calc(3.3 * var(--mm)); }

/* Expéditeur à gauche, destinataire à droite (fenêtre des enveloppes) */
.lt-adresses { display: grid; grid-template-columns: 1fr 1fr; gap: calc(10 * var(--mm)); margin-top: calc(8 * var(--mm)); }
.lt-exp, .lt-dest { display: flex; flex-direction: column; min-width: 0; overflow-wrap: anywhere; }
.lt-dest { padding-top: calc(10 * var(--mm)); }
.lt-envoi { margin-bottom: calc(2.5 * var(--mm)); color: #4a5057; font-size: calc(3.2 * var(--mm)); font-style: italic; }

.lt-date { margin: calc(10 * var(--mm)) 0 0 calc(90 * var(--mm)) !important; }
.lt-objet { margin-top: calc(10 * var(--mm)) !important; }
.lt-objet b { color: var(--lt); }

.lt-corps { margin-top: calc(7 * var(--mm)); }
.lt-corps p { margin: 0 0 calc(3.5 * var(--mm)); text-align: justify; hyphens: auto; orphans: 3; widows: 3; }

/* Signataire : place laissée pour la signature manuscrite */
.lt-sign { display: flex; flex-direction: column; margin: calc(6 * var(--mm)) 0 0 calc(90 * var(--mm)); padding-bottom: calc(18 * var(--mm)); break-inside: avoid; }
.lt-sign span { color: #4a5057; }

.lt-pj { margin-top: calc(4 * var(--mm)) !important; font-size: calc(3.3 * var(--mm)); }

/* Pied de page : coordonnées du CSE (sur chaque page à l'impression) */
.lt-pied {
  position: absolute;
  left: calc(20 * var(--mm));
  right: calc(20 * var(--mm));
  bottom: calc(9 * var(--mm));
  padding-top: calc(2.5 * var(--mm));
  border-top: calc(.3 * var(--mm)) solid var(--lt);
  color: #4a5057;
  font-size: calc(2.8 * var(--mm));
  line-height: 1.5;
  text-align: center;
}
.lt-pied b { color: var(--lt); }
.lt-pied span::before { content: " · "; }

/* Tableau de mise en page : sans effet à l'écran */
.lt-page, .lt-page > tbody, .lt-page > tbody > tr, .lt-contenu { display: block; margin: 0; padding: 0; border: 0; }
.lt-reserve { display: none; }

/*
 * Mise en page imprimée (.lt-imprime : PDF du serveur, et copie imprimée par l'éditeur), en vrais millimètres.
 * La lettre devient un tableau dont le pied (.lt-reserve) se répète au bas de chaque page : le texte s'arrête
 * au-dessus du pied de page du CSE, fixé en bas de chaque page. L'en-tête n'est que sur la première page.
 */
@page courrier { size: A4 portrait; margin: 14mm 0 8mm; }
.lettre.lt-imprime { --mm: 1mm; page: courrier; min-height: 0; padding: 0 20mm; }
.lt-imprime .lt-page { display: table; width: 100%; border-collapse: collapse; }
.lt-imprime .lt-page > tbody { display: table-row-group; }
.lt-imprime .lt-page > tbody > tr { display: table-row; }
.lt-imprime .lt-contenu { display: table-cell; }
.lt-imprime .lt-reserve { display: table-footer-group; }
.lt-imprime .lt-reserve td { height: 17mm; padding: 0; }
.lt-imprime .lt-pied { position: fixed; left: 20mm; right: 20mm; bottom: 0; }

/* Document autonome (PDF) */
body.doc-courrier { margin: 0; background: #FFFFFF; }

/* Impression depuis l'éditeur : seule la lettre (copiée dans #impression) est imprimée */
#impression { display: none; }
@media print {
  body.imprime-lettre { background: #FFFFFF !important; }
  body.imprime-lettre > :not(#impression) { display: none !important; }
  body.imprime-lettre #impression { display: block; }
}
