/* Article / page typography.
   Used by published content (.prose, .rich-content) AND inside the editor,
   so what editors see while writing is what visitors see. */
.prose, .rich-content, body.mce-content-body {
  color: #374151; font-size: 1.0625rem; line-height: 1.75; overflow-wrap: break-word;
}
body.mce-content-body {
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  max-width: 820px; margin: 1.25rem auto; padding: 0 1.25rem; background: #fff;
}
.prose-lg { font-size: 1.125rem; }
.prose > :first-child, .rich-content > :first-child { margin-top: 0; }
.prose p, .rich-content p, .mce-content-body p { margin: 0 0 1.1em; }
.prose h1, .prose h2, .prose h3, .prose h4,
.rich-content h1, .rich-content h2, .rich-content h3, .rich-content h4,
.mce-content-body h1, .mce-content-body h2, .mce-content-body h3, .mce-content-body h4 {
  color: #111827; font-weight: 700; line-height: 1.3; margin: 1.6em 0 0.6em;
}
.prose h1, .rich-content h1, .mce-content-body h1 { font-size: 2em; }
.prose h2, .rich-content h2, .mce-content-body h2 { font-size: 1.5em; }
.prose h3, .rich-content h3, .mce-content-body h3 { font-size: 1.25em; }
.prose h4, .rich-content h4, .mce-content-body h4 { font-size: 1.1em; }
.prose a, .rich-content a, .mce-content-body a { color: #1d4ed8; text-decoration: underline; }
.prose strong, .rich-content strong, .mce-content-body strong { color: #111827; font-weight: 700; }
.prose ul, .rich-content ul, .mce-content-body ul { list-style: disc; padding-left: 1.6em; margin: 0 0 1.1em; }
.prose ol, .rich-content ol, .mce-content-body ol { list-style: decimal; padding-left: 1.6em; margin: 0 0 1.1em; }
.prose li, .rich-content li, .mce-content-body li { margin: 0.25em 0; }
.prose li > ul, .prose li > ol, .rich-content li > ul, .rich-content li > ol { margin: 0.25em 0; }
.prose blockquote, .rich-content blockquote, .mce-content-body blockquote {
  border-left: 4px solid #93c5fd; background: #f8fafc; margin: 1.4em 0; padding: 0.6em 1em; color: #4b5563; font-style: italic;
}
.prose img, .rich-content img, .mce-content-body img { max-width: 100%; height: auto; border-radius: 0.5rem; }
.prose figure, .rich-content figure, .mce-content-body figure { margin: 1.5em 0; }
.prose figcaption, .rich-content figcaption, .mce-content-body figcaption { font-size: 0.875em; color: #6b7280; text-align: center; margin-top: 0.4em; }
.prose hr, .rich-content hr, .mce-content-body hr { border: 0; border-top: 1px solid #e5e7eb; margin: 2em 0; }
.prose table, .rich-content table, .mce-content-body table { width: 100%; border-collapse: collapse; margin: 1.4em 0; font-size: 0.95em; }
.prose th, .prose td, .rich-content th, .rich-content td, .mce-content-body th, .mce-content-body td {
  border: 1px solid #d1d5db; padding: 0.5em 0.75em; text-align: left; vertical-align: top;
}
.prose th, .rich-content th, .mce-content-body th { background: #f3f4f6; font-weight: 600; }
.prose code, .rich-content code { background: #f3f4f6; padding: 0.1em 0.35em; border-radius: 0.25rem; font-size: 0.9em; }
.prose pre, .rich-content pre { background: #111827; color: #f9fafb; padding: 1em; border-radius: 0.5rem; overflow-x: auto; }
/* Wide tables scroll on phones instead of breaking the layout */
@media (max-width: 640px) {
  .prose table, .rich-content table { display: block; overflow-x: auto; white-space: nowrap; }
}
.prose td > p:last-child, .prose th > p:last-child, .rich-content td > p:last-child,
.mce-content-body td > p:last-child, .mce-content-body th > p:last-child { margin-bottom: 0; }
