/* ============================================================================
   style-v2.css — Sistema de diseño reutilizable v2 (AudaxItaliano.app)
   Nace de index5.php (aprobado como línea gráfica general). A diferencia de
   los experimentos index2-5 (CSS inline por archivo), esta es la hoja de
   estilos REAL para migrar el sitio completo, cargada desde
   includes/header-v2.php / includes/footer-v2.php.
   Prefijo de clases: v2-. No se toca assets/css/style.css (producción).
   ============================================================================ */

/* ============ TOKENS ============ */
:root{
  --v2-green:#00843D; --v2-green-deep:#064D31; --v2-green-bright:#1fae63;
  --v2-red:#CD212A; --v2-red-deep:#8f1017;
  --v2-bg:#ffffff; --v2-surface:#f7f8f4; --v2-surface-2:#eef0e9;
  --v2-border:rgba(6,20,13,.10); --v2-border-strong:rgba(6,20,13,.20);
  --v2-text:rgba(8,20,14,.92); --v2-text-2:rgba(8,20,14,.68);
  --v2-text-3:rgba(8,20,14,.50); --v2-text-4:rgba(8,20,14,.32);
  --v2-font-display:'Barlow Condensed',system-ui,sans-serif;
  --v2-font-body:'Barlow',system-ui,sans-serif;
  --v2-radius-pill:999px; --v2-radius-lg:24px; --v2-radius-md:16px; --v2-radius-sm:10px;
  --v2-glow:0 10px 28px rgba(0,132,61,.22);
  --v2-container:1240px;
  --v2-nav-h:64px;
  --v2-win:#16a34a; --v2-draw:#9ca3af; --v2-loss:#e53e3e;
}

/* ============ RESET / BASE ============ */
html, body{ margin:0; padding:0; }
.v2-root, .v2-root *{ box-sizing:border-box; }
.v2-root{
  background:var(--v2-bg); color:var(--v2-text);
  font-family:var(--v2-font-body); line-height:1.6;
  -webkit-font-smoothing:antialiased; overflow-x:hidden; position:relative;
}
.v2-root h1,.v2-root h2,.v2-root h3,.v2-root h4{
  font-family:var(--v2-font-display); font-weight:700; margin:0;
  letter-spacing:-0.01em; color:var(--v2-green-deep);
}
.v2-root a{ color:inherit; }
.v2-root img{ max-width:100%; display:block; }
.v2-container{ width:92%; max-width:var(--v2-container); margin:0 auto; position:relative; z-index:1; }
.v2-container--narrow{ max-width:920px; }
.v2-eyebrow{
  font-family:var(--v2-font-display); font-weight:700; font-size:.82rem;
  letter-spacing:.14em; text-transform:uppercase; color:var(--v2-red);
  display:flex; align-items:center; gap:10px;
}
.v2-eyebrow::before{ content:''; width:26px; height:2px; background:var(--v2-red); display:inline-block; }
.v2-eyebrow--noline::before{ content:none; }

