/* ===== hof- = Hall Of Fame (halloffame.php) =====
   Redesign 2026-08-15 (User-Wunsch, siehe Mockup-Absprache): ersetzt die alte
   inline-style-Tabellen-Optik durch das geteilte Design-System (docs/design-system.md).
   Saison-Auswahl + Awards/All-Star-Umschalter sitzen jetzt in der Nav-Leiste (hof-navlocal,
   $page_local_html) statt in einer eigenen Tabelle im Content. Business-Logik (Queries,
   Team-/Award-Aufloesung) unveraendert - nur die Praesentation ist neu. Team-farbige Pills
   (.hof-teampill) sind eine eigene, bewusst identische Kopie der geteilten Spec aus
   docs/design-system.md §1 ("Team-colored pill") - wie bei epp-/fab-/trp-teampill pro Seite
   separat definiert statt zentral in dyne.css, siehe dortiges Muster. */

.hof-page { max-width: 1360px; margin: 0 auto; background: #ffffff; }
.hof-content { padding: 22px 24px 40px; box-sizing: border-box; }

.hof-eyebrow { font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: #66707c !important; text-shadow: none !important; margin: 0 0 2px; }
.hof-title { font-size: 22px; font-weight: 800; color: #1b2733 !important; text-shadow: none !important; margin: 0 0 22px; }
.hof-h2 { font-size: 12.5px; text-transform: uppercase; letter-spacing: .05em; font-weight: 700; color: #2c3e50 !important; text-shadow: none !important; margin: 0 0 10px; }
.hof-section { margin-bottom: 30px; }

/* ---- Nav-local controls (Saison-Dropdown + Awards/All-Star-Umschalter) ---- */
.hof-navlocal { display: flex; align-items: center; gap: 14px; min-width: 0; }
/* .hof-select styling: merged into the shared ".season-select, ..." rule in css/dyne.css
   (consolidated 2026-08-23, was byte-identical to .dpp-select/.rh-select/etc.). */
.hof-seg { display: inline-flex; gap: 3px; padding: 3px; border: 1px solid rgba(255,255,255,.25); border-radius: 18px; min-width: 0; max-width: 100%; }
.hof-seg a { color: rgba(255,255,255,.65); font-size: 11.5px; font-weight: 600; padding: 6px 13px; border-radius: 14px; text-decoration: none; display: inline-block; white-space: nowrap; flex: 0 0 auto; }
.hof-seg a:hover { color: #fff; }
.hof-seg a.active { background: #fff; color: #2c3e50; font-weight: 700; }
.hof-seg a.active:hover { color: #2c3e50; }
/* Kurzform der Tab-Labels ("Awards"/"All-Stars"/"Counter") auf Mobile statt der vollen Namen
   ("Awards"/"All-Star Teams"/"Award Counter") - User-Wunsch 2026-08-23: auf schmalen Screens
   drängten die 3 Tabs (vorher nur 2) das globale Hamburger-Menü links bzw. den Benachrichtigungs-/
   Team-Logo-Badge rechts (.mainnav-hamburger-wrap/.ntf-nav-wrap/.gst-badge-wrap in nav.php) aus der
   ersten Zeile von .mainnav-header (flex-wrap:wrap dort). Kürzere Labels + .hof-seg selbst darf per
   overflow-x scrollen (statt zu umbrechen und den Badge mitzuverdrängen) als zusätzliches Sicherheitsnetz
   für sehr schmale Geräte. */
.hof-seg-short { display: none; }
@media (max-width: 767px) {
	.hof-navlocal { flex: 1 1 auto; }
	.hof-seg { overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
	.hof-seg::-webkit-scrollbar { display: none; }
	.hof-seg-full { display: none; }
	.hof-seg-short { display: inline; }
}

/* ---- Team-colored pill (identische Spec wie epp-/fab-/trp-teampill) ---- */
.hof-teampill { display: inline-block; font-size: 10px; font-weight: 700; padding: 2px 7px; border-radius: 9px; letter-spacing: .02em; }

.hof-empty-card-text { color: #a9b0b8; font-style: italic; font-size: 11.5px; }
.hof-cup-empty { padding: 30px 0; text-align: center; }
.hof-muted { color: #a9b0b8; }

/* ---- Finals / Cup Panel ---- */
.hof-hero-row { display: grid; grid-template-columns: 2fr 1fr; gap: 16px; }
.hof-panel { background: #f4f6f8; border: 1px solid #dde1e6; border-radius: 8px; padding: 18px 20px; }
.hof-panel-title { font-size: 12.5px; text-transform: uppercase; letter-spacing: .05em; font-weight: 700; color: #2c3e50 !important; text-shadow: none !important; margin: 0 0 14px; display: flex; align-items: center; gap: 6px; }
/* Award-Icons (User-Wunsch 2026-09-11) - .ic/.ic-img sind aus dyne.css (awd_render_icon()), deren
   Groesse dort aber an .epp-award gebunden ist und hier nicht greift, daher eigene Groesse. */
.hof-panel-title .ic { width: 16px; height: 16px; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; flex-shrink: 0; }
.hof-panel-title .ic.ic-img img { width: 100%; height: 100%; object-fit: contain; display: block; }

.hof-banner-wrap { text-align: center; margin-bottom: 8px; }
.hof-banner-wrap img { height: 90px; width: auto; }

.hof-matchup { display: flex; align-items: center; justify-content: center; gap: 22px; }
.hof-team-crest { text-align: center; width: 150px; }
.hof-crest-logo img { width: 76px; height: 76px; object-fit: contain; }
.hof-team-crest .nm { font-size: 12.5px; font-weight: 700; color: #1b2733; margin-top: 6px; }
.hof-team-crest .gm { display: inline-block; font-size: 11px; color: #2c3e50; text-decoration: underline; margin-top: 2px; }
.hof-vs-mid { text-align: center; min-width: 110px; }
.hof-vs-mid .score { font-size: 26px; font-weight: 800; color: #1b2733; font-variant-numeric: tabular-nums; }
.hof-vs-mid .score-fallback { font-size: 13px; font-weight: 700; color: #4a5a6b; max-width: 140px; }
.hof-vs-mid .lbl { font-size: 10px; text-transform: uppercase; letter-spacing: .06em; color: #8b95a1; margin-top: 2px; }

/* Co-Sieger (User-Wunsch 2026-09-04): .lbl sitzt jetzt einmal ueber beiden Personen statt je
   einmal pro Person, .hof-fmvp-people traegt bei einem zweiten Sieger (fmvp2) ein zusaetzliches
   .hof-fmvp-amp + .hof-fmvp-person - ohne fmvp2 bleibt das Layout wie vorher (eine Person). */
.hof-fmvp-strip { margin-top: 16px; padding-top: 14px; border-top: 1px dashed #ccd3da; }
.hof-fmvp-strip > .lbl { font-size: 10px; text-transform: uppercase; letter-spacing: .06em; color: #8b95a1; font-weight: 700; margin-bottom: 8px; }
.hof-fmvp-people { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.hof-fmvp-person { display: flex; align-items: center; gap: 10px; }
.hof-fmvp-amp { font-size: 14px; font-weight: 700; color: #a9b0b8; }
.hof-fmvp-photo img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; border: 2px solid #fff; box-shadow: 0 0 0 1px #dde1e6; }
.hof-fmvp-strip .nm { font-size: 13px; font-weight: 700; color: #1b2733; text-decoration: underline; margin-right: 6px; }
.hof-stat-chips { display: flex; gap: 6px; margin-top: 4px; flex-wrap: wrap; }
.hof-stat-chip { font-size: 10.5px; color: #4a5a6b; background: #fff; border: 1px solid #dde1e6; border-radius: 6px; padding: 2px 7px; font-variant-numeric: tabular-nums; }

.hof-cup-body { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; }
.hof-trophy-wrap img { height: 80px; }
.hof-cup-logo img { width: 60px; height: 60px; object-fit: contain; margin-top: 4px; }
.hof-cup-body .nm { font-size: 12.5px; font-weight: 700; color: #1b2733; }
.hof-cup-body .gm { font-size: 11px; color: #2c3e50; text-decoration: underline; }

/* ---- Award cards ---- */
.hof-award-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.hof-award-row.gm-row { grid-template-columns: repeat(5, 1fr); }
.hof-award-card { border: 1px solid #e2e4e7; border-radius: 8px; overflow: hidden; background: #fff; display: flex; flex-direction: column; }
.hof-award-card .hd { background: #2c3e50; color: #fff; font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: 7px 6px; display: flex; align-items: center; justify-content: center; gap: 5px; }
.hof-award-card .hd .ic { width: 14px; height: 14px; display: inline-flex; align-items: center; justify-content: center; font-size: 11px; flex-shrink: 0; }
.hof-award-card .hd .ic.ic-img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.hof-award-card .bd { padding: 14px 10px 10px; text-align: center; flex: 1; }
.hof-award-card.player .bd img { display: block; margin: 0 auto; width: 68px; height: 68px; border-radius: 50%; object-fit: cover; background: #f1eee8; }
.hof-award-card.gm .bd img { display: block; margin: 0 auto; width: 60px; height: 60px; object-fit: contain; }
.hof-award-card .nm { display: inline-block; margin-top: 8px; font-size: 12px; font-weight: 700; color: #1b2733; text-decoration: none; }
.hof-award-card .nm:hover { text-decoration: underline; }
.hof-award-card .hof-teampill { margin-top: 5px; }
.hof-award-card .ft { padding: 8px 8px 10px; border-top: 1px solid #eef0f2; display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; }
.hof-award-card .ft .stat { font-size: 10px; color: #66707c; font-style: italic; }
.hof-award-card .ft .record { font-size: 11px; color: #4a5a6b; font-weight: 600; }
.hof-award-card .hof-empty-card-text { display: block; padding-top: 26px; }

/* ---- Co-Sieger (User-Wunsch 2026-09-04, siehe Mockup-Absprache) ----
   Wird nur gerendert, wenn ein *2-Feld (mvp2, coty2, ...) gefuellt ist - ohne Co-Sieger bleibt
   die Karte exakt wie oben (kein .co, kein .hof-co-split). Nur die betroffene Karte wird
   breiter/hoeher, das Grid richtet die Reihe an der hoechsten Karte aus. */
.hof-award-card.co .bd { padding: 12px 8px 8px; }
.hof-co-split { display: grid; grid-template-columns: 1fr auto 1fr; align-items: start; gap: 2px; }
.hof-co-side .nm { display: block; margin-top: 6px; font-size: 10.8px; line-height: 1.25; }
.hof-co-side .hof-teampill { font-size: 9px; padding: 1px 6px; }
.hof-award-card.player .hof-co-side img { width: 52px; height: 52px; }
.hof-award-card.gm .hof-co-side img { width: 44px; height: 44px; }
.hof-co-amp { align-self: center; font-size: 12px; font-weight: 700; color: #8b95a1; padding-top: 20px; }
.hof-award-card .ft.co { flex-direction: column; gap: 5px; }
.hof-co-statrow { display: flex; justify-content: center; gap: 6px; flex-wrap: wrap; }

/* ---- All-Star Game scoreboard ---- */
.hof-asg-board { background: #f4f6f8; border: 1px solid #dde1e6; border-radius: 8px; padding: 22px 24px; display: flex; align-items: center; justify-content: center; gap: 34px; flex-wrap: wrap; }
.hof-asg-team { text-align: center; width: 140px; }
.hof-asg-team img { width: 74px; height: 74px; object-fit: contain; }
.hof-asg-team .nm { font-size: 12.5px; font-weight: 700; color: #1b2733; margin-top: 6px; }
.hof-asg-score { font-size: 40px; font-weight: 800; color: #1b2733; font-variant-numeric: tabular-nums; display: flex; align-items: center; gap: 14px; }
.hof-asg-score .dash { color: #a9b0b8; font-weight: 400; font-size: 26px; }
.hof-asg-meta { text-align: center; margin-top: 16px; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.hof-boxscore-btn { display: inline-block; font-size: 12px; font-weight: 600; color: #fff; background: #2c3e50; padding: 7px 16px; border-radius: 5px; text-decoration: none; }
.hof-boxscore-btn:hover { background: #1a2733; }

/* ---- All-Star rosters ---- */
.hof-roster-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.hof-roster-panel { border: 1px solid #e2e4e7; border-radius: 8px; overflow: hidden; }
.hof-roster-panel .conf-hd { background: #2c3e50; color: #fff; font-size: 12px; font-weight: 700; text-align: center; padding: 9px; text-transform: uppercase; letter-spacing: .04em; }
.hof-roster-panel .coach-row { background: #eef1f4; font-size: 11.5px; color: #4a5a6b; padding: 8px 12px; border-bottom: 1px solid #e2e4e7; }
.hof-roster-panel .coach-row .lbl { color: #66707c; }
.hof-roster-panel .coach-row b { color: #1b2733; }
.hof-roster-panel .coach-row .coach-logo { height: 20px; vertical-align: middle; margin-left: 4px; }
.hof-roster-row { display: flex; align-items: center; gap: 10px; padding: 6px 12px; border-bottom: 1px solid #eef0f2; font-size: 12px; }
.hof-roster-row:nth-child(odd) { background: #fff; }
.hof-roster-row:nth-child(even) { background: #f9fafb; }
.hof-roster-row img.photo { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; background: #f1eee8; flex: 0 0 auto; }
.hof-roster-row .photo-ph { width: 28px; height: 28px; flex: 0 0 auto; }
.hof-roster-row .pos { width: 18px; flex: 0 0 auto; font-size: 10.5px; color: #8b95a1; font-weight: 700; text-align: center; }
.hof-roster-row .nm { flex: 1 1 auto; color: #1b2733; font-weight: 600; text-decoration: none; }
.hof-roster-row .nm:hover { text-decoration: underline; }
.hof-roster-row .star { color: #d7a32e; margin-left: 4px; font-size: 11px; }
.hof-roster-row .hof-teampill { flex: 0 0 auto; }
.hof-roster-sep { border-bottom: 1px dashed #ccd3da; }

/* ---- Responsive ---- */
@media (max-width: 900px) {
	.hof-hero-row { grid-template-columns: 1fr; }
	.hof-award-row, .hof-award-row.gm-row { grid-template-columns: repeat(2, 1fr); }
	.hof-roster-cols { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
	.hof-award-row, .hof-award-row.gm-row { grid-template-columns: 1fr; }
	.hof-matchup { flex-direction: column; gap: 10px; }
}

/* ---- Award Counter (2026-08-23, User-Wunsch) - Auswahl-Sidebar + Rangliste,
   1:1 aus dem freigegebenen Mockup (mockup_award_counter.html) uebernommen. ---- */
.hof-ac-intro { font-size: 12.5px; color: #66707c; margin: 0 0 20px; max-width: 620px; }

.hof-ac-layout { display: grid; grid-template-columns: 290px 1fr; gap: 20px; align-items: start; }

.hof-ac-picker { background: #f4f6f8; border: 1px solid #dde1e6; border-radius: 8px; padding: 16px 16px 18px; position: sticky; top: 16px; }

.hof-ac-scope { display: inline-flex; gap: 3px; padding: 3px; border: 1px solid #ccd3da; border-radius: 16px; background: #fff; margin-bottom: 14px; width: 100%; }
.hof-ac-scope button { flex: 1 1 0; border: 0; background: transparent; color: #5c6b7a; font-size: 11.5px; font-weight: 700; padding: 7px 0; border-radius: 13px; cursor: pointer; font-family: inherit; }
.hof-ac-scope button.active { background: #2c3e50; color: #fff; }

.hof-ac-group { margin-bottom: 14px; }
.hof-ac-group:last-child { margin-bottom: 0; }
.hof-ac-group-hd { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.hof-ac-group-hd .lbl { font-size: 10.5px; text-transform: uppercase; letter-spacing: .05em; font-weight: 700; color: #66707c; }
.hof-ac-group-hd .all-toggle { font-size: 10px; color: #2c3e50; font-weight: 700; cursor: pointer; text-decoration: underline; background: none; border: 0; padding: 0; font-family: inherit; }

.hof-ac-check-row { display: flex; align-items: center; gap: 8px; padding: 5px 6px; border-radius: 5px; cursor: pointer; font-size: 12px; color: #2c3e50; user-select: none; }
.hof-ac-check-row:hover { background: #eaeef1; }
.hof-ac-check-row input { accent-color: #2c3e50; width: 14px; height: 14px; cursor: pointer; flex: 0 0 auto; }
.hof-ac-check-row span.txt { flex: 1 1 auto; }
.hof-ac-check-row .cnt { margin-left: auto; font-size: 10.5px; color: #a9b0b8; font-variant-numeric: tabular-nums; flex: 0 0 auto; }

.hof-ac-apply-note { margin-top: 14px; padding-top: 12px; border-top: 1px dashed #ccd3da; font-size: 10.5px; color: #8b95a1; text-align: center; }

.hof-ac-toolbar { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.hof-ac-search { flex: 1 1 auto; position: relative; }
.hof-ac-search input { width: 100%; padding: 8px 12px 8px 32px; border: 1px solid #dde1e6; border-radius: 6px; font-size: 12.5px; font-family: inherit; color: #1b2733; }
.hof-ac-search input:focus { outline: none; border-color: #2c3e50; }
.hof-ac-search .ico { position: absolute; left: 11px; top: 50%; transform: translateY(-50%); font-size: 12px; color: #a9b0b8; }
.hof-ac-count { font-size: 11.5px; color: #66707c; white-space: nowrap; }

.hof-ac-table { border: 1px solid #e2e4e7; border-radius: 8px; overflow: hidden; }
.hof-ac-row { display: flex; align-items: center; gap: 14px; padding: 11px 16px; background: #fff; border-bottom: 1px solid #eef0f2; }
.hof-ac-row:last-child { border-bottom: 0; }
.hof-ac-row:nth-child(even) { background: #fbfbfc; }

.hof-ac-rank { width: 26px; text-align: center; font-size: 13px; font-weight: 800; color: #8b95a1; flex: 0 0 auto; }
.hof-ac-row.top1 .hof-ac-rank { color: #b8860b; font-size: 15px; }
.hof-ac-row.top2 .hof-ac-rank { color: #8c95a0; font-size: 14px; }
.hof-ac-row.top3 .hof-ac-rank { color: #a86a3d; font-size: 14px; }

.hof-ac-photo { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; background: #f1eee8; flex: 0 0 auto; border: 1px solid #e2e4e7; }
/* .gm ist jetzt ein <span>-Wrapper (nicht mehr das <img> selbst, siehe acPhotoHtml() unten) -
   overflow:hidden + object-fit:cover auf dem verschachtelten <img>, das per width/height auf
   140% vergroessert ist, damit das Playofftree-Logo den Kreis wirklich randlos ausfuellt statt
   (wie bei object-fit:cover auf 100% Groesse) einen minimalen Rand des Quellbilds selbst zu
   zeigen (User-Feedback 2026-08-23: weiterhin sichtbarer weisser Rand trotz object-fit:cover). */
.hof-ac-photo.gm { background: #fff; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.hof-ac-photo.gm img { width: 140%; height: 140%; object-fit: cover; flex: none; }
.hof-ac-photo.ph { display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; color: #8b95a1; }

.hof-ac-who { flex: 0 0 210px; min-width: 0; }
.hof-ac-who .nm { font-size: 13px; font-weight: 700; color: #1b2733; text-decoration: none; display: block; }
.hof-ac-who .nm:hover { text-decoration: underline; }
/* Box model (width/font/padding/etc.) now lives in the shared .hof-ac-teampill rule in
   css/dyne.css (merged 2026-09-01, alongside .epp-/.trp-/.fab-teampill) - only the page-local
   layout offset stays here. */
.hof-ac-who .hof-ac-teampill { margin-top: 3px; }
.hof-ac-who .hof-ac-noteam { display: inline-block; font-size: 10px; color: #a9b0b8; font-style: italic; margin-top: 3px; }

.hof-ac-breakdown { flex: 1 1 auto; display: flex; flex-wrap: wrap; gap: 5px; min-width: 0; }
.hof-ac-chip { font-size: 10.5px; font-weight: 600; color: #4a5a6b; background: #f4f6f8; border: 1px solid #dde1e6; border-radius: 6px; padding: 3px 8px; white-space: nowrap; }
.hof-ac-chip b { color: inherit; }
/* Farbfamilien 1:1 aus .epp-award(.champ/.stat/.allstar/.season/.bronze/.cup) in css/dyne.css
   uebernommen (User-Wunsch: Counter-Chips wie die Award-Badges auf profile.php einfaerben). */
.hof-ac-chip.champ { background: #fff8e6; border-color: #e8c96b; color: #8a6a00; }
.hof-ac-chip.stat { background: #e3f6f3; border-color: #7ecabd; color: #0f6b5c; }
.hof-ac-chip.allstar { background: #e7f2ff; border-color: #85b7eb; color: #0c447c; }
.hof-ac-chip.season { background: #eef1f4; border-color: #a9b4bf; color: #3d4650; }
.hof-ac-chip.bronze { background: #f7e8da; border-color: #c98f5c; color: #7a4a1f; }
.hof-ac-chip.cup { background: #e6f7ea; border-color: #2e9e44; color: #1d7a30; }

.hof-ac-total { flex: 0 0 auto; text-align: center; min-width: 54px; }
.hof-ac-total .num { font-size: 20px; font-weight: 800; color: #1b2733; font-variant-numeric: tabular-nums; line-height: 1; }
.hof-ac-total .lbl { font-size: 9px; text-transform: uppercase; letter-spacing: .05em; color: #a9b0b8; margin-top: 2px; }

.hof-ac-empty { padding: 40px 20px; text-align: center; color: #a9b0b8; font-style: italic; font-size: 12.5px; }

@media (max-width: 900px) {
	.hof-ac-layout { grid-template-columns: 1fr; }
	.hof-ac-picker { position: static; }
	.hof-ac-who { flex-basis: 150px; }
	.hof-ac-breakdown { display: none; }
}
