/* ==========================================================================
   WMBL Sitepackage – news.css (EXT:news 11.4)
   Übernimmt das Erscheinungsbild der bisherigen news-basic-startseite.css,
   ohne Floats/Clearfix-Hacks und mit ausreichenden Kontrasten
   (#888 → #5f6673, da #888 auf Weiß nur 3,5:1 erreicht).
   ========================================================================== */

.news {
    --news-line: #daeaf7;
    --news-meta: #5f6673;
    --news-frame: #dddddd;
}

/* ---------- Listenansicht ---------- */
.news .article {
    display: flow-root;
    margin: 0;
    padding: 0;
}
.news-list-view .article + .article { margin-top: 1.25rem; }

.news .article .header h3 {
    margin: 0 0 .35rem;
    font-size: 1.125rem;          /* bisher 18px */
    font-weight: 400;
    line-height: 1.3;
}
.news .article .header h3 a { text-decoration: none; }
.news .article .header h3 a:hover { text-decoration: underline; }

.news-list-view .news-img-wrap {
    float: left;
    margin: .2rem .75rem .6rem 0;
    padding: 4px;
    border: 1px solid var(--news-frame);
    background: #fff;
}
.news-list-view .news-img-wrap img { display: block; }

.news .teaser-text { margin: 0 0 .4rem; }
.news .teaser-text p { margin: 0 0 .3rem; line-height: 1.45; }

.news a.more { display: inline-block; text-decoration: underline; text-underline-offset: .15em; }

.news-list-view .footer {
    clear: both;
    margin: .9rem 20px 0 0;       /* hellblaue Trennlinie wie bisher */
    border-top: 2px solid var(--news-line);
    color: var(--news-meta);
}
.news-list-view .footer p { margin: 0; }
/* Datum war in der Liste ausgeblendet – bleibt für Screenreader erhalten */
.news-list-view .news-list-date {
    position: absolute !important;
    width: 1px; height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

.news .no-news-found { color: var(--wmbl-accent, #b6111f); font-style: italic; }

/* ---------- Seitennavigation ---------- */
.news .page-navigation { margin-top: 1.5rem; }
.news .f3-widget-paginator {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;     /* bisher rechtsbündig */
    gap: .25rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.news .f3-widget-paginator a {
    display: inline-block;
    min-width: 44px;
    min-height: 44px;
    padding: .6rem .8rem;
    border: 1px solid var(--wmbl-line, #cfd9ec);
    border-radius: 4px;
    text-align: center;
    text-decoration: none;
    line-height: 1.2;
}
.news .f3-widget-paginator a:hover { background: var(--wmbl-blue-50, #f3f6fc); }
.news .f3-widget-paginator a[aria-current="page"] {
    background: var(--wmbl-blue, #173d91);
    border-color: var(--wmbl-blue, #173d91);
    color: #fff;
    font-weight: 700;
}
.news .f3-widget-paginator .ellipsis { align-self: center; padding: 0 .25rem; }

/* ---------- Detailansicht ---------- */
.news-single .header h1 { margin-bottom: .5rem; }

.news-single .footer {
    margin: .3rem 0 1.25rem;
    padding: .6rem 0 0;
    border-top: 1px solid #eeeeee;
    color: var(--news-meta);
    font-size: .9375rem;
}
.news-single .footer p { margin: 0; }
.news-single .footer p > span {
    display: inline-block;
    margin-right: 8px;
    padding-right: 8px;
    border-right: 1px solid var(--news-frame);
}
.news-single .footer p > span:last-child { border-right: 0; }
.news-single .news-list-category a { text-transform: uppercase; }

.news-single .news-img-wrap { margin: 0 0 1.25rem; }
.news-single .news-img-wrap figure { margin: 0 0 1rem; }
.news-single .news-img-wrap img { display: block; width: 100%; height: auto; border-radius: 4px; }
.news-img-caption { margin-top: .35rem; color: var(--news-meta); font-size: .9375rem; }

@media (min-width: 768px) {
    /* Bilder rechts neben dem Text, 282 px breit – wie bisher */
    .news-single .news-img-wrap {
        float: right;
        width: 282px;
        margin: 0 0 1rem 25px;
    }
}

.news-single .teaser-text { color: var(--news-meta); font-size: 1.0625rem; }
.news-single .teaser-text p { line-height: 1.5; }
.news-text-wrap { margin-bottom: 1rem; }
.news-text-wrap a { text-decoration: underline; text-underline-offset: .15em; }
.news-clear { clear: both; }

/* Zurück-Link als Schaltfläche (bisher blauer Button) */
.news-backlink-wrap { margin: 1.5rem 0 0; }
/* .content-area unterstreicht Links ohne Klasse – hier nicht gewünscht */
.news .news-backlink-wrap a {
    display: inline-block;
    min-height: 44px;
    padding: .6rem 1.25rem;
    border: 1px solid var(--wmbl-blue, #173d91);
    border-radius: 4px;
    background: var(--wmbl-blue, #173d91);
    color: #fff;
    text-decoration: none;
}
.news .news-backlink-wrap a:hover,
.news .news-backlink-wrap a:focus { background: var(--wmbl-blue-dark, #0f2b6b); color: #fff; }

/* Vorherige/nächste Meldung */
.news-prevnext ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .75rem;
    margin: 1.5rem 0 0;
    padding: 1rem 0 0;
    border-top: 2px solid var(--news-line);
    list-style: none;
}
.news-prevnext .next { margin-left: auto; text-align: right; }

/* ---------- Verwandte Meldungen, Dateien, Links ---------- */
.news-related-wrap {
    display: grid;
    gap: 1.5rem 2rem;
    margin-top: 1.5rem;
}
@media (min-width: 768px) {
    .news-related-wrap { grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
}
.news-related h2 {
    margin: 0 0 .6rem;
    color: var(--wmbl-accent, #b6111f);   /* bisher h4 in Rot */
    font-size: 1.125rem;
}
.news-related ul { margin: 0; padding: 0; list-style: none; }
.news-related li { margin-bottom: .75rem; line-height: 1.35; }
.news-related-news-date {
    display: inline-block;
    margin-right: 8px;
    padding-right: 8px;
    border-right: 1px solid var(--news-frame);
    color: var(--news-meta);
}
.news-related-files-size { color: var(--news-meta); font-size: .9375rem; }
.news-related-links li span { display: block; color: var(--news-meta); font-size: .9375rem; }

/* ---------- Kategorie-Menü ---------- */
.news-category-view ul { margin: 0; padding: 0; list-style: none; }
.news-category-view ul li { padding: 5px 8px; }
.news-category-view ul li li { padding: 2px 8px 2px 12px; }
.news-category-view > ul > li:nth-child(even) {
    background: #f9f9f9;
    border-block: 1px solid #eeeeee;
}
.news-category-view .category-desc {
    margin-left: 10px;
    padding-left: 10px;
    border-left: 1px solid var(--news-frame);
}
