/* Outil public « Lettre de motivation » (/outils/lettre-de-motivation). Fichier simple, sans Tailwind.
 *
 * S'appuie sur cv-tool.css (disposition .cvt-*, palettes .cvd-*, héros) : on ne redéfinit ici que
 *   1. la passerelle de variables pour #outil-lettre (cv-tool.css ne la pose que sur #outil-cv) ;
 *   2. les petits éléments propres au formulaire de lettre (.ltr-*).
 */

#outil-lettre {
  --card: var(--card-bg);
  --line: var(--border);
  --text: var(--fg);
  --brand: var(--accent);
  --brand-soft: var(--accent-soft);
  --danger: #b91c1c;
  --danger-soft: #fef2f2;
  --ok: #15803d;
  color: var(--fg);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) #outil-lettre { --danger: #f87171; --danger-soft: #2a1717; --ok: #4ade80; }
}
:root[data-theme="dark"] #outil-lettre { --danger: #f87171; --danger-soft: #2a1717; --ok: #4ade80; }

/* Sections du formulaire : panneaux blancs « f-sec » du CV (fond --bg sur la carte grise), titres « f-sec-t ». */
.ltr-hint { margin: .5rem 0 .75rem; color: var(--muted); font-size: .8125rem; line-height: 1.5; }
.ltr-template-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem .9rem; margin-top: .75rem; }
.ltr-confirm { margin: 0; font-size: .8125rem; color: var(--text); }
.ltr-link {
  margin-inline-start: .5rem; padding: .25rem .1rem; border: 0; background: none; color: var(--brand);
  font-size: .8125rem; font-weight: 700; text-decoration: underline; cursor: pointer;
}
.ltr-link:focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; border-radius: .25rem; }
.ltr-error { margin: 0; font-size: .8125rem; color: var(--danger); }

.ltr-counter { margin: .35rem 0 0; font-size: .75rem; color: var(--muted); }
.ltr-counter.is-long { color: var(--danger); }

/* Points à corriger avant le PDF. */
.ltr-errors {
  margin-top: 1.25rem; padding: .85rem 1rem; border: 1px solid var(--danger); border-radius: .75rem;
  background: var(--danger-soft); color: var(--text); font-size: .875rem; line-height: 1.5;
}
.ltr-errors:focus-visible { outline: 2px solid var(--danger); outline-offset: 2px; }
.ltr-errors-title { margin: 0 0 .35rem; font-weight: 800; color: var(--danger); }
.ltr-errors ul { margin: 0; padding-inline-start: 1.25rem; list-style: disc; }

/* ---------- Lisibilité : marges et colonnes ----------
 * Le formulaire respire (panneaux plus aérés, étiquette séparée du champ) ; l'aperçu A4 est plus large pour que le texte
 * de la lettre reste lisible une fois réduit à l'échelle de la colonne (794 px de papier dans 512 à 640 px). */
#outil-lettre .f-sec { padding: 1rem 1rem 1.15rem; margin-bottom: 1.25rem; }
#outil-lettre .f-sec-t { margin-bottom: 1rem; }
#outil-lettre .f-lbl { display: block; margin-bottom: .35rem; }
#outil-lettre .cvt-actions { margin-top: 1.5rem; }
@media (min-width: 640px) {
  #outil-lettre .f-sec { padding: 1.25rem 1.5rem 1.5rem; margin-bottom: 1.5rem; }
}
@media (min-width: 1024px) {
  #outil-lettre .cvt-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 32rem); gap: 1.75rem; }
}
@media (min-width: 1280px) {
  #outil-lettre .cvt-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 40rem); gap: 2rem; }
}

/* Autres formats d'export (Word, Markdown, texte). */
.ltr-formats { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--line); }
.ltr-formats-title { margin: 0 0 .6rem; font-size: .8125rem; font-weight: 800; color: var(--text); }
.ltr-formats-buttons { display: flex; flex-wrap: wrap; gap: .6rem; }
.ltr-formats-buttons button:disabled { cursor: wait; opacity: .6; }
.ltr-formats .ltr-hint { margin-bottom: 0; }

/* ---- Import d'un fichier existant ---- */
.ltr-import { margin-top: 1.25rem; padding-top: 1.1rem; border-top: 1px solid var(--line); }
.ltr-import-title { margin: 0 0 .6rem; font-size: .8125rem; font-weight: 800; color: var(--text); }
.ltr-import-row { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem .9rem; }
.ltr-import-row button:disabled { cursor: wait; opacity: .6; }
.ltr-import .ltr-hint { margin-bottom: 0; }
.ltr-import-notes { margin-top: .75rem; padding: .75rem .9rem; border: 1px solid var(--line); border-radius: .75rem; background: var(--accent-soft, #f1f5f9); font-size: .8125rem; color: var(--text); }
.ltr-import-notes-title { margin: 0 0 .3rem; font-weight: 800; }
.ltr-import-notes ul { margin: 0; padding-inline-start: 1.25rem; list-style: disc; }
.ltr-import-notes li + li { margin-top: .25rem; }
