/*
Theme Name: Frieden wagen .net
Theme URI: https://www.frieden-wagen.net
Description: Custom child theme for www.frieden-wagen.net — the Frieden wagen Internetmagazin (Frieden wagen e.V.). Built on Hello Elementor, inheriting the editorial design system from the .org front-door site. See docs/adr/0003-naming-convention-tld-suffix.md for the fwo/fwn convention and docs/adr/0005 for the design-system sync.
Author: Achim Rosenhagen
Author URI: https://achimrosenhagen.de
Template: hello-elementor
Version: 0.1.0
Text Domain: frieden-wagen-net
Requires PHP: 8.4
License: GPL-2.0-or-later
*/

/* ---------------------------------------------------------------------------
 * Brand-yellow button override.
 *
 * The kit-imported Elementor button widgets fall back to a black background
 * because their widget settings don't bind to the brand accent color. Until
 * each widget is individually retargeted in the editor, this CSS forces the
 * full elementor-button + CF7 submit surface to the brand palette
 * (yellow background, primary purple foreground). Long-term, set Elementor →
 * Site Settings → Theme Style → Buttons → background to var(--fw-color-accent)
 * so we can drop this override.
 * ------------------------------------------------------------------------- */

.elementor-button,
.elementor-button-link,
.wpcf7-submit,
.wpcf7 input[type="submit"] {
    /* !important: Elementor's per-element CSS uses .elementor-<hash> .elementor-button
       (specificity 0,2,0), which wins over any reasonable theme selector. */
    background-color: var(--fw-color-accent) !important;
    color: var(--fw-color-primary) !important;
    border-color: var(--fw-color-accent) !important;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.elementor-button:hover,
.elementor-button:focus-visible,
.elementor-button-link:hover,
.elementor-button-link:focus-visible,
.wpcf7-submit:hover,
.wpcf7-submit:focus-visible,
.wpcf7 input[type="submit"]:hover,
.wpcf7 input[type="submit"]:focus-visible {
    /* Lila hover: invert to brand purple with white text (matches the core
       Button block hover defined in theme.json — visual parity across both
       button implementations via the shared --fw-* tokens). */
    background-color: var(--fw-color-primary) !important;
    border-color: var(--fw-color-primary) !important;
    color: var(--fw-color-bg) !important;
}

/* NOTE: The .org site's scroll-spy nav CSS (Elementor Pro Nested Mega Menu
 * active-state styling for its single-page layout) was intentionally NOT
 * ported — the Magazin is a multi-page article site, not a onepager. Add
 * navigation styling here once the Magazin's header/menu structure is built. */

/* ===========================================================================
 * Lebenshaus migration — content-model templates (Phase 1).
 * Archiv single, unified tag/Themen archives, Veranstaltungen, Aktionen.
 * Built entirely over the --fw-* brand tokens (docs/adr/0005); no hard-coded
 * colours, spacing, or type so a token change re-skins these in one place.
 * ========================================================================= */

.fwn-container {
    max-width: var(--fw-content);
    margin-inline: auto;
    padding-inline: var(--fw-space-4);
}

.fwn-archive .fwn-container,
.fwn-veranstaltungen .fwn-container {
    max-width: var(--fw-wide);
}

/* Jede Detailseite endet mit demselben Abstand zum Fuss (05.11.2026). */
main.fwn-archive { padding-bottom: var(--fw-space-7); }
.fwn-archive .fwn-container > :last-child { margin-bottom: 0; }

/* --- Headers ------------------------------------------------------------- */
.fwn-kicker {
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-sm);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--fw-color-primary);
    margin: 0 0 var(--fw-space-1);
}

/* --- Suchvorschau im Kopf (inc/vorschau.php, assets/js/vorschau.js) ------- */
.fwn-vorschau {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 200;
    width: min(460px, calc(100vw - 32px));
    max-height: min(70vh, 640px);
    overflow-y: auto;
    padding: var(--fw-space-3) var(--fw-space-2) var(--fw-space-2);
    background: var(--fw-color-bg);
    border-top: 4px solid var(--fw-color-accent);
    box-shadow: 0 14px 36px rgba(39, 41, 43, .22);
    font-family: var(--fw-font-heading);
    text-align: left;
}
.fwn-vorschau[hidden] { display: none; }
.fwn-vorschau ul { list-style: none; margin: 0 0 var(--fw-space-2); padding: 0; }
.fwn-vorschau__label {
    margin: var(--fw-space-1) var(--fw-space-2) var(--fw-space-1);
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--fw-color-muted);
}
.fwn-vorschau a[role="option"] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px var(--fw-space-2);
    color: var(--fw-color-text);
    font-family: inherit;
    font-size: 15px;
    line-height: 1.3;
    text-decoration: none;
}
.fwn-vorschau a[role="option"] span { flex: 1; min-width: 0; }
.fwn-vorschau__texte a[role="option"] span,
.fwn-vorschau__termine a[role="option"] span { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.fwn-vorschau a[role="option"] small { color: var(--fw-color-muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.fwn-vorschau a[role="option"] .fwn-icon { width: 20px; height: 20px; }
.fwn-vorschau a[role="option"]:hover,
.fwn-vorschau a[role="option"][aria-selected="true"] { background: var(--fw-color-bg-tint); color: var(--fw-color-primary); }
.fwn-vorschau a[role="option"]:focus-visible { box-shadow: none; outline: 2px solid var(--fw-color-primary); outline-offset: -2px; }
.fwn-vorschau__begriff span { font-weight: 600; }
.fwn-vorschau__fuss { border-top: 1px solid var(--fw-color-border); padding-top: var(--fw-space-1) !important; margin-bottom: 0 !important; }
.fwn-vorschau__alle { color: var(--fw-color-primary) !important; font-weight: 600; }
@media (max-width: 1180px) { .fwn-vorschau { left: 0; right: 0; width: auto; } }
.fwn-suchfeld .fwn-vorschau { left: 0; right: auto; width: min(560px, 100%); }

/* --- Iconsprache (Phosphor duotone, inc/icons.php) ---------------------- */
.fwn-icon {
    width: 1.25em;
    height: 1.25em;
    flex: none;
    color: var(--fw-color-primary);
    vertical-align: -0.25em;
}
.fwn-icon [opacity] { fill: var(--fw-color-accent); opacity: 1; }

.fwn-kicker .fwn-icon { width: 1.6em; height: 1.6em; margin-right: 0.4em; vertical-align: -0.5em; }

a:has(> .fwn-icon--menue) { display: inline-flex; align-items: center; gap: 0.5em; }
.fwn-icon--menue { width: 1.35em; height: 1.35em; color: currentColor; }

.fwn-container > .fwn-thema__kopf { display: flex; align-items: center; gap: var(--fw-space-4); margin-bottom: var(--fw-space-6); }
.fwn-thema__signet {
    flex: none;
    display: grid;
    place-items: center;
    width: 5.5rem;
    height: 5.5rem;
    border-radius: 50%;
    background: var(--fw-color-bg-tint);
}
.fwn-thema__signet .fwn-icon { width: 3.25rem; height: 3.25rem; }
@media (max-width: 599px) {
    .fwn-thema__signet { width: 4rem; height: 4rem; }
    .fwn-thema__signet .fwn-icon { width: 2.4rem; height: 2.4rem; }
}

.fwn-container .entry-title {
    font-family: var(--fw-font-heading);
    color: var(--fw-color-text);
    line-height: 1.15;
    margin: 0 0 var(--fw-space-2);
}

.fwn-meta {
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-sm);
    color: var(--fw-color-muted);
    margin: 0 0 var(--fw-space-5);
}

.fwn-archive__desc {
    font-size: var(--fw-text-lg);
    color: var(--fw-color-muted);
    max-width: var(--fw-content);
}

/* --- Herkunftshinweis (Archiv provenance) -------------------------------- */
.fwn-herkunft {
    border-left: 4px solid var(--fw-color-accent);
    background: var(--fw-color-bg-tint);
    border-radius: var(--fw-radius-sm);
    padding: var(--fw-space-3) var(--fw-space-4);
    margin: 0 0 var(--fw-space-6);
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-sm);
    color: var(--fw-color-muted);
}

.fwn-herkunft a {
    color: var(--fw-color-primary);
    font-weight: 600;
    text-decoration: none;
}

.fwn-herkunft a:hover,
.fwn-herkunft a:focus-visible {
    text-decoration: underline;
}

/* --- Article body -------------------------------------------------------- */
.fwn-single .entry-content,
.fwn-archiv-single .entry-content {
    font-family: var(--fw-font-body);
    font-size: var(--fw-text-lg);
    line-height: 1.7;
    color: var(--fw-color-text);
}

.entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: var(--fw-radius-sm);
}

/* --- Terms footer (Themen + tags) --------------------------------------- */
.fwn-terms {
    margin-top: var(--fw-space-6);
    padding-top: var(--fw-space-4);
    border-top: 1px solid var(--fw-color-border);
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-sm);
}

.fwn-terms p { margin: 0 0 var(--fw-space-2); }

.fwn-terms__label {
    color: var(--fw-color-muted);
    margin-right: var(--fw-space-1);
}

.fwn-terms a {
    color: var(--fw-color-primary);
    text-decoration: none;
}

.fwn-terms a:hover,
.fwn-terms a:focus-visible { text-decoration: underline; }

/* --- Quellenangabe (Urheber des Textes) ---------------------------------- */
.fwn-quelle {
    margin-top: var(--fw-space-6);
    padding: var(--fw-space-3) var(--fw-space-4);
    border-left: 4px solid var(--fw-color-primary);
    background: var(--fw-color-bg-tint);
    border-radius: var(--fw-radius-sm);
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-sm);
    color: var(--fw-color-text);
}

.fwn-quelle__text {
    margin: 0;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.fwn-quelle__label {
    color: var(--fw-color-muted);
    font-weight: 600;
    margin-right: var(--fw-space-1);
}

.fwn-quelle a {
    color: var(--fw-color-primary);
    text-decoration: none;
}

.fwn-quelle a:hover,
.fwn-quelle a:focus-visible { text-decoration: underline; }

/* --- Verwandte Artikel + PDF-Referenzen ---------------------------------- */
.fwn-verwandte,
.fwn-pdf-refs {
    margin-top: var(--fw-space-6);
    padding-top: var(--fw-space-4);
    border-top: 1px solid var(--fw-color-border);
    font-family: var(--fw-font-heading);
}

.fwn-verwandte__title {
    font-size: var(--fw-text-sm);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--fw-color-muted);
    margin: 0 0 var(--fw-space-3);
}

.fwn-verwandte__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.fwn-verwandte__list li { margin: 0 0 var(--fw-space-2); }
.fwn-verwandte__list .fwn-icon { margin-right: 0.35em; }

.fwn-verwandte__list a {
    color: var(--fw-color-primary);
    font-weight: 600;
    text-decoration: none;
}

.fwn-verwandte__list a:hover,
.fwn-verwandte__list a:focus-visible { text-decoration: underline; }

.fwn-verwandte__date {
    color: var(--fw-color-muted);
    font-size: var(--fw-text-sm);
    margin-left: var(--fw-space-1);
}

.fwn-pdf-refs { font-size: var(--fw-text-sm); }

.fwn-pdf-refs__group { margin: 0 0 var(--fw-space-2); }

.fwn-pdf-refs__label {
    color: var(--fw-color-muted);
    margin-right: var(--fw-space-1);
}

.fwn-pdf-refs a {
    color: var(--fw-color-primary);
    text-decoration: none;
}

.fwn-pdf-refs a:hover,
.fwn-pdf-refs a:focus-visible { text-decoration: underline; }

