/* JFC – Was ist los? (nutzt die Farben des JFC-Themes, mit Rückfallwerten) */
.jfc-wil { --wil-fg: var(--wp--preset--color--contrast, #0b0b0b); --wil-line: var(--wp--preset--color--line, #ddd); --wil-muted: var(--wp--preset--color--muted, #5e5e5e); --wil-surface: var(--wp--preset--color--surface, #f2f2f2); }
.jfc-wil-form { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: end; padding: 1rem; background: var(--wil-surface); margin-bottom: 1.5rem; }
.jfc-wil-form label { display: grid; gap: .25rem; font-weight: 600; font-size: .875rem; }
.jfc-wil-form input, .jfc-wil-form select { font: inherit; padding: .5rem .6rem; border: 1px solid var(--wil-line); background: #fff; color: var(--wil-fg); min-width: 0; }
.jfc-wil-form button { font: inherit; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: .8rem; padding: .6rem 1.1rem; border: 2px solid var(--wil-fg); background: transparent; color: var(--wil-fg); cursor: pointer; }
.jfc-wil-form button:hover { background: var(--wil-fg); color: #fff; }
.jfc-wil-list { display: grid; gap: 1.25rem; }
.jfc-wil-day h3 { display: flex; gap: .5rem; align-items: baseline; margin: 0; padding-bottom: .5rem; border-bottom: 3px solid var(--wil-fg); font-size: 1.1rem; text-transform: none; letter-spacing: 0; }
.jfc-wil-day h3 small { font-weight: 400; color: var(--wil-muted); font-size: .85rem; }
.jfc-wil-day h3 .cnt { margin-left: auto; }
.jfc-wil-match { display: grid; grid-template-columns: 4rem 11rem minmax(0, 1fr); gap: .25rem 1rem; padding: .75rem 0; border-bottom: 1px solid var(--wil-line); align-items: baseline; }
.jfc-wil-match .t { font-weight: 800; font-variant-numeric: tabular-nums; }
.jfc-wil-match .w { font-weight: 600; }
.jfc-wil-match small { display: block; font-weight: 400; color: var(--wil-muted); font-size: .8rem; }
.jfc-wil-match .m { min-width: 0; }
.jfc-wil-match .note { color: #9a6700; font-size: .8rem; }
.jfc-wil .dot { display: inline-block; width: .6rem; height: .6rem; border-radius: 2px; margin-right: .4rem; vertical-align: .05em; background: #0b0b0b; }
.jfc-wil .c-bwb { background: #2457a6; } .jfc-wil .c-djk { background: #2e7d4f; } .jfc-wil .c-rwo { background: #b3261e; }
.jfc-wil .empty { color: var(--wil-muted); margin: .75rem 0 0; }
.jfc-wil-src { color: var(--wil-muted); font-size: .8rem; margin-top: 1.5rem; }
@media (max-width: 600px) { .jfc-wil-match { grid-template-columns: 3.5rem minmax(0, 1fr); } .jfc-wil-match .m { grid-column: 1 / -1; } }
/* v1.1: Hinweis + Spielplan */
.jfc-wil-lead { border-left: 4px solid var(--wil-fg); padding: .5rem 0 .5rem 1rem; margin: 0 0 1.25rem; }
.jfc-wil-match.sp .ha { text-transform: uppercase; letter-spacing: .08em; font-size: .7rem; font-weight: 700; }
.jfc-wil-match.sp .ha-H { color: var(--wil-fg); }
.jfc-wil .home-badge { font-weight: 700; color: var(--wil-fg); }
.jfc-wil-match.sp a { color: inherit; }
.jfc-sp[data-team]:not([data-team=""]) .jfc-wil-match { grid-template-columns: 4rem 9rem minmax(0, 1fr); }
/* v1.3: Tabelle */
.jfc-tab-league { font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: .8rem; color: var(--wp--preset--color--muted, #5e5e5e); margin: 0 0 .5rem; }
.jfc-tab-wrap { overflow-x: auto; }
.jfc-tab table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; font-size: .95rem; }
.jfc-tab th, .jfc-tab td { padding: .5rem .4rem; text-align: center; border-bottom: 1px solid var(--wp--preset--color--line, #ddd); white-space: nowrap; }
.jfc-tab th { font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; border-bottom: 3px solid var(--wp--preset--color--contrast, #0b0b0b); }
.jfc-tab .l { text-align: left; white-space: normal; }
.jfc-tab .p { font-weight: 800; }
.jfc-tab tr.own td { background: var(--wp--preset--color--contrast, #0b0b0b); color: #fff; font-weight: 700; }
.jfc-tab tr.up td:first-child { box-shadow: inset 3px 0 0 #1f7a46; }
.jfc-tab tr.down td:first-child { box-shadow: inset 3px 0 0 #b42318; }
@media (max-width: 600px) { .jfc-tab .hs { display: none; } }
/* v1.4: Ergebnisse */
.jfc-res .jfc-wil-match { grid-template-columns: 6.5rem 10rem minmax(0, 1fr) auto; }
.jfc-res .score { font-weight: 800; font-size: 1.15rem; font-variant-numeric: tabular-nums; padding: .15rem .6rem; border: 2px solid currentColor; align-self: center; }
.jfc-res .res-win .score { color: #1f7a46; }
.jfc-res .res-loss .score { color: #b42318; }
.jfc-res .res-draw .score { color: var(--wil-muted); }
@media (max-width: 600px) { .jfc-res .jfc-wil-match { grid-template-columns: 4.5rem minmax(0, 1fr) auto; } .jfc-res .jfc-wil-match .w { display: none; } .jfc-res .jfc-wil-match .m { grid-column: auto; } }
/* v1.5: Datum ab, Ergebnis im Spielplan, Tabelle zur Auswahl */
.jfc-sp .jfc-wil-match:has(.score) { grid-template-columns: 4rem 11rem minmax(0, 1fr) auto; }
.jfc-sp .jfc-wil-match .score { font-weight: 800; font-size: 1.15rem; font-variant-numeric: tabular-nums; padding: .15rem .6rem; border: 2px solid currentColor; align-self: center; }
.jfc-tab-auswahl { margin-top: 2.5rem; }
.jfc-tab-auswahl h2 .jfc-tab-name { color: var(--wp--preset--color--muted, #5e5e5e); font-weight: 600; }
.jfc-tab-auswahl .jfc-tab-one + .jfc-tab-one { margin-top: 1.5rem; }
@media (max-width: 600px) { .jfc-sp .jfc-wil-match:has(.score) { grid-template-columns: 3.5rem minmax(0, 1fr) auto; } .jfc-sp .jfc-wil-match:has(.score) .m { grid-column: 1 / -2; } }
.jfc-wil [hidden], .jfc-tab-auswahl[hidden], .jfc-tab-one[hidden] { display: none !important; }
/* v1.5.2: Ergebnisse im Spielplan wie Ergebnisliste; runde Ecken, wenn das Theme einen Radius vorgibt (Vereinsfarben) */
.jfc-sp .res-win .score { color: #1f7a46; }
.jfc-sp .res-loss .score { color: #b42318; }
.jfc-sp .res-draw .score { color: var(--wil-muted); }
.jfc-wil .score { border-radius: var(--jfc-r, 0); }
