/* Resultados en directo — Ranking Atletismo */
:root{--bg:#f0f2f5;--card:#fff;--text:#1a2332;--muted:#64748b;--primary:#1d4ed8;--primary-dark:#1e3a8a;--dark:#1a2332;--dark-2:#243447;--border:#dde3ea;--row-alt:#f7f9fb;--accent-light:#eff6ff;--radius:8px;--vivo:#dc2626;--vivo-claro:#fee2e2;--ok:#047857;--ok-claro:#d1fae5;}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Barlow',sans-serif;background:var(--bg);color:var(--text);line-height:1.5;}
a{color:var(--primary);text-decoration:none;}
a:hover{text-decoration:underline;}
[hidden]{display:none !important;}

.page-header{background:linear-gradient(135deg,var(--dark) 0%,var(--dark-2) 100%);border-bottom:3px solid var(--primary);text-align:center;padding:1.4rem 1rem 1.2rem;color:#fff;}
.page-header h1{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(1.3rem,4vw,1.9rem);letter-spacing:.5px;line-height:1.25;}
.page-header .sub{margin-top:4px;color:#cbd5e1;font-size:.95rem;}
.page-header .volver{display:inline-block;margin-bottom:8px;color:#cbd5e1;font-size:.9rem;}
.page-header .volver:hover{color:#fff;}
.page-content{max-width:860px;margin:0 auto;padding:1rem .75rem 3rem;}

/* píldora «En directo» */
.vivo-pill{display:inline-flex;align-items:center;gap:8px;margin-top:10px;padding:4px 12px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-weight:700;font-size:.9rem;}
.punto{width:9px;height:9px;border-radius:50%;background:var(--vivo);flex:none;animation:latido 1.6s infinite;}
@keyframes latido{0%{box-shadow:0 0 0 0 rgba(220,38,38,.6)}70%{box-shadow:0 0 0 8px rgba(220,38,38,0)}100%{box-shadow:0 0 0 0 rgba(220,38,38,0)}}
@media (prefers-reduced-motion:reduce){.punto{animation:none;}}

.aviso{background:#fff8e1;color:#5d4200;border:1px solid #f0d98c;border-radius:var(--radius);padding:10px 14px;margin-bottom:14px;font-size:.92rem;}
.vacio{text-align:center;color:var(--muted);padding:48px 16px;font-size:.98rem;background:var(--card);border-radius:var(--radius);border:1px solid var(--border);}

/* ---------- lista de competiciones ---------- */
.seccion-titulo{font-family:'Barlow Condensed',sans-serif;font-size:1.15rem;font-weight:700;color:var(--dark);margin:18px 0 8px;}
.seccion-titulo:first-child{margin-top:4px;}
.comp-lista{display:grid;gap:10px;}
.comp{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:14px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.05);transition:box-shadow .15s,border-color .15s;}
.comp:hover{text-decoration:none;border-color:var(--primary);box-shadow:0 4px 12px rgba(0,0,0,.09);}
.comp.vivo{border-left:5px solid var(--vivo);}
.comp-fecha{text-align:center;line-height:1.1;font-family:'Barlow Condensed',sans-serif;}
.comp-fecha .dia{display:block;font-size:1.6rem;font-weight:700;color:var(--dark);}
.comp-fecha .mes{display:block;font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;}
.comp-nombre{font-weight:700;font-size:1rem;line-height:1.3;}
.comp-lugar{font-size:.86rem;color:var(--muted);margin-top:2px;}
.estado{font-size:.8rem;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap;background:var(--bg);color:var(--muted);display:inline-flex;align-items:center;gap:6px;}
.estado.directo{background:var(--vivo-claro);color:#b91c1c;}
.estado.final{background:var(--dark);color:#fff;}
.estado.parcial{background:var(--accent-light);color:var(--primary-dark);}
.estado .punto{width:7px;height:7px;}
.comp-mini{display:block;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:9px 14px;color:var(--text);font-size:.93rem;}
.comp-mini:hover{border-color:var(--primary);text-decoration:none;}
.comp-mini .f{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:8px;}
.nota{font-size:.85rem;color:var(--muted);margin-top:18px;text-align:center;}
@media (max-width:520px){
  .comp{grid-template-columns:52px 1fr;gap:10px;}
  .comp .estado{grid-column:2;justify-self:start;}
}

/* ---------- una competición ---------- */
.cabeza-pruebas{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
.cabeza-pruebas h2{font-family:'Barlow Condensed',sans-serif;font-size:1.2rem;}
.filtros{display:flex;gap:6px;flex-wrap:wrap;}
.filtros button{border:1.5px solid var(--border);background:var(--card);border-radius:999px;padding:5px 12px;font-family:inherit;font-weight:600;font-size:.88rem;cursor:pointer;color:var(--text);}
.filtros button[aria-pressed="true"]{background:var(--dark);border-color:var(--dark);color:#fff;}
.docs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.boton{display:inline-block;border:1.5px solid var(--border);background:var(--card);border-radius:7px;padding:6px 12px;font-weight:600;font-size:.88rem;color:var(--text);}
.boton:hover{border-color:var(--primary);color:var(--primary);text-decoration:none;}
.lista-pruebas{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;}
.prueba + .prueba{border-top:1px solid var(--border);}
.prueba-cabeza{width:100%;display:grid;grid-template-columns:54px 1fr auto 14px;align-items:center;gap:12px;padding:12px 14px;background:none;border:0;text-align:left;cursor:pointer;color:var(--text);font-family:inherit;font-size:1rem;}
.prueba-cabeza:hover,.prueba-cabeza[aria-expanded="true"]{background:var(--row-alt);}
.prueba-hora{font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums;}
.prueba-nombre{font-weight:700;line-height:1.3;}
.flecha{color:var(--muted);font-size:.75rem;transition:transform .2s;}
.prueba-cabeza[aria-expanded="true"] .flecha{transform:rotate(90deg);}
.prueba.directo{box-shadow:inset 4px 0 0 var(--vivo);}
.prueba.sinres .prueba-nombre{color:var(--muted);}
.detalle{padding:4px 14px 16px;}
.cargando{color:var(--muted);font-size:.92rem;padding:8px 0;}
.fase + .fase{margin-top:14px;}
.fase-cabeza{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:8px 0 4px;}
.fase-cabeza h4{font-family:'Barlow Condensed',sans-serif;font-size:1.05rem;}
.fase-hora{color:var(--muted);font-size:.88rem;}
.fase-foto{margin-left:auto;font-size:.88rem;font-weight:600;}
.resultados{list-style:none;}
.res{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding:8px 4px;border-top:1px solid #edf0f4;}
.res:nth-child(even){background:var(--row-alt);}
.res-pos{font-weight:800;text-align:center;color:var(--muted);font-variant-numeric:tabular-nums;}
.res-pos.podio{color:var(--dark);}
.res-atleta{display:flex;flex-direction:column;min-width:0;}
.res-nombre{font-weight:700;overflow-wrap:anywhere;}
.res-nombre a{color:var(--primary-dark);}
.res-pareja{display:block;}
.res-sub{font-size:.84rem;color:var(--muted);}
.res-intentos{font-size:.84rem;margin-top:2px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;}
.res-marca{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;}
.res-marca.mi{font-weight:500;color:var(--muted);font-size:.86rem;}
.pie{margin-top:22px;text-align:center;font-size:.9rem;color:var(--muted);}
@media (max-width:520px){
  .prueba-cabeza{grid-template-columns:44px 1fr 12px;gap:10px;}
  .prueba-cabeza .estado{grid-column:2;grid-row:2;justify-self:start;}
  .prueba-cabeza .flecha{grid-column:3;grid-row:1;}
  .res{grid-template-columns:32px 1fr auto;gap:8px;}
}
footer{text-align:center;padding:20px;font-size:.82rem;color:var(--muted);}
footer a{color:var(--muted);}

/* menú rápido del móvil (igual que el resto de la web) */
.quick-nav{display:none;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:var(--card);border-bottom:1px solid var(--border);padding:8px 10px;gap:6px;align-items:center;box-shadow:0 1px 4px rgba(0,0,0,.06);}
.quick-nav::-webkit-scrollbar{display:none;}
.qn-label{font-size:.7rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;flex-shrink:0;}
.quick-nav a{display:inline-block;padding:5px 12px;border-radius:999px;text-decoration:none;font-family:'Barlow Condensed',sans-serif;font-size:.88rem;font-weight:600;color:var(--text);background:var(--bg);border:1px solid var(--border);white-space:nowrap;flex-shrink:0;}
.quick-nav a:hover{background:var(--primary);color:#fff;border-color:var(--primary);text-decoration:none;}
@media(max-width:768px){.quick-nav{display:flex;}}
