@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Roboto+Condensed:wght@400;700&family=Roboto:wght@400;500&display=swap');

:root{
  --navy:#0d1b2a;--navy-med:#142233;--navy-light:#1e3a52;--navy-card:#162436;
  --dorado:#f0c040;--dorado-dim:#c99a20;--verde:#27ae60;--verde-h:#219150;
  --blanco:#fff;--texto:#e8edf2;--dim:#8fa3b8;
  --borde:rgba(255,255,255,.1);--borde-gold:rgba(240,192,64,.35);
  --sombra:0 4px 24px rgba(0,0,0,.5);--sombra-h:0 12px 40px rgba(0,0,0,.7);
  --r:10px;--rsm:6px;
  --ft:'Oswald',sans-serif;--fc:'Roboto Condensed',sans-serif;--fb:'Roboto',sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--fb);background:var(--navy);color:var(--texto);font-size:15px;line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* NAVBAR */
.navbar-c{background:rgba(13,27,42,.97);padding:0;border-bottom:2px solid var(--borde-gold);position:sticky;top:0;z-index:1030;backdrop-filter:blur(8px)}
.nav-brand{display:flex;align-items:center;gap:14px;padding:10px 0}
.nav-brand img{width:50px;height:50px;border-radius:50%;border:2px solid var(--dorado);object-fit:contain;background:var(--navy-light)}
.brand-text{font-family:var(--ft);font-size:1.2rem;letter-spacing:2px;color:var(--blanco);text-transform:uppercase;line-height:1}
.brand-sub{font-size:.68rem;color:var(--dorado);font-family:var(--fc);letter-spacing:1.5px;text-transform:uppercase;margin-top:2px}
.navbar-c .nav-link{color:var(--dim)!important;font-family:var(--ft);font-size:.88rem;letter-spacing:1px;padding:1.4rem .8rem!important;text-transform:uppercase;transition:color .2s;position:relative}
.navbar-c .nav-link::after{content:'';position:absolute;bottom:0;left:50%;right:50%;height:3px;background:var(--dorado);transition:left .2s,right .2s}
.navbar-c .nav-link:hover::after,.navbar-c .nav-link.active::after{left:0;right:0}
.navbar-c .nav-link:hover,.navbar-c .nav-link.active{color:var(--blanco)!important}
.navbar-c .navbar-toggler{border-color:var(--borde-gold)}
.navbar-c .navbar-toggler-icon{filter:invert(1)}
.btn-acceder{background:var(--verde)!important;color:white!important;font-family:var(--ft);letter-spacing:1px;font-size:.82rem;border-radius:var(--rsm);padding:7px 18px;text-transform:uppercase}
.btn-acceder:hover{background:var(--verde-h)!important}

