/* Publieke nieuwspagina's, aanvullend op de centrale OK Visie-stijl. */
.news-page { padding: 45px 0 65px; }
.news-article { max-width: 890px; margin: 0 auto; }
.news-back { display: inline-block; color: var(--muted); font-size: .8rem; margin-bottom: 25px; }
.news-article h1 { font-size: clamp(2.1rem, 4.7vw, 3.7rem); margin: 18px 0 22px; overflow-wrap: anywhere; }
.news-meta { display: flex; flex-wrap: wrap; gap: 17px; font-size: .76rem; color: var(--muted); margin-bottom: 25px; }
.news-lead { font-size: 1.15rem; color: var(--ink); line-height: 1.75; margin-bottom: 30px; }
.news-figure { margin: 0 0 34px; }
.news-figure img { display: block; width: 100%; height: auto; border-radius: 22px; }
.news-figure figcaption { display: flex; justify-content: space-between; gap: 15px; flex-wrap: wrap; font-size: .73rem; color: var(--muted); margin-top: 10px; }
.news-body { max-width: 730px; margin: 0 auto; font-size: 1.03rem; line-height: 1.85; overflow-wrap: anywhere; }
.news-body p { margin: 0 0 23px; }
.news-end { max-width: 730px; margin: 35px auto 0; padding-top: 25px; border-top: 1px solid var(--line); }
.news-overview h1 { font-size: clamp(2.4rem, 4vw, 3.8rem); margin: 16px 0 18px; }
.news-overview-intro { color: var(--muted); font-size: 1rem; margin-bottom: 35px; }
.news-public-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.news-public-card { background: white; border: 1px solid var(--line); border-radius: 20px; overflow: hidden; display: flex; flex-direction: column; }
.news-public-card > a > img { width: 100%; height: 210px; object-fit: cover; display: block; }
.news-card-content { padding: 24px; display: flex; flex-direction: column; align-items: flex-start; flex: 1; }
.news-card-content h2 { font-size: 1.35rem; line-height: 1.25; margin-bottom: 15px; }
.news-card-content p { font-size: .86rem; color: var(--muted); margin-bottom: 20px; overflow-wrap: anywhere; }
.news-card-content .link { margin-top: auto; }
.news-empty { padding: 30px; background: white; border: 1px solid var(--line); border-radius: 18px; color: var(--muted); }
.news-pagination { display: flex; justify-content: center; flex-wrap: wrap; margin: 35px 0 0; gap: 22px; font-size: .82rem; }
@media (max-width: 950px) {
    .news-public-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .news-public-grid { grid-template-columns: 1fr; }
    .news-page { padding-top: 30px; }
    .news-lead { font-size: 1rem; }
    .news-body { font-size: .96rem; }
}