/* --- Archive card list --------------------------------------------------- */
/* minmax(0, …): sonst waechst die Spalte auf das laengste Wort einer Karte
   (eine lange Adresse im Anriss) — mobil wurde die Suche so 173px zu breit. */
.fwn-card-list {
    display: grid;
    gap: var(--fw-space-5);
    grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 720px) {
    .fwn-card-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.fwn-card { min-width: 0; overflow-wrap: break-word; }

.fwn-card {
    position: relative;
    border: 1px solid var(--fw-color-border);
    border-radius: var(--fw-radius-md);
    padding: var(--fw-space-4);
    background: var(--fw-color-bg);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.fwn-card--mit-icon { padding-right: calc(var(--fw-space-4) + 3.25rem); }
.fwn-card__icon { position: absolute; top: var(--fw-space-4); right: var(--fw-space-4); line-height: 0; }
.fwn-card__icon .fwn-icon { width: 2.5rem; height: 2.5rem; }
.fwn-card__thema { color: var(--fw-color-primary); }
.fwn-card__thema::before { content: "·"; margin-right: var(--fw-space-2); color: var(--fw-color-muted); }

.fwn-card:hover { background: var(--fw-color-bg-tint); }

.fwn-card__meta {
    display: flex;
    align-items: center;
    gap: var(--fw-space-2);
    flex-wrap: wrap;
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-sm);
    color: var(--fw-color-muted);
    margin-bottom: var(--fw-space-2);
}

.fwn-card__badge {
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    padding: 2px var(--fw-space-2);
    border-radius: var(--fw-radius-sm);
    background: var(--fw-color-bg-tint);
    color: var(--fw-color-primary);
}

.fwn-card__meta time {
    padding: 2px var(--fw-space-2);
    border-radius: var(--fw-radius-sm);
    background: color-mix(in srgb, var(--fw-color-primary) 24%, var(--fw-color-bg));
    color: var(--fw-color-primary);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.fwn-card__badge--aktion {
    background: var(--fw-color-accent);
    color: var(--fw-color-primary);
}

.fwn-card__title {
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-xl);
    line-height: 1.2;
    margin: 0 0 var(--fw-space-2);
}

.fwn-card__title a {
    color: var(--fw-color-text);
    text-decoration: none;
}

.fwn-card__title a:hover,
.fwn-card__title a:focus-visible { color: var(--fw-color-primary); }

.fwn-card__excerpt {
    font-family: var(--fw-font-body);
    color: var(--fw-color-muted);
    line-height: 1.6;
}

/* --- Events -------------------------------------------------------------- */
.fwn-event__date { font-weight: 600; color: var(--fw-color-primary); }

.fwn-eventbox {
    display: grid;
    gap: var(--fw-space-2);
    background: var(--fw-color-bg-tint);
    border-radius: var(--fw-radius-md);
    padding: var(--fw-space-4);
    margin-bottom: var(--fw-space-6);
    font-family: var(--fw-font-heading);
}

.fwn-eventbox p { margin: 0; }

.fwn-eventbox__label {
    display: inline-block;
    min-width: 4rem;
    color: var(--fw-color-muted);
    font-size: var(--fw-text-sm);
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.fwn-termine__note {
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-sm);
    color: var(--fw-color-muted);
    margin: 0 0 var(--fw-space-4);
}

.fwn-card__badge--kommend {
    background: var(--fw-color-accent);
    color: var(--fw-color-primary);
}

.fwn-card__badge--vergangen {
    background: var(--fw-color-bg-tint);
    color: var(--fw-color-muted);
}

.fwn-termin--vergangen .fwn-event__date { color: var(--fw-color-muted); }

/* Termingrafik nach dem Rundbrief, weich: weisses Feld mit gelber Kante auf getoenter Karte */
.fwn-card.fwn-termin {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: var(--fw-space-3);
    align-items: start;
    background: var(--fw-color-bg-tint);
    border-color: transparent;
}
.fwn-card.fwn-termin:hover { border-color: var(--fw-color-border); }
.fwn-termin .fwn-card__meta { margin-bottom: var(--fw-space-1); }
.fwn-termin .fwn-event__date { display: none; }
.fwn-termin .fwn-card__badge--vergangen { background: var(--fw-color-bg); }
.fwn-termingrafik {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 3.25rem;
    padding: 0.4rem 0.4rem 0.45rem;
    background: var(--fw-color-bg);
    border-top: 3px solid var(--fw-color-accent);
    color: var(--fw-color-primary);
    font-family: var(--fw-font-heading);
    font-weight: 700;
    line-height: 1;
    text-align: center;
}
.fwn-termingrafik__tag { font-size: 1.6rem; }
.fwn-termingrafik__monat { font-size: 0.95rem; margin-top: 0.15rem; color: var(--fw-color-secondary); }
.fwn-termingrafik__jahr { font-size: 0.7rem; color: var(--fw-color-muted); margin-top: 0.2rem; font-weight: 600; }

/* --- Terminband (template-parts/fwn-termine.php) -------------------------- */
.fwn-termine { margin: var(--fw-space-6) 0; }

.fwn-termine__heading {
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-xl);
    color: var(--fw-color-text);
    padding-bottom: var(--fw-space-2);
    border-bottom: 2px solid var(--fw-color-accent);
    margin: 0 0 var(--fw-space-3);
}

.fwn-card-list--band {
    gap: var(--fw-space-3);
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.fwn-card-list--band .fwn-card { padding: var(--fw-space-3) var(--fw-space-4); }

.fwn-card-list--band .fwn-card__title {
    font-size: var(--fw-text-lg);
    margin-bottom: 0;
}

.fwn-termine__more {
    margin: var(--fw-space-4) 0 0;
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-sm);
}

.fwn-termine__more a {
    color: var(--fw-color-primary);
    font-weight: 600;
    text-decoration: none;
}

.fwn-termine__more a:hover,
.fwn-termine__more a:focus-visible { text-decoration: underline; }

/* --- Aktion CTA ---------------------------------------------------------- */
.fwn-aktion__deadline.is-expired { color: var(--fw-color-muted); }

.fwn-cta { margin: var(--fw-space-6) 0; }

.fwn-cta__button {
    display: inline-block;
    font-family: var(--fw-font-heading);
    font-weight: 700;
    background: var(--fw-color-accent);
    color: var(--fw-color-primary);
    padding: var(--fw-space-3) var(--fw-space-5);
    border-radius: var(--fw-radius-md);
    text-decoration: none;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.fwn-cta__button:hover,
.fwn-cta__button:focus-visible {
    background: var(--fw-color-primary);
    color: var(--fw-color-bg);
}

/* --- Aktionen archive ---------------------------------------------------- */
.fwn-jahrnav {
    display: flex;
    flex-wrap: wrap;
    gap: var(--fw-space-2);
    margin: var(--fw-space-5) 0 var(--fw-space-4);
    padding-bottom: var(--fw-space-4);
    border-bottom: 1px solid var(--fw-color-border);
}

.fwn-jahrnav__item {
    display: inline-flex;
    align-items: baseline;
    gap: var(--fw-space-1);
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-sm);
    font-weight: 600;
    color: var(--fw-color-primary);
    background: var(--fw-color-bg-tint);
    border-radius: var(--fw-radius-sm);
    padding: var(--fw-space-1) var(--fw-space-2);
    text-decoration: none;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.fwn-jahrnav__item:hover,
.fwn-jahrnav__item:focus-visible {
    background: var(--fw-color-primary);
    color: var(--fw-color-bg);
}

.fwn-jahrnav__count {
    font-weight: 400;
    font-size: 0.75rem;
    opacity: 0.75;
}

.fwn-jahr {
    margin-top: var(--fw-space-6);
    scroll-margin-top: var(--fw-space-6);
}

.fwn-jahr__heading {
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-xl);
    color: var(--fw-color-text);
    padding-bottom: var(--fw-space-2);
    border-bottom: 2px solid var(--fw-color-accent);
    margin-bottom: var(--fw-space-4);
}

.fwn-aktion__status {
    font-size: 0.75rem;
    letter-spacing: 0.04em;
    padding: 2px var(--fw-space-2);
    border-radius: var(--fw-radius-sm);
    background: var(--fw-color-bg-tint);
    color: var(--fw-color-muted);
}

.fwn-aktion__status--offen {
    background: var(--fw-color-accent);
    color: var(--fw-color-primary);
    font-weight: 600;
}

.fwn-aktion__ziel {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: var(--fw-space-2);
    margin: var(--fw-space-3) 0 0;
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-sm);
}

.fwn-aktion__ziel-link {
    color: var(--fw-color-primary);
    font-weight: 600;
    text-decoration: none;
}

.fwn-aktion__ziel-link:hover,
.fwn-aktion__ziel-link:focus-visible { text-decoration: underline; }

.fwn-aktion__host { color: var(--fw-color-muted); }

/* --- Misc ---------------------------------------------------------------- */
.fwn-empty {
    color: var(--fw-color-muted);
    font-family: var(--fw-font-heading);
    padding: var(--fw-space-5) 0;
}

/* --- Footnotes ----------------------------------------------------------- *
 * One rule set for BOTH the imported archive (converted from the old
 * lebenshaus footnote conventions) and footnotes authored with WordPress's
 * native Gutenberg block in new posts — both render as `sup.fn` references and
 * an `ol.wp-block-footnotes` list, so styling never diverges.
 * ------------------------------------------------------------------------- */
.entry-content sup.fn {
    font-size: 0.7em;
    line-height: 0;
}

.entry-content sup.fn a {
    text-decoration: none;
    font-weight: 600;
    color: var(--fw-color-primary);
    padding: 0 1px;
}

.entry-content sup.fn a:hover,
.entry-content sup.fn a:focus-visible {
    text-decoration: underline;
}

.wp-block-footnotes {
    margin-top: var(--fw-space-6);
    padding-top: var(--fw-space-4);
    border-top: 1px solid var(--fw-color-border);
    font-family: var(--fw-font-body);
    font-size: var(--fw-text-sm);
    line-height: 1.6;
    color: var(--fw-color-muted);
}

.wp-block-footnotes li {
    margin-bottom: var(--fw-space-2);
    scroll-margin-top: var(--fw-space-5);
}

/* Highlight the footnote (or reference) you just jumped to. */
.wp-block-footnotes li:target {
    background: var(--fw-color-bg-tint);
    border-radius: var(--fw-radius-sm);
    box-shadow: 0 0 0 var(--fw-space-2) var(--fw-color-bg-tint);
}

.entry-content sup.fn:target a {
    background: var(--fw-color-accent);
    border-radius: var(--fw-radius-sm);
}

.fwn-fnback {
    text-decoration: none;
    color: var(--fw-color-primary);
    margin-left: var(--fw-space-1);
    font-weight: 600;
}

.fwn-fnback:hover,
.fwn-fnback:focus-visible {
    text-decoration: underline;
}

/* --- Editorial boxes & source line -------------------------------------- *
 * Legacy lebenshaus constructs (frame1 / info1-6 / p.quelle / arrow1) mapped to
 * native block-style variations (fwn-core registers "Rahmen", "Infobox",
 * "Quelle"). One rule set styles the migrated archive AND the same styles when
 * an editor applies them to a Group/Paragraph block in a new post.
 * ------------------------------------------------------------------------- */

/* Rahmen — neutral bordered box (old div.frame1). */
.is-style-fwn-frame {
    border: 1px solid var(--fw-color-border);
    border-radius: var(--fw-radius-md);
    padding: var(--fw-space-3) var(--fw-space-4);
    margin: var(--fw-space-4) 0;
}

/* Infobox — bordered, tinted, with a semantic icon (old div/p.info1-6). */
.is-style-fwn-info {
    position: relative;
    border: 1px solid var(--fw-color-border);
    border-radius: var(--fw-radius-md);
    background: var(--fw-color-bg-tint);
    padding: var(--fw-space-3) var(--fw-space-4) var(--fw-space-3) var(--fw-space-7);
    margin: var(--fw-space-4) 0;
}

