/* News: shared colors and typography follow the main theme. */
.news-page .page-hero { background-position:center 20%; }
/* Horizontal spacing inherits the shared .uk-container rules in style.css. */
.news-content { width:100%; margin:0; padding:60px 0; }
.news-intro { margin-bottom:40px; }
.news-lead:empty { display:none; }
.news-lead { margin-bottom:32px; }
.news-list { list-style:none; padding:0; margin:0; border-top:1px solid var(--color-border); }
.news-list li { border-bottom:1px dotted var(--color-gray); }
.news-row { display:grid; grid-template-columns:110px 140px minmax(0,1fr) 28px; align-items:center; gap:24px; padding:30px 12px; color:var(--color-text); transition:background .2s,color .2s; }
.news-row:hover, .news-row:focus-visible { background:var(--color-bg-blue); color:var(--color-primary); text-decoration:none; }
.news-row:focus-visible, .news-pagination a:focus-visible { outline:2px solid var(--color-primary); outline-offset:3px; }
.news-row time, .news-meta time { font-size:var(--fz-xs); color:var(--color-text-light); font-variant-numeric:tabular-nums; }
.news-tag { display:inline-block; text-align:center; padding:5px 14px; font-size:var(--fz-xxs); color:var(--color-primary); background:var(--color-bg-blue); border:1px solid var(--color-border); }
.news-tags { display:flex; flex-wrap:wrap; gap:6px; min-width:0; }
.news-tags .news-tag { max-width:100%; overflow-wrap:anywhere; }
.news-row-title { font-size:var(--fz-sm); line-height:1.9; overflow-wrap:anywhere; }
.news-arrow { display:block; width:0; height:0; justify-self:center; border-top:5px solid transparent; border-bottom:5px solid transparent; border-left:6px solid var(--color-primary); transition:transform .2s; }
.news-row:hover .news-arrow, .news-row:focus-visible .news-arrow { transform:translateX(3px); }
.news-empty { padding:48px 0; border-block:1px solid var(--color-border); text-align:center; }
.news-pagination { margin-top:48px; }
.news-pagination ul { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; list-style:none; padding:0; }
.news-pagination .page-numbers a, .news-pagination .page-numbers span { display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:8px 14px; border:1px solid var(--color-border); color:var(--color-primary); }
.news-pagination .page-numbers .current { color:#fff; background:var(--color-primary); border-color:var(--color-primary); }
.news-meta { display:flex; flex-wrap:wrap; align-items:center; gap:24px; }
.news-meta time { margin-left:auto; order:1; }
.news-article-header { margin-bottom:40px; }
.news-article-title { margin:0 0 24px; padding:0 0 16px; background:transparent; font-size:clamp(1.125rem, 2vw, 1.5rem); font-weight:600; line-height:1.5; overflow-wrap:anywhere; }
.news-article-image { margin-bottom:40px; }
.news-article-image img { display:block; max-width:100%; height:auto; margin:auto; }
.news-article-body { line-height:2; overflow-wrap:anywhere; }
.news-back { border-top:1px solid var(--color-border); margin-top:56px; padding-top:40px; text-align:center; }
@media (max-width:959px) {
    .news-content { padding:30px 0 60px; }
    .news-page .headline { margin-inline:0; }
    .news-page .page-hero { background-position:center; }
}
@media (max-width:639px) {
    .news-row { grid-template-columns:auto minmax(0,1fr) 24px; gap:12px; padding:24px 4px; }
    .news-row .news-tag { justify-self:start; }
    .news-row-title { grid-column:1 / 3; grid-row:2; }
    .news-arrow { grid-column:3; grid-row:1 / 3; }
}
