/* ════════════════════════════════════════════════════════════
   IESA — Premium Polish Layer
   Cargar DESPUÉS de components.css
   Retrofitea clases legacy (.btn, .badge, .tournament-card, .admin-table,
   .legal-content, etc.) al lenguaje visual v2 sin tocar HTML.
   ════════════════════════════════════════════════════════════ */

/* ── Botones legacy → premium ───────────────────────── */
.v2-scope .btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  padding: .7rem 1.4rem; font-family: var(--ff-body);
  font-size: var(--fs-sm); font-weight: 700;
  text-transform: uppercase; letter-spacing: var(--tracking-wide);
  border-radius: var(--r-sm); border: 1px solid transparent;
  transition: all var(--t-base); line-height: 1; cursor: pointer;
  text-decoration: none;
}
.v2-scope .btn--primary {
  background: var(--gold-gradient);
  color: #000 !important; border: 1px solid transparent;
  box-shadow: none;
  text-shadow: none;
  position: relative; overflow: hidden;
}
.v2-scope .btn--primary::after {
  content: none;
}
.v2-scope .btn--primary:hover {
  background: var(--gold-gradient-h);
  color: #000 !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(251, 191, 36, 0.28);
}
.v2-scope .btn--outline {
  background: transparent; color: var(--c-accent);
  border-color: var(--c-accent);
}
.v2-scope .btn--outline:hover { background: var(--c-accent); color: var(--c-text-on-accent); }
.v2-scope .btn--ghost {
  background: transparent; color: var(--c-text);
  border-color: var(--c-border-strong);
}
.v2-scope .btn--ghost:hover { border-color: var(--c-accent); color: var(--c-accent); }

/* ── Badges legacy ─────────────────────────────────── */
.v2-scope .badge {
  display: inline-flex; align-items: center; gap: .25rem;
  padding: .25rem .6rem; font-size: var(--fs-xs);
  font-weight: 700; text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  border-radius: var(--r-xs); line-height: 1.2;
  background: var(--c-accent); color: var(--c-text-on-accent);
}
.v2-scope .badge--glow {
  background: var(--gold-gradient); color: var(--c-text-on-accent);
  border: 1px solid var(--gold-border);
  text-shadow: var(--gold-text-shadow);
}
.v2-scope .badge--live {
  background: var(--c-live); color: white;
  animation: pulse-live 1.6s ease-in-out infinite;
}
.v2-scope .badge--upcoming {
  background: transparent; color: var(--c-accent);
  border: 1px solid var(--c-accent-border);
}

/* ── Tournament cards legacy ─────────────────────── */
.v2-scope .tournament-card {
  background: var(--c-bg-surface);
  border: 1px solid var(--c-border-strong);
  border-radius: var(--r-md);
  padding: 1.5rem;
  transition: all var(--t-base);
  position: relative; overflow: hidden;
}
.v2-scope .tournament-card::before {
  content:""; position:absolute; top:0; left:0; right:0; height:2px;
  background: linear-gradient(90deg, var(--c-accent), transparent);
  opacity: 0.3; transition: opacity var(--t-base);
}
.v2-scope .tournament-card:hover {
  border-color: var(--c-accent-border);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,.35);
}
.v2-scope .tournament-card:hover::before { opacity: 1; }
.v2-scope .tournament-card__title {
  font-family: var(--ff-display); font-weight: 700;
  text-transform: uppercase; letter-spacing: -0.01em;
  color: var(--c-text);
}
.v2-scope .tournament-card__desc { color: var(--c-text-muted); font-size: var(--fs-sm); line-height: var(--lh-snug); }
.v2-scope .tournament-card__meta-item { color: var(--c-text-muted); }
.v2-scope .tournament-card__format { color: var(--c-text-muted); font-size: var(--fs-xs); }

/* ── Tournaments grid container ──────────────────── */
.v2-scope .tournaments-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1.5rem;
}

/* ── Match list / row ─────────────────────────────── */
.v2-scope .match-row, .v2-scope .matches-list > * {
  background: var(--c-bg-surface);
  border: 1px solid var(--c-border-strong);
  border-radius: var(--r-md);
  padding: 1rem 1.25rem;
  margin-bottom: .75rem;
  transition: border-color var(--t-fast);
}
.v2-scope .match-row:hover, .v2-scope .matches-list > *:hover {
  border-color: var(--c-accent-border);
}

