/* ==========================================================================
   hooperstats.css — HooperStats 2026
   Inspirado en el logo: fondo oscuro cálido + swoosh magenta→naranja
   Filosofía: integrado como Castolo, que respire, sin sobrecargar
   ========================================================================== */

/* ── 1. TOKENS ──────────────────────────────────────────────────────────── */
:root {
  /* Fondo oscuro (derivado del negro del logo) */
  --hs-dark:    #141008;
  --hs-dark-2:  #1C160C;

  /* Swoosh del logo */
  --hs-pink:    #C4226E;
  --hs-orange:  #EF7C1A;
  --hs-swoosh:  linear-gradient(90deg, #C4226E 0%, #D94820 48%, #EF7C1A 100%);

  /* Acento activo (equivalente al gold de Castolo) */
  --hs-accent:  #EF7C1A;
  --hs-gold:    #E8C97A;   /* para textos sobre oscuro */

  /* Contenido */
  --hs-cream:   #FDFAF5;
  --hs-warm:    #F4EAD8;
  --hs-border:  #E4D8C4;
  --hs-ink:     #1A130E;
  --hs-ink-2:   #5C3C28;
  --hs-ink-3:   #8C6850;

  /* Mapeo a platform-new.css */
  --pn-main:      #D94820;
  --pn-secondary: #EF7C1A;
  --pn-third:     #EDE0CC;
  --pn-fourth:    rgba(217,72,32,0.07);
  --pn-bg:        var(--hs-cream);
  --pn-white:     #FFFDF8;

  /* Header vars (styles.css los usa) */
  --hdr-bg:      var(--hs-dark);
  --hdr-bg-dark: #0A0804;
  --hdr-sep:     rgba(255,255,255,0.06);
  --hdr-text:    #ffffff;
  --hdr-muted:   rgba(255,255,255,0.75);
  --hdr-gold:    var(--hs-accent);
}

/* ── 2. BASE ────────────────────────────────────────────────────────────── */
body { background: var(--hs-cream); color: var(--hs-ink); }

/* ── 3. HEADER — misma filosofía que Castolo, colores HooperStats ───────── */

/* Topbar y nav comparten el mismo fondo, sin separación agresiva */
.cfc-topbar {
  background: var(--hs-dark) !important;
}

/* Logo: mix-blend-mode para que el negro del JPG desaparezca */
.cfc-topbar__logo img {
  filter: none !important;
  border-radius: 0 !important;
  mix-blend-mode: screen;
}

/* Buscador: grisado sutil, igual que Castolo */
.cfc-search-form {
  background: rgba(255,255,255,0.07) !important;
  border: 1px solid rgba(255,255,255,0.09) !important;
  border-radius: 6px !important;
}
.cfc-search-form:focus-within {
  border-color: rgba(239,124,26,0.35) !important;
  background: rgba(255,255,255,0.10) !important;
}
.cfc-search-input::placeholder { color: var(--hdr-muted) !important; opacity: .55; }
.cfc-search-icon              { color: var(--hdr-muted) !important; opacity: .55; }
.cfc-hamburger span           { background: rgba(255,255,255,0.80) !important; }

/* Nav: mismo fondo que topbar, separador muy sutil — integrado */
.cfc-mainnav {
  background: var(--hs-dark) !important;
  border-top: 1px solid rgba(255,255,255,0.06) !important;
  height: 42px !important;
}
/* Items: misma escuela que Castolo — Barlow Condensed, peso normal */
.cfc-mainnav__item {
  font-family: 'Barlow Condensed', 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0.5px !important;
  color: var(--hdr-muted) !important;
  border-bottom: 2px solid transparent !important;
  transition: color .15s !important;
}
.cfc-mainnav__item:hover  { color: rgba(255,255,255,0.90) !important; }
.cfc-mainnav__item--active {
  color: var(--hs-accent) !important;
  border-bottom-color: var(--hs-accent) !important;
}
.cfc-mainnav__icon { opacity: .70; width: 15px !important; height: 15px !important; }

/* Mobile menu */
.cfc-mobile-menu { background: var(--hs-dark-2) !important; }
.cfc-mobile-menu__tab {
  color: var(--hdr-muted) !important;
  border-bottom: 1px solid rgba(255,255,255,0.05) !important;
  padding: 14px 20px !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 15px !important;
}
.cfc-mobile-menu__tab:hover { color: #fff !important; background: rgba(255,255,255,0.04) !important; }

/* ── 4. HERO DE ENTIDAD ──────────────────────────────────────────────────── */
.pn-hero {
  border-radius: 12px !important;
  overflow: hidden !important;
  margin-bottom: 20px !important;
  box-shadow: 0 4px 20px rgba(10,8,4,0.14) !important;
}
.pn-hero-bg {
  background:
    radial-gradient(ellipse 60% 80% at 88% 50%, rgba(239,124,26,0.13) 0%, transparent 55%),
    radial-gradient(ellipse 35% 60% at 5% 90%,  rgba(196,34,110,0.08) 0%, transparent 50%),
    linear-gradient(135deg, #141008 0%, #241808 60%, #1A1208 100%) !important;
}
.pn-hero-number { color: rgba(239,124,26,0.06) !important; }
.pn-hero-photo {
  border: 1px solid rgba(239,124,26,0.22) !important;
  box-shadow: 0 3px 12px rgba(0,0,0,0.28) !important;
}
.pn-hero-name  { color: #fff !important; font-weight: 800 !important; }
.pn-hero-pos   { color: var(--hs-accent) !important; }
.pn-hero-meta-key { color: rgba(255,200,160,0.45) !important; }
.pn-hero-meta-val { color: rgba(255,255,255,0.88) !important; }
.pn-hero-country span,
.pn-hero-country-link { color: var(--hs-accent) !important; }

/* ── 5. STATS STRIP ──────────────────────────────────────────────────────── */
.pn-stats-strip {
  background: #fff !important;
  border: 1px solid var(--hs-border) !important;
  border-radius: 8px !important;
  box-shadow: 0 1px 6px rgba(10,8,4,0.04) !important;
}
.pn-stats-strip-label { color: var(--hs-ink-3) !important; }
.pn-stats-strip-val   { color: var(--hs-ink) !important; font-family: 'Lora', serif !important; }
.pn-stats-strip-key   { color: var(--hs-ink-3) !important; }

/* ── 6. TODAS LAS CABECERAS DE SECCIÓN → OSCURAS ────────────────────────── */
/* platform-new.css usa var(--pn-main) en todos los headers de panel/tabla.
   En hooperstats queremos todas oscuras, no naranjas.                        */
.pn-panel-header,
.pn-mini-table-header,
.pn-career-table thead th,
.pn-career-flat thead th,
.pn-standings-table thead th,
.pn-team-matches-bar,
.pn-links-header,
.pn-round-bar,
.pn-subheader,
.player-stats-table thead th,
.pn-period-table thead th {
  background: var(--hs-dark) !important;
  color: rgba(255,255,255,0.80) !important;
}

/* ── 7. TÍTULOS DE SECCIÓN ───────────────────────────────────────────────── */
/* Solo el acento del swoosh donde el usuario dijo que le gusta:
   en secciones de datos tipo "By Team", "By Competition", "Value evolution" */
.pn-section-title {
  font-family: 'Lora', serif !important;   /* tipografía de Castolo */
  font-size: 20px !important;
  color: var(--hs-ink) !important;
  border-bottom: 2px solid var(--hs-border) !important;
  padding-bottom: 8px !important;
  margin: 28px 0 16px !important;
}

/* La barra swoosh: solo para secciones de datos tabulados */
.pn-mini-table-header,
.pn-section-title--data {
  position: relative !important;
}
.pn-mini-table-header::after {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0; height: 2px;
  background: var(--hs-swoosh);
}

/* ── 7. HIGHLIGHTS ───────────────────────────────────────────────────────── */
.pn-highlight {
  background: #fff !important;
  border: 1px solid var(--hs-border) !important;
  border-left: 3px solid var(--hs-border) !important;
  border-radius: 0 8px 8px 0 !important;
  transition: box-shadow .15s, border-left-color .15s !important;
}
.pn-highlight:hover {
  border-left-color: var(--hs-accent) !important;
  box-shadow: 0 3px 14px rgba(10,8,4,0.08) !important;
}
.pn-highlight-val {
  font-family: 'Lora', serif !important;
  font-size: 28px !important;
  color: var(--hs-ink) !important;
}
.pn-highlight-key {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  color: var(--hs-ink-3) !important;
  text-transform: uppercase !important;
}

/* ── 8. TABLAS MINI ──────────────────────────────────────────────────────── */
.pn-mini-table-wrap {
  border: 1px solid var(--hs-border) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}
.pn-mini-table-header {
  background: var(--hs-dark) !important;
  color: rgba(255,255,255,0.80) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  text-transform: none !important;
  padding: 10px 14px !important;
}
.pn-mini-table th {
  background: #FFFDF8 !important;
  color: var(--hs-ink-3) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 8px 10px !important;
  border-bottom: 1px solid var(--hs-border) !important;
}
.pn-mini-table td {
  padding: 8px 10px !important;
  font-size: 13px !important;
  color: var(--hs-ink) !important;
  background: #fff !important;
  border-bottom: 1px solid #F0E8D8 !important;
}
.pn-mini-table tr:last-child td { border-bottom: none !important; }
.pn-mini-table tr:hover td { background: rgba(244,234,216,0.50) !important; }

/* ── 9. TABLA CARRERA ────────────────────────────────────────────────────── */
.pn-career-wrap {
  border: 1px solid var(--hs-border) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  margin-bottom: 10px !important;
}
.pn-career-table thead th {
  background: var(--hs-dark) !important;
  color: rgba(255,255,255,0.72) !important;
  font-family: 'Montserrat', sans-serif !important;   /* como Castolo */
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  padding: 10px 10px !important;
  border: none !important;
  white-space: nowrap !important;
}
/* Borde swoosh sutil bajo el thead — la firma, no el protagonista */
.pn-career-table thead {
  border-bottom: 2px solid transparent !important;
  background: linear-gradient(var(--hs-dark), var(--hs-dark)) padding-box,
              var(--hs-swoosh) border-box !important;
}
.pn-career-table tbody tr { border-bottom: 1px solid #EDE0CC !important; }
.pn-career-table tbody tr:last-child { border-bottom: none !important; }
.pn-career-table tbody td { padding: 8px 10px !important; color: var(--hs-ink) !important; background: #fff !important; }
.pn-career-table tbody tr:hover td { background: rgba(244,234,216,0.50) !important; }
/* Temporada: acento mínimo, sin sobrecargar */
.pn-career-table tbody td.pn-season-label {
  color: var(--hs-ink-2) !important;
  font-weight: 600 !important;
  border-right: 1px solid var(--hs-border) !important;
}
.pn-career-table tbody tr.pn-totals-row td {
  background: var(--hs-warm) !important;
  font-weight: 700 !important;
  color: var(--hs-ink) !important;
  border-top: 2px solid var(--hs-border) !important;
}

/* ── 10. AURA ────────────────────────────────────────────────────────────── */
.pn-aura-meta-label,
.pn-aura-meta-date,
.pn-aura-record-label { color: var(--hs-ink-3) !important; }
.pn-aura-meta-val,
.pn-aura-record-val   { color: var(--hs-ink)   !important; }
/* .pn-panel tiene overflow:hidden en platform-new.css, lo que clipea el
   tooltip absoluto del chart. Override necesario para que el hover funcione. */
.pn-aura-chart-wrap,
.pn-panel:has(.pn-aura-chart-wrap) {
  overflow: visible !important;
}

/* ── 11. HOME — Basketball Today ─────────────────────────────────────────── */
.fh-page-title {
  font-family: 'Lora', serif !important;
  font-size: 24px !important;
  color: var(--hs-ink) !important;
}
.fh-page-sub { color: var(--hs-ink-3) !important; font-size: 13px !important; }

/* Cabecera de competición — fondo blanco para que los escudos respiren */
.fh-round-bar {
  background: #fff !important;
  border: 1px solid var(--hs-border) !important;
  border-bottom: none !important;
  border-radius: 8px 8px 0 0 !important;
}
.fh-round-tab {
  color: var(--hs-ink-2) !important;
  border-right: none !important;
  padding: 11px 16px !important;
  transition: color .12s, background .12s !important;
}
.fh-round-tab:last-child { border-right: none !important; }
.fh-round-tab:hover { color: var(--hs-ink) !important; background: var(--hs-warm) !important; }
.fh-round-tab img { filter: none !important; }
.fh-round-tab-name { font-weight: 600 !important; letter-spacing: 1px !important; }
.fh-round-tab-country { color: var(--hs-ink-3) !important; }

/* Línea swoosh entre la barra de comp y los partidos */
.fh-round-bar + .pn-comp-matches,
.fh-tournament-block .pn-comp-matches {
  border-top: 2px solid transparent !important;
  background: linear-gradient(white, white) padding-box,
              var(--hs-swoosh) border-box !important;
  border-radius: 0 0 8px 8px !important;
  border-left: 1px solid var(--hs-border) !important;
  border-right: 1px solid var(--hs-border) !important;
  border-bottom: 1px solid var(--hs-border) !important;
}

/* Excluir el filtro invert de las imágenes en la barra blanca */
.fh-round-bar .fh-round-tab img { filter: none !important; }

/* Pill de día */
.fh-day-pill {
  background: var(--hs-warm) !important;
  color: var(--hs-ink-2) !important;
  border: 1px solid var(--hs-border) !important;
  border-radius: 20px !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
}

.pn-comp-match-row { border-bottom: 1px solid #EEE4D4 !important; }
.pn-comp-match-row:last-child { border-bottom: none !important; }
.pn-comp-match-row:hover { background: rgba(244,234,216,0.45) !important; }

/* Nombres de equipos, fecha, hora y marcador — oscuros */
.pn-comp-match-home .pn-team-name,
.pn-comp-match-away .pn-team-name { color: var(--hs-ink) !important; }
.pn-comp-match-date              { color: var(--hs-ink-3) !important; }
.pn-comp-match-date-day          { color: var(--hs-ink)   !important; }
.pn-comp-match-date-time         { color: var(--hs-ink-3) !important; }
.pn-comp-match-kickoff           { color: var(--hs-ink)   !important; }
.pn-comp-match-aside             { color: var(--hs-ink-3) !important; }
.pn-score-winner { color: var(--hs-ink) !important; font-weight: 700 !important; }

/* ── 12. FOOTER ──────────────────────────────────────────────────────────── */
footer,
.pn-footer {
  background: var(--hs-dark) !important;
  margin-top: 60px !important;
  position: relative !important;
}
/* Línea swoosh encima del footer — el mismo gesto del logo */
footer::before,
.pn-footer::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: var(--hs-swoosh);
}
footer img.footer-logo { mix-blend-mode: screen !important; opacity: .85 !important; }
.pn-footer-brand { color: rgba(255,255,255,0.55) !important; }
.pn-footer-links a,
footer .footer-links a {
  color: rgba(255,255,255,0.40) !important;
  text-decoration: none !important;
  transition: color .15s !important;
}
.pn-footer-links a:hover,
footer .footer-links a:hover { color: var(--hs-accent) !important; }

/* ── 13. HOVER EN ENLACES — text-shadow para simular bold ───────────────── */
/* El truco: text-shadow con el mismo color del texto da sensación de peso    */
/* sin cambiar font-weight (evita layout shift) y sin gradient en el texto    */

a:hover {
  text-shadow: 0 0 0.6px currentColor, 1px 0 0 currentColor !important;
  text-decoration: none !important;
}

/* Header, nav y filas de partido: sin efecto */
.cfc-topbar a:hover,
.cfc-mainnav a:hover,
.cfc-mainnav__item:hover,
.cfc-mobile-menu a:hover,
.fh-round-tab:hover,
.pn-comp-match-link:hover,
footer a:hover,
.pn-footer a:hover {
  text-shadow: none !important;
}
/* Los textos dentro del link de partido no llevan el efecto hover,
   pero los scores sí mantienen su text-shadow de bold */
.pn-comp-match-link:hover .pn-team-name,
.pn-comp-match-link:hover .pn-comp-match-date-day,
.pn-comp-match-link:hover .pn-comp-match-date-time,
.pn-comp-match-link:hover .pn-comp-match-kickoff {
  text-shadow: none !important;
}

/* ── MARCADORES DE GANADORES — degradado swoosh en el fondo ─────────────── */
.pn-score-winner {
  background: var(--hs-swoosh) !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  -webkit-text-fill-color: #fff !important;
  color: #fff !important;
  font-weight: 800 !important;
  border-radius: 0 !important;
  padding: 1px 9px !important;
  filter: none !important;
}

/* ── MISC ────────────────────────────────────────────────────────────────── */
.pn-season-entity-link:hover { color: var(--hs-ink-2) !important; }
.pn-player-name-link:hover   { color: var(--hs-ink-2) !important; }

.bwai-search-results {
  background: var(--hs-dark-2) !important;
  border: 1px solid rgba(255,255,255,0.07) !important;
}
/* Tema oscuro: el texto del item debe ser claro (era #111 → invisible sobre oscuro),
   y el item activo/hover con contraste claro + acento de marca. */
.bwai-search-item { color: rgba(255,255,255,0.92) !important; }
.bwai-search-type { color: rgba(255,255,255,0.55) !important; }
.bwai-search-item:hover,
.bwai-search-item--active {
  background: rgba(255,255,255,0.10) !important;
  box-shadow: inset 3px 0 0 var(--brand, #C8400E) !important;
}

/* ── 14. CAREER LAYOUT: tabla + trophies ────────────────────────────────── */
.pn-career-layout {
  display: grid;
  grid-template-columns: 1fr 220px;
  gap: 16px;
  align-items: start;
  margin-bottom: 10px;
}
.pn-trophies {
  border: 1px solid var(--hs-border);
  border-radius: 10px;
  overflow: hidden;
  position: sticky;
  top: 20px;
}
.pn-trophies-header {
  background: var(--hs-dark) !important;
  color: rgba(255,255,255,0.80) !important;
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  padding: 10px 14px;
}
.pn-trophies-body {
  background: #fff;
  min-height: 120px;
  padding: 14px;
  color: var(--hs-ink-3);
  font-size: 12px;
  text-align: center;
}

@media (max-width: 700px) {
  .pn-career-layout { grid-template-columns: 1fr; }
  .pn-trophies { position: static; }
}

/* ── 14. PLAYER CONNECTIONS (most_with / most_against) ──────────────────── */
.pn-links-col {
  background: #fff !important;
  border: 1px solid var(--hs-border) !important;
}
.pn-links-rank {
  color: var(--hs-ink-3) !important;
  opacity: 1 !important;
}
.pn-links-name {
  color: var(--hs-ink) !important;
}
.pn-links-link {
  color: var(--hs-ink) !important;
}
.pn-links-link:hover {
  color: var(--hs-accent) !important;
}
.pn-links-apps {
  color: var(--hs-ink) !important;
  font-family: 'Lora', serif !important;
}
.pn-links-aura {
  font-weight: 700 !important;
}
.pn-links-team {
  color: var(--hs-ink-3) !important;
}
.pn-links-retired {
  color: var(--hs-ink-3) !important;
  font-style: normal !important;
  opacity: .6;
}

/* ── 15. SCROLLBAR ───────────────────────────────────────────────────────── */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: var(--hs-cream); }
::-webkit-scrollbar-thumb { background: var(--hs-border); border-radius: 3px; }

/* ── 15. RESPONSIVE ──────────────────────────────────────────────────────── */
@media (max-width: 760px) {
  .pn-highlights { flex-wrap: wrap !important; }
  .pn-highlight  { flex: 1 1 calc(33% - 8px) !important; min-width: 90px !important; }
}
@media (max-width: 480px) {
  .pn-highlight  { flex: 1 1 calc(50% - 6px) !important; }
}

/* ── RECENT MATCHES — filtro + stats del jugador ─────────────────────────── */
.pn-matches-hint {
  font-size: 11px; color: var(--hs-ink-3);
  margin-bottom: 8px; padding: 0 2px;
}
.pn-filter-row { transition: background .12s; cursor: pointer; }
.pn-filter-row:hover { background: rgba(217,72,32,0.04) !important; }
.pn-filter-row.pn-filter-active { background: rgba(217,72,32,0.08) !important; }
.pn-filter-row.pn-filter-active td { font-weight: 700 !important; }

/* ── Bloques de partido del jugador ──────────────────────────────────────── */
/* Cada bloque = link canónico + div de stats. El borde entre bloques
   sustituye al selector .pn-comp-match-link + .pn-comp-match-link        */
.pn-player-match-block {
  display: block;
  border-top: 1px solid var(--pn-third);
}
.pn-player-match-block:first-child { border-top: 1px solid var(--pn-third); }
/* El link dentro del bloque no añade borde propio */
.pn-player-match-block .pn-comp-match-link + .pn-comp-match-link .pn-comp-match-row,
.pn-player-match-block .pn-comp-match-row { border-top: none !important; }

/* Stats: div hermano del link, centrado horizontalmente */
.pn-player-match-stats {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 14px 7px;
  background: var(--pn-white);
  flex-wrap: wrap;
}
.pn-player-match-block:has(.pn-player-match-stats) { padding-top: 5px; }
.pn-player-match-block:has(.pn-player-match-stats) .pn-comp-match-row { padding-bottom: 2px !important; }
.pn-pmstat {
  display: flex; flex-direction: column; align-items: center; gap: 1px;
}
.pn-pmstat b {
  font-size: 14px; font-weight: 800 !important; color: var(--hs-ink); line-height: 1;
}
.pn-pmstat small {
  font-size: 8px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .5px; color: var(--hs-ink-3); line-height: 1;
}
.pn-pmstat-rating b { color: var(--hs-orange); }
.pn-pmstat-result {
  font-size: 10px; font-weight: 800; padding: 2px 6px; border-radius: 3px;
  align-self: center;
}
.pn-pmstat-w { background: #dcfce7; color: #16a34a; }
.pn-pmstat-l { background: #fee2e2; color: #dc2626; }
.pn-pmstat-min b { color: var(--hs-ink-2); }

/* Hover sync: highlight the stats bar when hovering anywhere on the match block */
.pn-player-match-block:hover .pn-player-match-stats {
  background: rgba(244,234,216,0.45) !important;
}
.pn-player-match-block:hover .pn-comp-match-row {
  background: rgba(244,234,216,0.45) !important;
}


/* Team links in standings and match rows use ink color, not browser-default blue */
.pn-standings-table a,
.pn-comp-match-home a,
.pn-comp-match-away a {
  color: inherit;
  text-decoration: none;
}

/* Legend labels use a neutral ink tone, not the brand orange */
.pn-standings-legend li {
  color: var(--hs-ink-2);
}

/* ── Lead Tracker ── */
.pn-lead-tracker { padding: 0; }
.lt-canvas { display: block; width: 100%; height: 200px; border-bottom: 1px solid var(--hs-border); }
.lt-stats { padding: 12px 16px 4px; }
.lt-stat-row {
  display: grid; grid-template-columns: 1fr auto 1fr;
  align-items: center; gap: 8px;
  padding: 8px 0; border-bottom: 1px solid var(--hs-border);
  font-size: 14px;
}
.lt-stat-row:last-of-type { border-bottom: 0; }
.lt-side { display: flex; align-items: center; gap: 6px; font-size: 15px; font-weight: 700; }
.lt-side--away { justify-content: flex-end; }
.lt-logo { width: 22px; height: 22px; object-fit: contain; flex: 0 0 auto; }
.lt-label { text-align: center; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; color: var(--hs-ink-3); }
.lt-footer-row { display: flex; gap: 24px; justify-content: center; padding: 10px 0 6px; font-size: 13px; color: var(--hs-ink-2); }
.lt-footer-item strong { color: var(--hs-ink); }

/* ── Box score panels: flat, no rounded corners, spaced apart ── */
.pn-panel--boxscore {
  border-radius: 0;
  margin-top: 20px;
}
/* ── Box score team header ── */
.bs-team-header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--hs-border);
}
.bs-team-logo {
  width: 40px;
  height: 40px;
  object-fit: contain;
  flex: 0 0 auto;
}
.bs-team-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.bs-team-name {
  font: 700 18px/1.2 "Barlow Condensed", sans-serif;
  letter-spacing: .5px;
  text-transform: uppercase;
  color: var(--hs-ink);
}
.bs-team-coach {
  font-size: 12px;
  color: var(--hs-ink-3);
}
.bs-team-coach a {
  color: inherit;
  text-decoration: none;
}
.bs-team-coach a:hover {
  color: var(--hs-ink);
  text-decoration: underline;
}

/* ── Team page: season groups ──────────────────────────────── */
.pn-season-block { margin-bottom: 32px; }
.pn-season-header { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.pn-season-tournament-logo { width: 20px; height: 20px; object-fit: contain; }
.pn-season-tournament-name {
  font: 600 1.05rem/1 "Barlow Condensed", sans-serif;
  color: var(--pn-secondary);
  text-transform: uppercase;
  letter-spacing: .03em;
}
.pn-season-year-label {
  font: 700 1rem/1 "League Spartan", sans-serif;
  color: var(--pn-main);
}
.pn-player-row-img {
  width: 28px; height: 28px;
  border-radius: 50%;
  object-fit: cover;
  vertical-align: middle;
  margin-right: 6px;
}
.pn-player-row-img-placeholder {
  display: inline-block;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--pn-fourth);
  vertical-align: middle;
  margin-right: 6px;
}
.pn-player-name-link { color: var(--pn-main); text-decoration: none; font-weight: 500; }
.pn-player-name-link:hover { text-decoration: underline; color: var(--pn-third); }
.pn-empty-state { color: var(--pn-secondary); padding: 24px 0; }

/* ── Squad-card stat contrast fix ─────────────────────────────────────────
   --pn-main (#D94820) y --pn-secondary (#EF7C1A) son naranjas con bajo
   contraste sobre el fondo claro de las tarjetas. Se sobreescriben aquí
   con colores oscuros de buena legibilidad. */
.pn-sc-stat-val { color: var(--hs-ink)   !important; }
.pn-sc-stat-key { color: var(--hs-ink-2) !important; }
