/* Shared presentation for trusted rich-text content from CKEditor 5. */
.editor-content {
  color: #374151;
  font-size: 1.0625rem;
  line-height: 1.8;
  overflow-wrap: anywhere;
  min-width: 0;
}
.editor-content > :first-child { margin-top: 0; }
.editor-content > :last-child { margin-bottom: 0; }
.editor-content p { margin: 0 0 1.25em; }
.editor-content h1, .editor-content h2, .editor-content h3, .editor-content h4 {
  color: #111827;
  font-weight: 800;
  line-height: 1.25;
  margin: 1.65em 0 .65em;
  overflow-wrap: break-word;
}
.editor-content h1 { font-size: clamp(1.8rem, 4vw, 2.4rem); }
.editor-content h2 { font-size: clamp(1.5rem, 3vw, 2rem); }
.editor-content h3 { font-size: 1.35rem; }
.editor-content h4 { font-size: 1.1rem; }
.editor-content strong, .editor-content b { color: #111827; font-weight: 800; }
.editor-content a { color: #2563eb; text-decoration: underline; text-underline-offset: 3px; }
.editor-content a:hover { color: #1d4ed8; }
.editor-content ul, .editor-content ol { margin: 0 0 1.5em; padding-left: 1.7em; }
.editor-content ul { list-style: disc outside; }
.editor-content ol { list-style: decimal outside; }
.editor-content li { display: list-item; padding-left: .2em; margin: .3em 0; }
.editor-content li::marker { color: #2563eb; }
.editor-content li > ul, .editor-content li > ol { margin: .5em 0; }
.editor-content blockquote { border-left: 4px solid #2563eb; padding: .5em 1.25em; margin: 1.5em 0; background: #f8fafc; }
.editor-content hr { border: 0; border-top: 1px solid #e5e7eb; margin: 2em 0; }
.editor-content img { max-width: 100%; height: auto; border-radius: 12px; }
.editor-content figure { max-width: 100%; margin: 1.5em 0; }
.editor-content figure img { display: block; }
.editor-content figcaption { color: #6b7280; font-size: .875rem; text-align: center; margin-top: .5em; }
.editor-content .table { max-width: 100%; overflow-x: auto; margin: 1.5em 0; }
.editor-content table { border-collapse: collapse; width: 100%; margin: 1.5em 0; }
.editor-content .table table { margin: 0; }
.editor-content th, .editor-content td { border: 1px solid #e5e7eb; padding: .7em .9em; text-align: left; vertical-align: top; }
.editor-content th { background: #f1f5f9; font-weight: 700; }
.editor-content iframe { max-width: 100%; }
@media (max-width: 640px) {
  .editor-content { font-size: 1rem; line-height: 1.7; }
  .editor-content th, .editor-content td { padding: .5em; }
}
