.fc-chronik { --chr-rot: #c8102e; --chr-text: #1e1e1e; --chr-leise: #5f6368; --chr-linie: #e2e4e7; --chr-hell: #f7f8fa; color: var(--chr-text); max-width: 980px; margin: 0 auto; }
.fc-chronik h2 { font-size: 1.25rem; margin: 0 0 .75rem; color: var(--chr-text); }
.fc-chronik h2.fc-chronik-titel { font-size: 2rem; margin: 0 0 .15rem; }
.fc-chronik-unterzeile { color: var(--chr-leise); font-weight: 600; margin: 0 0 .5rem; }
.fc-chronik-einleitung { font-size: 1.05rem; line-height: 1.55; margin: 0 0 1.25rem; }
.fc-chronik-block { margin: 2rem 0 0; }
.fc-chronik-leer { color: var(--chr-leise); }

.fc-chronik-kacheln { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }
.fc-chronik-kachel { background: var(--chr-hell); border: 1px solid var(--chr-linie); border-radius: 8px; padding: .8rem 1rem; }
.fc-chronik-kachel strong { display: block; font-size: 1.6rem; line-height: 1.2; color: var(--chr-text); }
.fc-chronik-kachel span { color: var(--chr-leise); font-size: .85rem; }
.fc-chronik-kachel:first-child strong { color: var(--chr-rot); }

.fc-chronik-grafik { margin: 0; }
.fc-chronik-grafik svg { display: block; width: 100%; height: auto; overflow: visible; }
.fc-chronik-gitter { stroke: var(--chr-linie); stroke-width: 1; }
.fc-chronik-achse { fill: var(--chr-leise); font-size: 12px; }
.fc-chronik-linie { fill: none; stroke: var(--chr-rot); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.fc-chronik-marke { fill: var(--chr-rot); stroke: #fff; stroke-width: 2; }
.fc-chronik-treffer { fill: transparent; }
.fc-chronik-marke-text { fill: var(--chr-text); font-size: 13px; font-weight: 700; }
.fc-chronik-punkt { cursor: pointer; outline: none; }
.fc-chronik-punkt:focus-visible .fc-chronik-treffer, .fc-chronik-punkt--aktiv .fc-chronik-treffer { fill: rgba(200, 16, 46, .14); }
.fc-chronik-tipp { color: var(--chr-leise); font-size: .9rem; min-height: 1.4em; margin-top: .4rem; }

.fc-chronik-scroll { overflow-x: auto; }
.fc-chronik-tabelle { width: 100%; border: 0; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.fc-chronik-tabelle th, .fc-chronik-tabelle td { padding: .45rem .5rem; text-align: center; border: 0; border-bottom: 1px solid var(--chr-linie); white-space: nowrap; }
.fc-chronik-tabelle th { color: var(--chr-leise); font-size: .85rem; font-weight: 600; }
.fc-chronik-tabelle .fc-chronik-links { text-align: left; }
.fc-chronik-zeile--eigen td { background: #fdecef; font-weight: 700; }
.fc-chronik-abgeleitet { color: var(--chr-rot); font-weight: 700; cursor: help; }
.fc-chronik-notiz { color: var(--chr-leise); font-size: .85rem; margin: .5rem 0 0; }

.fc-chronik-spiele { border-top: 1px solid var(--chr-linie); }
.fc-chronik-spiel { border-bottom: 1px solid var(--chr-linie); }
.fc-chronik-spiel summary { display: grid; grid-template-columns: 2rem 6.2rem minmax(0, 1fr) auto 1.9rem 5.2rem; gap: .5rem; align-items: center; padding: .55rem .25rem; cursor: pointer; list-style: none; font-variant-numeric: tabular-nums; }
.fc-chronik-spiel summary::-webkit-details-marker { display: none; }
.fc-chronik-spiel summary:hover { background: var(--chr-hell); }
.fc-chronik-spiel summary:focus-visible { outline: 2px solid #cf1c1f; outline-offset: -2px; }
.fc-chronik-spiel--leer summary:hover { background: none; }
.fc-chronik-aufklapp-hinweis { margin: 0 0 .6rem; color: var(--chr-leise); font-size: .95rem; }
.fc-chronik-sp-auf { display: inline-flex; align-items: center; justify-content: flex-end; gap: .4rem; color: #cf1c1f; font-size: .85rem; font-weight: 700; }
.fc-chronik-sp-auf::after { content: ""; width: .5rem; height: .5rem; margin-top: -.2rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .15s; }
.fc-chronik-spiel[open] .fc-chronik-sp-auf::after { margin-top: .2rem; transform: rotate(-135deg); }
.fc-chronik-sp-nr { color: var(--chr-leise); }
.fc-chronik-sp-datum { color: var(--chr-leise); font-size: .9rem; }
.fc-chronik-sp-gegner { overflow-wrap: anywhere; }
.fc-chronik-sp-tor { font-weight: 700; white-space: nowrap; }
.fc-chronik-sp-tor small { color: var(--chr-leise); font-weight: 400; }
.fc-chronik-sp-art { width: 1.6rem; height: 1.6rem; line-height: 1.6rem; text-align: center; border-radius: 50%; font-size: .8rem; font-weight: 700; color: #fff; }
.fc-chronik-spiel--s .fc-chronik-sp-art { background: #1a7f37; }
.fc-chronik-spiel--u .fc-chronik-sp-art { background: #6b7280; }
.fc-chronik-spiel--n .fc-chronik-sp-art { background: #b42318; }
.fc-chronik-sp-detail { padding: .25rem .25rem .8rem 2.5rem; }
.fc-chronik-sp-detail p { margin: .3rem 0; line-height: 1.5; }
.fc-chronik-sp-titel { font-weight: 700; }
.fc-chronik-sp-hinweis { color: #7a4b00; background: #fff6e5; padding: .4rem .6rem; border-radius: 6px; }
.fc-chronik-sp-tore { color: var(--chr-leise); font-size: .9rem; }
.fc-chronik-spiel--leer summary { cursor: default; }

.fc-chronik-liste { list-style: none; margin: 0; padding: 0; }
.fc-chronik-liste li { padding: .7rem 0; border-bottom: 1px solid var(--chr-linie); line-height: 1.5; }

@media (max-width: 640px) {
  .fc-chronik-kacheln { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fc-chronik-kachel strong { font-size: 1.35rem; }
  .fc-chronik-tabelle th, .fc-chronik-tabelle td { padding: .45rem .2rem; font-size: .8rem; }
  .fc-chronik-tabelle .fc-chronik-klein { display: none; }
  .fc-chronik-spiel summary { grid-template-columns: 1.5rem minmax(0, 1fr) auto 1.7rem 1rem; row-gap: .05rem; }
  .fc-chronik-sp-auf { grid-column: 5; grid-row: 1 / span 2; }
  .fc-chronik-sp-auf-wort { display: none; }
  .fc-chronik-sp-nr { grid-row: 1 / span 2; }
  .fc-chronik-sp-datum { grid-column: 2; grid-row: 2; font-size: .8rem; }
  .fc-chronik-sp-gegner { grid-column: 2; grid-row: 1; }
  .fc-chronik-sp-tor { grid-column: 3; grid-row: 1 / span 2; text-align: right; }
  .fc-chronik-sp-tor small { display: block; }
  .fc-chronik-sp-art { grid-column: 4; grid-row: 1 / span 2; }
  .fc-chronik-sp-detail { padding-left: .25rem; }
}

/* Germania-Design: Farben ersetzt chronik.js, hier nur, was im Stylesheet nicht rot ist */
body.fc-era-germania .ast-primary-header-bar, body.fc-era-germania .site-header { background-color: #1a1a1a; }
body.fc-era-germania img.custom-logo { width: auto !important; height: 76px !important; max-height: 76px !important; max-width: none !important; object-fit: contain; }
body.fc-era-germania .ast-header-sticked img.custom-logo { height: 60px !important; max-height: 60px !important; }
body.fc-era-germania .fc-footer-branding img { height: 80px; width: auto; }
body.fc-era-germania footer h3, body.fc-era-germania .site-footer h3, body.fc-era-germania [class*="footer"] h3 { color: #f0c168 !important; }
/* Mitmach-Banner golden, Schrift dunkel, damit sie lesbar bleibt */
body.fc-era-germania .fc-cta { background: #f0c168 !important; }
body.fc-era-germania .fc-cta, body.fc-era-germania .fc-cta h2, body.fc-era-germania .fc-cta h3, body.fc-era-germania .fc-cta p { color: #1a1a1a !important; }
body.fc-era-germania .fc-cta a, body.fc-era-germania .fc-cta button { background: #1a1a1a !important; color: #f0c168 !important; border-color: #1a1a1a !important; }
body.fc-era-germania .fc-cta a:hover, body.fc-era-germania .fc-cta button:hover { background: #fff !important; color: #1a1a1a !important; }
@media (max-width: 768px) { body.fc-era-germania img.custom-logo { height: 58px !important; max-height: 58px !important; } }
body.fc-era-germania .mannschaft-hero h1, body.fc-era-germania .mannschaft-hero h2 { color: #fff !important; }
body.fc-era-germania .fc-auth-lion-icon { filter: grayscale(1) sepia(1) saturate(3) brightness(1.15); }

/* Cookie-Banner (Complianz) bleibt in jedem Vereinsdesign lesbar: die allgemeine Knopf-Regel des Themes wird umgefärbt, die hellen Knöpfe nicht */
body[class*="fc-era-"] .cmplz-cookiebanner .cmplz-btn.cmplz-deny { background-color: var(--cmplz_button_deny_background_color, #f9f9f9) !important; border-color: var(--cmplz_button_deny_border_color, #f2f2f2) !important; color: var(--cmplz_button_deny_text_color, #222) !important; }
body[class*="fc-era-"] .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences, body[class*="fc-era-"] .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences, body[class*="fc-era-"] .cmplz-cookiebanner .cmplz-btn.cmplz-manage-options { background-color: var(--cmplz_button_settings_background_color, #f9f9f9) !important; border-color: var(--cmplz_button_settings_border_color, #f2f2f2) !important; color: var(--cmplz_button_settings_text_color, #333) !important; }
body[class*="fc-era-"] .cmplz-btn.cmplz-manage-consent { background-color: #fff !important; border-color: #f2f2f2 !important; color: #222 !important; }

/* Alemannia-Design: Gelb, Rot und Schwarz wie im Logo */
body.fc-era-alemannia .ast-primary-header-bar, body.fc-era-alemannia .ast-mobile-header-wrap .ast-primary-header-bar, body.fc-era-alemannia .site-header { background-color: #f7e31b !important; border-color: #1a1a1a !important; }
body.fc-era-alemannia .fc-line1, body.fc-era-alemannia .fc-line2 { color: #1a1a1a !important; }
body.fc-era-alemannia .main-header-menu > .menu-item > a, body.fc-era-alemannia .main-header-menu > .menu-item > a svg, body.fc-era-alemannia .ast-header-break-point .menu-toggle, body.fc-era-alemannia .site-header .ast-mobile-menu-trigger-minimal { color: #1a1a1a !important; fill: #1a1a1a !important; }
body.fc-era-alemannia .main-header-menu > .current-menu-item > a, body.fc-era-alemannia .main-header-menu > .current-menu-ancestor > a, body.fc-era-alemannia .main-header-menu > .menu-item > a:hover { color: #c8161d !important; }
body.fc-era-alemannia .ast-primary-header-bar, body.fc-era-alemannia .ast-mobile-header-wrap .ast-primary-header-bar { border-bottom: 3px solid #c8161d !important; }
body.fc-era-alemannia .fc-tr-current, body.fc-era-alemannia .fc-tr-current .fc-tr-short, body.fc-era-alemannia .fc-tr-current svg { color: #1a1a1a !important; fill: currentColor; }
body.fc-era-alemannia .main-header-menu .sub-menu a { color: #ccc !important; }
body.fc-era-alemannia .main-header-menu .sub-menu a:hover { color: #f7e31b !important; }
body.fc-era-alemannia .fupa-table thead th { color: #f7e31b !important; }
body.fc-era-alemannia .fupa-table tr.fupa-highlight td { border-left-color: #f7e31b; }
body.fc-era-alemannia .fc-chronik-kader-titel, body.fc-era-alemannia .fc-chronik-leben-titel { border-bottom: 3px solid #f7e31b; display: inline-block; padding-bottom: 4px; }
body.fc-era-alemannia .fc-chronik-leben-eintrag h4 { color: #c8161d; }
body.fc-era-alemannia .mannschaft-hero { border-bottom: 4px solid #f7e31b; }
body.fc-era-alemannia img.custom-logo { width: auto !important; height: 76px !important; max-height: 76px !important; max-width: none !important; object-fit: contain; }
body.fc-era-alemannia .ast-header-sticked img.custom-logo { height: 60px !important; max-height: 60px !important; }
body.fc-era-alemannia .fc-footer-branding img { height: 80px; width: auto; }
body.fc-era-alemannia footer h3, body.fc-era-alemannia .site-footer h3, body.fc-era-alemannia [class*="footer"] h3 { color: #f7e31b !important; }
body.fc-era-alemannia .fc-cta { background: #f7e31b !important; }
body.fc-era-alemannia .fc-cta, body.fc-era-alemannia .fc-cta h2, body.fc-era-alemannia .fc-cta h3, body.fc-era-alemannia .fc-cta p { color: #1a1a1a !important; }
body.fc-era-alemannia .fc-cta a, body.fc-era-alemannia .fc-cta button { background: #c8161d !important; color: #fff !important; border-color: #c8161d !important; }
body.fc-era-alemannia .fc-cta a:hover, body.fc-era-alemannia .fc-cta button:hover { background: #1a1a1a !important; color: #f7e31b !important; border-color: #1a1a1a !important; }
@media (max-width: 768px) { body.fc-era-alemannia img.custom-logo { height: 58px !important; max-height: 58px !important; } }
@media (max-width: 768px) { body.fc-era-alemannia .fc-line1, body.fc-era-alemannia .fc-line2 { white-space: nowrap; } body.fc-era-alemannia .fc-line1 { font-size: 10px !important; } body.fc-era-alemannia .fc-line2 { font-size: 15px !important; } }
body.fc-era-alemannia .menu-toggle, body.fc-era-alemannia .menu-toggle svg, body.fc-era-alemannia .menu-toggle svg path, body.fc-era-alemannia .ast-mobile-svg { color: #1a1a1a !important; fill: #1a1a1a !important; background: transparent !important; }

/* Zeitungsfotos und Spielablauf */
.fc-chronik-foto { margin: 1rem auto; max-width: 560px; text-align: center; }
.fc-chronik-foto img { display: block; margin: 0 auto; width: auto; max-width: 100%; max-height: 480px; height: auto; border-radius: 6px; }
.fc-chronik-foto figcaption { color: #5f6368; font-size: .85rem; line-height: 1.4; margin-top: .4rem; text-align: center; }
.fc-chronik-ticker { padding: .25rem 1rem 1rem; text-align: left; cursor: auto; }
.fc-chronik-ticker p { margin: .35rem auto; line-height: 1.5; max-width: 680px; }
.fc-chronik-ticker .fupa-timeline { margin: 0 auto .75rem; max-width: 680px; }
.fc-chronik-ticker .fc-chronik-mitte { text-align: center; }
.fupa-match-archive .fc-chronik-sp-titel { font-weight: 700; margin-top: .75rem; }
.fc-chronik-spiele .fc-chronik-sp-detail { padding-left: .25rem; }

/* Freitext zur Saison: ruhige Lesespalte statt zentriertem Block */
.fc-chronik-freitext { max-width: 760px; margin: 0 auto; text-align: left; }
.fc-chronik-freitext > p { line-height: 1.6; margin: 0 0 .8rem; }
.fc-chronik-freitext h3 { font-size: 1.05rem; margin: 0 0 .35rem; color: inherit; text-align: left; }
.fc-chronik-freitext h3::after { display: none; }
.fc-chronik-klein-text { color: #5f6368; font-size: .85rem; margin: 0 0 .5rem; }
.fc-chronik-freitext .fc-chronik-kader-titel { font-size: 1.15rem; margin: 1.75rem 0 .15rem; }
.fc-chronik-kader { list-style: none; margin: .75rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: .6rem; }
.fc-chronik-spieler { display: flex; align-items: center; gap: .65rem; min-height: 58px; padding: .5rem .75rem; background: #fff; border: 1px solid #e2e4e7; border-radius: 10px; box-shadow: 0 1px 3px rgba(0, 0, 0, .05); }
.fc-chronik-spieler-kreis { flex: none; width: 38px; height: 38px; line-height: 38px; text-align: center; border-radius: 50%; background: #fdecef; color: #cf1c1f; font-weight: 700; }
.fc-chronik-spieler-text { flex: 1; min-width: 0; line-height: 1.25; }
.fc-chronik-spieler-text strong { display: block; overflow-wrap: anywhere; }
.fc-chronik-spieler-text small { color: #5f6368; font-size: .8rem; }
.fc-chronik-spieler-tore { flex: none; color: #1e1e1e; font-size: .9rem; font-weight: 700; white-space: nowrap; }
.fc-chronik-aemter { list-style: none; margin: .5rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: .4rem .6rem; }
.fc-chronik-aemter li { padding: .2rem 0; }
.fc-chronik-aemter strong { display: block; }
.fc-chronik-aemter span { color: #5f6368; font-size: .85rem; }
.fc-chronik-freitext .fc-chronik-leben-titel { margin: 1.75rem 0 .75rem; font-size: 1.15rem; }
.fc-chronik-leben { display: grid; gap: 1.5rem; }
.fc-chronik-leben-eintrag { padding-bottom: 1.25rem; border-bottom: 1px solid #e2e4e7; }
.fc-chronik-leben-eintrag:last-child { border-bottom: 0; }
.fc-chronik-leben-eintrag h4 { font-size: 1rem; margin: .5rem 0 0; }
.fc-chronik-leben-eintrag p { line-height: 1.55; margin: .25rem 0; }
.fc-chronik-leben-eintrag .fc-chronik-foto { margin-top: 0; }
.mannschaft-description .fc-chronik-freitext p, .mannschaft-description .fc-chronik-freitext h3, .mannschaft-description .fc-chronik-freitext h4 { text-align: left; }
.mannschaft-description .fc-chronik-foto figcaption { text-align: center; }
@media (max-width: 640px) {
  .fc-chronik-kader { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fc-chronik-spieler { padding: .45rem .6rem; gap: .35rem; min-height: 50px; }
  .fc-chronik-spieler-kreis { display: none; }
  .fc-chronik-spieler-text strong { overflow-wrap: normal; }
  .fc-chronik-ticker .fupa-tl-name { white-space: normal; overflow: visible; text-overflow: clip; }
  .fc-chronik-ticker { padding: .25rem .5rem .75rem; }
  .fc-chronik-foto img { max-height: 380px; }
}

/* Saison-Auswahl im Archiv */
.fc-chronik-auswahl { position: relative; display: inline-block; margin: 0 0 24px; z-index: 5; }
.fc-chronik-auswahl summary { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border: 1px solid #cf1c1f; border-radius: 999px; background: #fff; color: #1a1a1a; font-weight: 700; cursor: pointer; list-style: none; }
.fc-chronik-auswahl summary::-webkit-details-marker { display: none; }
.fc-chronik-auswahl summary::after { content: ""; width: 7px; height: 7px; margin: -3px 2px 0 4px; border-right: 2px solid #cf1c1f; border-bottom: 2px solid #cf1c1f; transform: rotate(45deg); transition: transform .15s; }
.fc-chronik-auswahl[open] summary::after { margin-top: 3px; transform: rotate(-135deg); }
.fc-chronik-auswahl summary:focus-visible { outline: 2px solid #cf1c1f; outline-offset: 2px; }
.fc-chronik-auswahl-klein { font-size: 12px; font-weight: 500; color: #666; }
.fc-chronik-auswahl ul { position: absolute; top: calc(100% + 6px); left: 0; min-width: 260px; max-height: 340px; overflow-y: auto; margin: 0; padding: 6px; list-style: none; background: #fff; border-radius: 12px; box-shadow: 0 8px 28px rgba(0, 0, 0, .18); scrollbar-width: thin; }
.fc-chronik-auswahl li { margin: 0; }
.fc-chronik-auswahl a { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 9px 12px; border-radius: 8px; color: #1a1a1a; text-decoration: none; }
.fc-chronik-auswahl a span { font-size: 12px; color: #666; }
.fc-chronik-auswahl a:hover { background: #fdecea; }
.fc-chronik-auswahl a.fc-chronik-auswahl-aktiv { background: #cf1c1f; color: #fff; }
.fc-chronik-auswahl a.fc-chronik-auswahl-aktiv span { color: #fff; }
.fc-chronik .fc-chronik-auswahl a.fc-chronik-auswahl-aktiv, .fc-chronik .fc-chronik-auswahl a.fc-chronik-auswahl-aktiv strong, .fc-chronik .fc-chronik-auswahl a.fc-chronik-auswahl-aktiv span { color: #fff !important; }

/* Originalseiten */
.fc-chronik-scans { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 14px; margin: 16px 0 0; padding: 0; list-style: none; }
.fc-chronik-scans li { margin: 0; }
.fc-chronik-scan { display: block; border-radius: 6px; overflow: hidden; box-shadow: 0 2px 10px rgba(0, 0, 0, .14); transition: transform .15s, box-shadow .15s; }
.fc-chronik-scan:hover, .fc-chronik-scan:focus-visible { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(0, 0, 0, .24); }
.fc-chronik-scan img { display: block; width: 100%; height: auto; }

/* Bilder der Saison */
.fc-chronik-galerie-titel { margin-top: 1.6rem; }
.fc-chronik-galerie { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 18px; margin: 14px 0 0; }
.fc-chronik-galerie-bild { margin: 0; }
.fc-chronik-galerie-bild img { display: block; width: 100%; height: 190px; object-fit: cover; object-position: center 30%; border-radius: 8px; box-shadow: 0 2px 10px rgba(0, 0, 0, .14); transition: transform .15s, box-shadow .15s; }
.fc-chronik-galerie-bild a:hover img, .fc-chronik-galerie-bild a:focus-visible img { transform: translateY(-3px); box-shadow: 0 6px 18px rgba(0, 0, 0, .24); }
.fc-chronik-galerie-bild figcaption { margin-top: .45rem; font-size: .85rem; line-height: 1.35; color: #5f6368; }
.fc-chronik-bild { display: block; cursor: zoom-in; }

/* Pfeile neben der Saison-Auswahl */
.fc-chronik-saisonnavi { display: flex; align-items: center; gap: 8px; margin: 0 0 24px; }
.fc-chronik-saisonnavi .fc-chronik-auswahl { margin: 0; }
.fc-chronik-pfeil { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 40px; height: 40px; border: 1px solid #cf1c1f; border-radius: 50%; background: #fff; color: #cf1c1f; font-size: 26px; line-height: 1; text-decoration: none; }
.fc-chronik-pfeil:hover, .fc-chronik-pfeil:focus-visible { background: #cf1c1f; color: #fff; }
.fc-chronik-pfeil-aus, .fc-chronik-pfeil-aus:hover { border-color: #d9d9d9; background: #fff; color: #cfcfcf; cursor: default; }

.fc-chronik .fc-chronik-pfeil, .fc-chronik .fc-chronik-pfeil:hover { text-decoration: none !important; padding-bottom: 4px; box-sizing: border-box; }

/* Vereinsgeschichte */
.fc-chronik-inhalt { margin: 18px 0 28px; padding: 16px 20px; border: 1px solid #e5e5e5; border-radius: 12px; background: #fafafa; }
.fc-chronik-inhalt h2 { margin: 0 0 8px; font-size: 1.1em; }
.fc-chronik-inhalt ol { margin: 0; padding-left: 22px; }
.fc-chronik-inhalt li { margin: 4px 0; }
.fc-chronik-inhalt span { color: #666; font-size: .88em; white-space: nowrap; }
.fc-chronik-kapitel { scroll-margin-top: 90px; overflow-wrap: anywhere; }
.fc-chronik-kapitel-zeit { margin: -6px 0 12px; color: #666; font-weight: 600; }
.fc-chronik-kapitel-liste { margin: 0 0 16px; padding-left: 0; list-style: none; }
.fc-chronik-kapitel-liste li { padding: 3px 0; border-bottom: 1px solid #eee; }
.fc-chronik-kapitel-liste strong { display: inline-block; min-width: 130px; }
.fc-chronik-kapitel-saisons { margin-top: 14px; font-size: .92em; color: #555; }

/* Im Archiv stehen Texte bündig unter ihrer Überschrift, auf der Mannschaftsseite bleiben sie mittig */
.fc-chronik .fc-chronik-freitext { margin-left: 0; margin-right: 0; }
/* Das Theme rückt Listen in .entry-content um 20px ein, der Kader steht aber bündig */
.fc-chronik-freitext .fc-chronik-kader { margin-left: 0; padding-left: 0; }

/* Bildzeile nur für den Fotoviewer (Quelle), auf der Seite unsichtbar */
.fc-chronik-nur-viewer { display: none !important; }
.fc-chronik-scans figure.fc-chronik-scan-bild { margin: 0; }

/* Kopf der Archivsaison: Überschrift links, Wappen des Vereins rechtsbündig */
.fc-chronik-kopf { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.fc-chronik-kopf-text { min-width: 0; }
.fc-chronik-wappen { flex: 0 0 auto; width: 72px; height: 90px; object-fit: contain; }
@media (max-width: 600px) { .fc-chronik-wappen { width: 52px; height: 65px; } }

/* Kopf mit Wappen und Einleitung so breit wie die Texte darunter, das Wappen steht am rechten Rand dieses Textbereichs */
.fc-chronik-kopf, .fc-chronik .fc-chronik-einleitung { max-width: 760px; }

/* Reiter: Saisons | Vereinsgeschichte, oben auf jeder Archivseite */
.fc-chronik-bereiche { display: flex; gap: 4px; margin: 0 0 20px; padding: 4px; border-radius: 999px; background: var(--chr-hell); border: 1px solid var(--chr-linie); width: fit-content; max-width: 100%; }
.fc-chronik-bereiche a { padding: 8px 20px; border-radius: 999px; font-weight: 600; text-decoration: none !important; color: var(--chr-text); white-space: nowrap; }
.fc-chronik-bereiche a:hover { background: #fff; }
.fc-chronik-bereiche a.aktiv { background: var(--chr-rot); color: #fff !important; }
@media (max-width: 600px) { .fc-chronik-bereiche { width: 100%; } .fc-chronik-bereiche a { flex: 1 1 0; text-align: center; padding: 8px 10px; } }

/* Kennzeichen und Filter im Archiv */
.fc-chronik-marken { display: inline-flex; flex-wrap: wrap; gap: 4px; margin-left: 8px; vertical-align: middle; }
.fc-chronik-marke { display: inline-block; padding: 1px 8px; border-radius: 999px; font-size: 11px; font-weight: 600; line-height: 1.6; background: #eef1f4; color: #3c4043; }
.fc-chronik-marke.m-zahlen { background: #e6f0fb; color: #1d4f91; }
.fc-chronik-marke.m-bilder { background: #fdf0e3; color: #8a4b0f; }
.fc-chronik-marke.m-erfolg { background: #fbe7e9; color: #a3121f; }
.fc-chronik-filter { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 16px; }
.fc-chronik-filter button { padding: 5px 12px; border-radius: 999px; border: 1px solid var(--chr-linie, #e2e4e7); background: #fff; color: #1e1e1e; font-size: 13px; font-weight: 600; cursor: pointer; line-height: 1.4; }
.fc-chronik-filter button.aktiv { background: #1e1e1e; border-color: #1e1e1e; color: #fff !important; }
.fc-chronik-auswahl ul { min-width: 330px; }
.fc-chronik-auswahl li.fc-chronik-filter-zeile { position: sticky; top: -6px; z-index: 1; background: #fff; padding: 6px 6px 2px; border-bottom: 1px solid #eee; }
.fc-chronik-auswahl .fc-chronik-filter { margin: 0 0 4px; }
.fc-chronik-auswahl .fc-chronik-filter button { font-size: 12px; padding: 3px 9px; }
.fc-chronik-auswahl a { flex-wrap: wrap; }
.fc-chronik-auswahl a .fc-chronik-marken { flex-basis: 100%; margin: 2px 0 0; }
.fc-chronik-auswahl a .fc-chronik-marken .fc-chronik-marke { font-size: 10px; }
[data-merkmale][hidden] { display: none !important; }
/* Bildarchiv */
.fc-chronik-jahrzehnte { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 8px; }
.fc-chronik-jahrzehnte a { padding: 4px 10px; border-radius: 8px; background: var(--chr-hell, #f7f8fa); font-weight: 600; text-decoration: none; }
.fc-chronik-jahrzehnt h2 { scroll-margin-top: 90px; }
.fc-chronik-bild-saison { display: inline-block; margin-top: 4px; font-size: 13px; font-weight: 600; }
@media (max-width: 600px) { .fc-chronik-auswahl ul { min-width: 0; width: calc(100vw - 40px); } }

/* Bildarchiv kompakt: Bildtext auf drei Zeilen, voller Text im Viewer; mobil zwei Spalten */
.fc-chronik-bildarchiv .fc-chronik-galerie { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
.fc-chronik-bildarchiv .fc-chronik-galerie-bild figcaption { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.fc-chronik-bildarchiv .fc-chronik-galerie-bild img { height: 160px; }
@media (max-width: 600px) {
  .fc-chronik-bildarchiv .fc-chronik-galerie { grid-template-columns: 1fr 1fr; gap: 10px; }
  .fc-chronik-bildarchiv .fc-chronik-galerie-bild img { height: 120px; }
  .fc-chronik-bildarchiv .fc-chronik-galerie-bild figcaption { font-size: .78rem; }
  .fc-chronik-bildarchiv .fc-chronik-bild-saison { font-size: 12px; }
}
/* Saisonauswahl: Kennzeichen ohne Unterstreichung (Vereinsdesigns unterstreichen Links); mobil volle Breite unter der Saisonleiste */
.fc-chronik .fc-chronik-auswahl a, .fc-chronik .fc-chronik-auswahl a * { text-decoration: none !important; }
@media (max-width: 600px) {
  .fc-chronik-saisonnavi { position: relative; }
  .fc-chronik-saisonnavi .fc-chronik-auswahl { position: static; }
  .fc-chronik-saisonnavi .fc-chronik-auswahl ul { left: 0; right: 0; width: auto; max-height: 60vh; }
}

/* Fassungen der Fotos: koloriert / KI-verbessert / Original */
.fc-chronik-bild[data-fassungen] { position: relative; display: block; }
.fc-chronik-ki-etikett { position: absolute; left: 6px; bottom: 6px; padding: 1px 7px; border-radius: 999px; background: rgba(0, 0, 0, .68); color: #fff; font-size: 11px; font-weight: 600; line-height: 1.6; pointer-events: none; }
.fc-chronik-fassung { display: flex; flex-wrap: wrap; gap: 4px; margin: 6px 0 2px; }
.fc-chronik-fassung button { padding: 2px 9px; border-radius: 999px; border: 1px solid var(--chr-linie, #e2e4e7); background: #fff; color: #1e1e1e; font-size: 12px; font-weight: 600; cursor: pointer; line-height: 1.5; }
.fc-chronik-fassung button[aria-pressed="true"] { background: #1e1e1e; border-color: #1e1e1e; color: #fff !important; }
.fc-chronik-fassung .fc-chronik-vergleich-knopf { margin-left: auto; border-style: dashed; }
.fc-chronik-ki-hinweis { margin: 0 0 16px; padding: 10px 14px; border-left: 4px solid #e5c17c; background: #fffaf0; border-radius: 6px; font-size: 14px; line-height: 1.5; max-width: 760px; }
.fc-chronik-vergleich { position: fixed; inset: 0; z-index: 100000; background: rgba(0, 0, 0, .9); display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 14px; }
.fc-chronik-vergleich[hidden] { display: none; }
.fc-chronik-vergleich-bild { position: relative; max-width: 96vw; }
.fc-chronik-vergleich-bild img.u { display: block; max-width: 96vw; max-height: 74vh; }
.fc-chronik-vergleich-bild .o { position: absolute; inset: 0; overflow: hidden; }
.fc-chronik-vergleich-bild .o img { width: 100%; height: 100%; object-fit: fill; display: block; }
.fc-chronik-vergleich-bild .l { position: absolute; top: 0; bottom: 0; width: 2px; background: #fff; pointer-events: none; }
.fc-chronik-vergleich-text { color: #eee; margin: 10px 0 4px; text-align: center; font-size: 14px; max-width: 600px; }
.fc-chronik-vergleich input { width: min(600px, 90vw); }
.fc-chronik-vergleich .zu { margin-top: 8px; padding: 6px 16px; border-radius: 999px; border: 1px solid #fff; background: transparent; color: #fff; cursor: pointer; }

/* Vereinsdesigns färben Knöpfe mit !important – Fassungsknöpfe bleiben hell bzw. aktiv dunkel */
.fc-chronik-fassung button { background: #fff !important; color: #1e1e1e !important; border: 1px solid #d0d3d7 !important; box-shadow: none !important; text-transform: none !important; letter-spacing: 0 !important; }
.fc-chronik-fassung button[aria-pressed="true"] { background: #1e1e1e !important; color: #fff !important; border-color: #1e1e1e !important; }
.fc-chronik-fassung .fc-chronik-vergleich-knopf { border-style: dashed !important; }
