/* =============================================================
   Salott-IT — V5  Lecture de contenu (articles)  — additif, scopé.
   N'affecte que les pages article (.article-content / .article-main).
   ============================================================= */

/* Confort de lecture : largeur de ligne optimale + rythme vertical */
.article-content-inner {
  max-width: 72ch;
  font-size: 1.03rem;
  line-height: 1.82;
}
.article-content-inner p { margin-bottom: 1.1em; }
.article-content-inner h2,
.article-content-inner h3 { margin: 1.5em 0 .5em; line-height: 1.3; }
.article-content-inner ul,
.article-content-inner ol { margin: 0 0 1.1em 1.3em; }
.article-content-inner img { max-width: 100%; height: auto; border-radius: 12px; }
.article-content-inner a { color: var(--accent-dark, #e55a2b); text-decoration: underline; }

/* Barre de progression de lecture (injectée par content-ui.js sur les articles) */
.reading-progress {
  position: fixed;
  top: 0; left: 0;
  height: 3px; width: 0;
  background: linear-gradient(90deg, var(--accent, #FF6B35), var(--accent-hover, #FF7F50));
  z-index: 1100;
  box-shadow: 0 0 8px rgba(255,107,53,.5);
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .reading-progress { transition: none; }
}

/* =============================================================
   V5 — Formulaire Contact : feedback focus + validation
   Scopé .contact-form-card (spécificité 0,2,0 -> gagne sans !important).
   :user-valid / :user-invalid = retour visuel APRÈS interaction (pas de
   champ marqué en rouge avant que l'utilisateur tape). Ignoré si non
   supporté (dégradation propre).
   ============================================================= */
.contact-form-card .form-input {
  transition: border-color .2s ease, box-shadow .2s ease;
}
.contact-form-card .form-input:focus {
  border-color: var(--accent, #FF6B35);
  box-shadow: 0 0 0 3px rgba(255,107,53,.15);
  outline: none;
}
.contact-form-card .form-input:user-valid {
  border-color: #10b981;
}
.contact-form-card .form-input:user-invalid {
  border-color: #ef4444;
}