/* HERO */
.hero{position:relative;min-height:420px;background:linear-gradient(135deg,#080f18,#0d2035,#0a1a2e);overflow:hidden;display:flex;align-items:center}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,rgba(240,192,64,.07) 0%,transparent 60%)}
.hero-foto{position:absolute;right:0;top:0;bottom:0;width:55%;object-fit:cover;mask-image:linear-gradient(to left,rgba(0,0,0,.85) 30%,transparent 100%);-webkit-mask-image:linear-gradient(to left,rgba(0,0,0,.85) 30%,transparent 100%);opacity:.5}
.hero-content{position:relative;z-index:2;padding:60px 0}
.hero-eyebrow{font-family:var(--fc);font-size:.75rem;letter-spacing:3px;text-transform:uppercase;color:var(--dorado);margin-bottom:10px}
.hero-titulo{font-family:var(--ft);font-size:clamp(2.4rem,6vw,4.5rem);font-weight:700;color:var(--blanco);letter-spacing:2px;line-height:.95;text-transform:uppercase}
.hero-titulo span{color:var(--dorado);display:block}

/* QUICK NAV */
.quick-nav{background:rgba(8,15,25,.95);border-top:1px solid var(--borde);border-bottom:1px solid var(--borde)}
.btn-quick{font-family:var(--ft);font-size:.85rem;letter-spacing:2px;text-transform:uppercase;color:var(--dim);background:transparent;border:none;padding:12px 20px;cursor:pointer;transition:all .2s;display:inline-block}
.btn-quick:hover,.btn-quick.active{background:var(--verde);color:white}

/* SECCIÓN TÍTULO */
.sec-titulo{font-family:var(--ft);font-size:1.4rem;letter-spacing:2px;color:var(--blanco);text-transform:uppercase;margin-bottom:18px;display:flex;align-items:center;gap:10px}
.sec-titulo::before{content:'';width:4px;height:24px;background:var(--dorado);display:block;border-radius:2px;flex-shrink:0}

/* CARD GENÉRICA */
.card-c{background:var(--navy-card);border:1px solid var(--borde);border-radius:var(--r)}

/* ── ESCENARIO CARDS (página principal) ── */
.escenario-card{position:relative;border-radius:var(--r);overflow:hidden;cursor:pointer;transition:transform .3s,box-shadow .3s;box-shadow:var(--sombra);aspect-ratio:16/10}
.escenario-card:hover{transform:translateY(-5px);box-shadow:var(--sombra-h)}
.escenario-card .ec-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.escenario-card:hover .ec-bg{transform:scale(1.05)}
.escenario-card .ec-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(8,18,30,.2) 0%,rgba(8,18,30,.85) 100%)}
.escenario-card .ec-body{position:absolute;bottom:0;left:0;right:0;padding:20px}
.escenario-card .ec-logo{width:52px;height:52px;border-radius:50%;border:2px solid rgba(255,255,255,.3);object-fit:contain;background:rgba(255,255,255,.1);margin-bottom:8px}
.escenario-card .ec-nombre{font-family:var(--ft);font-size:1.1rem;letter-spacing:1px;color:var(--blanco);text-transform:uppercase}
.escenario-card .ec-ciudad{font-size:.78rem;color:var(--dorado);font-family:var(--fc);letter-spacing:.5px}
.escenario-card .ec-torneos{font-size:.74rem;color:rgba(255,255,255,.6);margin-top:4px}
.escenario-card .ec-btn{display:inline-block;background:rgba(255,255,255,.88);color:var(--navy)!important;font-family:var(--ft);font-size:.68rem;letter-spacing:1.5px;text-transform:uppercase;padding:5px 14px;border-radius:3px;margin-top:10px;transition:background .2s}
.escenario-card:hover .ec-btn{background:var(--dorado)}

