/* Shared by the public Insight article page and the admin TinyMCE editor (body_class: news-article). */
.news-article { line-height: 1.75; color: #1f2937; font-size: 16px; overflow-wrap: break-word; }
.news-article::after { content: ""; display: block; clear: both; }
.news-article p { margin: 0 0 1rem; }
.news-article h1 { font-size: 1.875rem; font-weight: 800; margin: 1.5rem 0 .75rem; line-height: 1.25; }
.news-article h2 { font-size: 1.5rem; font-weight: 700; margin: 1.5rem 0 .75rem; line-height: 1.3; }
.news-article h3 { font-size: 1.25rem; font-weight: 700; margin: 1.25rem 0 .5rem; }
.news-article h4 { font-size: 1.1rem; font-weight: 700; margin: 1rem 0 .5rem; }
.news-article a { color: #b91c1c; text-decoration: underline; }
.news-article ul { list-style: disc; margin: 0 0 1rem 1.5rem; padding: 0; }
.news-article ol { list-style: decimal; margin: 0 0 1rem 1.5rem; padding: 0; }
.news-article blockquote { border-left: 4px solid #b91c1c; margin: 1rem 0; padding: .25rem 1rem; color: #4b5563; font-style: italic; }
.news-article hr { border: 0; border-top: 1px solid #e5e7eb; margin: 1.5rem 0; }

/* Images & captions */
.news-article img { max-width: 100%; height: auto; border-radius: 1rem; }
.news-article figure { margin: 1rem 0; }
.news-article figure.image { display: table; }
.news-article figure.image img { display: block; width: 100%; }
.news-article figcaption { font-size: .85rem; color: #6b7280; text-align: center; padding-top: .35rem; }
.news-article img[style*="float: left"], .news-article img.align-left, .news-article figure.align-left,
.news-article img[style*="float:left"] { float: left; margin: .25rem 1.25rem 1rem 0; max-width: 50%; }
.news-article img[style*="float: right"], .news-article img.align-right, .news-article figure.align-right,
.news-article img[style*="float:right"] { float: right; margin: .25rem 0 1rem 1.25rem; max-width: 50%; }
.news-article img.align-center, .news-article figure.align-center { display: block; margin-left: auto; margin-right: auto; }

/* Legacy Quill output */
.news-article .ql-align-center { text-align: center; }
.news-article .ql-align-right { text-align: right; }
.news-article .ql-align-justify { text-align: justify; }

/* Tables */
.news-article table { border-collapse: collapse; max-width: 100%; margin: 1rem 0; }
.news-article td, .news-article th { padding: .4rem .6rem; vertical-align: top; }
.news-article table[border="1"] td, .news-article table[border="1"] th { border: 1px solid #d1d5db; }

/* Side-by-side layout blocks (left / right paragraphs) */
.news-article .news-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin: 1.25rem 0; align-items: start; clear: both; }
.news-article .news-cols > .news-col { min-width: 0; }
.news-article .news-cols > .news-col > :last-child { margin-bottom: 0; }
.news-article .news-cols img { display: block; width: 100%; }
.news-article .news-cols.cols-wide-left { grid-template-columns: 2fr 1fr; }
.news-article .news-cols.cols-wide-right { grid-template-columns: 1fr 2fr; }
.news-article .news-cols.cols-center { align-items: center; }

/* Photo row: images side by side with equal heights, like a printed news spread */
.news-article .news-photos { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; margin: 1.25rem 0; clear: both; }
.news-article .news-photos.three { grid-template-columns: repeat(3, 1fr); }
.news-article .news-photos > * { margin: 0; min-width: 0; }
.news-article .news-photos img { display: block; width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4 / 3; }

@media (max-width: 640px) {
    .news-article .news-cols, .news-article .news-cols.cols-wide-left, .news-article .news-cols.cols-wide-right { grid-template-columns: 1fr; gap: 1rem; }
    .news-article .news-photos.three { grid-template-columns: repeat(2, 1fr); }
    .news-article img[style*="float"], .news-article img.align-left, .news-article img.align-right { float: none !important; max-width: 100%; margin: 1rem 0; }
}

/* Editor-only helper: show layout block outlines while editing */
body.news-article.mce-content-body .news-cols, body.news-article.mce-content-body .news-photos { outline: 1px dashed #cbd5e1; outline-offset: 4px; }
body.news-article.mce-content-body { padding: 12px; }
