/* ==========================================================================
   LSF — Gabarit d'article
   Classes reutilisables pour les articles du blog Le Site Francais.
   Remplace les styles inline dupliques dans chaque post.
   ========================================================================== */

:root {
  --lsf-violet: #5555e4;
  --lsf-violet-clair: #ebebff;
  --lsf-nuit: #05053a;
  --lsf-bordure: #e2e8f0;
}

/* --- Encadre d'introduction / points cles ------------------------------- */
.lsf-encadre {
  background: var(--lsf-violet-clair);
  border-left: 5px solid var(--lsf-violet);
  border-radius: 0 10px 10px 0;
  padding: 22px 26px;
  margin: 0 0 40px;
}
.lsf-encadre > *:last-child { margin-bottom: 0; }

.lsf-encadre--nuit {
  background: var(--lsf-nuit);
  border-left: none;
  border-radius: 10px;
  color: #fff;
  padding: 24px 28px;
}
.lsf-encadre--nuit a { color: #fff; text-decoration: underline; }

/* --- Encadre note / a retenir / analogie -------------------------------- */
.lsf-note {
  background: #f8fafc;
  border: 1px solid var(--lsf-bordure);
  border-radius: 8px;
  padding: 20px 24px;
  margin: 28px 0;
}
.lsf-note > *:last-child { margin-bottom: 0; }
.lsf-note strong:first-child { color: var(--lsf-nuit); }

/* --- Images d'illustration --------------------------------------------- */
.lsf-img {
  display: block;
  width: 100%;
  height: auto;
  margin: 15px auto 30px;
  border-radius: 8px;
}

/* --- FAQ ---------------------------------------------------------------- */
.lsf-faq { margin: 40px 0; }

.lsf-faq-item {
  border-bottom: 1px solid var(--lsf-bordure);
  padding: 20px 0;
}
.lsf-faq-item:last-child { border-bottom: none; }

.lsf-faq-q {
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 8px;
  color: var(--lsf-nuit);
}

.lsf-faq-a { margin: 0; }
.lsf-faq-a > *:last-child { margin-bottom: 0; }

/* --- Bloc d'appel a l'action -------------------------------------------- */
.lsf-cta {
  background: var(--lsf-violet);
  border-radius: 12px;
  padding: 32px 28px;
  margin: 40px 0;
  text-align: center;
  color: #fff;
}
.lsf-cta p { color: #fff; margin: 0 0 12px; }
.lsf-cta p:last-of-type { margin-bottom: 20px; }
.lsf-cta-titre { font-size: 18px; font-weight: 700; }

.lsf-cta-btn {
  display: inline-block;
  background: #fff;
  color: var(--lsf-violet) !important;
  font-weight: 700;
  padding: 12px 24px;
  border-radius: 8px;
  text-decoration: none !important;
}
.lsf-cta-btn:hover { opacity: .9; }

/* --- Responsive --------------------------------------------------------- */
@media (max-width: 600px) {
  .lsf-encadre, .lsf-encadre--nuit { padding: 18px 20px; }
  .lsf-cta { padding: 26px 20px; }
}