.is-style-fwn-info::before {
    content: "\2139\FE0F"; /* ℹ️ default */
    position: absolute;
    left: var(--fw-space-3);
    top: var(--fw-space-3);
    font-size: var(--fw-text-lg);
    line-height: 1;
}

.fwn-info--tip::before     { content: "\1F4A1"; }       /* 💡 */
.fwn-info--error::before   { content: "\26D4"; }        /* ⛔ */
.fwn-info--warning::before { content: "\26A0\FE0F"; }   /* ⚠️ */
.fwn-info--note::before    { content: "\1F4DD"; }       /* 📝 */
.fwn-info--attach::before  { content: "\1F4CE"; }       /* 📎 */

/* Trim inner block margins so boxes stay tight. */
.is-style-fwn-frame > :first-child,
.is-style-fwn-info  > :first-child { margin-top: 0; }
.is-style-fwn-frame > :last-child,
.is-style-fwn-info  > :last-child  { margin-bottom: 0; }

/* Quelle — source-citation line (old p.quelle). */
.is-style-fwn-quelle {
    margin: var(--fw-space-5) 0 var(--fw-space-3);
    padding-top: var(--fw-space-3);
    padding-left: var(--fw-space-6);
    border-top: 1px solid var(--fw-color-border);
    position: relative;
    font-size: var(--fw-text-sm);
    color: var(--fw-color-muted);
}

.is-style-fwn-quelle::before {
    content: "\1F4C4"; /* 📄 */
    position: absolute;
    left: var(--fw-space-2);
    top: var(--fw-space-3);
}

/* Arrow-bulleted link (old span.arrow1). */
.fwn-arrow::before {
    content: "\2192\00A0"; /* →  */
    color: var(--fw-color-primary);
}

/* --- Media: floats, captions, embeds, tables, rules --------------------- *
 * Migrated images keep their original float/wrap layout via WP alignment
 * classes; the same classes style images an editor floats in a new post.
 * ------------------------------------------------------------------------- */
.entry-content figure.wp-block-image:not(.alignright):not(.alignleft) {
    margin: var(--fw-space-4) 0;
}

.entry-content figure.wp-block-image img { border-radius: var(--fw-radius-sm); }

.entry-content figcaption {
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-sm);
    color: var(--fw-color-muted);
    margin-top: var(--fw-space-1);
    line-height: 1.4;
}

.entry-content .alignright {
    float: right;
    margin: var(--fw-space-1) 0 var(--fw-space-3) var(--fw-space-4);
    max-width: min(50%, 340px);
}

.entry-content .alignleft {
    float: left;
    margin: var(--fw-space-1) var(--fw-space-4) var(--fw-space-3) 0;
    max-width: min(50%, 340px);
}

.entry-content .aligncenter {
    display: block;
    margin-inline: auto;
}

/* Headings and the source line clear any preceding float. */
.entry-content h2,
.entry-content h3,
.entry-content .is-style-fwn-quelle { clear: both; }

@media (max-width: 600px) {
    /* Drop floats on narrow screens so images don't crush the text column. */
    .entry-content .alignright,
    .entry-content .alignleft { float: none; margin-inline: auto; max-width: 100%; }
}

/* Native oEmbed video blocks (YouTube/Vimeo). Core's block stylesheet already
 * makes these responsive; this mirrors it so the aspect ratio holds even if that
 * stylesheet isn't enqueued. */
.wp-block-embed { margin: var(--fw-space-4) 0; }
.wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper { position: relative; }
.wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper::before {
    content: "";
    display: block;
    padding-top: 56.25%;
}
.wp-block-embed.wp-embed-aspect-16-9 iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: var(--fw-radius-sm);
}

/* Non-oEmbed providers (tagesschau, democracynow, …) kept as a responsive iframe. */
.fwn-embed {
    position: relative;
    margin: var(--fw-space-4) 0;
    aspect-ratio: 16 / 9;
}

.fwn-embed iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: var(--fw-radius-sm);
}

/* Wide tables scroll instead of overflowing the column. */
.fwn-tablewrap { overflow-x: auto; margin: var(--fw-space-4) 0; }
.fwn-tablewrap table { border-collapse: collapse; width: 100%; }
.fwn-tablewrap th,
.fwn-tablewrap td {
    border: 1px solid var(--fw-color-border);
    padding: var(--fw-space-2) var(--fw-space-3);
    text-align: left;
    vertical-align: top;
}

.entry-content hr {
    border: 0;
    border-top: 1px solid var(--fw-color-border);
    margin: var(--fw-space-5) 0;
}

/* --- Schlagwortregister --------------------------------------------------- */
.fwn-register .fwn-container { max-width: var(--fw-wide); }

.fwn-register [hidden] { display: none; }

.fwn-register__intro { margin-bottom: var(--fw-space-5); }

.fwn-register__intro:empty { display: none; }

.fwn-register__lead {
    font-family: var(--fw-font-heading);
    color: var(--fw-color-muted);
    margin: 0 0 var(--fw-space-4);
}

/* Sofortfilter — ohne JavaScript ausgeblendet. */
.fwn-register__filter:not([hidden]) {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--fw-space-2) var(--fw-space-3);
    margin: 0 0 var(--fw-space-5);
    padding: var(--fw-space-3) var(--fw-space-4);
    background: var(--fw-color-bg-tint);
    border-radius: var(--fw-radius-md);
}

.fwn-register__filter-label {
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-sm);
    font-weight: 600;
    color: var(--fw-color-text);
}

.fwn-register__filter-input {
    flex: 1 1 18rem;
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-base);
    color: var(--fw-color-text);
    background: var(--fw-color-bg);
    border: 1px solid var(--fw-color-border);
    border-radius: var(--fw-radius-sm);
    padding: var(--fw-space-2) var(--fw-space-3);
}

.fwn-register__filter-input:focus-visible {
    outline: 2px solid var(--fw-color-primary);
    outline-offset: 1px;
}

.fwn-register__filter-status {
    flex: 0 0 auto;
    margin: 0;
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-sm);
    color: var(--fw-color-muted);
}

/* --- Facettennavigation --- */
.fwn-register__facetnav.fwn-trefferreiter { margin: 0 0 var(--fw-space-5); }
.fwn-register--reiter:not(.is-filtering) .fwn-register__facet-title,
.fwn-register--reiter:not(.is-filtering) .fwn-register__facet--aus { display: none; }

.fwn-register.is-filtering .fwn-register__facetnav,
.fwn-register.is-filtering .fwn-register__letternav,
.fwn-register.is-filtering .fwn-register__totop { display: none; }

/* --- Facettenabschnitte --- */
.fwn-register__facet {
    margin: 0 0 var(--fw-space-7);
    scroll-margin-top: var(--fw-space-6);
}

.fwn-register__facet-title {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--fw-space-3);
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-xl);
    color: var(--fw-color-text);
    border-bottom: 2px solid var(--fw-color-accent);
    padding-bottom: var(--fw-space-2);
    margin: 0 0 var(--fw-space-3);
}

.fwn-register__facet-count {
    font-size: var(--fw-text-sm);
    font-weight: 400;
    color: var(--fw-color-muted);
}

.fwn-register__letternav {
    display: flex;
    flex-wrap: wrap;
    gap: var(--fw-space-1);
    margin: 0 0 var(--fw-space-4);
}

.fwn-register__letternav a {
    min-width: 2.25ch;
    text-align: center;
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-sm);
    font-weight: 600;
    text-decoration: none;
    color: var(--fw-color-primary);
    padding: var(--fw-space-1) var(--fw-space-2);
    border-radius: var(--fw-radius-sm);
}

.fwn-register__letternav a:hover,
.fwn-register__letternav a:focus-visible { background: var(--fw-color-bg-tint); }

/* --- Buchstabengruppen --- */
.fwn-register__group {
    margin: 0 0 var(--fw-space-4);
    scroll-margin-top: var(--fw-space-6);
}

.fwn-register__letter {
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-lg);
    color: var(--fw-color-primary);
    margin: 0 0 var(--fw-space-2);
    padding-bottom: var(--fw-space-1);
    border-bottom: 1px solid var(--fw-color-border);
}

.fwn-register__list {
    list-style: none;
    margin: 0;
    padding: 0;
    columns: 1;
    column-gap: var(--fw-space-5);
}

@media (min-width: 640px)  { .fwn-register__list { columns: 2; } }
@media (min-width: 960px)  { .fwn-register__list { columns: 3; } }
@media (min-width: 1200px) { .fwn-register__list { columns: 4; } }

.fwn-register__item { break-inside: avoid; }

.fwn-register__link {
    display: flex;
    align-items: baseline;
    gap: var(--fw-space-2);
    text-decoration: none;
    color: var(--fw-color-text);
    line-height: 1.35;
    padding: var(--fw-space-1) 0;
}

.fwn-register__link:hover,
.fwn-register__link:focus-visible { color: var(--fw-color-primary); }

.fwn-register__link:hover .fwn-register__name,
.fwn-register__link:focus-visible .fwn-register__name { text-decoration: underline; }

.fwn-register__name {
    flex: 1 1 auto;
    hyphens: auto;
}

.fwn-register__count {
    flex: 0 0 auto;
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-sm);
    font-variant-numeric: tabular-nums;
    color: var(--fw-color-muted);
}

.fwn-register__totop {
    margin: var(--fw-space-3) 0 0;
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-sm);
}

.fwn-register__totop a {
    color: var(--fw-color-muted);
    text-decoration: none;
}

.fwn-register__totop a:hover,
.fwn-register__totop a:focus-visible {
    color: var(--fw-color-primary);
    text-decoration: underline;
}

/* ==========================================================================
   Suche — /suche/ und /archiv/ (ADR-0012, ADR-0013)
   ========================================================================== */

.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.fwn-suche__form {
    display: grid;
    gap: var(--fw-space-4);
    margin: var(--fw-space-5) 0 var(--fw-space-4);
    padding: var(--fw-space-4);
    background: var(--fw-color-bg-tint);
    border: 1px solid var(--fw-color-border);
    border-radius: var(--fw-radius-md);
}

.fwn-suche__zeile {
    display: flex;
    flex-wrap: wrap;
    gap: var(--fw-space-2);
}

.fwn-suche__form input[type="search"],
.fwn-suche__form input[type="number"],
.fwn-suche__form select {
    font: inherit;
    color: var(--fw-color-text);
    background: var(--fw-color-bg);
    border: 1px solid var(--fw-color-border);
    border-radius: var(--fw-radius-sm);
    padding: var(--fw-space-2) var(--fw-space-3);
}

.fwn-suche__zeile input[type="search"] {
    flex: 1 1 16rem;
    min-width: 0;
    font-size: var(--fw-text-lg);
}

.fwn-suche__form input:focus-visible,
.fwn-suche__form select:focus-visible,
.fwn-suche__knopf:focus-visible {
    outline: 2px solid var(--fw-color-primary);
    outline-offset: 2px;
}

.fwn-suche__knopf {
    font: inherit;
    font-weight: 600;
    color: var(--fw-color-bg);
    background: var(--fw-color-primary);
    border: 1px solid var(--fw-color-primary);
    border-radius: var(--fw-radius-sm);
    padding: var(--fw-space-2) var(--fw-space-4);
    cursor: pointer;
}

.fwn-suche__knopf:hover {
    background: var(--fw-color-secondary);
    border-color: var(--fw-color-secondary);
}

.fwn-suche__knopf--sekundaer {
    color: var(--fw-color-primary);
    background: var(--fw-color-bg);
    align-self: end;
}

.fwn-suche__knopf--sekundaer:hover {
    color: var(--fw-color-bg);
}

