/* Blog — complète styles.css (Inter, variables du site). */
.blog { max-width: 46rem; }
.blog-meta { color: var(--texte-doux, #5a6b7d); font-size: .9rem; margin: .25rem 0 1.25rem; }
.blog-sommaire { background: #f3f6fa; border-radius: 12px; padding: 1rem 1.25rem; margin: 0 0 2rem; }
.blog-sommaire ol { margin: .5rem 0 0; padding-left: 1.25rem; }
.blog-sommaire a { display: inline-block; padding: .35rem 0; min-height: 44px; box-sizing: border-box; }
.blog-corps h2 { margin-top: 2.25rem; scroll-margin-top: 5rem; }
.blog-corps h3 { margin-top: 1.5rem; }
.blog-corps p, .blog-corps li { line-height: 1.7; }
.blog-tableau { overflow-x: auto; margin: 1.25rem 0; }
.blog-tableau table { border-collapse: collapse; width: 100%; min-width: 30rem; }
.blog-tableau th, .blog-tableau td { border: 1px solid #d5dde6; padding: .6rem .75rem; text-align: left; vertical-align: top; }
.blog-tableau th { background: #eaf0f6; }
.blog-corps a { text-decoration: underline; }
.blog-corps a { overflow-wrap: anywhere; }
/* Liens longs (sources) : aucun débordement horizontal, quelle que soit la largeur ou la taille du texte. */
main#contenu a, main#contenu li, main#contenu p { overflow-wrap: anywhere; }
main#contenu { max-width: 100%; }
/* Index /blog : cartes d'articles. */
.blog-carte { padding: 1rem 0 1.25rem; border-bottom: 1px solid #d5dde6; }
.blog-carte .p-h2 { margin: 0 0 .25rem; }
.blog-carte .p-h2 a { display: inline-block; min-height: 44px; }

.blog-figure { margin: 1.5rem 0; }
.blog-figure img { width: 100%; height: auto; border-radius: 12px; display: block; }
