/* Articles and news (2026). Shared by all templates. */
.art, .news-block {
	--a-ink: #23272f;
	--a-muted: #5f6b7a;
	--a-line: #e2e6ec;
	--a-soft: #f6f8fb;
	--a-accent: #1f3a8a;
	--a-warm: #b4500a;
	color: var(--a-ink);
	box-sizing: border-box;
}
.art *, .news-block * { box-sizing: border-box; }
.art a, .news-block a { color: var(--a-accent); border-bottom: 0; }
.art { padding: 8px 0 24px; }
.art-crumbs { font-size: 13px; color: var(--a-muted); margin: 0 0 14px; }
.art-preview { background: #fff8e1; border: 1px solid #f0d78c; border-radius: 8px; padding: 10px 14px; margin-bottom: 16px; }
.art-card { background: #fff; border: 1px solid var(--a-line); border-radius: 10px; padding: 18px 20px; }
.art-main { max-width: 760px; }
.art-head h1 { font-size: 32px; line-height: 1.2; margin: 0 0 10px; text-wrap: balance; color: var(--a-ink); }
.art-summary { font-size: 19px; line-height: 1.5; color: var(--a-muted); margin: 0 0 12px; }
.art-meta { font-size: 13px; color: var(--a-muted); margin: 0 0 18px; }
.art-figure { margin: 0 0 20px; }
.art-figure img { width: 100%; height: auto; border-radius: 10px; display: block; }
.art-figure figcaption { font-size: 12px; color: var(--a-muted); margin-top: 6px; }
.art-body { font-size: 17px; line-height: 1.7; }
.art-body p, .art-body ul, .art-body ol, .art-body blockquote, .art-body table, .art-body pre { margin: 0 0 16px; }
.art-body h2 { font-size: 23px; margin: 28px 0 10px; line-height: 1.3; }
.art-body h3 { font-size: 19px; margin: 22px 0 8px; }
.art-body ul, .art-body ol { padding-left: 24px; }
.art-body li { margin-bottom: 6px; }
.art-body blockquote { border-left: 4px solid var(--a-line); padding: 4px 0 4px 16px; color: var(--a-muted); font-style: italic; }
.art-body img { max-width: 100%; height: auto; border-radius: 8px; }
.art-body table { border-collapse: collapse; display: block; overflow-x: auto; }
.art-body th, .art-body td { border: 1px solid var(--a-line); padding: 6px 10px; }
.art-body pre { overflow-x: auto; background: var(--a-soft); padding: 12px; border-radius: 8px; }
.art-source { font-size: 14px; color: var(--a-muted); border-top: 1px solid var(--a-line); padding-top: 12px; margin-top: 24px; }
.art-ai { font-size: 13px; color: var(--a-muted); font-style: italic; }
.art-side, .art-more { max-width: 760px; margin-top: 30px; }
.art-side h2, .art-more h2, .news-block-head h2 { font-size: 19px; margin: 0 0 12px; }
.art-related { list-style: none; margin: 0 0 10px; padding: 0; display: grid; gap: 10px; }
.art-related li { background: var(--a-soft); border: 1px solid var(--a-line); border-radius: 8px; padding: 10px 12px; }
.art-related a { font-weight: bold; display: block; }
.art-related span { font-size: 13px; color: var(--a-muted); }
.news-head h1 { font-size: 28px; margin: 0 0 6px; }
.news-head p { color: var(--a-muted); margin: 0 0 18px; font-size: 14px; }
.news-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.news-card { background: #fff; border: 1px solid var(--a-line); border-radius: 10px; overflow: hidden; display: flex; flex-direction: column; }
.news-card-img img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.news-card-text { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 6px; flex-grow: 1; }
.news-card h3 { font-size: 16px; line-height: 1.35; margin: 0; }
.news-card h3 a { color: var(--a-ink); text-decoration: none; }
.news-card h3 a:hover { color: var(--a-accent); text-decoration: underline; }
.news-card p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--a-muted); }
.news-card .news-card-meta { font-size: 12px; margin-top: auto; }
.news-block { margin: 22px 0; }
.news-block-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.news-block-head a { font-size: 14px; font-weight: bold; }
.news-pages { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin: 22px 0 0; }
.news-pages a { display: inline-flex; min-width: 38px; height: 38px; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid var(--a-line); border-radius: 10px; text-decoration: none; background: #fff; }
.news-pages a.on { background: var(--a-accent); border-color: var(--a-accent); color: #fff; }
@media (max-width: 640px) {
	.art-head h1 { font-size: 25px; }
	.art-summary { font-size: 17px; }
	.art-body { font-size: 16px; }
}