.fwn-suche__filter {
    display: flex;
    flex-wrap: wrap;
    gap: var(--fw-space-3) var(--fw-space-5);
    align-items: flex-start;
}

.fwn-suche__gruppe {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--fw-space-2);
    margin: 0;
    padding: 0;
    border: 0;
}

.fwn-suche__gruppe legend {
    width: 100%;
    padding: 0;
    margin-bottom: var(--fw-space-1);
    font-size: var(--fw-text-sm);
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--fw-color-muted);
}

.fwn-suche__wahl {
    display: inline-flex;
    align-items: center;
    gap: 0.35em;
    font-size: var(--fw-text-sm);
    cursor: pointer;
}

.fwn-suche__gruppe--zeit input[type="number"] {
    width: 6rem;
    font-variant-numeric: tabular-nums;
}

.fwn-suche__gruppe--zeit label {
    font-size: var(--fw-text-sm);
    color: var(--fw-color-muted);
}

/* Aktive Einschränkungen — abwählbar */
.fwn-marken {
    display: flex;
    flex-wrap: wrap;
    gap: var(--fw-space-2);
    margin: 0 0 var(--fw-space-4);
    padding: 0;
    list-style: none;
}

.fwn-marke {
    display: inline-flex;
    align-items: baseline;
    gap: 0.4em;
    padding: 0.25em 0.7em;
    font-size: var(--fw-text-sm);
    text-decoration: none;
    color: var(--fw-color-text);
    background: var(--fw-color-bg-tint);
    border: 1px solid var(--fw-color-border);
    border-radius: 999px;
}

.fwn-marke:hover,
.fwn-marke:focus-visible {
    color: var(--fw-color-bg);
    background: var(--fw-color-primary);
    border-color: var(--fw-color-primary);
}

.fwn-marke__feld {
    font-size: 0.85em;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    color: var(--fw-color-muted);
}

.fwn-marke:hover .fwn-marke__feld,
.fwn-marke:focus-visible .fwn-marke__feld { color: inherit; }

.fwn-marke__wert { font-weight: 600; }
.fwn-marke__weg  { font-size: 1.1em; line-height: 1; }
.fwn-marke--alle { border-style: dashed; }

/* Trefferbilanz */
.fwn-suche__bilanz {
    margin: 0 0 var(--fw-space-3);
    padding-bottom: var(--fw-space-2);
    border-bottom: 1px solid var(--fw-color-border);
    font-size: var(--fw-text-base);
    line-height: 1.5;
}

.fwn-suche__bilanz strong { font-variant-numeric: tabular-nums; }

.fwn-suche__satz,
.fwn-suche__seitenstand {
    color: var(--fw-color-muted);
}

.fwn-suche__notlauf { margin-bottom: var(--fw-space-4); }

/* Blättern — gilt auch für die Schlagwort- und Veranstaltungsarchive */
.navigation.pagination { margin-top: var(--fw-space-5); }

.navigation.pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--fw-space-2);
    align-items: center;
}

.navigation.pagination .page-numbers {
    display: inline-block;
    min-width: 2.5em;
    padding: 0.3em 0.7em;
    text-align: center;
    text-decoration: none;
    color: var(--fw-color-text);
    border: 1px solid var(--fw-color-border);
    border-radius: var(--fw-radius-sm);
    font-variant-numeric: tabular-nums;
}

.navigation.pagination .page-numbers:hover,
.navigation.pagination .page-numbers:focus-visible {
    color: var(--fw-color-bg);
    background: var(--fw-color-primary);
    border-color: var(--fw-color-primary);
}

.navigation.pagination .page-numbers.current {
    color: var(--fw-color-bg);
    background: var(--fw-color-secondary);
    border-color: var(--fw-color-secondary);
    font-weight: 700;
}

.navigation.pagination .page-numbers.dots {
    border-color: transparent;
    min-width: 0;
    padding-inline: 0.2em;
}

/* Schlankes Suchfeld für Kopf, Fuß und Fehlerseite */
.fwn-suchfeld {
    display: flex;
    gap: var(--fw-space-2);
}

.fwn-suchfeld input[type="search"] {
    flex: 1 1 auto;
    min-width: 0;
    font: inherit;
    color: var(--fw-color-text);
    background: var(--fw-color-bg);
    border: 1px solid var(--fw-color-border);
    border-radius: var(--fw-radius-sm);
    padding: var(--fw-space-2) var(--fw-space-3);
}

@media (max-width: 480px) {
    .fwn-suche__zeile .fwn-suche__knopf { flex: 1 1 100%; }
    .fwn-suche__filter { gap: var(--fw-space-4); }
    .fwn-suche__gruppe { width: 100%; }
}

/* --- Facettenleiste — Eingrenzen mit Trefferzahlen (fw/frieden-wagen#39) --- */
.fwn-facetten {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: var(--fw-space-2);
    margin: 0 0 var(--fw-space-4);
}

.fwn-facette {
    flex: 0 1 auto;
    min-width: 0;
    background: var(--fw-color-bg);
    border: 1px solid var(--fw-color-border);
    border-radius: var(--fw-radius-lg);
}

.fwn-facette[open] {
    flex: 1 1 100%;
    background: var(--fw-color-bg-tint);
    border-radius: var(--fw-radius-md);
}

.fwn-facette__kopf {
    display: flex;
    align-items: center;
    gap: var(--fw-space-2);
    padding: var(--fw-space-2) var(--fw-space-3);
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-sm);
    color: var(--fw-color-text);
    border-radius: inherit;
    cursor: pointer;
    list-style: none;
}

.fwn-facette__kopf::-webkit-details-marker { display: none; }

.fwn-facette__kopf:hover,
.fwn-facette__kopf:focus-visible { color: var(--fw-color-primary); }

.fwn-facette__kopf:focus-visible {
    outline: 2px solid var(--fw-color-primary);
    outline-offset: 2px;
}

.fwn-facette__kopf::after {
    content: "";
    flex: 0 0 auto;
    width: 0.4em;
    height: 0.4em;
    margin-left: 0.1em;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-0.15em) rotate(45deg);
    opacity: 0.55;
}

.fwn-facette[open] > .fwn-facette__kopf::after {
    transform: translateY(0.1em) rotate(-135deg);
}

.fwn-facette__zahl {
    font-size: 0.9em;
    font-variant-numeric: tabular-nums;
    color: var(--fw-color-muted);
}

.fwn-facette__inhalt { padding: 0 var(--fw-space-3) var(--fw-space-3); }

.fwn-facette__liste {
    list-style: none;
    margin: 0;
    padding: 0;
    columns: 1;
    column-gap: var(--fw-space-4);
}

.fwn-facette__liste li { break-inside: avoid; }

.fwn-facette__wert {
    display: flex;
    align-items: baseline;
    gap: var(--fw-space-2);
    padding: var(--fw-space-2);
    line-height: 1.35;
    color: var(--fw-color-text);
    text-decoration: none;
    border-radius: var(--fw-radius-sm);
}

.fwn-facette__wert:hover,
.fwn-facette__wert:focus-visible {
    color: var(--fw-color-primary);
    background: var(--fw-color-bg);
}

.fwn-facette__wert:focus-visible {
    outline: 2px solid var(--fw-color-primary);
    outline-offset: 1px;
}

.fwn-facette__begriff {
    flex: 1 1 auto;
    hyphens: auto;
}

.fwn-facette__anzahl {
    flex: 0 0 auto;
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-sm);
    font-variant-numeric: tabular-nums;
    color: var(--fw-color-muted);
}

.fwn-facette__weg {
    flex: 0 0 auto;
    font-size: 1.1em;
    line-height: 1;
}

.fwn-facette__wert.is-aktiv {
    font-weight: 600;
    color: var(--fw-color-bg);
    background: var(--fw-color-primary);
}

.fwn-facette__wert.is-aktiv:hover,
.fwn-facette__wert.is-aktiv:focus-visible {
    color: var(--fw-color-bg);
    background: var(--fw-color-secondary);
}

.fwn-facette__wert.is-aktiv .fwn-facette__anzahl { color: inherit; }

.fwn-facette__mehr {
    margin: var(--fw-space-3) 0 0;
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-sm);
    color: var(--fw-color-muted);
}

.fwn-facette__mehr a { color: var(--fw-color-primary); }

.fwn-facette--jahr .fwn-facette__begriff { font-variant-numeric: tabular-nums; }

/* Trefferzahlen an den Inhaltstypen des Suchformulars */
.fwn-suche__anzahl {
    font-family: var(--fw-font-heading);
    font-size: 0.9em;
    font-variant-numeric: tabular-nums;
    color: var(--fw-color-muted);
}

.fwn-suche__wahl.is-leer { color: var(--fw-color-muted); }

@media (min-width: 640px) {
    .fwn-facette__liste { columns: 2; }
    .fwn-facette--jahr .fwn-facette__liste { columns: 4; }
}

@media (min-width: 960px) {
    .fwn-facette__liste { columns: 3; }
    .fwn-facette--jahr .fwn-facette__liste { columns: 6; }
}

@media (max-width: 767px) {
    .fwn-facette__kopf,
    .fwn-facette__wert {
        box-sizing: border-box;
        min-height: 2.75rem;
    }

    .fwn-facette__wert { align-items: center; }
}
/* --- Abstaende Einzelartikel (fw/frieden-wagen#55) --- */

.fwn-container > .page-header {
    margin-top: var(--fw-space-5);
}

@media (min-width: 720px) {
    .fwn-container > .page-header {
        margin-top: var(--fw-space-6);
    }
}

/* :not() haelt den Fussnotenblock heraus — er traegt seinen eigenen Trennabstand (--fw-space-6). */
.fwn-single .entry-content > :is(p, ul, ol, dl, blockquote, figure, table, pre, div):not(.wp-block-footnotes),
.fwn-archiv-single .entry-content > :is(p, ul, ol, dl, blockquote, figure, table, pre, div):not(.wp-block-footnotes) {
    margin-block: 0 var(--fw-space-3);
}

.fwn-single .entry-content > :is(h2, h3, h4, h5, h6),
.fwn-archiv-single .entry-content > :is(h2, h3, h4, h5, h6) {
    margin-block: var(--fw-space-5) var(--fw-space-2);
}

.fwn-single .entry-content > :first-child,
.fwn-archiv-single .entry-content > :first-child {
    margin-block-start: 0;
}

.fwn-single .entry-content > :last-child,
.fwn-archiv-single .entry-content > :last-child {
    margin-block-end: 0;
}

.fwn-single .entry-content figure.wp-block-image:not(.alignright):not(.alignleft),
.fwn-archiv-single .entry-content figure.wp-block-image:not(.alignright):not(.alignleft) {
    margin-block: 0 var(--fw-space-3);
}

.fwn-single .entry-content :is(.alignright, .alignleft),
.fwn-archiv-single .entry-content :is(.alignright, .alignleft) {
    margin-block-start: 0;
}

/* Ohne vertical-align sitzt das Bild auf der Textgrundlinie und laesst darunter den Unterlaengenraum stehen. */
.fwn-single .entry-content p > img:only-child,
.fwn-archiv-single .entry-content p > img:only-child {
    vertical-align: bottom;
}

/* Der Herkunftshinweis gehoert zum Text, nicht zum Kopf. Vorher stand er
   32 px unter der Ueberschrift und 48 px ueber dem ersten Absatz — er band
   sich damit optisch nach oben statt nach unten. */
.fwn-herkunft {
    margin-block-end: var(--fw-space-5);
}