/* ── Section title legacy ─────────────────────────── */
.v2-scope .section-title {
  font-family: var(--ff-display);
  font-size: var(--fs-xl);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  color: var(--c-text);
}
.v2-scope .section__see-all {
  color: var(--c-accent); font-size: var(--fs-xs); font-weight: 700;
  text-transform: uppercase; letter-spacing: var(--tracking-wide);
}
.v2-scope .section__see-all:hover { color: var(--c-accent-hover); }

/* ── Page hero (legales, torneo-detalle, partidos) ─ */
.v2-scope .page-hero {
  background: var(--c-bg-deep) !important;
  border-bottom: 1px solid var(--c-border-strong);
  position: relative;
}
.v2-scope .page-hero::after {
  content:""; position:absolute; bottom:0; left:0; right:0; height:1px;
  background: linear-gradient(90deg, transparent, rgba(212,169,78,0.3), transparent);
}
.v2-scope .page-hero h1 {
  font-family: var(--ff-display);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.02em;
}

/* ── Form legacy inputs ─────────────────────────── */
.v2-scope .form-input {
  background: var(--c-bg-deep);
  border: 1px solid var(--c-border-strong);
  border-radius: var(--r-sm);
  color: var(--c-text);
  font-family: var(--ff-body);
  transition: all var(--t-fast);
}
.v2-scope .form-input:focus {
  border-color: var(--c-accent);
  box-shadow: 0 0 0 3px var(--c-accent-soft);
  outline: 0;
}

