/* ==========================================================================
   News list (news.php), article (news-single.php) and 404 (404.php).
   Loaded on every page, so every rule is scoped to .page-news / .page-404.
   ========================================================================== */

/* hero counter */
.page-news .news-count { color: var(--ink); font-weight: 700; }

/* selected-category description above the grid */
.page-news .news-cat-intro { margin: 0 0 28px; padding: 22px 24px; border-radius: var(--radius); background: var(--grey); box-shadow: inset 3px 0 0 var(--amber); }
.page-news .news-cat-intro .h3 { margin: 0 0 .5rem; }

/* search note: clear link */
.page-news .result-note .link-arrow { font-size: .9rem; }
.page-news .result-note .link-arrow .ico { width: .95em; height: .95em; }

/* empty state inside the main column */
.page-news .news-main > .empty-note { max-width: none; }

/* recent posts without an image: logo on the light brand panel */
.page-news .mini-post .mini-ph { display: grid; place-items: center; background: var(--silver); }
.page-news .mini-post .mini-ph img { width: 55%; height: auto; border-radius: 0; background: none; object-fit: contain; opacity: .55; }

/* article hero: category link + comments link */
.page-article .page-hero .eyebrow a { color: inherit; text-decoration: none; }
.page-article .page-hero .eyebrow a:hover { color: var(--ink); }
.page-article .page-meta a { display: inline-flex; align-items: center; gap: .45em; color: inherit; text-decoration: none; }
.page-article .page-meta a:hover { color: var(--blue); }
.page-article .article-cover img { max-height: 620px; object-fit: cover; }
.page-article .comments .kicker { margin-bottom: .5rem; }
.page-article .comments .field .help { margin-top: -2px; }

/* 404: room for the long text; code on photo stays readable */
.page-404 .nf-hero .page-lead { max-width: 46em; }
.page-404 .nf-hero.page-hero--image .error-code { filter: drop-shadow(0 4px 24px rgba(0, 0, 0, .35)); }
