/* ===== 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; }
.hof-select { font-family: inherit; font-size: 12px; font-weight: 600; padding: 6px 10px; border-radius: 14px; border: 1px solid rgba(255,255,255,.35); background: rgba(255,255,255,.08); color: #fff; }
.hof-select:hover { border-color: rgba(255,255,255,.6); }
.hof-select option { color: #1b2733; background: #fff; }
.hof-seg { display: inline-flex; gap: 3px; padding: 3px; border: 1px solid rgba(255,255,255,.25); border-radius: 18px; }
.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; }
.hof-seg a:hover { color: #fff; }
.hof-seg a.active { background: #fff; color: #2c3e50; font-weight: 700; }
.hof-seg a.active:hover { color: #2c3e50; }

/* ---- 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; }

.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; }

.hof-fmvp-strip { margin-top: 16px; padding-top: 14px; border-top: 1px dashed #ccd3da; display: flex; align-items: center; gap: 14px; }
.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 .lbl { font-size: 10px; text-transform: uppercase; letter-spacing: .06em; color: #8b95a1; font-weight: 700; }
.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(4, 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; text-align: center; padding: 7px 6px; }
.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; }

/* ---- 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; }
}
