/* ============================================================
   smgr · css/pages/partido.css — estilos propios de la ficha
   de PARTIDO (partido.php). Requiere tokens.css + rincon.css.
   Índice: hero del marcador · cabecera de cada boxscore ·
   boxscore (reutiliza .gamelog) · MVP · entrenador · totales · 404.
   ============================================================ */

/* ---------- HERO DEL MARCADOR (tarjeta clara) ---------- */
.match-hero {
  margin-top: var(--sp-3); padding: var(--sp-6);
  background: var(--surface); color: var(--ink);
  border: 1px solid var(--line); border-radius: var(--r-focus);
  box-shadow: var(--shadow-card);
}
.match-hero__top {
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
  gap: var(--sp-4);
}
.match-hero__team {
  display: flex; flex-direction: column; align-items: center; gap: var(--sp-2);
  text-align: center; color: var(--ink); min-width: 0;
}
.match-hero__team:hover { text-decoration: none; }
.match-hero__team .shield,
.match-hero__team img {
  width: 88px; height: 88px; object-fit: contain;
  filter: drop-shadow(0 6px 14px rgba(19, 28, 46, .18));
}
.match-hero__code {
  font-family: var(--score); font-weight: 700; font-size: 15px;
  letter-spacing: .06em; color: var(--muted);
}
.match-hero__name {
  font-family: var(--score); font-weight: 700; font-size: 20px; line-height: 1.1;
  color: var(--ink);
}
.match-hero__team:hover .match-hero__name { color: var(--accent-deep); }

.match-hero__score {
  display: flex; align-items: baseline; justify-content: center; gap: var(--sp-3);
  font-family: var(--score); font-weight: 700; font-size: 64px; line-height: 1;
  font-variant-numeric: tabular-nums; letter-spacing: -0.02em; white-space: nowrap;
}
.match-hero__score .pt { color: var(--muted); }
.match-hero__score .pt.w { color: var(--ink); }
.match-hero__score .dash { color: var(--line); font-size: 44px; }

.match-hero__meta {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
  gap: 8px; margin-top: var(--sp-5); padding-top: var(--sp-4);
  border-top: 1px solid var(--line);
}
.match-hero__meta .chip-dark { display: inline-flex; align-items: center; gap: 6px; }
.match-hero__share { display: flex; justify-content: center; margin-top: var(--sp-4); }
/* Botón Compartir sólido ink sobre tarjeta clara (igual que team-hero) */
.match-hero .btn--ghost-dark { background: var(--ink); border-color: var(--ink); color: #fff; }
.match-hero .btn--ghost-dark:hover { background: var(--ink); opacity: .88; }

/* ---------- CABECERA DE CADA BOXSCORE ---------- */
.boxscore-head {
  display: flex; align-items: center; gap: var(--sp-3);
  margin: var(--sp-6) 0 var(--sp-3);
}
.boxscore-head .shield,
.boxscore-head img { width: 30px; height: 30px; object-fit: contain; flex-shrink: 0; }
.boxscore-head h2 {
  font-family: var(--score); font-weight: 700; font-size: 22px; color: var(--ink);
}
.boxscore-head .boxscore-head__score {
  margin-left: auto; font-family: var(--score); font-weight: 700; font-size: 22px;
  font-variant-numeric: tabular-nums; color: var(--muted);
}
.boxscore-head .boxscore-head__score.w { color: var(--up); }

/* ---------- BOXSCORE (reutiliza .gamelog: sticky thead + 2 cols) ---------- */
.boxscore { min-width: 900px; }
.boxscore th.stick-1, .boxscore td.stick-1 { min-width: 44px; width: 44px; text-align: center; }
.boxscore td.stick-1 { font-family: var(--score); font-weight: 700; color: var(--muted); }
.boxscore th.stick-2, .boxscore td.stick-2 { min-width: 160px; left: 44px; }
.boxscore td.stick-2 a { color: var(--ink); font-weight: 600; }
.boxscore td.stick-2 a:hover { color: var(--accent-deep); text-decoration: none; }
.boxscore .pct { color: var(--muted); font-size: 11.5px; }

/* MVP del partido: fila destacada + medalla */
.boxscore tr.is-mvp td { background: var(--accent-soft) !important; }
.boxscore tr.is-mvp td.stick-1, .boxscore tr.is-mvp td.stick-2 { background: var(--accent-soft) !important; }
.badge-mvp {
  display: inline-block; margin-left: 6px; padding: 1px 6px; border-radius: 6px;
  font-family: var(--score); font-weight: 700; font-size: 9.5px; letter-spacing: .06em;
  background: var(--accent); color: var(--court-a); vertical-align: middle;
}

/* Fila de entrenador */
.boxscore tr.coach-row td { font-style: italic; color: var(--muted); }
.boxscore tr.coach-row td.stick-1,
.boxscore tr.coach-row td.stick-2 { color: var(--muted); font-style: italic; }
.boxscore tr.coach-row td.stick-2 { font-weight: 600; }

/* Variaciones +/- */
.boxscore td.up { color: var(--up); font-weight: 600; }
.boxscore td.down { color: var(--down); font-weight: 600; }

/* ---------- 404 ---------- */
.partido-404 { padding: var(--sp-6); text-align: center; }
.partido-404 .note-muted { color: var(--muted); margin-bottom: var(--sp-4); }
.partido-404__search { display: flex; gap: var(--sp-2); justify-content: center; flex-wrap: wrap; margin-top: var(--sp-4); }
.partido-404__search input {
  min-width: 260px; padding: 10px 14px; border: 1px solid var(--line);
  border-radius: 10px; font: inherit; background: var(--surface); color: var(--ink);
}
.partido-404__links { display: flex; gap: var(--sp-3); justify-content: center; flex-wrap: wrap; margin-top: var(--sp-3); }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 640px) {
  .match-hero { padding: var(--sp-4); }
  .match-hero__team .shield, .match-hero__team img { width: 60px; height: 60px; }
  .match-hero__name { font-size: 15px; }
  .match-hero__score { font-size: 44px; gap: var(--sp-2); }
  .match-hero__score .dash { font-size: 30px; }
  .boxscore-head h2 { font-size: 18px; }
}
