/* ══════════════════════════════════════════════════════════
   NEWS CONTENT
   How an article's body reads - shared by the public article and
   the admin editor, so what the editor shows is what visitors see.
   Inline styles written in the editor (colours, sizes, indents)
   sit on top of these defaults.
══════════════════════════════════════════════════════════ */
.news-content {
    color: #e2d9cb;
    font-family: var(--font-body);
    font-size: 0.95rem;
    line-height: 1.75;
    overflow-wrap: anywhere;
}

.news-content > :first-child { margin-top: 0; }
.news-content > :last-child { margin-bottom: 0; }

.news-content p,
.news-content ul,
.news-content ol,
.news-content blockquote,
.news-content pre,
.news-content table,
.news-content figure { margin: 0 0 1.1em; }

.news-content h1,
.news-content h2,
.news-content h3,
.news-content h4,
.news-content h5,
.news-content h6 {
    margin: 1.6em 0 0.6em;
    font-family: var(--font-display);
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0.5px;
    text-align: left;
    text-transform: none;
    color: var(--text-bright);
}

.news-content h1 { font-size: 1.7rem; }
.news-content h2 { font-size: 1.4rem; }
.news-content h3 { font-size: 1.2rem; color: var(--gold-bright); }
.news-content h4 { font-size: 1.05rem; }
.news-content h5,
.news-content h6 { font-size: 0.95rem; }

.news-content strong,
.news-content b { color: var(--text-bright); font-weight: 700; }

.news-content a {
    color: var(--gold-bright);
    text-decoration: underline;
    text-decoration-color: rgba(224,178,62,0.45);
    text-underline-offset: 3px;
}

.news-content a:hover { color: #f6d888; text-decoration-color: currentColor; }

.news-content ul,
.news-content ol { padding-left: 1.6em; }
.news-content li { margin: 0.25em 0; }
.news-content li::marker { color: var(--gold-bright); }

.news-content blockquote {
    padding: 0.8em 1.2em;
    border-left: 3px solid var(--gold);
    background: rgba(224,178,62,0.06);
    color: #d6ccbd;
}

.news-content pre,
.news-content code {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.85em;
}

.news-content pre {
    padding: 1em;
    overflow-x: auto;
    background: rgba(0,0,0,0.45);
    border: 1px solid rgba(255,255,255,0.08);
    white-space: pre-wrap;
}

.news-content :not(pre) > code {
    padding: 0.1em 0.35em;
    background: rgba(255,255,255,0.07);
    border-radius: 3px;
}

.news-content hr {
    margin: 2em 0;
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(224,178,62,0.5), transparent);
}

.news-content img {
    max-width: 100%;
    height: auto;
    border-radius: 2px;
}

.news-content figure { text-align: center; }
.news-content figcaption { margin-top: 0.4em; font-size: 0.8rem; color: var(--text-muted); }

/* Tables keep their editor borders when they have them, and get quiet ones when not */
.news-content table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    border-collapse: collapse;
}

/* The site's ranking-table look (tiny capitals, row hover) stops at the article's edge */
.news-content th,
.news-content td {
    padding: 0.5em 0.75em;
    border: 1px solid rgba(255,255,255,0.12);
    font-family: inherit;
    font-size: inherit;
    letter-spacing: normal;
    text-align: left;
    text-transform: none;
    vertical-align: top;
    transition: none;
}

.news-content tr:hover td { background: none; box-shadow: none; }

.news-content th { background: rgba(224,178,62,0.08); color: var(--text-bright); font-weight: 700; }

/* Floated images must not leak out of the article */
.news-content::after { content: ''; display: table; clear: both; }

/* ── Article chrome (public page and admin preview) ── */
.news-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 0.6rem;
    font-size: 0.75rem;
    color: var(--text-muted);
    letter-spacing: 0.5px;
}

.news-article-title {
    margin: 0 0 1.25rem;
    font-family: var(--font-display);
    font-size: clamp(1.4rem, 3vw, 2rem);
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: 1px;
    color: var(--text-bright);
}

.news-article-cover {
    display: block;
    width: 100%;
    max-height: 420px;
    object-fit: cover;
    margin-bottom: 1.75rem;
    border: 1px solid rgba(224,178,62,0.25);
}