/* ── TORNEO CARDS ── */
.torneo-card{background:var(--navy-card);border:1px solid var(--borde);border-radius:var(--r);overflow:hidden;transition:border-color .2s,transform .2s;height:100%}
.torneo-card:hover{border-color:var(--borde-gold);transform:translateY(-4px)}
.torneo-card .tc-header{padding:16px;border-bottom:1px solid var(--borde);display:flex;align-items:center;gap:12px}
.torneo-card .tc-logo{width:52px;height:52px;border-radius:50%;object-fit:contain;background:rgba(255,255,255,.06);border:2px solid var(--borde);flex-shrink:0}
.torneo-card .tc-nombre{font-family:var(--ft);font-size:1rem;letter-spacing:1px;color:var(--blanco);text-transform:uppercase;line-height:1.1}
.torneo-card .tc-cat{font-size:.75rem;color:var(--dorado);font-family:var(--fc);margin-top:2px}
.torneo-card .tc-body{padding:14px}
.torneo-card .tc-stat{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:.82rem}
.torneo-card .tc-stat:last-child{border:none}
.torneo-card .tc-stat-label{color:var(--dim)}
.torneo-card .tc-stat-val{font-family:var(--ft);font-size:.95rem;color:var(--dorado)}
.estado-badge{font-family:var(--ft);font-size:.65rem;letter-spacing:1px;padding:3px 9px;border-radius:3px;text-transform:uppercase}
.estado-inscripciones{background:rgba(52,152,219,.15);color:#5eb8f0;border:1px solid rgba(52,152,219,.3)}
.estado-en_curso{background:rgba(39,174,96,.15);color:#5ddb8e;border:1px solid rgba(39,174,96,.3)}
.estado-finalizado{background:rgba(240,192,64,.12);color:var(--dorado);border:1px solid var(--borde-gold)}
.estado-suspendido{background:rgba(231,76,60,.12);color:#f0796e;border:1px solid rgba(231,76,60,.3)}
.tc-btn{display:block;text-align:center;background:var(--verde);color:white;font-family:var(--ft);font-size:.75rem;letter-spacing:1.5px;text-transform:uppercase;padding:9px;margin:12px 14px 14px;border-radius:var(--rsm);transition:background .2s}
.tc-btn:hover{background:var(--verde-h);color:white}

/* ── TABLA POSICIONES ── */
.tabla-wrap{background:var(--navy-card);border-radius:var(--r);overflow:hidden;border:1px solid var(--borde)}
.tabla-titulo-band{background:var(--navy-med);border-bottom:2px solid var(--borde-gold);padding:12px 18px;font-family:var(--ft);font-size:.9rem;letter-spacing:2px;color:var(--dorado);text-transform:uppercase;text-align:center}
.tabla-pos{width:100%;border-collapse:collapse}
.tabla-pos thead th{background:var(--navy-med);color:var(--dim);font-family:var(--fc);font-weight:700;font-size:.72rem;letter-spacing:1px;padding:8px 6px;border:none;text-transform:uppercase;border-bottom:1px solid var(--borde)}
.tabla-pos thead th.th-pts{color:var(--dorado)}
.tabla-pos tbody tr{border-bottom:1px solid rgba(255,255,255,.04);transition:background .15s}
.tabla-pos tbody tr:hover{background:rgba(255,255,255,.04)}
.tabla-pos td{padding:8px 6px;font-size:.86rem;color:var(--texto);vertical-align:middle}
.tabla-pos .pos-n{font-family:var(--ft);font-size:.92rem;color:var(--dim);width:26px;text-align:center}
.tabla-pos .eq-esc{width:26px;height:26px;border-radius:50%;object-fit:contain;background:rgba(255,255,255,.05)}
.tabla-pos .eq-nom{font-family:var(--fc);font-weight:700;font-size:.88rem;color:var(--blanco)}
.tabla-pos .pts-val{font-family:var(--ft);font-size:1.1rem;color:var(--dorado);font-weight:700;text-align:right;padding-right:12px}
.zona-clasif .pos-n{color:var(--verde)}
.zona-clasif td:nth-child(3){border-left:3px solid var(--verde)}

/* ── GOLEADORES ── */
.goleador-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid rgba(255,255,255,.05);transition:background .15s}
.goleador-item:hover{background:rgba(255,255,255,.03)}
.gol-rank{font-family:var(--ft);font-size:1.1rem;color:var(--dorado);width:24px;text-align:center}
.gol-foto{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid var(--borde);background:var(--navy-light)}
.gol-nom{font-family:var(--fc);font-weight:700;font-size:.88rem;color:var(--blanco)}
.gol-eq{font-size:.74rem;color:var(--dim)}
.gol-num{margin-left:auto;background:var(--verde);color:white;font-family:var(--ft);font-size:1rem;padding:2px 10px;border-radius:20px;min-width:34px;text-align:center}

/* ── PARTIDOS ── */
.partido-card{background:var(--navy-card);border:1px solid var(--borde);border-radius:var(--rsm);padding:12px;display:flex;align-items:center;gap:8px;margin-bottom:7px;transition:border-color .2s}
.partido-card:hover{border-color:var(--borde-gold)}
.p-equipo{display:flex;flex-direction:column;align-items:center;flex:1;gap:4px;text-align:center}
.p-equipo img{width:36px;height:36px;border-radius:50%;object-fit:contain;background:rgba(255,255,255,.05)}
.p-equipo .nom{font-family:var(--fc);font-weight:700;font-size:.78rem;color:var(--blanco);line-height:1.2}
.p-marcador{background:var(--navy-med);border:1px solid var(--borde);color:var(--blanco);font-family:var(--ft);font-size:1.4rem;padding:5px 10px;border-radius:var(--rsm);letter-spacing:2px;min-width:68px;text-align:center}
.p-marcador.vs{background:transparent;border-color:var(--borde-gold);color:var(--dorado);font-size:.8rem;letter-spacing:1px}
.p-meta{font-size:.7rem;color:var(--dim);text-align:center;font-family:var(--fc)}

/* ── STATS CARD ── */
.stat-card{background:var(--navy-card);border:1px solid var(--borde);border-radius:var(--r);padding:16px 12px;text-align:center;transition:border-color .2s}
.stat-card:hover{border-color:var(--borde-gold)}
.stat-num{font-family:var(--ft);font-size:1.9rem;line-height:1;color:var(--dorado)}
.stat-label{font-size:.72rem;color:var(--dim);text-transform:uppercase;letter-spacing:1px;margin-top:4px;font-family:var(--fc)}
.stat-ico{width:40px;height:40px;border-radius:50%;background:rgba(240,192,64,.1);display:flex;align-items:center;justify-content:center;margin:0 auto 8px;font-size:1rem}

/* TARJETAS */
.tj-am{background:#FFD700;width:12px;height:17px;display:inline-block;border-radius:2px;vertical-align:middle}
.tj-rj{background:#E53935;width:12px;height:17px;display:inline-block;border-radius:2px;vertical-align:middle}

/* BADGE ESTADO PARTIDO */
.badge-estado{font-size:.68rem;font-family:var(--fc);font-weight:700;letter-spacing:.5px;padding:3px 8px;border-radius:3px;text-transform:uppercase}
.badge-finalizado{background:rgba(39,174,96,.12);color:#5ddb8e;border:1px solid rgba(39,174,96,.25)}
.badge-programado{background:rgba(52,152,219,.12);color:#5eb8f0;border:1px solid rgba(52,152,219,.25)}
.badge-en_juego{background:rgba(240,192,64,.12);color:var(--dorado);border:1px solid var(--borde-gold)}
.badge-suspendido,.badge-aplazado{background:rgba(231,76,60,.12);color:#f0796e;border:1px solid rgba(231,76,60,.25)}

/* NOTICIAS */
.noticia-card{background:var(--navy-card);border:1px solid var(--borde);border-radius:var(--r);overflow:hidden;transition:border-color .2s,transform .2s;height:100%}
.noticia-card:hover{border-color:var(--dorado);transform:translateY(-4px)}
.noticia-tag{font-family:var(--ft);font-size:.68rem;letter-spacing:1.5px;background:var(--verde);color:white;padding:3px 9px;border-radius:3px;text-transform:uppercase;display:inline-block;margin-bottom:7px}
.noticia-titulo{font-family:var(--fc);font-weight:700;font-size:.95rem;color:var(--blanco);line-height:1.3}
.noticia-fecha{font-size:.72rem;color:var(--dim);font-family:var(--fc)}

/* DOCUMENTOS */
.doc-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--navy-card);border:1px solid var(--borde);border-left:4px solid var(--dorado);border-radius:var(--rsm);margin-bottom:8px;transition:background .2s}
.doc-item:hover{background:rgba(255,255,255,.03)}

/* FOOTER */
.footer-c{background:var(--navy-med);border-top:2px solid var(--borde-gold);color:var(--dim);padding:44px 0 20px;margin-top:60px}
.footer-brand{font-family:var(--ft);font-size:1.4rem;color:var(--blanco);letter-spacing:2px;text-transform:uppercase}
.footer-titulo{font-family:var(--ft);font-size:.76rem;letter-spacing:2px;text-transform:uppercase;color:var(--dorado);margin-bottom:12px}
.footer-c a{color:var(--dim);transition:color .2s}
.footer-c a:hover{color:var(--dorado)}
.footer-copy{border-top:1px solid rgba(255,255,255,.07);margin-top:28px;padding-top:18px;font-size:.74rem;text-align:center;color:rgba(255,255,255,.3);font-family:var(--fc);letter-spacing:1px;text-transform:uppercase}

/* GALERÍA */
.galeria-grid{columns:3 170px;gap:10px}
.galeria-item{break-inside:avoid;margin-bottom:10px;border-radius:var(--rsm);overflow:hidden;cursor:pointer;border:1px solid var(--borde)}
.galeria-item img{width:100%;display:block;transition:transform .3s,opacity .3s}
.galeria-item:hover img{transform:scale(1.05);opacity:.8}

/* FILTRO POSICIÓN (pestaña jugadores) */
.liga-btn{font-family:var(--ft);font-size:.78rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--dim);background:var(--navy-card);border:1px solid var(--borde);padding:6px 16px;border-radius:var(--rsm);cursor:pointer;transition:all .2s;display:inline-block}
.liga-btn:hover{border-color:var(--dorado);color:var(--dorado)}
.liga-btn.active{background:var(--verde);color:white;border-color:var(--verde)}

/* LIGA BTN — filtros de posición en pestaña jugadores */
.liga-btn{font-family:var(--ft);font-size:.78rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--dim);background:var(--navy-card);border:1px solid var(--borde);padding:5px 14px;border-radius:3px;cursor:pointer;transition:all .2s}
.liga-btn:hover,.liga-btn.active{background:var(--verde);color:white;border-color:var(--verde)}
.liga-btn.active{border-color:var(--pos-color,var(--verde));background:var(--pos-color,var(--verde))}

/* SCROLLBAR */
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--navy)}
::-webkit-scrollbar-thumb{background:var(--navy-light);border-radius:3px}

/* RESPONSIVE */
@media(max-width:768px){
  .hero{min-height:300px}
  .hero-titulo{font-size:2rem}
  .hero-foto{width:100%;opacity:.18}
  .galeria-grid{columns:2 130px}
  .tabla-pos td,.tabla-pos thead th{padding:6px 4px;font-size:.74rem}
}