/* --- Rundbrief-Ausgabenseite -------------------------------------------- */
.fwn-ausgabe {
    margin-top: var(--fw-space-6);
    padding-top: var(--fw-space-5);
    border-top: 1px solid var(--fw-color-border);
    font-family: var(--fw-font-heading);
}
.fwn-ausgabe__titel {
    font-size: var(--fw-text-xl);
    margin: 0 0 var(--fw-space-4);
    color: var(--fw-color-primary);
}
.fwn-ausgabe__label {
    font-size: var(--fw-text-sm);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--fw-color-muted);
    margin: var(--fw-space-5) 0 var(--fw-space-3);
}
.fwn-ausgabe__daten .fwn-ausgabe__label:first-child { margin-top: 0; }
.fwn-ausgabe__kopf {
    display: flex;
    flex-wrap: wrap;
    gap: var(--fw-space-5);
    align-items: flex-start;
}
.fwn-ausgabe__titelbild {
    flex: 0 0 min(220px, 40%);
    margin: 0;
}
.fwn-ausgabe__titelbild img {
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid var(--fw-color-border);
    border-radius: var(--fw-radius-sm);
}
.fwn-ausgabe__daten {
    flex: 1 1 16rem;
    min-width: 0;
}
.fwn-ausgabe__ivz {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: var(--fw-text-sm);
}
.fwn-ausgabe__ivz li {
    margin: 0 0 var(--fw-space-2);
    padding-left: var(--fw-space-4);
    position: relative;
    line-height: 1.5;
}
.fwn-ausgabe__ivz li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 0.4em;
    height: 0.4em;
    border-radius: 50%;
    background: var(--fw-color-accent);
}
.fwn-ausgabe__pdf {
    margin: var(--fw-space-4) 0 0;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: var(--fw-space-2);
}
.fwn-ausgabe__knopf {
    display: inline-block;
    padding: var(--fw-space-2) var(--fw-space-4);
    background: var(--fw-color-primary);
    color: var(--fw-color-bg);
    border-radius: var(--fw-radius-sm);
    text-decoration: none;
    font-weight: 600;
    font-size: var(--fw-text-sm);
}
.fwn-ausgabe__knopf:hover,
.fwn-ausgabe__knopf:focus-visible {
    background: var(--fw-color-secondary);
    color: var(--fw-color-bg);
}
.fwn-ausgabe__umfang {
    color: var(--fw-color-muted);
    font-size: var(--fw-text-sm);
}
.fwn-ausgabe__beitraege {
    list-style: none;
    margin: 0;
    padding: 0;
}
.fwn-ausgabe__beitraege li {
    margin: 0 0 var(--fw-space-2);
    padding-bottom: var(--fw-space-2);
    border-bottom: 1px solid var(--fw-color-border);
}
.fwn-ausgabe__beitraege a {
    color: var(--fw-color-primary);
    text-decoration: none;
}
.fwn-ausgabe__beitraege a:hover,
.fwn-ausgabe__beitraege a:focus-visible { text-decoration: underline; }
.fwn-ausgabe__datum {
    display: block;
    color: var(--fw-color-muted);
    font-size: var(--fw-text-sm);
}

/* --- Fehlerseite (fw/frieden-wagen#51) --- */
.fwn-404 .fwn-container {
    padding-block: var(--fw-space-6) var(--fw-space-7);
}

.fwn-404 .page-header {
    margin-bottom: var(--fw-space-6);
}

.fwn-404 section,
.fwn-404 nav {
    margin-top: var(--fw-space-6);
}

.fwn-404 h2 {
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-xl);
    color: var(--fw-color-text);
    margin: 0 0 var(--fw-space-3);
}

.fwn-404__spur {
    background: var(--fw-color-bg-tint);
    border: 1px solid var(--fw-color-border);
    border-radius: var(--fw-radius-md);
    padding: var(--fw-space-4);
}

.fwn-404__spur > :last-child {
    margin-bottom: 0;
}

.fwn-404__begriff {
    margin: 0 0 var(--fw-space-3);
}

.fwn-404__begriff strong {
    font-family: var(--fw-font-heading);
    color: var(--fw-color-primary);
}

.fwn-404__bilanz {
    font-family: var(--fw-font-heading);
    margin: 0 0 var(--fw-space-4);
}

.fwn-404__spur .fwn-card-list {
    margin-bottom: var(--fw-space-4);
}

.fwn-404__spur .fwn-card {
    background: var(--fw-color-bg);
}

.fwn-404__weiter {
    font-family: var(--fw-font-heading);
    font-weight: 600;
    color: var(--fw-color-primary);
    text-decoration: none;
}

.fwn-404__weiter:hover,
.fwn-404__weiter:focus-visible {
    text-decoration: underline;
}

.fwn-404__jahrgang {
    margin: var(--fw-space-4) 0 0;
    padding-top: var(--fw-space-3);
    border-top: 1px solid var(--fw-color-border);
    font-size: var(--fw-text-sm);
    color: var(--fw-color-muted);
}

.fwn-404__jahrgang a {
    color: var(--fw-color-primary);
    text-decoration: none;
}

.fwn-404__jahrgang a:hover,
.fwn-404__jahrgang a:focus-visible {
    text-decoration: underline;
}

.fwn-404__wege ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.fwn-404__wege li {
    padding: var(--fw-space-3) 0;
    border-bottom: 1px solid var(--fw-color-border);
}

.fwn-404__wege li:first-child {
    border-top: 1px solid var(--fw-color-border);
}

.fwn-404__wege a {
    display: block;
    font-family: var(--fw-font-heading);
    font-weight: 600;
    color: var(--fw-color-primary);
    text-decoration: none;
}

.fwn-404__wege a:hover,
.fwn-404__wege a:focus-visible {
    text-decoration: underline;
}

.fwn-404__wege span {
    display: block;
    font-size: var(--fw-text-sm);
    color: var(--fw-color-muted);
}

/* --- Gelockerte Suche (fw/frieden-wagen#38) --- */

.fwn-suche__gelockert {
    margin-bottom: var(--fw-space-4);
}

/* ── Startseite (fw/frieden-wagen#31) ───────────────────────────────────── */

.fwn-start {
    max-width: var(--fw-wide);
    margin: var(--fw-space-5) auto;
    padding-inline: var(--fw-space-4);
    font-family: var(--fw-font-body);
    color: var(--fw-color-text);
}

.fwn-start a { color: inherit; text-decoration: none; }
.fwn-start a:hover, .fwn-start a:focus-visible { color: var(--fw-color-primary); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }

.fwn-start__titel,
.fwn-start--termine .fwn-termine__heading {
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-xl);
    font-weight: 600;
    color: var(--fw-color-text);
    padding-bottom: var(--fw-space-2);
    border-bottom: 2px solid var(--fw-color-accent);
    margin: 0 0 var(--fw-space-4);
    display: flex;
    align-items: center;
    gap: 0.45em;
}
.fwn-start__titel .fwn-icon,
.fwn-termine__heading .fwn-icon { width: 1.35em; height: 1.35em; }

.fwn-start__weiter {
    margin: var(--fw-space-4) 0 0;
    font-family: var(--fw-font-heading);
    font-weight: 600;
    font-size: var(--fw-text-sm);
}
.fwn-start__weiter a { color: var(--fw-color-primary); }

.fwn-start--termine .fwn-termine { margin: 0; }

/* Aufmacher */
.fwn-aufmacher {
    padding-block: var(--fw-space-5);
    border-bottom: 1px solid var(--fw-color-border);
}
.fwn-aufmacher__titel {
    font-family: var(--fw-font-heading);
    font-size: clamp(1.75rem, 1.2rem + 2.2vw, 2.75rem);
    line-height: 1.12;
    font-weight: 700;
    max-width: 22em;
    margin: 0 0 var(--fw-space-3);
}
.fwn-aufmacher__anriss { font-size: var(--fw-text-lg); line-height: 1.55; max-width: 38em; margin: 0 0 var(--fw-space-2); }
.fwn-aufmacher__meta { font-family: var(--fw-font-heading); font-size: var(--fw-text-sm); color: var(--fw-color-muted); margin: 0; }

/* Aktuell */
.fwn-zuletzt__raster { display: grid; gap: var(--fw-space-5); grid-template-columns: 1fr; }
@media (min-width: 900px) {
    .fwn-zuletzt__raster { grid-template-columns: 3fr 2fr; gap: var(--fw-space-6); }
    .fwn-zuletzt__raster--einzeln { grid-template-columns: minmax(0, 40em); }
}
.fwn-zuletzt__datum {
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-sm);
    color: var(--fw-color-muted);
    margin: 0 0 var(--fw-space-1);
}
.fwn-zuletzt__titel {
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-lg);
    line-height: 1.25;
    font-weight: 600;
    margin: 0;
}
.fwn-zuletzt__titel--gross { font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2rem); line-height: 1.15; margin-bottom: var(--fw-space-3); }
.fwn-zuletzt__anriss { font-size: 1.0625rem; line-height: 1.6; margin: 0; }
.fwn-zuletzt__datum .fwn-icon { width: 1.3em; height: 1.3em; margin-right: 0.35em; }
.fwn-zuletzt__liste { list-style: none; margin: 0; padding: 0; }
.fwn-zuletzt__liste li { padding: var(--fw-space-3) 0; border-top: 1px solid var(--fw-color-border); }
.fwn-zuletzt__liste li:first-child { border-top: 0; padding-top: 0; }

/* Der Bestand */
.fwn-bestand {
    max-width: none;
    margin-inline: 0;
    padding: var(--fw-space-7) max(var(--fw-space-4), calc((100% - var(--fw-wide)) / 2 + var(--fw-space-4)));
    background: var(--fw-color-bg-tint);
    display: grid;
    gap: var(--fw-space-6);
    grid-template-columns: 1fr;
    align-items: start;
}
@media (min-width: 900px) { .fwn-bestand { grid-template-columns: 2fr 1fr; } }
.fwn-bestand__titel {
    font-family: var(--fw-font-heading);
    font-size: clamp(1.75rem, 1.2rem + 2vw, 2.5rem);
    line-height: 1.12;
    font-weight: 700;
    color: var(--fw-color-secondary);
    margin: 0 0 var(--fw-space-3);
}
.fwn-bestand__text > p:not(.fwn-kicker):not(.fwn-bestand__wege) { font-size: var(--fw-text-lg); line-height: 1.6; max-width: 36em; margin: 0 0 var(--fw-space-4); }
.fwn-bestand .fwn-suchfeld { max-width: 36em; }
.fwn-bestand .fwn-suchfeld input[type="search"] { font-size: var(--fw-text-lg); padding: var(--fw-space-3); }
.fwn-bestand .fwn-suchfeld button {
    font-family: var(--fw-font-heading);
    font-weight: 600;
    background: var(--fw-color-primary);
    color: #fff;
    border: 0;
    border-radius: var(--fw-radius-sm);
    padding: 0 var(--fw-space-4);
    cursor: pointer;
}
.fwn-bestand .fwn-suchfeld button:hover { background: var(--fw-color-secondary); }
.fwn-bestand__wege { display: flex; flex-wrap: wrap; gap: var(--fw-space-2) var(--fw-space-5); margin: var(--fw-space-4) 0 0; font-family: var(--fw-font-heading); font-weight: 600; }
.fwn-bestand__wege a { color: var(--fw-color-primary); }
.fwn-bestand__zahlen { display: grid; gap: var(--fw-space-4); margin: 0; }
.fwn-bestand__zahlen div { border-left: 4px solid var(--fw-color-accent); padding-left: var(--fw-space-3); }
.fwn-bestand__zahlen dt { font-family: var(--fw-font-heading); font-size: var(--fw-text-sm); text-transform: uppercase; letter-spacing: 0.08em; color: var(--fw-color-muted); }
.fwn-bestand__zahlen dd { font-family: var(--fw-font-heading); font-size: 2.25rem; font-weight: 700; line-height: 1.1; color: var(--fw-color-secondary); margin: 0; font-variant-numeric: tabular-nums; }

