/* Contenu riche des articles et des pages (éditeur visuel ou ancien Markdown) — chargé sur les articles, les pages et dans l'éditeur admin */
.markdown { font-size: 1.07rem; line-height: 1.8; color: #2b4246; }
.markdown h2, .markdown h3, .markdown h4 { color: #0f2e33; font-weight: 750; margin: 2.4rem 0 1rem; line-height: 1.25; letter-spacing: -0.02em; }
.markdown h2 { font-size: 1.65rem; }
.markdown h3 { font-size: 1.3rem; }
.markdown h4 { font-size: 1.1rem; }
.markdown > :first-child { margin-top: 0; }
.markdown p, .markdown ul, .markdown ol { margin-bottom: 1.25rem; }
.markdown li { margin-bottom: .4rem; }
.markdown ul li::marker { color: #e9a93b; }
.markdown ol li::marker { color: #1b4a50; font-weight: 700; }
.markdown a { color: #17645f; text-underline-offset: 3px; text-decoration-color: rgba(23, 100, 95, .35); text-decoration-thickness: 2px; }
.markdown a:hover { color: #0f2e33; text-decoration-color: #e9a93b; }
.markdown img { max-width: 100%; height: auto; border-radius: 14px; margin: 1.25rem 0; box-shadow: 0 1px 2px rgba(15, 46, 51, .05), 0 12px 28px -14px rgba(15, 46, 51, .3); }
.markdown blockquote { border-left: 4px solid #e9a93b; background: #fcf1dc; padding: 1rem 1.3rem; border-radius: 0 14px 14px 0; color: #5e3d07; font-size: 1.08rem; margin: 1.5rem 0; }
.markdown blockquote p:last-child { margin-bottom: 0; }
.markdown code { background: #eef3f2; color: #8a3c12; padding: .12rem .4rem; border-radius: 6px; font-size: .9em; }
.markdown pre { background: #0f2e33; color: #e3eeec; padding: 1.1rem 1.3rem; border-radius: 14px; overflow-x: auto; box-shadow: 0 12px 28px -16px rgba(15, 46, 51, .6); }
.markdown pre code { background: none; color: inherit; padding: 0; }
.markdown table { width: 100%; border-collapse: separate; border-spacing: 0; margin-bottom: 1.4rem; display: block; overflow-x: auto; border: 1px solid #e3eae8; border-radius: 12px; }
.markdown th, .markdown td { border-bottom: 1px solid #e3eae8; padding: .65rem .9rem; }
.markdown tr:last-child td { border-bottom: 0; }
.markdown th { background: #f4f8f7; color: #0f2e33; font-weight: 650; text-align: left; }
.markdown hr { margin: 2.75rem 0; border: 0; height: 1px; background: linear-gradient(90deg, transparent, #cfd9d7, transparent); opacity: 1; }

/* Variante compacte (notes de version) */
.markdown.small, .markdown.small p, .markdown.small li { font-size: .9rem; }
.markdown.small > :last-child { margin-bottom: 0; }

/* Contenu de l'éditeur visuel (pages, blog) */
.markdown .ql-align-center { text-align: center; }
.markdown .ql-align-right { text-align: right; }
.markdown .ql-align-justify { text-align: justify; }
.markdown .ql-indent-1 { padding-left: 2em; } .markdown .ql-indent-2 { padding-left: 4em; } .markdown .ql-indent-3 { padding-left: 6em; }
.markdown pre.ql-syntax { white-space: pre-wrap; }