/* ============ FRANJA TRICOLOR + BARRA DE PROGRESO DE SCROLL ============ */
.v2-flagbar{ position:fixed; top:0; left:0; right:0; height:5px; z-index:930; display:flex; }
.v2-flagbar div{ flex:1; }
.v2-flagbar .g{ background:var(--v2-green); }
.v2-flagbar .w{ background:#ffffff; }
.v2-flagbar .r{ background:var(--v2-red); }
.v2-progress{ position:fixed; top:5px; left:0; height:3px; width:0%; z-index:929; background:var(--v2-red); transition:width .08s linear; }

/* ============ NAV ============ */
.v2-nav{
  position:sticky; top:5px; z-index:900; width:100%;
  background:rgba(6,77,49,.94); backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 6px 20px rgba(6,20,13,.18);
}
.v2-nav-row{ display:flex; align-items:center; justify-content:space-between; gap:22px; height:var(--v2-nav-h); }
.v2-nav-brand{ display:flex; align-items:center; gap:9px; text-decoration:none; flex-shrink:0; }
.v2-nav-brand img{ width:30px; height:30px; object-fit:contain; }
.v2-nav-brand span{ font-family:var(--v2-font-display); font-weight:700; font-size:1rem; letter-spacing:.02em; color:#fff; text-transform:uppercase; white-space:nowrap; }
.v2-nav-brand span em{ font-style:normal; color:#ffd7d7; }

.v2-nav-tabs{ display:flex; align-items:center; gap:4px; overflow-x:auto; scrollbar-width:none; flex:1; }
.v2-nav-tabs::-webkit-scrollbar{ display:none; }
.v2-nav-tabs a{
  font-family:var(--v2-font-display); font-weight:600; font-size:.86rem; letter-spacing:.03em;
  text-transform:uppercase; color:rgba(255,255,255,.82); text-decoration:none; white-space:nowrap;
  padding:9px 12px; border-radius:8px; transition:color .2s ease, background .2s ease; position:relative;
}
.v2-nav-tabs a:hover, .v2-nav-tabs a.is-active{ color:#fff; background:rgba(255,255,255,.12); }

.v2-nav-actions{ display:flex; align-items:center; gap:10px; flex-shrink:0; margin-left:auto; }
.v2-menu-toggle{
  width:40px; height:40px; border-radius:50%; border:1px solid rgba(255,255,255,.3);
  background:rgba(255,255,255,.08); color:#fff; cursor:pointer; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
}
.v2-menu-toggle svg{ width:17px; height:17px; }
@media (max-width:1140px){ .v2-nav-tabs{ display:none; } }

/* ============ OVERLAY MENÚ FULLSCREEN ============ */
.v2-overlay{
  position:fixed; inset:0; z-index:950; background:var(--v2-green-deep);
  opacity:0; visibility:hidden; pointer-events:none;
  transition:opacity .35s ease; overflow-y:auto;
}
.v2-overlay.is-open{ opacity:1; visibility:visible; pointer-events:auto; }
.v2-overlay-top{ display:flex; justify-content:space-between; align-items:center; padding-top:26px; }
.v2-overlay-top .v2-nav-brand span{ color:#fff; }
.v2-overlay-top .v2-nav-brand span em{ color:#ffd7d7; }
.v2-overlay-close{
  width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,.3);
  background:rgba(255,255,255,.08); color:#fff; cursor:pointer; font-size:1.1rem;
}
.v2-overlay-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:32px; padding:60px 0 80px; }
.v2-overlay-col h4{ font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:#ffd7d7; margin-bottom:16px; }
.v2-overlay-col a{
  display:block; text-decoration:none; color:rgba(255,255,255,.78);
  font-family:var(--v2-font-display); font-size:1.3rem; font-weight:600;
  padding:6px 0; transition:color .2s ease, transform .2s ease;
}
.v2-overlay-col a:hover{ color:#fff; transform:translateX(4px); }
@media (max-width:900px){ .v2-overlay-grid{ grid-template-columns:repeat(2,1fr); gap:26px 20px; } }
@media (max-width:560px){ .v2-overlay-grid{ grid-template-columns:1fr; } .v2-overlay-col a{ font-size:1.15rem; } }

/* ============ MOTION ============ */
.v2-reveal{ opacity:0; transform:translateY(28px); transition:opacity .8s cubic-bezier(.16,.8,.24,1), transform .8s cubic-bezier(.16,.8,.24,1); }
.v2-reveal.is-visible{ opacity:1; transform:translateY(0); }
.v2-reveal-delay-1{ transition-delay:.08s; } .v2-reveal-delay-2{ transition-delay:.16s; }
.v2-reveal-delay-3{ transition-delay:.24s; } .v2-reveal-delay-4{ transition-delay:.32s; }
.v2-word{ display:inline-block; opacity:0; filter:blur(8px); transform:translateY(14px); transition:opacity .6s ease, filter .6s ease, transform .6s ease; }
.v2-word.is-visible{ opacity:1; filter:blur(0); transform:translateY(0); }
@media (prefers-reduced-motion:reduce){
  .v2-reveal, .v2-word{ opacity:1 !important; transform:none !important; filter:none !important; transition:none !important; }
}

/* ============ BOTONES / SUPERFICIES GENÉRICAS ============ */
.v2-btn{
  display:inline-flex; align-items:center; gap:8px; text-decoration:none; cursor:pointer; border:none;
  font-family:var(--v2-font-display); font-weight:700; font-size:.86rem;
  letter-spacing:.04em; text-transform:uppercase; padding:11px 20px;
  border-radius:var(--v2-radius-pill); transition:transform .25s ease, background .25s ease;
}
.v2-btn--solid{ background:var(--v2-green); color:#fff; box-shadow:var(--v2-glow); }
.v2-btn--solid:hover{ transform:translateY(-2px); background:var(--v2-green-deep); }
.v2-btn--outline{ background:transparent; color:var(--v2-green-deep); border:1.5px solid var(--v2-border-strong); }
.v2-btn--outline:hover{ background:var(--v2-surface); transform:translateY(-2px); }
.v2-btn--whatsapp{ background:#25d366; color:#fff; }
.v2-btn--whatsapp:hover{ transform:translateY(-2px); background:#1ea952; }
.v2-btn--dark{ background:var(--v2-green-deep); color:#fff; }
.v2-btn--dark:hover{ transform:translateY(-2px); background:#032c1c; }
.v2-btn svg{ width:15px; height:15px; flex-shrink:0; }

.v2-section-head{ margin-bottom:26px; }
.v2-section-head h2{ font-size:clamp(1.5rem,2.8vw,2.1rem); letter-spacing:-0.02em; margin-top:8px; }
.v2-card{ background:#ffffff; border:1px solid var(--v2-border); border-radius:var(--v2-radius-lg); box-shadow:0 8px 26px rgba(6,20,13,.06); }

/* ============ BREADCRUMB ============ */
.v2-breadcrumb{ padding:20px 0 0; font-size:.82rem; color:var(--v2-text-3); }
.v2-breadcrumb a{ color:var(--v2-text-2); text-decoration:none; }
.v2-breadcrumb a:hover{ color:var(--v2-green-deep); }
.v2-breadcrumb .sep{ margin:0 6px; color:var(--v2-border-strong); }

/* ============ HERO DE PÁGINA (campeonato / plantel) ============ */
.v2-page-hero{ padding:34px 0 26px; text-align:center; }
.v2-page-hero h1{ font-size:clamp(1.9rem,4vw,2.8rem); text-transform:uppercase; line-height:1.05; margin:10px auto; }
.v2-page-hero .v2-eyebrow{ justify-content:center; }
.v2-page-hero .v2-eyebrow::before{ display:none; }
.v2-page-hero-sub{ display:block; font-family:var(--v2-font-display); font-weight:700; font-size:1rem; color:var(--v2-red); margin-top:4px; }

/* ============ HERO DE JUGADOR / PERFIL ============ */
.v2-profile-hero{ position:relative; padding:44px 0 30px; text-align:center; background:linear-gradient(180deg, var(--v2-green-deep) 0%, #0a3322 100%); overflow:hidden; }
.v2-profile-hero::before{ content:''; position:absolute; inset:0; background:radial-gradient(600px 320px at 50% 0%, rgba(255,255,255,.08), transparent 70%); }
.v2-profile-avatar{ position:relative; z-index:1; width:132px; height:132px; border-radius:50%; object-fit:cover; border:5px solid rgba(255,255,255,.9); box-shadow:0 14px 34px rgba(0,0,0,.3); margin:0 auto 16px; }
.v2-profile-hero h1{ position:relative; z-index:1; color:#fff; font-size:clamp(1.7rem,3.6vw,2.5rem); text-transform:uppercase; }
.v2-profile-hero-sub{ position:relative; z-index:1; display:block; color:rgba(255,255,255,.68); font-size:.9rem; margin-top:6px; }

/* ============ LAYOUT FICHA (sidebar + contenido) ============ */
.v2-ficha-grid{ display:grid; grid-template-columns:300px 1fr; gap:26px; align-items:start; padding:30px 0; }
@media (max-width:900px){ .v2-ficha-grid{ grid-template-columns:1fr; } }

.v2-info-list{ display:flex; flex-direction:column; }
.v2-info-item{ display:flex; justify-content:space-between; gap:10px; padding:11px 0; border-bottom:1px solid var(--v2-border); font-size:.86rem; }
.v2-info-item label{ color:var(--v2-text-3); text-transform:uppercase; letter-spacing:.04em; font-size:.72rem; font-weight:700; font-family:var(--v2-font-display); }
.v2-info-item span{ color:var(--v2-text); font-weight:600; text-align:right; }
.v2-badge-inline{ display:inline-block; margin-top:12px; padding:6px 12px; background:rgba(0,132,61,.08); color:var(--v2-green-deep); border:1px solid rgba(0,132,61,.2); border-radius:var(--v2-radius-pill); font-size:.72rem; font-weight:700; text-align:center; }
.v2-info-block{ margin-top:16px; padding-top:14px; border-top:1px solid var(--v2-border); }
.v2-info-block-heading{ font-family:var(--v2-font-display); font-weight:700; font-size:.82rem; color:var(--v2-green-deep); }
.v2-info-block-list{ font-size:.78rem; color:var(--v2-text-3); margin-top:4px; line-height:1.5; }
.v2-obs-box{ margin-top:16px; padding:14px; background:var(--v2-surface); border-radius:var(--v2-radius-md); }
.v2-obs-box label{ display:block; font-size:.68rem; letter-spacing:.06em; font-weight:700; color:var(--v2-red); margin-bottom:6px; }
.v2-obs-box p{ margin:0; font-size:.82rem; color:var(--v2-text-2); line-height:1.6; }
.v2-sidebar-card{ padding:22px; }
.v2-sidebar-card img.v2-sidebar-photo{ width:100%; aspect-ratio:1; object-fit:cover; border-radius:var(--v2-radius-md); margin-bottom:16px; }

/* ============ STAT PILLS ============ */
.v2-stats-row{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom:18px; }
.v2-stat-pill{ flex:1; min-width:110px; background:#fff; border:1px solid var(--v2-border); border-top:4px solid var(--v2-border-strong); border-radius:var(--v2-radius-md); padding:16px; text-align:center; }
.v2-stat-pill big{ display:block; font-family:var(--v2-font-display); font-weight:800; font-size:1.9rem; color:var(--v2-green-deep); line-height:1; }
.v2-stat-pill small{ display:block; font-size:.7rem; letter-spacing:.05em; text-transform:uppercase; color:var(--v2-text-3); margin-top:6px; }
.v2-stat-pill--win{ border-top-color:var(--v2-win); }
.v2-stat-pill--draw{ border-top-color:var(--v2-draw); }
.v2-stat-pill--loss{ border-top-color:var(--v2-loss); }
.v2-stat-pill--accent{ border-top-color:var(--v2-red); }
.v2-stat-pill--accent big{ color:var(--v2-red); }

/* ============ BARRAS DE PROGRESO W/D/L ============ */
.v2-progress-box{ background:#fff; border:1px solid var(--v2-border); border-radius:var(--v2-radius-md); padding:18px 20px; margin-bottom:18px; }
.v2-progress-row{ display:flex; align-items:center; gap:12px; padding:6px 0; }
.v2-progress-row + .v2-progress-row{ margin-top:2px; }
.v2-progress-label{ flex:0 0 110px; font-size:.78rem; color:var(--v2-text-2); font-weight:600; }
.v2-progress-track{ flex:1; height:8px; background:var(--v2-surface-2); border-radius:99px; overflow:hidden; }
.v2-progress-fill{ height:100%; border-radius:99px; }
.v2-progress-fill--win{ background:var(--v2-win); }
.v2-progress-fill--draw{ background:var(--v2-draw); }
.v2-progress-fill--loss{ background:var(--v2-loss); }

/* ============ MATCH CARD (debut / partido destacado) ============ */
.v2-match-feature{ display:block; text-decoration:none; color:inherit; padding:18px 20px; margin-bottom:18px; transition:transform .2s ease, box-shadow .2s ease; }
.v2-match-feature:hover{ transform:translateY(-2px); box-shadow:0 14px 30px rgba(6,20,13,.1); }
.v2-match-feature-head{ font-family:var(--v2-font-display); font-weight:700; font-size:.8rem; color:var(--v2-red); text-transform:uppercase; margin-bottom:10px; }
.v2-match-feature-camp{ font-size:.76rem; color:var(--v2-text-3); text-transform:uppercase; letter-spacing:.03em; }
.v2-match-feature-fecha{ font-size:.76rem; color:var(--v2-text-3); float:right; }
.v2-match-feature-teams{ display:flex; align-items:center; justify-content:center; gap:16px; margin-top:12px; }
.v2-match-feature-teams img{ width:42px; height:42px; object-fit:contain; }
.v2-match-feature-score{ font-family:var(--v2-font-display); font-weight:800; font-size:1.3rem; color:var(--v2-green-deep); }
.v2-result-badge{ display:inline-block; padding:4px 12px; border-radius:var(--v2-radius-pill); font-size:.68rem; font-weight:800; letter-spacing:.04em; }
.v2-result-badge--triunfo{ background:#dcfce7; color:#166534; }
.v2-result-badge--empate{ background:#f3f4f6; color:#444; }
.v2-result-badge--derrota{ background:#fee2e2; color:#991b1b; }

/* ============ TABLA DE DATOS ============ */
.v2-table-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; border:1px solid var(--v2-border); border-radius:var(--v2-radius-md); margin-bottom:24px; }
.v2-table{ width:100%; border-collapse:collapse; font-size:.84rem; min-width:640px; }
.v2-table th{ background:var(--v2-green-deep); color:#fff; font-family:var(--v2-font-display); font-weight:700; letter-spacing:.03em; text-transform:uppercase; font-size:.72rem; padding:12px 14px; text-align:center; white-space:nowrap; }
.v2-table th.v2-text-left{ text-align:left; }
.v2-table td{ padding:11px 14px; text-align:center; border-bottom:1px solid var(--v2-border); color:var(--v2-text-2); white-space:nowrap; }
.v2-table td.v2-text-left{ text-align:left; }
.v2-table tbody tr:last-child td{ border-bottom:none; }
.v2-table tbody tr:hover{ background:rgba(0,132,61,.05); }
.v2-table tr.v2-row-clickable{ cursor:pointer; }
.v2-table tr.v2-row-highlight{ background:rgba(0,132,61,.08); }
.v2-table tr.v2-row-highlight td{ font-weight:700; }
.v2-table tfoot td{ background:var(--v2-red); color:#fff; font-weight:700; border-bottom:none; }
.v2-table td.v2-td-danger{ color:var(--v2-red); font-weight:700; }
.v2-table img{ display:inline-block; vertical-align:middle; }
.v2-table-club{ display:flex; align-items:center; gap:8px; }

/* ============ TABS ============ */
.v2-tabs{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:16px; }
.v2-tab-btn{ font-family:var(--v2-font-display); font-weight:700; font-size:.8rem; letter-spacing:.04em; text-transform:uppercase; color:var(--v2-text-2); background:var(--v2-surface); border:1px solid var(--v2-border); padding:9px 18px; border-radius:var(--v2-radius-pill); cursor:pointer; transition:.2s; }
.v2-tab-btn:hover{ color:var(--v2-green-deep); }
.v2-tab-btn.is-active{ background:var(--v2-green); color:#fff; border-color:var(--v2-green); }
.v2-tab-panel{ display:none; }
.v2-tab-panel.is-active{ display:block; }

/* ============ FILTROS / BÚSQUEDA ============ */
.v2-filter-bar{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:14px; }
.v2-filter-search-wrap{ position:relative; flex:1; min-width:200px; }
.v2-filter-search-wrap svg{ position:absolute; left:12px; top:50%; transform:translateY(-50%); color:var(--v2-text-3); }
.v2-filter-search{ width:100%; padding:10px 14px 10px 34px; border:1px solid var(--v2-border-strong); border-radius:var(--v2-radius-pill); font-size:.84rem; font-family:var(--v2-font-body); }
.v2-filter-select{ padding:10px 14px; border:1px solid var(--v2-border-strong); border-radius:var(--v2-radius-pill); font-size:.82rem; font-family:var(--v2-font-body); background:#fff; color:var(--v2-text-2); }
.v2-filter-clear{ font-size:.78rem; font-weight:700; color:var(--v2-red); background:none; border:none; cursor:pointer; }
.v2-filter-count{ font-size:.78rem; color:var(--v2-text-3); margin-bottom:10px; }

/* ============ ROSTER / GRILLA DE JUGADORES ============ */
.v2-roster-section{ margin-bottom:30px; }
.v2-roster-heading{ display:flex; align-items:center; gap:10px; font-family:var(--v2-font-display); font-weight:700; font-size:1rem; text-transform:uppercase; color:var(--v2-green-deep); margin-bottom:14px; }
.v2-roster-count{ background:var(--v2-red); color:#fff; font-size:.72rem; padding:2px 9px; border-radius:var(--v2-radius-pill); font-family:var(--v2-font-body); font-weight:700; }
.v2-roster-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:14px; }
.v2-roster-card{ display:block; text-decoration:none; color:inherit; text-align:center; transition:transform .2s ease; }
.v2-roster-card:hover{ transform:translateY(-3px); }
.v2-roster-img-wrap{ border-radius:var(--v2-radius-md); overflow:hidden; aspect-ratio:1; background:var(--v2-surface); margin-bottom:8px; }
.v2-roster-img-wrap img{ width:100%; height:100%; object-fit:cover; }
.v2-roster-name{ font-size:.8rem; font-weight:700; color:var(--v2-text); line-height:1.3; }
.v2-roster-pos{ font-size:.7rem; color:var(--v2-text-3); margin-top:2px; }

/* ============ CARRUSEL (planteles / galerías) ============ */
.v2-carousel{ position:relative; border-radius:var(--v2-radius-lg); overflow:hidden; border:1px solid var(--v2-border); box-shadow:0 16px 40px rgba(6,20,13,.12); margin-bottom:22px; }
.v2-carousel-track{ display:flex; transition:transform .5s cubic-bezier(.4,0,.2,1); }
.v2-carousel-slide{ flex:0 0 100%; line-height:0; position:relative; }
.v2-carousel-slide img{ width:100%; height:auto; }
.v2-carousel-expand{ position:absolute; right:14px; bottom:14px; background:rgba(6,20,13,.7); color:#fff; font-size:.72rem; padding:6px 12px; border-radius:var(--v2-radius-pill); }
.v2-carousel-arrow{ position:absolute; top:50%; transform:translateY(-50%); width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.85); border:1px solid var(--v2-border-strong); color:var(--v2-green-deep); cursor:pointer; z-index:5; display:flex; align-items:center; justify-content:center; font-size:1.2rem; }
.v2-carousel-arrow.prev{ left:14px; } .v2-carousel-arrow.next{ right:14px; }
.v2-carousel-dots{ position:absolute; bottom:16px; left:50%; transform:translateX(-50%); display:flex; gap:7px; z-index:5; }
.v2-carousel-dot{ width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.55); border:2px solid rgba(255,255,255,.3); cursor:pointer; }
.v2-carousel-dot.is-active{ background:var(--v2-red); border-color:var(--v2-red); }
.v2-carousel-counter{ position:absolute; top:14px; right:14px; background:rgba(6,20,13,.6); color:#fff; font-size:.72rem; padding:4px 10px; border-radius:var(--v2-radius-pill); }

/* ============ PREV/NEXT (navegación entre planteles/años) ============ */
.v2-prevnext{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:16px 0 6px; text-align:center; }
.v2-prevnext-btn{ font-size:.8rem; font-weight:700; color:var(--v2-green-deep); text-decoration:none; padding:8px 14px; border-radius:var(--v2-radius-pill); background:var(--v2-surface); white-space:nowrap; }
.v2-prevnext-btn:hover{ background:var(--v2-border); }
.v2-prevnext-btn--disabled{ color:var(--v2-text-4); background:transparent; }
.v2-prevnext-title{ flex:1; }
@media (max-width:640px){ .v2-prevnext-btn{ font-size:0; padding:8px 10px; } .v2-prevnext-btn::before{ content:attr(data-short); font-size:.78rem; } }

/* ============ SHARE / ACCIONES ============ */
.v2-share-row{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin:14px 0 22px; }

/* ============ LISTADOS — encabezado + contador ============ */
.v2-listing-head{ padding:30px 0 6px; }
.v2-listing-head h1{ font-size:clamp(1.4rem,2.6vw,1.9rem); text-transform:uppercase; }
.v2-listing-count{ color:var(--v2-text-3); font-size:.86rem; margin:6px 0 18px; }
.v2-listing-count strong{ color:var(--v2-green-deep); }
.v2-empty-state{ text-align:center; padding:60px 20px; color:var(--v2-text-3); }
.v2-empty-state .icon{ font-size:2.4rem; display:block; margin-bottom:10px; }
.v2-empty-state a{ color:var(--v2-red); font-weight:700; text-decoration:none; }

/* ============ GRID GENÉRICO DE TARJETAS ============ */
.v2-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:16px; padding-bottom:50px; }
.v2-grid--compact{ grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); }

/* Tarjeta jugador */
.v2-player-card{ display:block; text-decoration:none; color:inherit; text-align:center; background:#fff; border:1px solid var(--v2-border); border-radius:var(--v2-radius-md); padding:18px 12px; position:relative; transition:transform .2s ease, box-shadow .2s ease; }
.v2-player-card:hover{ transform:translateY(-3px); box-shadow:0 12px 26px rgba(6,20,13,.1); }
.v2-player-card img{ width:76px; height:76px; border-radius:50%; object-fit:cover; margin:0 auto 10px; border:2px solid var(--v2-border-strong); }
.v2-player-card .v2-pos-tag{ font-size:.66rem; letter-spacing:.04em; text-transform:uppercase; color:var(--v2-red); font-weight:700; }
.v2-player-card .v2-player-name{ font-family:var(--v2-font-display); font-weight:700; font-size:.92rem; color:var(--v2-green-deep); margin-top:4px; line-height:1.25; }
.v2-badge-corner{ position:absolute; top:10px; right:10px; background:var(--v2-red); color:#fff; font-size:.6rem; font-weight:800; padding:3px 7px; border-radius:var(--v2-radius-pill); letter-spacing:.03em; }

/* Tarjeta entrenador (listado) */
.v2-coach-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--v2-border); border-bottom:4px solid var(--v2-border-strong); border-radius:var(--v2-radius-md); overflow:hidden; text-decoration:none; color:inherit; transition:transform .2s ease, box-shadow .2s ease; }
.v2-coach-card:hover{ transform:translateY(-4px); box-shadow:0 12px 26px rgba(6,20,13,.1); border-bottom-color:var(--v2-red); }
.v2-coach-card-photo{ aspect-ratio:1/1; overflow:hidden; background:var(--v2-green-deep); }
.v2-coach-card-photo img{ width:100%; height:100%; object-fit:cover; object-position:top; }
.v2-coach-card-body{ padding:14px; flex:1; display:flex; flex-direction:column; gap:7px; }
.v2-coach-card-name{ font-family:var(--v2-font-display); font-weight:800; font-size:.98rem; color:var(--v2-green-deep); line-height:1.2; margin:0; }
.v2-coach-card-nac{ font-size:.74rem; color:var(--v2-text-3); }
.v2-coach-interino-badge{ display:inline-block; width:fit-content; font-size:.62rem; font-weight:700; background:#fef9c3; color:#854d0e; border-radius:4px; padding:2px 7px; }
.v2-coach-card-stats{ display:flex; gap:6px; margin-top:auto; }
.v2-coach-stat-pill{ display:flex; flex-direction:column; align-items:center; flex:1; background:var(--v2-surface); border-radius:6px; padding:5px 4px; }
.v2-coach-stat-pill big{ font-family:var(--v2-font-display); font-weight:800; font-size:1.05rem; line-height:1; }
.v2-coach-stat-pill small{ font-size:.6rem; color:var(--v2-text-3); text-transform:uppercase; }
.v2-coach-stat-pill--neutral big{ color:var(--v2-text); }
.v2-coach-stat-pill--win big{ color:var(--v2-win); }
.v2-coach-stat-pill--draw big{ color:var(--v2-draw); }
.v2-coach-stat-pill--loss big{ color:var(--v2-loss); }

/* Tarjeta campeonato */
.v2-camp-card{ display:block; text-decoration:none; color:inherit; background:#fff; border:1px solid var(--v2-border); border-radius:var(--v2-radius-md); padding:20px; transition:transform .2s ease, box-shadow .2s ease; }
.v2-camp-card:hover{ transform:translateY(-3px); box-shadow:0 12px 26px rgba(6,20,13,.1); }
.v2-camp-card .v2-camp-cat{ font-size:.68rem; letter-spacing:.05em; text-transform:uppercase; color:var(--v2-red); font-weight:700; }
.v2-camp-card .v2-camp-anio{ font-family:var(--v2-font-display); font-weight:800; font-size:1.8rem; color:var(--v2-green-deep); line-height:1.1; margin-top:4px; }
.v2-camp-card .v2-camp-nombre{ font-size:.84rem; color:var(--v2-text-2); margin-top:2px; }

/* Tarjeta camiseta */
.v2-camiseta-card{ display:block; text-decoration:none; color:inherit; background:#fff; border:1px solid var(--v2-border); border-radius:var(--v2-radius-md); overflow:hidden; transition:transform .2s ease, box-shadow .2s ease; }
.v2-camiseta-card:hover{ transform:translateY(-3px); box-shadow:0 12px 26px rgba(6,20,13,.1); }
.v2-camiseta-card img{ width:100%; height:auto; display:block; background:var(--v2-surface); }
.v2-camiseta-card-body{ padding:12px 14px; }
.v2-camiseta-year{ font-family:var(--v2-font-display); font-weight:800; font-size:1.2rem; color:var(--v2-green-deep); display:block; }
.v2-camiseta-anios-uso{ font-size:.72rem; color:var(--v2-text-3); display:block; }
.v2-camiseta-sponsors{ font-size:.72rem; color:var(--v2-red); display:block; margin-top:4px; }

/* ============ NOTICIAS ============ */
.v2-noticias-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:20px; padding-bottom:20px; }
.v2-noticia-card{ display:block; text-decoration:none; color:inherit; background:#fff; border:1px solid var(--v2-border); border-radius:var(--v2-radius-md); overflow:hidden; transition:transform .2s ease, box-shadow .2s ease; }
.v2-noticia-card:hover{ transform:translateY(-3px); box-shadow:0 12px 26px rgba(6,20,13,.1); }
.v2-noticia-img-wrap{ position:relative; aspect-ratio:16/10; }
.v2-noticia-img-wrap img{ width:100%; height:100%; object-fit:cover; }
.v2-rival-badge{ position:absolute; left:10px; bottom:10px; display:flex; align-items:center; gap:6px; background:rgba(6,20,13,.72); color:#fff; font-size:.68rem; padding:4px 10px; border-radius:var(--v2-radius-pill); }
.v2-rival-badge img{ width:16px; height:16px; object-fit:contain; }
.v2-noticia-body{ padding:16px; }
.v2-noticia-date{ font-size:.7rem; color:var(--v2-text-3); text-transform:uppercase; letter-spacing:.04em; }
.v2-noticia-title{ font-family:var(--v2-font-display); font-weight:700; font-size:1rem; color:var(--v2-green-deep); margin:4px 0 6px; line-height:1.3; }
.v2-noticia-extracto{ font-size:.82rem; color:var(--v2-text-2); line-height:1.5; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }

/* ============ PLANTELES (listado) ============ */
.v2-planteles-hero{ position:relative; border-radius:var(--v2-radius-lg); overflow:hidden; min-height:220px; display:flex; align-items:center; padding:30px; margin:24px 0; background:var(--v2-green-deep); }
.v2-planteles-hero-overlay{ position:absolute; inset:0; background:linear-gradient(90deg, rgba(6,20,13,.9) 20%, rgba(6,20,13,.4) 100%); }
.v2-planteles-hero-content{ position:relative; z-index:1; display:flex; align-items:center; gap:22px; }
.v2-planteles-hero-content img{ width:64px; height:64px; object-fit:contain; }
.v2-planteles-hero-content h1{ color:#fff; font-size:clamp(1.4rem,3vw,2rem); text-transform:uppercase; }
.v2-planteles-hero-content p{ color:rgba(255,255,255,.68); font-size:.88rem; margin-top:4px; }
.v2-plantel-year-card{ position:relative; display:flex; flex-direction:column; justify-content:flex-end; aspect-ratio:3/4; border-radius:var(--v2-radius-md); overflow:hidden; text-decoration:none; padding:14px; background:var(--v2-surface-2) center/cover; transition:transform .2s ease; }
.v2-plantel-year-card:hover{ transform:translateY(-3px); }
.v2-plantel-year-card::before{ content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(6,20,13,.85) 10%, rgba(6,20,13,.05) 60%); }
.v2-plantel-year-num, .v2-plantel-year-nombre{ position:relative; z-index:1; color:#fff; }
.v2-plantel-year-num{ font-family:var(--v2-font-display); font-weight:800; font-size:1.6rem; line-height:1; }
.v2-plantel-year-nombre{ font-size:.76rem; opacity:.85; }
.v2-plantel-campeon-badge{ position:absolute; top:10px; right:10px; z-index:1; font-size:1.1rem; }

/* ============ FORMULARIO DE FILTROS SIMPLE (listados) ============ */
/* position+z-index explícitos: .v2-reveal aplica transform, lo que crea un
   stacking context; sin z-index propio, el siguiente .v2-reveal del listado
   (más abajo en el DOM) gana el empate y tapa el dropdown de filtros. */
.v2-simple-filter{ display:flex; flex-wrap:wrap; gap:10px; margin:16px 0 22px; position:relative; z-index:20; }
.v2-simple-filter input[type="text"]{ flex:1; min-width:200px; padding:10px 16px; border:1px solid var(--v2-border-strong); border-radius:var(--v2-radius-pill); font-size:.86rem; font-family:var(--v2-font-body); }
.v2-simple-filter select{ padding:10px 14px; border:1px solid var(--v2-border-strong); border-radius:var(--v2-radius-pill); font-size:.84rem; font-family:var(--v2-font-body); background:#fff; color:var(--v2-text-2); }
.v2-simple-filter .v2-btn{ padding:10px 22px; }

/* ============ PAGINACIÓN ============ */
.v2-pagination{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin:30px 0 50px; }
.v2-pag-btn{ display:inline-flex; align-items:center; justify-content:center; min-width:38px; height:38px; padding:0 12px; border-radius:var(--v2-radius-pill); background:#fff; border:1px solid var(--v2-border-strong); color:var(--v2-text-2); text-decoration:none; font-size:.84rem; font-weight:600; transition:.2s; }
.v2-pag-btn:hover{ border-color:var(--v2-green); color:var(--v2-green-deep); }
.v2-pag-btn--active{ background:var(--v2-green); border-color:var(--v2-green); color:#fff; }
.v2-pag-dots{ color:var(--v2-text-4); align-self:center; }

/* ============ PARTIDOS — stats strip + tabs + filas ============ */
.v2-pstats-strip{ display:grid; grid-template-columns:repeat(6,1fr); gap:10px; margin:18px 0; }
.v2-pstat-card{ background:#fff; border:1px solid var(--v2-border); border-top:4px solid var(--v2-border-strong); border-radius:var(--v2-radius-md); padding:12px; text-align:center; }
.v2-pstat-card--t{ border-top-color:var(--v2-win); } .v2-pstat-card--e{ border-top-color:var(--v2-draw); } .v2-pstat-card--d{ border-top-color:var(--v2-loss); }
.v2-pstat-num{ display:block; font-family:var(--v2-font-display); font-weight:800; font-size:1.3rem; color:var(--v2-green-deep); }
.v2-pstat-lbl{ display:block; font-size:.64rem; text-transform:uppercase; letter-spacing:.03em; color:var(--v2-text-3); margin-top:2px; }

.v2-ptabs{ display:flex; gap:8px; margin:20px 0 14px; }
.v2-ptab{ text-decoration:none; font-family:var(--v2-font-display); font-weight:700; font-size:.86rem; text-transform:uppercase; padding:10px 20px; border-radius:var(--v2-radius-pill); background:var(--v2-surface); color:var(--v2-text-2); }
.v2-ptab.is-active{ background:var(--v2-green); color:#fff; }

.v2-partido-row{ display:flex; align-items:center; gap:16px; text-decoration:none; color:inherit; background:#fff; border:1px solid var(--v2-border); border-left:4px solid var(--v2-border-strong); border-radius:var(--v2-radius-md); padding:14px 18px; margin-bottom:10px; transition:transform .15s ease, box-shadow .15s ease; }
.v2-partido-row:hover{ transform:translateX(3px); box-shadow:0 8px 20px rgba(6,20,13,.08); }
.v2-partido-row--triunfo{ border-left-color:var(--v2-win); }
.v2-partido-row--empate{ border-left-color:var(--v2-draw); }
.v2-partido-row--derrota{ border-left-color:var(--v2-loss); }
.v2-partido-fecha-col{ display:flex; flex-direction:column; align-items:center; min-width:56px; }
.v2-partido-fecha-dia{ font-family:var(--v2-font-display); font-weight:800; font-size:1.3rem; color:var(--v2-green-deep); line-height:1; }
.v2-partido-fecha-mes{ font-size:.62rem; color:var(--v2-text-3); text-transform:uppercase; }
.v2-partido-badge{ width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--v2-font-display); font-weight:800; font-size:.78rem; color:#fff; flex-shrink:0; }
.v2-partido-badge--triunfo{ background:var(--v2-win); } .v2-partido-badge--empate{ background:var(--v2-draw); } .v2-partido-badge--derrota{ background:var(--v2-loss); }
.v2-partido-badge--hora{ background:var(--v2-red); font-size:.62rem; }
.v2-partido-teams{ flex:1; display:flex; align-items:center; justify-content:center; gap:18px; min-width:0; }
.v2-partido-team{ display:flex; align-items:center; gap:8px; flex:1; min-width:0; font-size:.86rem; color:var(--v2-text-2); }
.v2-partido-team img{ width:24px; height:24px; object-fit:contain; flex-shrink:0; }
.v2-partido-team--right{ justify-content:flex-end; text-align:right; }
.v2-partido-team--audax{ font-weight:700; color:var(--v2-green-deep); }
.v2-partido-team span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.v2-partido-score{ font-family:var(--v2-font-display); font-weight:800; font-size:1.1rem; color:var(--v2-green-deep); white-space:nowrap; }
.v2-partido-vs{ font-family:var(--v2-font-display); font-weight:700; font-size:.86rem; color:var(--v2-text-3); }
.v2-partido-meta-col{ display:none; flex-direction:column; text-align:right; min-width:130px; }
.v2-partido-camp-text{ font-size:.74rem; color:var(--v2-text-2); }
.v2-partido-jornada-text{ font-size:.68rem; color:var(--v2-text-3); }
.v2-partido-row-arrow{ color:var(--v2-text-4); font-size:1.2rem; }
@media (min-width:900px){ .v2-partido-meta-col{ display:flex; } }
.v2-partidos-empty{ text-align:center; padding:50px 20px; color:var(--v2-text-3); }

.v2-export-bar{ display:flex; align-items:center; gap:12px; margin:8px 0 4px; flex-wrap:wrap; }
.v2-export-warning{ font-size:.78rem; color:var(--v2-text-3); }

/* ============ MULTI-SELECT DROPDOWN (checkboxes) ============ */
.v2-mdrop{ position:relative; display:inline-block; }
.v2-mdrop-btn{ display:inline-flex; align-items:center; gap:6px; height:40px; padding:0 14px; border:1px solid var(--v2-border-strong); border-radius:var(--v2-radius-pill); background:#fff; color:var(--v2-text-2); cursor:pointer; font-size:.84rem; font-family:var(--v2-font-body); white-space:nowrap; }
.v2-mdrop-btn:hover, .v2-mdrop-btn.is-open{ border-color:var(--v2-green); }
.v2-mdrop-btn .arrow{ font-size:.6rem; opacity:.5; transition:transform .2s; }
.v2-mdrop-btn.is-open .arrow{ transform:rotate(180deg); }
.v2-mdrop-count{ background:var(--v2-green); color:#fff; font-size:.66rem; font-weight:700; border-radius:99px; padding:1px 7px; }
.v2-mdrop-panel{ display:none; position:absolute; top:calc(100% + 6px); left:0; z-index:300; background:#fff; border:1px solid var(--v2-border-strong); border-radius:var(--v2-radius-md); padding:6px 0; min-width:230px; max-height:300px; overflow-y:auto; box-shadow:0 16px 34px rgba(6,20,13,.16); }
.v2-mdrop-panel.is-open{ display:block; }
.v2-mdrop-panel--wide{ min-width:280px; }
.v2-mdrop-search-wrap{ padding:8px 10px 4px; }
.v2-mdrop-search{ width:100%; box-sizing:border-box; padding:6px 10px; border:1px solid var(--v2-border); border-radius:8px; font-size:.8rem; font-family:var(--v2-font-body); }
.v2-mdrop-divider{ height:1px; background:var(--v2-border); margin:4px 0; }
.v2-mdrop-clear{ display:block; width:calc(100% - 20px); margin:2px 10px; padding:5px 10px; background:none; border:none; border-radius:6px; color:var(--v2-text-3); font-size:.8rem; cursor:pointer; text-align:left; }
.v2-mdrop-clear:hover{ background:var(--v2-surface); }
.v2-mdrop-label{ display:flex; align-items:center; gap:9px; padding:6px 14px; cursor:pointer; font-size:.84rem; }
.v2-mdrop-label:hover{ background:var(--v2-surface); }
.v2-mdrop-label.hidden{ display:none; }
.v2-mdrop-label input{ accent-color:var(--v2-green); width:15px; height:15px; }
.v2-mdrop-noresults{ padding:8px 14px; font-size:.8rem; color:var(--v2-text-3); display:none; }

/* ============ FICHA DE PARTIDO ============ */
.v2-pdetail-hero{ background:var(--v2-green-deep); border-radius:var(--v2-radius-lg); padding:30px 20px; margin:18px 0; }
.v2-pdetail-teams{ display:flex; align-items:center; justify-content:center; gap:30px; }
.v2-pdetail-team{ display:flex; flex-direction:column; align-items:center; gap:10px; flex:1; max-width:200px; }
.v2-pdetail-team img{ width:64px; height:64px; object-fit:contain; }
.v2-pdetail-team-name{ color:#fff; font-family:var(--v2-font-display); font-weight:700; font-size:.86rem; text-align:center; text-transform:uppercase; }
.v2-pdetail-center{ display:flex; flex-direction:column; align-items:center; gap:10px; flex-shrink:0; }
.v2-pdetail-score{ font-family:var(--v2-font-display); font-weight:800; font-size:2.6rem; color:#fff; line-height:1; display:flex; align-items:center; gap:12px; }
.v2-pdetail-score-sep{ font-size:1.4rem; color:rgba(255,255,255,.5); }
.v2-pdetail-resultado{ padding:5px 16px; border-radius:var(--v2-radius-pill); font-size:.7rem; font-weight:800; letter-spacing:.04em; }
.v2-pdetail-resultado--triunfo{ background:#dcfce7; color:#166534; }
.v2-pdetail-resultado--empate{ background:#f3f4f6; color:#444; }
.v2-pdetail-resultado--derrota{ background:#fee2e2; color:#991b1b; }

.v2-pdetail-meta{ display:flex; flex-wrap:wrap; gap:10px 20px; justify-content:center; padding:16px 0; font-size:.84rem; color:var(--v2-text-2); }
.v2-pdetail-meta-item{ display:flex; align-items:center; gap:6px; }
.v2-pdetail-dt-link{ text-decoration:none; color:var(--v2-text-2); }
.v2-pdetail-dt-link:hover{ color:var(--v2-green-deep); }
.v2-pdetail-dt-img{ width:22px; height:22px; border-radius:50%; object-fit:cover; }

.v2-pdetail-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px; }
.v2-pdetail-section{ background:#fff; border:1px solid var(--v2-border); border-radius:var(--v2-radius-md); padding:18px; }
.v2-pdetail-section-title{ font-family:var(--v2-font-display); font-weight:700; font-size:.86rem; color:var(--v2-green-deep); text-transform:uppercase; margin-bottom:12px; }
.v2-pdetail-incidents-row{ display:flex; gap:16px; }
.v2-pdetail-incidents-col{ flex:1; font-size:.82rem; }
.v2-pdetail-incidents-col--right{ text-align:right; }
.v2-pdetail-team-label{ display:block; font-weight:700; color:var(--v2-text); font-size:.78rem; margin-bottom:6px; }
.v2-pdetail-no-incidents{ color:var(--v2-text-4); }

.v2-video-embed{ position:relative; padding-top:56.25%; border-radius:var(--v2-radius-md); overflow:hidden; background:#000; }
.v2-video-embed iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

.v2-lineup-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:12px; }
.v2-lineup-card{ display:block; text-decoration:none; color:inherit; text-align:center; background:#fff; border:1px solid var(--v2-border); border-radius:var(--v2-radius-md); padding:12px 8px; transition:transform .2s ease; }
.v2-lineup-card:hover{ transform:translateY(-2px); }
.v2-lineup-card img{ width:56px; height:56px; border-radius:50%; object-fit:cover; margin:0 auto 8px; }
.v2-lineup-pos{ display:block; font-size:.62rem; color:var(--v2-red); text-transform:uppercase; font-weight:700; }
.v2-lineup-name{ display:block; font-size:.78rem; font-weight:700; color:var(--v2-green-deep); margin-top:2px; }
.v2-lineup-icons{ display:block; font-size:.76rem; margin-top:4px; }

.v2-related-noticia{ display:flex; gap:14px; align-items:flex-start; text-decoration:none; color:inherit; background:var(--v2-surface); border:1px solid var(--v2-border); border-radius:var(--v2-radius-md); padding:12px; margin-bottom:10px; transition:background .15s; }
.v2-related-noticia:hover{ background:#eef4ee; }
.v2-related-noticia img{ width:80px; height:54px; object-fit:cover; border-radius:6px; flex-shrink:0; }
.v2-related-noticia-date{ font-size:.72rem; color:var(--v2-text-3); margin-bottom:3px; }
.v2-related-noticia-title{ font-weight:700; font-size:.88rem; color:var(--v2-green-deep); }
.v2-related-noticia-extracto{ font-size:.78rem; color:var(--v2-text-3); margin-top:3px; }

.v2-formacion-img{ max-width:800px; width:100%; height:auto; border-radius:var(--v2-radius-md); cursor:zoom-in; }

/* ============ NOTICIA — ARTÍCULO ============ */
.v2-article-hero{ width:100%; height:auto; border-radius:var(--v2-radius-lg); margin:18px 0; }
.v2-article-meta{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:10px; }
.v2-article-date{ font-size:.8rem; color:var(--v2-text-3); }
.v2-article-rival-tag{ display:inline-flex; align-items:center; gap:6px; background:var(--v2-surface); border-radius:var(--v2-radius-pill); padding:4px 12px; font-size:.78rem; color:var(--v2-text-2); }
.v2-article-rival-tag img{ width:16px; height:16px; object-fit:contain; }
.v2-article-title{ font-size:clamp(1.4rem,3vw,2rem); line-height:1.2; margin-bottom:18px; }
.v2-article-content{ font-size:.98rem; line-height:1.8; color:var(--v2-text); }
.v2-article-content p{ margin:0 0 16px; }
.v2-article-content img{ border-radius:var(--v2-radius-md); margin:16px 0; }
.v2-article-content h2, .v2-article-content h3{ color:var(--v2-green-deep); margin:24px 0 12px; }
.v2-article-source{ margin-top:20px; font-size:.8rem; color:var(--v2-text-3); }
.v2-article-source a{ color:var(--v2-red); }

/* ============ CAMISETA — DETALLE ============ */
.v2-camiseta-detail-images{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:20px 0; }
.v2-camiseta-detail-images img{ width:100%; border-radius:var(--v2-radius-md); border:1px solid var(--v2-border); }
@media (max-width:640px){ .v2-camiseta-detail-images{ grid-template-columns:1fr; } }

/* ============ VERSUS CLUB ============ */
.v2-vs-hero{ display:flex; align-items:center; justify-content:center; gap:30px; padding:30px 0; }
.v2-vs-hero-team{ display:flex; flex-direction:column; align-items:center; gap:10px; flex:1; max-width:200px; }
.v2-vs-hero-team img{ width:72px; height:72px; object-fit:contain; }
.v2-vs-hero-team span{ font-family:var(--v2-font-display); font-weight:700; font-size:.9rem; text-align:center; text-transform:uppercase; color:var(--v2-green-deep); }
.v2-vs-hero-vs{ font-family:var(--v2-font-display); font-weight:800; font-size:1.2rem; color:var(--v2-red); }

.v2-vs-stats-wrap{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:30px; background:#fff; border:1px solid var(--v2-border); border-radius:var(--v2-radius-lg); padding:24px; margin-bottom:24px; }
.v2-donut{ width:140px; height:140px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.v2-donut-inner{ width:100px; height:100px; border-radius:50%; background:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.v2-donut-num{ font-family:var(--v2-font-display); font-weight:800; font-size:1.6rem; color:var(--v2-green-deep); line-height:1; }
.v2-donut-label{ font-size:.66rem; color:var(--v2-text-3); text-transform:uppercase; }
.v2-vs-numbers{ display:flex; gap:18px; flex-wrap:wrap; }
.v2-vs-number{ text-align:center; }
.v2-vs-number big{ display:block; font-family:var(--v2-font-display); font-weight:800; font-size:1.5rem; }
.v2-vs-number small{ display:block; font-size:.66rem; color:var(--v2-text-3); text-transform:uppercase; }
.v2-vs-number--win big{ color:var(--v2-win); } .v2-vs-number--draw big{ color:var(--v2-draw); } .v2-vs-number--loss big{ color:var(--v2-loss); }
.v2-vs-rendimiento{ text-align:center; }
.v2-vs-rend-big{ display:block; font-family:var(--v2-font-display); font-weight:800; font-size:2rem; color:var(--v2-red); }
.v2-vs-rend-label{ font-size:.72rem; color:var(--v2-text-3); text-transform:uppercase; }

.v2-vs-text-section{ margin:20px 0; color:var(--v2-text-2); font-size:.92rem; line-height:1.7; }
.v2-vs-text-section h1{ font-size:1.3rem; margin-bottom:8px; }
.v2-vs-text-section h2{ font-size:1rem; color:var(--v2-text-2); font-weight:600; margin-bottom:10px; }
.v2-vs-detalles{ margin-top:14px; background:var(--v2-surface); border-radius:var(--v2-radius-md); padding:16px; }
.v2-vs-detalles h4{ font-size:.86rem; margin-bottom:8px; }
.v2-vs-detalles ul{ margin:0; padding-left:20px; font-size:.84rem; }

.v2-vs-dyn-stats{ display:flex; flex-wrap:wrap; align-items:center; gap:16px; background:var(--v2-surface); border-radius:var(--v2-radius-md); padding:14px 18px; margin-bottom:14px; }
.v2-vs-dyn-item{ text-align:center; }
.v2-vs-dyn-num{ display:block; font-family:var(--v2-font-display); font-weight:800; font-size:1.2rem; color:var(--v2-green-deep); }
.v2-vs-dyn-lbl{ font-size:.64rem; color:var(--v2-text-3); text-transform:uppercase; }
.v2-vs-dyn-sep{ width:1px; height:26px; background:var(--v2-border-strong); }

.v2-scorer-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:14px; }
.v2-scorer-card{ display:block; text-decoration:none; color:inherit; text-align:center; background:#fff; border:1px solid var(--v2-border); border-radius:var(--v2-radius-md); padding:14px 8px; transition:transform .2s ease; }
.v2-scorer-card:hover{ transform:translateY(-2px); }
.v2-scorer-card img{ width:56px; height:56px; border-radius:50%; object-fit:cover; margin:0 auto 8px; }
.v2-scorer-goals{ font-family:var(--v2-font-display); font-weight:800; color:var(--v2-red); font-size:.9rem; }
.v2-scorer-name{ font-size:.78rem; font-weight:700; color:var(--v2-green-deep); margin-top:2px; }

.v2-multiselect{ position:relative; }
.v2-multiselect-trigger{ display:flex; align-items:center; gap:8px; padding:10px 14px; border:1px solid var(--v2-border-strong); border-radius:var(--v2-radius-pill); background:#fff; cursor:pointer; font-size:.82rem; color:var(--v2-text-2); }
.v2-multiselect-options{ position:absolute; top:calc(100% + 6px); left:0; z-index:200; background:#fff; border:1px solid var(--v2-border-strong); border-radius:var(--v2-radius-md); padding:6px 0; min-width:200px; max-height:240px; overflow-y:auto; box-shadow:0 16px 34px rgba(6,20,13,.16); }
.v2-multiselect-option{ display:flex; align-items:center; gap:8px; padding:6px 14px; font-size:.82rem; cursor:pointer; }
.v2-multiselect-option:hover{ background:var(--v2-surface); }

/* ============ RESPONSIVE GENERAL ============ */
@media (max-width:640px){
  .v2-stats-row{ gap:8px; }
  .v2-stat-pill{ min-width:44%; padding:12px; }
  .v2-page-hero{ padding:26px 0 18px; }
  .v2-profile-hero{ padding:34px 0 22px; }
  .v2-profile-avatar{ width:104px; height:104px; }
  .v2-pstats-strip{ grid-template-columns:repeat(3,1fr); }
  .v2-planteles-hero-content{ flex-direction:column; text-align:center; }
  .v2-partido-teams{ flex-direction:column; gap:6px; align-items:stretch; }
  .v2-partido-team--right{ justify-content:flex-start; text-align:left; }
  .v2-pdetail-teams{ gap:14px; }
  .v2-pdetail-team img{ width:44px; height:44px; }
  .v2-pdetail-score{ font-size:1.8rem; gap:8px; }
  .v2-pdetail-grid{ grid-template-columns:1fr; }
  .v2-vs-hero{ gap:14px; }
  .v2-vs-hero-team img{ width:52px; height:52px; }
  .v2-vs-stats-wrap{ flex-direction:column; }
}

/* ============ ESTADÍSTICAS — highlights, charts, descargas ============ */
.v2-highlights-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:20px 0; }
.v2-highlight-card{ position:relative; display:block; text-decoration:none; color:inherit; border-radius:var(--v2-radius-lg); padding:22px; overflow:hidden; }
.v2-highlight-card--win{ background:linear-gradient(135deg,#f0fdf4,#dcfce7); border:1px solid #bbf7d0; }
.v2-highlight-card--loss{ background:linear-gradient(135deg,#fef2f2,#fee2e2); border:1px solid #fecaca; }
.v2-hl-escudo{ position:absolute; right:14px; top:14px; width:44px; height:44px; object-fit:contain; opacity:.5; }
.v2-hl-badge{ font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--v2-text-2); margin-bottom:8px; }
.v2-hl-score{ font-family:var(--v2-font-display); font-weight:800; font-size:1.5rem; color:var(--v2-text); }
.v2-hl-dash{ color:var(--v2-text-4); margin:0 6px; }
.v2-hl-meta{ display:flex; gap:12px; font-size:.76rem; color:var(--v2-text-3); margin-top:8px; }
.v2-hl-link{ margin-top:10px; font-size:.78rem; font-weight:700; color:var(--v2-red); }

.v2-charts-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:20px 0; }
.v2-chart-card{ background:#fff; border:1px solid var(--v2-border); border-radius:var(--v2-radius-lg); padding:22px; }
.v2-chart-title{ font-family:var(--v2-font-display); font-weight:700; font-size:1rem; color:var(--v2-green-deep); margin-bottom:16px; }
.v2-donut-legend{ display:flex; flex-direction:column; gap:8px; margin-top:14px; }
.v2-donut-legend-item{ display:flex; align-items:center; gap:8px; font-size:.84rem; color:var(--v2-text-2); }
.v2-donut-legend-dot{ width:10px; height:10px; border-radius:50%; }
.v2-goals-summary{ display:flex; align-items:center; justify-content:center; gap:18px; margin-top:14px; }
.v2-gs-item{ text-align:center; }
.v2-gs-item big{ display:block; font-family:var(--v2-font-display); font-weight:800; font-size:1.5rem; }
.v2-gs-item small{ font-size:.7rem; color:var(--v2-text-3); text-transform:uppercase; }
.v2-gs-divider{ text-align:center; font-family:var(--v2-font-display); font-weight:800; font-size:1.1rem; padding:0 10px; }
.v2-gs-divider small{ display:block; font-family:var(--v2-font-body); font-weight:400; font-size:.6rem; color:var(--v2-text-3); text-transform:uppercase; }

.v2-download-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; margin:20px 0; }
.v2-download-card{ background:#fff; border:1px solid var(--v2-border); border-radius:var(--v2-radius-md); padding:20px; text-align:center; }
.v2-download-icon{ font-size:1.8rem; margin-bottom:8px; }
.v2-download-title{ font-family:var(--v2-font-display); font-weight:700; font-size:1rem; color:var(--v2-green-deep); }
.v2-download-desc{ font-size:.76rem; color:var(--v2-text-3); margin:6px 0; line-height:1.5; }
.v2-download-meta{ font-size:.72rem; color:var(--v2-text-3); margin-bottom:10px; }

.v2-bar-cell{ width:140px; }
.v2-bar-track-mini{ height:8px; background:var(--v2-surface-2); border-radius:99px; overflow:hidden; }
.v2-bar-fill-mini{ height:100%; border-radius:99px; background:var(--v2-green); }
.v2-bar-fill-mini--blue{ background:#2563eb; }
.v2-rank-medal{ font-size:1.1rem; }
.v2-t10-player-link{ display:flex; align-items:center; gap:10px; text-decoration:none; color:inherit; }
.v2-t10-avatar{ width:36px; height:36px; border-radius:50%; object-fit:cover; }
.v2-t10-name{ font-weight:700; color:var(--v2-green-deep); font-size:.86rem; display:block; }
.v2-t10-pos{ font-size:.7rem; color:var(--v2-text-3); }

/* ============ CALENDARIO ============ */
.v2-cal-nav{ display:flex; align-items:center; justify-content:space-between; margin:20px 0; }
.v2-cal-nav-btn{ font-size:.84rem; font-weight:700; color:var(--v2-green-deep); text-decoration:none; padding:8px 16px; border-radius:var(--v2-radius-pill); background:var(--v2-surface); }
.v2-cal-nav-btn:hover{ background:var(--v2-border); }
.v2-cal-month-title{ font-size:1.4rem; text-transform:uppercase; }
.v2-cal-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:6px; }
.v2-cal-head{ text-align:center; font-size:.68rem; font-weight:700; color:var(--v2-text-3); text-transform:uppercase; padding:6px 0; }
.v2-cal-cell{ min-height:80px; border:1px solid var(--v2-border); border-radius:var(--v2-radius-sm); padding:6px; background:#fff; }
.v2-cal-cell--empty{ border:none; background:transparent; }
.v2-cal-cell--today{ border-color:var(--v2-red); background:rgba(205,33,42,.04); }
.v2-cal-cell--match{ background:var(--v2-surface); }
.v2-cal-day-num{ font-size:.74rem; color:var(--v2-text-3); font-weight:700; }
.v2-cal-match{ display:block; text-decoration:none; margin-top:4px; padding:4px 6px; border-radius:6px; background:#fff; border:1px solid var(--v2-border); }
.v2-cal-match-row{ display:flex; align-items:center; gap:3px; justify-content:center; }
.v2-cal-esc{ width:14px; height:14px; object-fit:contain; }
.v2-cal-score{ font-size:.7rem; font-weight:700; color:var(--v2-text); }
.v2-cal-res{ font-size:.6rem; font-weight:800; padding:1px 4px; border-radius:4px; }
.v2-cal-res--win{ background:var(--v2-win); color:#fff; } .v2-cal-res--draw{ background:var(--v2-draw); color:#fff; } .v2-cal-res--loss{ background:var(--v2-loss); color:#fff; } .v2-cal-res--pending{ background:var(--v2-text-4); color:#fff; }
@media (max-width:700px){ .v2-cal-grid{ grid-template-columns:repeat(7,minmax(38px,1fr)); gap:3px; } .v2-cal-cell{ min-height:56px; padding:3px; font-size:.7rem; } .v2-cal-esc{ width:11px; height:11px; } }

/* ============ CONTACTO ============ */
.v2-contacto-layout{ display:grid; grid-template-columns:1fr 1fr; gap:30px; margin:20px 0 50px; }
.v2-contacto-bullets{ list-style:none; padding:0; margin:16px 0; display:flex; flex-direction:column; gap:8px; font-size:.9rem; color:var(--v2-text-2); }
.v2-contacto-persona{ margin-bottom:14px; }
.v2-contacto-persona-name{ display:block; font-weight:700; color:var(--v2-green-deep); font-size:.9rem; margin-bottom:6px; }
.v2-contacto-via-btn{ display:inline-flex; align-items:center; gap:6px; text-decoration:none; font-size:.8rem; padding:7px 12px; border-radius:var(--v2-radius-pill); margin:0 6px 6px 0; }
.v2-contacto-via-btn--wa{ background:#25d366; color:#fff; }
.v2-contacto-via-btn--email{ background:var(--v2-surface); color:var(--v2-text-2); border:1px solid var(--v2-border-strong); }
.v2-contacto-field{ margin-bottom:16px; }
.v2-contacto-field label{ display:block; font-size:.82rem; font-weight:700; color:var(--v2-text-2); margin-bottom:6px; }
.v2-contacto-field input, .v2-contacto-field textarea{ width:100%; padding:10px 14px; border:1px solid var(--v2-border-strong); border-radius:var(--v2-radius-sm); font-family:var(--v2-font-body); font-size:.9rem; box-sizing:border-box; }
.v2-contacto-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.v2-contacto-success{ text-align:center; padding:40px 20px; background:var(--v2-surface); border-radius:var(--v2-radius-md); }
.v2-contacto-error{ background:#fee2e2; color:#991b1b; padding:12px 16px; border-radius:var(--v2-radius-sm); font-size:.86rem; margin-bottom:16px; }
@media (max-width:800px){ .v2-contacto-layout{ grid-template-columns:1fr; } .v2-contacto-row{ grid-template-columns:1fr; } }

/* ============ GALERÍA ARTÍCULO (museo / efemérides) ============ */
.v2-doc-card{ display:block; text-decoration:none; color:inherit; background:#fff; border:1px solid var(--v2-border); border-radius:var(--v2-radius-md); padding:16px; transition:transform .2s ease, box-shadow .2s ease; }
.v2-doc-card:hover{ transform:translateY(-3px); box-shadow:0 12px 26px rgba(6,20,13,.1); }
.v2-doc-card-img{ aspect-ratio:16/10; border-radius:var(--v2-radius-sm); overflow:hidden; margin-bottom:10px; }
.v2-doc-card-img img{ width:100%; height:100%; object-fit:cover; }
.v2-doc-meta-row{ display:flex; gap:8px; margin-bottom:6px; }
.v2-doc-tag{ font-size:.66rem; font-weight:700; text-transform:uppercase; color:var(--v2-red); background:rgba(205,33,42,.08); padding:2px 8px; border-radius:var(--v2-radius-pill); }
.v2-doc-date{ font-size:.7rem; color:var(--v2-text-3); }
.v2-doc-title{ font-family:var(--v2-font-display); font-weight:700; font-size:.94rem; color:var(--v2-green-deep); line-height:1.3; margin-bottom:6px; }
.v2-doc-extracto{ font-size:.8rem; color:var(--v2-text-2); line-height:1.5; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.v2-doc-link{ font-size:.76rem; font-weight:700; color:var(--v2-red); margin-top:8px; display:inline-block; }

.v2-article-detail{ max-width:760px; margin:0 auto; }
.v2-article-detail-hero{ width:100%; border-radius:var(--v2-radius-lg); margin-bottom:20px; }
.v2-detail-nav{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin:30px 0 50px; }
.v2-detail-nav-btn{ font-size:.82rem; font-weight:700; color:var(--v2-green-deep); text-decoration:none; padding:9px 16px; border-radius:var(--v2-radius-pill); background:var(--v2-surface); white-space:nowrap; }
.v2-detail-nav-btn:hover{ background:var(--v2-border); }
.v2-detail-nav-btn--center{ background:var(--v2-green); color:#fff; }

/* ============ GOLES TV ============ */
.v2-gtv-banner{ display:block; border-radius:var(--v2-radius-lg); overflow:hidden; margin:18px 0; }
.v2-gtv-banner img{ width:100%; height:auto; }
.v2-gtv-row{ display:flex; align-items:center; gap:16px; text-decoration:none; color:inherit; background:#fff; border:1px solid var(--v2-border); border-radius:var(--v2-radius-md); padding:12px; margin-bottom:10px; transition:transform .15s ease; }
.v2-gtv-row:hover{ transform:translateX(3px); }
.v2-gtv-thumb-wrap{ position:relative; width:140px; aspect-ratio:16/9; border-radius:var(--v2-radius-sm); overflow:hidden; flex-shrink:0; background:#000; }
.v2-gtv-thumb-wrap img{ width:100%; height:100%; object-fit:cover; }
.v2-gtv-play{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.4rem; background:rgba(0,0,0,.2); }
.v2-gtv-row-title{ font-weight:700; color:var(--v2-green-deep); font-size:.92rem; margin-bottom:6px; }
.v2-gtv-row-meta{ display:flex; gap:8px; flex-wrap:wrap; }
.v2-gtv-tag{ font-size:.7rem; color:var(--v2-text-3); background:var(--v2-surface); padding:2px 8px; border-radius:var(--v2-radius-pill); }
.v2-gtv-embed-wrap{ position:relative; padding-top:56.25%; border-radius:var(--v2-radius-lg); overflow:hidden; background:#000; margin:20px 0; }
.v2-gtv-embed-wrap iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }
.v2-gtv-meta-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:14px; margin:20px 0; }
.v2-gtv-meta-block{ background:var(--v2-surface); border-radius:var(--v2-radius-sm); padding:12px 14px; }
.v2-gtv-meta-label{ display:block; font-size:.66rem; text-transform:uppercase; color:var(--v2-text-3); font-weight:700; }
.v2-gtv-meta-value{ display:block; font-size:.88rem; color:var(--v2-text); margin-top:2px; }

/* ============ DIRIGENTES ============ */
.v2-dirigente-card{ text-align:center; background:#fff; border:1px solid var(--v2-border); border-radius:var(--v2-radius-md); padding:16px; }
.v2-dirigente-foto{ width:80px; height:80px; border-radius:50%; object-fit:cover; margin:0 auto 10px; }
.v2-dirigente-name{ font-family:var(--v2-font-display); font-weight:700; font-size:.92rem; color:var(--v2-green-deep); }
.v2-dirigente-cargos{ list-style:none; padding:0; margin:8px 0 0; font-size:.74rem; color:var(--v2-text-3); }
.v2-dirigente-cargos li{ padding:2px 0; }
.v2-dirigente-cargos .cargo-anios{ color:var(--v2-text-4); margin-left:4px; }

@media (max-width:900px){
  .v2-highlights-row, .v2-charts-row{ grid-template-columns:1fr; }
}