/* ── Admin tables ───────────────────────────────── */
.v2-scope .admin-table {
  background: var(--c-bg-surface);
  border: 1px solid var(--c-border-strong);
  border-radius: var(--r-md);
  overflow: hidden;
}
.v2-scope .admin-table th {
  background: var(--c-bg-elevated);
  font-family: var(--ff-display);
  font-size: var(--fs-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  color: var(--c-text-muted);
  border-bottom: 1px solid var(--c-border-strong);
}
.v2-scope .admin-table td {
  border-bottom: 1px solid var(--c-divider);
}
.v2-scope .admin-table tbody tr:hover {
  background: var(--c-accent-soft);
}

/* ── Legal pages content ──────────────────────────── */
.v2-scope .legal-content {
  background: var(--c-bg-surface);
  border: 1px solid var(--c-border-strong);
  border-left: 3px solid var(--c-accent);
  border-radius: var(--r-md);
  padding: 2.5rem 3rem !important;
  max-width: 820px !important;
  margin: 3rem auto !important;
  color: var(--c-text-muted);
  line-height: 1.75;
}
.v2-scope .legal-content h2 {
  font-family: var(--ff-display);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  color: var(--c-text);
  margin-top: 2.5rem;
  padding-bottom: .75rem;
  border-bottom: 1px solid var(--c-divider);
}
.v2-scope .legal-content h2:first-child { margin-top: 0; }
.v2-scope .legal-content p strong,
.v2-scope .legal-content li strong { color: var(--c-text); }
.v2-scope .legal-content a { color: var(--c-accent); }
.v2-scope .legal-content ul li::marker { color: var(--c-accent); }

/* ── Stats bar legacy ────────────────────────────── */
.v2-scope .stats-bar {
  background: var(--c-bg-surface);
  border: 1px solid var(--c-border-strong);
  border-radius: var(--r-md);
}
.v2-scope .stats-bar__number {
  font-family: var(--ff-display);
  color: var(--c-accent);
  font-weight: 900;
}

/* ── About cards legacy ──────────────────────────── */
.v2-scope .about-card {
  background: var(--c-bg-surface);
  border: 1px solid var(--c-border-strong);
  border-radius: var(--r-md);
  transition: border-color var(--t-fast);
}
.v2-scope .about-card:hover { border-color: var(--c-accent-border); }
.v2-scope .about-card__number {
  font-family: var(--ff-display);
  color: var(--c-accent);
  font-weight: 900;
}

/* ── Navbar legacy ──────────────────────────────── */
.v2-scope .navbar {
  background: var(--c-bg-deep);
  border-bottom: 1px solid var(--c-border-strong);
}
.v2-scope .navbar__link {
  font-family: var(--ff-display);
  font-size: var(--fs-sm);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
}
.v2-scope .navbar__link--active { color: var(--c-accent); }

/* ── Wizard (reportar) premium ──────────────────── */
.v2-scope .report-panel {
  background: var(--c-bg-surface);
  border: 1px solid var(--c-border-strong);
  border-left: 3px solid var(--c-accent);
  border-radius: var(--r-md);
}
.v2-scope .wizard-header h1 {
  font-family: var(--ff-display);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.02em;
}
.v2-scope .btn-wizard {
  font-family: var(--ff-body);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  border-radius: var(--r-sm);
}

/* ── Torneo-detalle hero polish ─────────────────── */
.v2-scope .td-hero-title {
  font-family: var(--ff-display) !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  letter-spacing: -0.02em;
}
.v2-scope .td-hero-desc { color: var(--c-text-muted); }
.v2-scope .td-info-value {
  font-family: var(--ff-display);
  font-weight: 700;
}
.v2-scope .td-info-value--accent {
  color: var(--c-accent);
}
.v2-scope .td-panel {
  background: var(--c-bg-surface);
  border: 1px solid var(--c-border-strong);
  border-radius: var(--r-md);
}
.v2-scope .td-panel__title {
  font-family: var(--ff-display);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  color: var(--c-text);
}

/* ── Tabs legacy → premium ──────────────────────── */
.v2-scope .tab-btn,
.v2-scope .subtab-btn {
  background: transparent;
  border: 0;
  border-bottom: 3px solid transparent;
  padding: .8rem 1.25rem;
  font-family: var(--ff-display);
  font-size: var(--fs-sm);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  color: var(--c-text-muted);
  cursor: pointer;
  transition: all var(--t-fast);
}
.v2-scope .tab-btn:hover,
.v2-scope .subtab-btn:hover { color: var(--c-text); }
.v2-scope .tab-btn.active,
.v2-scope .subtab-btn.active {
  color: var(--c-accent);
  border-bottom-color: var(--c-accent);
}

/* ── Live bar ───────────────────────────────────── */
.v2-scope .live-bar {
  background: var(--c-live);
  color: white;
  font-family: var(--ff-display);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
}

/* ── Whatsapp float ─────────────────────────────── */
.whatsapp-float {
  background: linear-gradient(135deg, #25D366, #128C7E) !important;
  box-shadow: 0 8px 24px rgba(37,211,102,.4) !important;
  transition: transform var(--t-base) !important;
}
.whatsapp-float:hover { transform: scale(1.08) translateY(-2px); }

/* ── Hero legacy enhancements ───────────────────── */
.v2-scope .hero {
  background: var(--c-bg-deep);
}
.v2-scope .hero__title {
  font-family: var(--ff-display) !important;
  font-weight: 900 !important;
  text-transform: uppercase;
  letter-spacing: -0.02em !important;
}
.v2-scope .hero__title-accent {
  background: linear-gradient(135deg, var(--c-accent), var(--c-accent-hover));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ── Match detail (md-*) ────────────────────────── */
.v2-scope .md-hero {
  background: var(--c-bg-deep) !important;
  border-bottom: 1px solid var(--c-border-strong);
}

/* ── Equipo perfil cards ────────────────────────── */
.v2-scope .team-banner,
.v2-scope .team-card {
  background: var(--c-bg-surface);
  border: 1px solid var(--c-border-strong);
  border-radius: var(--r-md);
}

/* ── Player cards (jugadores grid) ──────────────── */
.v2-scope .player-card {
  background: var(--c-bg-surface);
  border: 1px solid var(--c-border-strong);
  border-radius: var(--r-md);
  transition: all var(--t-base);
  overflow: hidden;
  position: relative;
}
.v2-scope .player-card::before {
  content:""; position:absolute; top:0; left:0; right:0; height:2px;
  background: linear-gradient(90deg, var(--c-accent), transparent);
  opacity: 0; transition: opacity var(--t-base);
}
.v2-scope .player-card:hover {
  border-color: var(--c-accent-border);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,.35);
}
.v2-scope .player-card:hover::before { opacity: 1; }

/* ── Filter buttons ─────────────────────────────── */
.v2-scope .filter-btn {
  border-radius: var(--r-sm);
  font-weight: 700;
}
.v2-scope .filter-btn--active {
  background: var(--gold-gradient);
  color: #000 !important;
  border: 1px solid transparent;
}

/* ── Section header legacy ──────────────────────── */
.v2-scope .section__header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--c-divider);
}

/* ── Empty state ────────────────────────────────── */
.v2-scope .empty-state, .v2-scope .skeleton {
  border-radius: var(--r-sm);
}
