/* Article body styles shared by the public post page and the admin editor.
   Colours come from each site's own variables with sensible fallbacks. */
.blog-content { font-size: 17px; line-height: 1.75; color: var(--blog-ink, #1f2a30); overflow-wrap: break-word; }
.blog-content h2 { font-size: 1.5em; line-height: 1.3; margin: 1.8em 0 0.5em; }
.blog-content h3 { font-size: 1.2em; line-height: 1.35; margin: 1.5em 0 0.4em; }
.blog-content h4 { font-size: 1.05em; margin: 1.3em 0 0.3em; }
.blog-content p { margin: 0 0 1em; }
.blog-content ul, .blog-content ol { margin: 0 0 1.1em; padding-left: 1.4em; }
.blog-content ul { list-style: disc; }
.blog-content ol { list-style: decimal; }
.blog-content li { margin: 0.3em 0; }
.blog-content a { color: var(--blog-accent, #0f5b66); text-decoration: underline; text-underline-offset: 2px; }
.blog-content img { max-width: 100%; height: auto; border-radius: 8px; margin: 0.5em 0 1em; }
.blog-content blockquote { margin: 1.2em 0; padding: 0.4em 1em; border-left: 3px solid var(--blog-accent, #0f5b66); color: var(--blog-muted, #4a5560); }
.blog-content table { border-collapse: collapse; width: 100%; margin: 0 0 1.3em; font-size: 0.92em; display: block; overflow-x: auto; }
.blog-content th, .blog-content td { border: 1px solid var(--blog-line, #d6dde0); padding: 8px 10px; text-align: left; vertical-align: top; }
.blog-content th { background: var(--blog-tint, #eef4f5); }
.blog-content code { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 0.9em; background: var(--blog-tint, #eef4f5); padding: 1px 5px; border-radius: 4px; }
.blog-content .cta { background: var(--blog-tint, #eef4f5); border-radius: 10px; padding: 18px 22px; margin: 1.6em 0; }
.blog-content .cta p { margin: 0 0 0.6em; }
.blog-content .cta p:last-child { margin: 0; }
.blog-content .cta a { display: inline-block; background: var(--blog-accent, #0f5b66); color: #fff; padding: 10px 18px; border-radius: 8px; text-decoration: none; font-weight: 600; }