/* Themen */
.fwn-themen__liste {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--fw-space-2) var(--fw-space-5);
    grid-template-columns: 1fr;
}
@media (min-width: 600px) { .fwn-themen__liste { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .fwn-themen__liste { grid-template-columns: repeat(3, 1fr); } }
.fwn-themen__liste a {
    display: flex;
    align-items: center;
    gap: var(--fw-space-3);
    padding: var(--fw-space-2) 0;
    border-bottom: 1px solid var(--fw-color-border);
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-lg);
    font-weight: 600;
}
.fwn-themen__liste .fwn-icon { width: 2rem; height: 2rem; transition: transform 0.2s ease; }
.fwn-themen__liste a:hover .fwn-icon, .fwn-themen__liste a:focus-visible .fwn-icon { transform: scale(1.12); }
.fwn-themen__name { flex: 1; }
.fwn-themen__zahl { font-family: var(--fw-font-heading); font-size: var(--fw-text-sm); font-weight: 400; color: var(--fw-color-muted); font-variant-numeric: tabular-nums; }
.fwn-reiter--aktiv .fwn-start__titel { border-bottom: 0; padding-bottom: 0; }
.fwn-reiter__leiste {
    display: flex;
    gap: 3px;
    border-bottom: 4px solid var(--fw-color-accent);
    overflow-x: auto;
    scrollbar-width: none;
}
.fwn-reiter__leiste[hidden] { display: none; }
.fwn-themen .fwn-reiter__knopf {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: 0.45em;
    margin: 0;
    padding: var(--fw-space-3) var(--fw-space-4);
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: var(--fw-color-bg-tint);
    color: var(--fw-color-muted);
    font-family: var(--fw-font-heading);
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}
.fwn-themen .fwn-reiter__knopf:hover { color: var(--fw-color-primary); background: var(--fw-color-border); }
.fwn-themen .fwn-reiter__knopf:focus-visible { outline: 2px solid var(--fw-color-accent); outline-offset: -4px; }
.fwn-themen .fwn-reiter__knopf[aria-selected="true"] { background: var(--fw-color-accent); color: var(--fw-color-text); }
.fwn-themen .fwn-reiter__knopf[aria-selected="true"] .fwn-icon [opacity] { fill: var(--fw-color-bg); }
.fwn-themen .fwn-reiter__knopf[aria-selected="true"] .fwn-themen__zahl { color: var(--fw-color-secondary); }
.fwn-reiter__knopf .fwn-icon { width: 1.4em; height: 1.4em; }
.fwn-reiter--aktiv .fwn-reiter__tafel { padding-top: var(--fw-space-4); }

.fwn-reiter__ersatztitel {
    display: flex;
    align-items: center;
    gap: 0.4em;
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-lg);
    margin: var(--fw-space-5) 0 var(--fw-space-3);
}
.fwn-reiter--aktiv .fwn-reiter__ersatztitel { display: none; }
.fwn-reiter__tafel[hidden] { display: none; }

.fwn-register-start {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0 var(--fw-space-5);
    grid-template-columns: 1fr;
}
@media (min-width: 600px) { .fwn-register-start { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .fwn-register-start { grid-template-columns: repeat(3, 1fr); } }
.fwn-register-start a {
    display: flex;
    align-items: baseline;
    gap: var(--fw-space-3);
    padding: var(--fw-space-2) 0;
    border-bottom: 1px solid var(--fw-color-border);
    font-family: var(--fw-font-heading);
    font-size: 1.0625rem;
}
/* Schwerpunkt (ADR-0024, Nachtrag 05.11.2026): Hauptschwerpunkt als Karte, Einstiege als Liste daneben */
.fwn-schwerpunkte__liste {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--fw-space-4);
    grid-template-columns: 1fr;
}
@media (min-width: 700px) { .fwn-schwerpunkte__liste { grid-template-columns: repeat(2, 1fr); } }
.fwn-schwerpunkte__liste a {
    display: flex;
    flex-direction: column;
    gap: var(--fw-space-2);
    height: 100%;
    padding: var(--fw-space-4);
    border-left: 4px solid var(--fw-color-accent);
    background: var(--fw-color-bg-tint);
    color: var(--fw-color-text);
    text-decoration: none;
    transition: background-color 0.15s ease;
}
.fwn-schwerpunkte__liste a:hover, .fwn-schwerpunkte__liste a:focus-visible { background: var(--fw-color-border); }
.fwn-schwerpunkte__kopf {
    display: flex;
    align-items: center;
    gap: var(--fw-space-3);
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-lg);
    font-weight: 600;
    color: var(--fw-color-primary);
}
.fwn-schwerpunkte__liste .fwn-icon { width: 2.25rem; height: 2.25rem; flex: none; transition: transform 0.2s ease; }
.fwn-schwerpunkte__liste a:hover .fwn-icon, .fwn-schwerpunkte__liste a:focus-visible .fwn-icon { transform: scale(1.12); }
.fwn-schwerpunkte__text { font-size: var(--fw-text-sm); line-height: 1.55; color: var(--fw-color-muted); }
.fwn-fokus__raster { display: grid; gap: var(--fw-space-5); grid-template-columns: 1fr; }
@media (min-width: 900px) { .fwn-fokus__raster { grid-template-columns: 3fr 2fr; gap: var(--fw-space-6); } }
.fwn-fokus__haupt {
    display: flex;
    flex-direction: column;
    gap: var(--fw-space-3);
    padding: var(--fw-space-5);
    border-left: 4px solid var(--fw-color-accent);
    background: var(--fw-color-bg-tint);
    color: var(--fw-color-text);
    text-decoration: none;
    transition: background-color 0.15s ease;
}
.fwn-fokus__haupt, .fwn-fokus__haupt * { text-decoration: none; }
.fwn-fokus__haupt:hover, .fwn-fokus__haupt:focus-visible { background: var(--fw-color-border); }
.fwn-fokus__haupt:hover .fwn-fokus__name, .fwn-fokus__haupt:focus-visible .fwn-fokus__name { text-decoration: underline; }
.fwn-fokus__kopf { display: flex; align-items: center; gap: var(--fw-space-3); }
.fwn-fokus__kopf .fwn-icon { width: 2.5rem; height: 2.5rem; flex: none; transition: transform 0.2s ease; }
.fwn-fokus__haupt:hover .fwn-fokus__kopf .fwn-icon { transform: scale(1.1); }
.fwn-fokus__name { font-family: var(--fw-font-heading); font-size: var(--fw-text-lg); font-weight: 600; line-height: 1.3; color: var(--fw-color-primary); }
.fwn-fokus__text { line-height: 1.6; color: var(--fw-color-text); }
.fwn-fokus__weiter { margin-top: auto; font-family: var(--fw-font-heading); font-weight: 600; font-size: var(--fw-text-sm); color: var(--fw-color-primary); }
.fwn-fokus__untertitel {
    display: flex;
    align-items: center;
    gap: 0.4em;
    margin: 0 0 var(--fw-space-2);
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-sm);
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--fw-color-muted);
}
.fwn-fokus__untertitel .fwn-icon { width: 1.2em; height: 1.2em; }
.fwn-fokus__liste { list-style: none; margin: 0; padding: 0; }
.fwn-fokus__liste a {
    display: flex;
    align-items: center;
    gap: var(--fw-space-3);
    padding: var(--fw-space-3) 0;
    border-bottom: 1px solid var(--fw-color-border);
    font-family: var(--fw-font-heading);
    font-size: 1.0625rem;
    color: var(--fw-color-primary);
    text-decoration: none;
}
.fwn-fokus__liste li:first-child a { padding-top: 0; }
.fwn-fokus__liste a:hover .fwn-themen__name, .fwn-fokus__liste a:focus-visible .fwn-themen__name { text-decoration: underline; }
.fwn-fokus__liste .fwn-icon { width: 1.75rem; height: 1.75rem; flex: none; }
.fwn-fokus__wege { display: flex; flex-wrap: wrap; gap: var(--fw-space-2) var(--fw-space-5); }
@media (prefers-reduced-motion: reduce) { .fwn-themen__liste .fwn-icon, .fwn-schwerpunkte__liste .fwn-icon, .fwn-fokus__kopf .fwn-icon, .fwn-fokus__haupt { transition: none; } }

/* Verweise auf Vereinsseite (Site 1) und Unsere Geschichten (Site 3) */
.fwn-verweis__raster { display: grid; gap: var(--fw-space-5); grid-template-columns: 1fr; align-items: start; }
@media (min-width: 700px) { .fwn-verweis__raster { grid-template-columns: minmax(0, 320px) 1fr; gap: var(--fw-space-6); } }
/* Das Bild traegt Fensterrahmen und Schatten auf transparentem Rand (Buehne 1368 px,
   Fenster 1280 px ab 44/36 px). Breite und Raender rechnen den Rand heraus, damit das
   Fenster auf der Spaltenkante sitzt und nur der Schatten darueber hinausfaellt. */
.fwn-verweis__bild { display: block; width: calc(100% * 1368 / 1280); margin: calc(-100% * 36 / 1280) 0 calc(-100% * 40 / 1280) calc(-100% * 44 / 1280); }
.fwn-verweis__bild img { display: block; width: 100%; height: auto; }
.fwn-verweis__text { font-size: 1.0625rem; line-height: 1.6; max-width: 40em; margin: 0 0 var(--fw-space-4); }

/* Rundbrief und Tagung */
.fwn-reihen__raster { display: grid; gap: var(--fw-space-6); grid-template-columns: 1fr; }
@media (min-width: 900px) { .fwn-reihen__raster { grid-template-columns: 1fr 1fr; } }
.fwn-reihen__rundbrief { display: grid; gap: var(--fw-space-4); grid-template-columns: 140px 1fr; align-items: start; }
.fwn-reihen__titelbild img { display: block; width: 100%; height: auto; border: 1px solid var(--fw-color-border); box-shadow: 0 2px 10px rgba(39, 41, 43, 0.08); }
.fwn-reihen__nr { font-family: var(--fw-font-heading); font-size: 2rem; font-weight: 700; line-height: 1.1; color: var(--fw-color-secondary); margin: 0; }
.fwn-reihen__datum { font-family: var(--fw-font-heading); color: var(--fw-color-muted); margin: 0 0 var(--fw-space-3); }
.fwn-reihen__label { font-family: var(--fw-font-heading); font-size: var(--fw-text-sm); text-transform: uppercase; letter-spacing: 0.08em; color: var(--fw-color-muted); margin: 0 0 var(--fw-space-2); }
.fwn-reihen__label--abstand { margin-top: var(--fw-space-5); }
.fwn-reihen__ivz a { color: inherit; font-family: inherit; }
.fwn-reihen__anriss { font-size: 1rem; line-height: 1.55; margin: 0; }
.fwn-reihen__anriss a { font-family: var(--fw-font-heading); font-weight: 600; color: var(--fw-color-primary); white-space: nowrap; }
.fwn-tagungsarchiv { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(4.5rem, 1fr)); gap: var(--fw-space-2); }
.fwn-tagungsarchiv a {
    display: block;
    padding: var(--fw-space-2) var(--fw-space-1);
    background: var(--fw-color-bg-tint);
    border-top: 3px solid var(--fw-color-accent);
    font-family: var(--fw-font-heading);
    font-size: 1rem;
    font-weight: 400;
    color: var(--fw-color-text);
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
    font-variant-numeric: tabular-nums;
    transition: background-color 0.15s ease;
}
.fwn-tagungsarchiv a:hover, .fwn-tagungsarchiv a:focus-visible { background: var(--fw-color-border); color: var(--fw-color-primary); text-decoration: none; }
.fwn-reihen__ivz { list-style: none; margin: 0; padding: 0; font-family: var(--fw-font-heading); }
.fwn-reihen__ivz li { padding: var(--fw-space-1) 0 var(--fw-space-1) var(--fw-space-3); border-left: 3px solid var(--fw-color-accent); margin-bottom: var(--fw-space-1); line-height: 1.3; }
.fwn-reihen__liste { list-style: none; margin: 0; padding: 0; }
.fwn-reihen__liste li { padding: var(--fw-space-2) 0; border-bottom: 1px solid var(--fw-color-border); display: grid; gap: 2px; }
.fwn-reihen__liste time { font-family: var(--fw-font-heading); font-size: var(--fw-text-sm); color: var(--fw-color-muted); }
.fwn-reihen__liste a { font-family: var(--fw-font-heading); font-weight: 600; line-height: 1.3; }
@media (max-width: 480px) { .fwn-reihen__rundbrief { grid-template-columns: 96px 1fr; } }

/* Newsletter — kompakt: Listen nur mit Namen, kein eigener Grund */
.fwn-newsletter {
    display: grid;
    gap: var(--fw-space-4) var(--fw-space-6);
    grid-template-columns: 1fr;
    align-items: start;
    padding-top: var(--fw-space-5);
    border-top: 1px solid var(--fw-color-border);
    scroll-margin-top: var(--fw-space-6);
}
@media (min-width: 900px) { .fwn-newsletter { grid-template-columns: 2fr 3fr; } }
.fwn-newsletter__titel {
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-xl);
    line-height: 1.2;
    font-weight: 700;
    color: var(--fw-color-secondary);
    margin: 0 0 var(--fw-space-2);
}
.fwn-newsletter__text > p:not(.fwn-kicker) { font-size: 1rem; line-height: 1.55; margin: 0; max-width: 30em; }
.fwn-newsletter .fw-nl { max-width: none; }
.fwn-newsletter .fw-nl__listen { margin: 0 0 var(--fw-space-3) !important; }
.fwn-newsletter .fw-nl__listen legend { margin-bottom: var(--fw-space-2); font-size: var(--fw-text-sm); }
.fwn-newsletter .fw-nl__liste { display: inline-flex; align-items: center; gap: var(--fw-space-2); margin: 0 var(--fw-space-4) var(--fw-space-2) 0; padding: 0; border: 0; background: none; }
.fwn-newsletter .fw-nl__liste:hover, .fwn-newsletter .fw-nl__liste:focus-within { background: none; }
.fwn-newsletter .fw-nl__liste input[type="checkbox"] { margin: 0 !important; }
.fwn-newsletter .fw-nl__name { font-size: 1rem !important; }
.fwn-newsletter .fw-nl__text { display: none; }
.fwn-newsletter .fw-nl__hinweis { font-size: var(--fw-text-sm); }

/* --- Suchseite: Registerkarten nach Art, passende Schlagwoerter ----------- */
.fwn-trefferreiter {
    display: flex;
    gap: 3px;
    margin: var(--fw-space-5) 0 var(--fw-space-4);
    border-bottom: 4px solid var(--fw-color-accent);
    overflow-x: auto;
    scrollbar-width: none;
}
.fwn-trefferreiter__karte {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: 0.45em;
    padding: var(--fw-space-3) var(--fw-space-4);
    background: var(--fw-color-bg-tint);
    color: var(--fw-color-muted);
    font-family: var(--fw-font-heading);
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color 0.15s ease, color 0.15s ease;
}
.fwn-trefferreiter__karte:hover { color: var(--fw-color-primary); background: var(--fw-color-border); }
.fwn-trefferreiter__karte:focus-visible { outline: 2px solid var(--fw-color-accent); outline-offset: -4px; }
.fwn-trefferreiter__karte[aria-current] { background: var(--fw-color-accent); color: var(--fw-color-text); }
.fwn-trefferreiter__karte[aria-current] .fwn-icon [opacity] { fill: var(--fw-color-bg); }
.fwn-trefferreiter__karte .fwn-icon { width: 1.4em; height: 1.4em; }
.fwn-trefferreiter__karte small { font-weight: 400; font-size: var(--fw-text-sm); font-variant-numeric: tabular-nums; }

.fwn-trefferbegriffe {
    display: flex;
    flex-wrap: wrap;
    gap: var(--fw-space-3) var(--fw-space-6);
    margin-bottom: var(--fw-space-5);
    padding: var(--fw-space-4);
    background: var(--fw-color-bg-tint);
}
.fwn-trefferbegriffe__label {
    margin: 0 0 var(--fw-space-2);
    font-family: var(--fw-font-heading);
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--fw-color-muted);
}
.fwn-trefferbegriffe ul { display: flex; flex-wrap: wrap; gap: var(--fw-space-2); margin: 0; padding: 0; list-style: none; }
.fwn-trefferbegriffe a {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
    padding: 0.3em 0.7em;
    background: var(--fw-color-bg);
    border: 1px solid var(--fw-color-border);
    font-family: var(--fw-font-heading);
    font-weight: 600;
    color: var(--fw-color-text);
    text-decoration: none;
}
.fwn-trefferbegriffe a:hover { border-color: var(--fw-color-primary); color: var(--fw-color-primary); }
.fwn-trefferbegriffe .fwn-icon { width: 1.25em; height: 1.25em; }
.fwn-trefferbegriffe small { font-weight: 400; color: var(--fw-color-muted); font-variant-numeric: tabular-nums; }
.fwn-suche .fwn-trefferreiter__karte,
.fwn-suche .fwn-trefferbegriffe a { font-family: var(--fw-font-heading); }
@media (max-width: 600px) {
    .fwn-trefferreiter__karte { padding: var(--fw-space-2) var(--fw-space-3); gap: 0.35em; }
    .fwn-trefferreiter__karte .fwn-icon { width: 1.2em; height: 1.2em; }
}
.fwn-termin__inhalt { min-width: 0; }
.fwn-termin .fwn-card__title { overflow-wrap: break-word; }
.fwn-card--termin { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: var(--fw-space-4); align-items: start; }
.fwn-card--termin .fwn-termingrafik { background: var(--fw-color-bg-tint); }

/* --- Karte: ganz klickbar, „Weiterlesen“ am Fuss ------------------------ */
.fwn-card { display: flex; flex-direction: column; }
.fwn-card.fwn-card--termin { display: grid; align-items: stretch; }
.fwn-card--termin .fwn-termingrafik { align-self: start; }
.fwn-card--termin .fwn-card__inhalt { display: flex; flex-direction: column; }
.fwn-card__title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.fwn-card:hover .fwn-card__title a { color: var(--fw-color-primary); }
.fwn-card:focus-within { background: var(--fw-color-bg-tint); outline: 2px solid var(--fw-color-accent); outline-offset: 2px; }
.fwn-card--termin:hover .fwn-termingrafik,
.fwn-card--termin:focus-within .fwn-termingrafik { background: var(--fw-color-bg); }
.fwn-card__title a:focus-visible { outline: none; }
.fwn-card__mehr {
    margin: auto 0 0;
    padding-top: var(--fw-space-3);
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-sm);
    font-weight: 600;
    color: var(--fw-color-primary);
}
.fwn-card:hover .fwn-card__mehr { text-decoration: underline; text-underline-offset: 3px; }

/* --- Schlagwortseite Rundbrief: Ausgaben wie auf der Startseite ----------- */
.fwn-rundbriefe { margin: var(--fw-space-5) 0 var(--fw-space-7, 3rem); }
.fwn-rundbriefe a { color: inherit; text-decoration: none; }
.fwn-rundbriefe a:hover, .fwn-rundbriefe a:focus-visible { color: var(--fw-color-primary); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.fwn-rundbriefe__raster { display: grid; gap: var(--fw-space-5); grid-template-columns: 1fr; }
@media (min-width: 900px) { .fwn-rundbriefe__raster { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.fwn-rundbriefe .fwn-reihen__rundbrief {
    position: relative;
    padding: var(--fw-space-4);
    border: 1px solid var(--fw-color-border);
    border-radius: var(--fw-radius-md);
    background: var(--fw-color-bg);
    transition: background-color 0.15s ease;
}
.fwn-rundbriefe .fwn-reihen__rundbrief:hover,
.fwn-rundbriefe .fwn-reihen__rundbrief:focus-within { background: var(--fw-color-bg-tint); }
.fwn-rundbriefe .fwn-reihen__rundbrief:focus-within { outline: 2px solid var(--fw-color-accent); outline-offset: 2px; }
.fwn-rundbriefe .fwn-reihen__nr a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.fwn-rundbriefe .fwn-reihen__nr a:focus-visible { outline: none; }
.fwn-rundbriefe .fwn-reihen__rundbrief:hover .fwn-reihen__nr a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }

/* --- Schlagwortseite Tagungen: je Jahr ein Bereich ----------------------- */
.fwn-tagungsjahre { margin: var(--fw-space-5) 0 var(--fw-space-6); }
.fwn-tagungsjahr { margin-bottom: var(--fw-space-7, 3rem); scroll-margin-top: var(--fw-space-6); }
.fwn-tagungsjahr .fwn-start__titel { flex-wrap: wrap; }
.fwn-tagungsjahr__wann { margin-left: auto; font-size: var(--fw-text-sm); font-weight: 400; color: var(--fw-color-muted); }
.fwn-tagungsjahre .fwn-tagungsarchiv { grid-template-columns: repeat(auto-fit, minmax(3.75rem, 1fr)); }
.fwn-einleitung { margin-top: var(--fw-space-4); }
@media (min-width: 900px) { .fwn-einleitung { columns: 2; column-gap: var(--fw-space-6); } }
.fwn-einleitung > * { break-inside: avoid; }
.fwn-einleitung p { margin: 0 0 var(--fw-space-3); }
.fwn-einleitung a { color: var(--fw-color-primary); }
.fwn-einleitung__zitat {
    margin: 0 0 var(--fw-space-3);
    padding: var(--fw-space-2) 0 var(--fw-space-2) var(--fw-space-4);
    border-left: 3px solid var(--fw-color-accent);
    font-style: italic;
    color: var(--fw-color-primary);
}
.fwn-einleitung__zitat p { margin: 0; }

/* --- Veranstaltungen: kommende oben, Rueckblick nach Jahren --------------- */
.fwn-agenda { margin: var(--fw-space-5) 0 var(--fw-space-7, 3rem); }
.fwn-agenda__leer {
    margin: 0;
    padding: var(--fw-space-4) var(--fw-space-5);
    background: var(--fw-color-bg-tint);
    border-left: 3px solid var(--fw-color-accent);
    font-family: var(--fw-font-heading);
}
.fwn-chronik .fwn-tagungsjahre { margin-top: 0; }
.fwn-chronik__jahr { border-bottom: 1px solid var(--fw-color-border); scroll-margin-top: var(--fw-space-6); }
.fwn-chronik__jahr[open] { padding-bottom: var(--fw-space-5); }
.fwn-chronik__kopf {
    display: flex;
    align-items: baseline;
    gap: var(--fw-space-3);
    padding: var(--fw-space-3) 0;
    cursor: pointer;
    list-style: none;
    font-family: var(--fw-font-heading);
}
.fwn-chronik__kopf::-webkit-details-marker { display: none; }
.fwn-chronik__kopf::before { content: "▸"; color: var(--fw-color-primary); transition: transform 0.15s ease; }
.fwn-chronik__jahr[open] > .fwn-chronik__kopf::before { transform: rotate(90deg); }
.fwn-chronik__kopf:hover .fwn-chronik__jahreszahl { color: var(--fw-color-primary); }
.fwn-chronik__kopf:focus-visible { outline: 2px solid var(--fw-color-accent); outline-offset: 2px; }
.fwn-chronik__jahreszahl { font-size: var(--fw-text-xl); font-weight: 700; font-variant-numeric: tabular-nums; }
.fwn-chronik__anzahl { font-size: var(--fw-text-sm); color: var(--fw-color-muted); }

/* --- Weiterfuehrende Links (page-links.php) ------------------------------- */
.fwn-linkrubriken { margin: var(--fw-space-5) 0 var(--fw-space-6); }
.fwn-linkrubriken ul { display: flex; flex-wrap: wrap; gap: var(--fw-space-2); margin: 0; padding: 0; list-style: none; }
.fwn-linkrubriken a {
    display: inline-flex;
    align-items: baseline;
    gap: 0.4em;
    padding: 0.35em 0.75em;
    background: var(--fw-color-bg-tint);
    border-top: 3px solid var(--fw-color-accent);
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-sm);
    color: var(--fw-color-text);
    text-decoration: none;
}
.fwn-linkrubriken a:hover, .fwn-linkrubriken a:focus-visible { background: var(--fw-color-border); color: var(--fw-color-primary); }
.fwn-linkrubriken small { color: var(--fw-color-muted); font-variant-numeric: tabular-nums; }
.fwn-linkrubrik { margin-bottom: var(--fw-space-6); scroll-margin-top: var(--fw-space-6); }
.fwn-linkliste { margin: 0; padding: 0; list-style: none; }
@media (min-width: 720px) { .fwn-linkliste { columns: 2; column-gap: var(--fw-space-6); } }
.fwn-linkliste li { break-inside: avoid; padding: var(--fw-space-2) 0; border-bottom: 1px solid var(--fw-color-border); }
.fwn-linkliste a { font-family: var(--fw-font-heading); font-weight: 600; color: var(--fw-color-text); text-decoration: none; }
.fwn-linkliste a.is-extern::after { content: " ↗"; font-weight: 400; color: var(--fw-color-muted); }
.fwn-linkliste a:hover, .fwn-linkliste a:focus-visible { color: var(--fw-color-primary); text-decoration: underline; text-underline-offset: 3px; }
.fwn-linkliste small { display: block; font-size: var(--fw-text-sm); color: var(--fw-color-muted); }

/* --- Einfache Seiten (page.php): Impressum, Datenschutz, Kontakt ---------- */
.fwn-textseite { padding-bottom: var(--fw-space-7, 3rem); }
.fwn-textseite__inhalt {
    margin-top: var(--fw-space-5);
    font-family: var(--fw-font-body);
    font-size: 1.125rem;
    line-height: 1.6;
    color: var(--fw-color-text);
}
.fwn-textseite__inhalt > * { max-width: 52rem; }
.fwn-textseite__inhalt p { margin: 0 0 var(--fw-space-3); }
.fwn-textseite__inhalt h2 {
    max-width: none;
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-xl);
    font-weight: 600;
    line-height: 1.25;
    color: var(--fw-color-text);
    padding-bottom: var(--fw-space-2);
    border-bottom: 2px solid var(--fw-color-accent);
    margin: var(--fw-space-6) 0 var(--fw-space-4);
}
.fwn-textseite__inhalt h3 {
    font-family: var(--fw-font-heading);
    font-size: 1.125rem;
    font-weight: 600;
    margin: var(--fw-space-5) 0 var(--fw-space-2);
}
.fwn-textseite__inhalt > :first-child { margin-top: 0; }
.fwn-textseite__inhalt ul,
.fwn-textseite__inhalt ol { margin: 0 0 var(--fw-space-4); padding-left: 1.4em; }
.fwn-textseite__inhalt li { margin-bottom: var(--fw-space-1); }
.fwn-textseite__inhalt a { color: var(--fw-color-primary); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.fwn-textseite__inhalt a:hover,
.fwn-textseite__inhalt a:focus-visible { color: var(--fw-color-accent-dark, #5C2872); }
/* Hello rueckt den Seitentitel mobil um 10px ein; im Container steht er buendig mit dem Text. */
.fwn-container > .page-header .entry-title { padding-inline: 0; }
@media (max-width: 599px) {
    .fwn-container > .page-header .entry-title { font-size: clamp(1.75rem, 8vw, 2.5rem); overflow-wrap: break-word; hyphens: auto; }
}
/* Lange Komposita („Kriegsdienstverweigerung") sprengten mobil die Karten; Trennung nur dort. */
.fwn-card__title, .fwn-reihen__ivz li { overflow-wrap: break-word; }
.fwn-reihen__rundbrief { grid-template-columns: 140px minmax(0, 1fr); }
@media (max-width: 599px) {
    .fwn-card__title, .fwn-reihen__ivz li { hyphens: auto; }
    .fwn-reihen__rundbrief { grid-template-columns: 96px minmax(0, 1fr); }
}

/* --- Kontaktformular (geklont von der Vereinsseite, fwn-core Kontakt\Kontaktformular) --- */
/* Honeypot: dieselbe Regel wie fwo-core/assets/spendenformular.css — sichtbar fuellte ihn
   ein Mensch aus, und die Nachricht gaelte als Spam. */
.fwn-kontaktformular .fwo-hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
.fwn-kontaktformular { max-width: 52rem; margin: var(--fw-space-5) 0 var(--fw-space-6); }
.fwn-kontaktformular .e-con,
.fwn-kontaktformular .e-con-inner { padding: 0 !important; max-width: none !important; }
.fwn-kontaktformular form { display: flex; flex-direction: column; gap: var(--fw-space-2); }
.fwn-kontaktformular label {
    margin-top: var(--fw-space-3);
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-sm);
    font-weight: 600;
    color: var(--fw-color-text);
}
.fwn-kontaktformular input:not([type="hidden"]),
.fwn-kontaktformular textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 0.7em 0.85em;
    border: 1px solid var(--fw-color-border);
    border-radius: var(--fw-radius-sm);
    background: var(--fw-color-bg);
    font-family: var(--fw-font-body);
    font-size: 1rem;
    color: var(--fw-color-text);
}
.fwn-kontaktformular textarea { min-height: 10rem; }
.fwn-kontaktformular input::placeholder,
.fwn-kontaktformular textarea::placeholder { font-size: 1rem; color: var(--fw-color-muted); }
.fwn-kontaktformular input:focus-visible,
.fwn-kontaktformular textarea:focus-visible { outline: 2px solid var(--fw-color-accent); outline-offset: 0; border-color: var(--fw-color-primary); }
.fwn-kontaktformular .fwo-ds-hinweis {
    margin: var(--fw-space-4) 0 var(--fw-space-2);
    padding: var(--fw-space-3) var(--fw-space-4);
    background: var(--fw-color-bg-tint);
    border-left: 3px solid var(--fw-color-accent);
}
.fwn-kontaktformular .fwo-ds-hinweis,
.fwn-kontaktformular .fwo-ds-hinweis p { margin: 0; font-family: var(--fw-font-heading); font-size: var(--fw-text-sm); line-height: 1.5; color: var(--fw-color-muted); }
.fwn-kontaktformular button[type="submit"] {
    align-self: flex-start;
    margin-top: var(--fw-space-3);
    padding: 0.75em 1.6em;
    border: 0;
    border-radius: var(--fw-radius-sm);
    background: var(--fw-color-primary);
    color: #FFFFFF;
    font-family: var(--fw-font-heading);
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
}
.fwn-kontaktformular button[type="submit"]:hover,
.fwn-kontaktformular button[type="submit"]:focus-visible { background: #5C2872; outline: 2px solid var(--fw-color-accent); outline-offset: 2px; }

/* Kontakt: links Einleitung und Anschrift, rechts das Formular — wie auf der Vereinsseite.
   Nur mit Formular; gesperrt (Schalter aus) bleibt die Seite einspaltig. */
@media (min-width: 900px) {
    .fwn-seite--kontakt .fwn-textseite__inhalt:has(.fwn-kontaktformular) {
        display: grid;
        grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
        column-gap: var(--fw-space-7, 3rem);
        align-items: start;
    }
    .fwn-seite--kontakt .fwn-textseite__inhalt:has(.fwn-kontaktformular) > * { grid-column: 1; max-width: none; }
    .fwn-seite--kontakt .fwn-textseite__inhalt:has(.fwn-kontaktformular) > .fwn-kontaktformular {
        grid-column: 2;
        grid-row: 1 / span 20;
        margin-top: 0;
    }
}

/* Vorspann (Über dieses Magazin): der erste, gross gesetzte Absatz als Einleitung. */
.fwn-textseite__inhalt > p.has-x-large-font-size:first-child {
    font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.5rem);
    line-height: 1.5;
    color: var(--fw-color-text-muted, #5f5a66);
    margin-bottom: var(--fw-space-6, 2.5rem);
}

/* --- Einzelseiten: Links im Fliesstext und Abschluss vor dem Fuss -------- */
/* Ohne diese Regel greift die Vorgabe von Hello Elementor (a { color: #c36 }). */
:is(.fwn-single, .fwn-archiv-single) .entry-content a:not(.wp-block-button__link) {
    color: var(--fw-color-primary);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}
:is(.fwn-single, .fwn-archiv-single) .entry-content a:not(.wp-block-button__link):is(:hover, :focus-visible) {
    color: var(--fw-color-accent-dark, #5C2872);
    text-decoration-thickness: 2px;
}
.fwn-single,
.fwn-archiv-single { padding-bottom: var(--fw-space-7, 3rem); }

/* Kicker als Themenverweis (single-bestandsartikel.php) und Herkunftszeile am Ende */
.fwn-kicker a { font: inherit; letter-spacing: inherit; color: inherit; text-decoration: none; }
.fwn-kicker a:is(:hover, :focus-visible) { text-decoration: underline; text-underline-offset: 3px; }
.fwn-herkunftszeile {
    margin: 0;
    font-family: var(--fw-font-heading);
    font-size: var(--fw-text-sm);
    color: var(--fw-color-muted);
}

/* Aktuell: der Verweis aufs Archiv sitzt in der Aufmacher-Spalte und schliesst unten mit
   der Liste ab, statt eine eigene Zeile unter beiden Spalten zu oeffnen. */
.fwn-zuletzt__erster { display: flex; flex-direction: column; }
.fwn-zuletzt__erster .fwn-start__weiter { margin-top: auto; padding-top: var(--fw-space-4); }

/* Archivhinweis (ADR-0013, Nachtrag 05.11.2026) */
.fwn-archivhinweis {
    display: flex;
    gap: var(--fw-space-3);
    align-items: flex-start;
    margin: 0 0 var(--fw-space-5);
    padding: var(--fw-space-3) var(--fw-space-4);
    border-left: 4px solid var(--fw-color-accent);
    background: var(--fw-color-bg-tint);
    font-size: var(--fw-text-sm);
    line-height: 1.55;
}
.fwn-archivhinweis p { margin: 0; }
.fwn-archivhinweis .fwn-icon { width: 1.5rem; height: 1.5rem; flex: none; color: var(--fw-color-primary); }
.fwn-archivhinweis a { color: var(--fw-color-primary); font-weight: 600; }

/* Seiten Personen und Themen (ADR-0013, Nachtrag 05.11.2026) */
.fwn-themenseite .page-header, .fwn-personenseite .page-header { margin-bottom: var(--fw-space-6); }
@media (min-width: 900px) { .fwn-themenseite .fwn-themen__liste { grid-template-columns: repeat(2, 1fr); column-gap: var(--fw-space-6); } }
.fwn-personenseite .fwn-register-start a, .fwn-themenseite .fwn-themen__liste a { color: var(--fw-color-primary); text-decoration: none; }
.fwn-personenseite .fwn-register-start a:hover .fwn-themen__name, .fwn-personenseite .fwn-register-start a:focus-visible .fwn-themen__name { text-decoration: underline; }
