/* V125.52 · Ranking visual consolidado.
   Solo apariencia. Corrige interferencias de estilos heredados del podio,
   evita recortes y mantiene el lenguaje visual limpio de Academia Naval. */
#rankingHub{
  --ranking-gold:#d3a52f;
  --ranking-silver:#95a3b0;
  --ranking-bronze:#a86f52;
  --ranking-line:color-mix(in srgb,var(--borde) 70%,transparent);
  --ranking-surface:color-mix(in srgb,var(--primario) 2.5%,var(--card));
}

/* Cabecera: misma informacion, mejor proporcion y sin texto pegado al borde. */
#rankingHub .ranking-resumen.ranking-resumen-referencia{
  min-height:136px!important;
  padding:18px 22px!important;
  grid-template-columns:minmax(112px,.82fr) minmax(0,1.18fr)!important;
  gap:0 16px!important;
}
#rankingHub .ranking-resumen.ranking-resumen-referencia #rankingMiPosicion{
  font-size:clamp(3.55rem,14vw,5.35rem)!important;
  letter-spacing:-.07em!important;
}
#rankingHub .ranking-resumen.ranking-resumen-referencia > small.ranking-ref-label:first-of-type{
  max-width:100%!important;
  padding:5px 12px!important;
  font-size:.66rem!important;
  white-space:nowrap!important;
}
#rankingHub .ranking-resumen.ranking-resumen-referencia .ranking-total{
  width:100%!important;
  max-width:240px!important;
  padding-right:1px!important;
  font-size:clamp(.82rem,3.25vw,1.02rem)!important;
  line-height:1.18!important;
  white-space:normal!important;
  text-wrap:balance!important;
}
#rankingHub .ranking-ref-trophy{
  width:min(100%,176px)!important;
  margin-top:2px!important;
}

/* Desactiva cualquier resto visual del podio antiguo/ornamental. */
#rankingHub .ranking-premium-confetti,
#rankingHub .ranking-premium-podium-art,
#rankingHub .ranking-premium-crown,
#rankingHub .ranking-premium-frame{display:none!important}
#rankingHub .ranking-podio-puesto-1 .ranking-podio-persona::before{content:none!important;display:none!important}

/* Podio: tres columnas reales. Nada absoluto y nada puede salirse del panel. */
#rankingHub .ranking-podio,
#rankingHub .ranking-podio.ranking-podio-con-assets{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1.12fr) minmax(0,1fr)!important;
  grid-template-rows:auto!important;
  align-items:end!important;
  gap:9px!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:24px 15px 0!important;
  overflow:hidden!important;
  border-bottom:1px solid var(--ranking-line)!important;
  background:
    radial-gradient(circle at 50% 2%,color-mix(in srgb,var(--primario) 7%,transparent),transparent 34%),
    linear-gradient(180deg,var(--ranking-surface),var(--card))!important;
}

/* Reseteo fuerte de posiciones heredadas que desplazaban 2.º y 3.º lugar. */
#rankingHub .ranking-podio .ranking-podio-puesto,
#rankingHub .ranking-podio.ranking-podio-con-assets .ranking-podio-puesto{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  transform:none!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  align-items:stretch!important;
  align-self:end!important;
  text-align:center!important;
  overflow:visible!important;
}
#rankingHub .ranking-podio .ranking-podio-puesto-2,
#rankingHub .ranking-podio.ranking-podio-con-assets .ranking-podio-puesto-2{grid-column:1!important;grid-row:1!important;order:1!important}
#rankingHub .ranking-podio .ranking-podio-puesto-1,
#rankingHub .ranking-podio.ranking-podio-con-assets .ranking-podio-puesto-1{grid-column:2!important;grid-row:1!important;order:2!important}
#rankingHub .ranking-podio .ranking-podio-puesto-3,
#rankingHub .ranking-podio.ranking-podio-con-assets .ranking-podio-puesto-3{grid-column:3!important;grid-row:1!important;order:3!important}

#rankingHub .ranking-podio .ranking-podio-persona,
#rankingHub .ranking-podio.ranking-podio-con-assets .ranking-podio-persona,
#rankingHub .ranking-podio.ranking-podio-con-assets .ranking-podio-puesto-1 .ranking-podio-persona,
#rankingHub .ranking-podio.ranking-podio-con-assets .ranking-podio-puesto-2 .ranking-podio-persona,
#rankingHub .ranking-podio.ranking-podio-con-assets .ranking-podio-puesto-3 .ranking-podio-persona{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  transform:none!important;
  display:flex!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0 2px 10px!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-end!important;
  overflow:visible!important;
}
#rankingHub .ranking-podio .ranking-podio-puesto-1 .ranking-podio-persona{padding-bottom:11px!important}

/* Avatar: fotografia y fallback comparten exactamente la misma geometria. */
#rankingHub .ranking-podio .ranking-avatar,
#rankingHub .ranking-podio.ranking-podio-con-assets .ranking-avatar{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  margin:0 auto!important;
  overflow:hidden!important;
  border-radius:50%!important;
  flex:0 0 auto!important;
}
#rankingHub .ranking-podio .ranking-podio-puesto-1 .ranking-avatar,
#rankingHub .ranking-podio.ranking-podio-con-assets .ranking-podio-puesto-1 .ranking-avatar{
  width:74px!important;
  height:74px!important;
  border:3px solid var(--card)!important;
  outline:2px solid var(--ranking-gold)!important;
  outline-offset:1px!important;
  box-shadow:0 9px 20px rgba(116,84,20,.12)!important;
}
#rankingHub .ranking-podio .ranking-podio-puesto-2 .ranking-avatar,
#rankingHub .ranking-podio.ranking-podio-con-assets .ranking-podio-puesto-2 .ranking-avatar,
#rankingHub .ranking-podio .ranking-podio-puesto-3 .ranking-avatar,
#rankingHub .ranking-podio.ranking-podio-con-assets .ranking-podio-puesto-3 .ranking-avatar{
  width:58px!important;
  height:58px!important;
  border:3px solid var(--card)!important;
  outline:1.5px solid var(--ranking-silver)!important;
  outline-offset:1px!important;
  box-shadow:0 7px 16px rgba(15,23,42,.07)!important;
}
#rankingHub .ranking-podio .ranking-podio-puesto-3 .ranking-avatar,
#rankingHub .ranking-podio.ranking-podio-con-assets .ranking-podio-puesto-3 .ranking-avatar{outline-color:var(--ranking-bronze)!important}
#rankingHub .ranking-podio .ranking-avatar>img:not(.ranking-premium-frame),
#rankingHub .ranking-podio.ranking-podio-con-assets .ranking-avatar>img:not(.ranking-premium-frame){
  position:absolute!important;
  inset:0!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  transform:none!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border-radius:50%!important;
  object-fit:cover!important;
  object-position:center!important;
}
#rankingHub .ranking-podio .ranking-avatar-fallback{width:54%!important;height:54%!important}

#rankingHub .ranking-podio .ranking-podio-nombre{
  width:100%!important;
  max-width:100%!important;
  margin:9px 0 0!important;
  padding:0 2px!important;
  color:var(--text)!important;
  font-size:.76rem!important;
  font-weight:850!important;
  line-height:1.16!important;
  letter-spacing:-.01em!important;
  text-align:center!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  text-shadow:none!important;
}
#rankingHub .ranking-podio .ranking-podio-puesto-1 .ranking-podio-nombre{font-size:.84rem!important}
#rankingHub .ranking-podio .ranking-podio-puntos{
  min-width:0!important;
  margin:5px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--textoAcento)!important;
  font-size:.72rem!important;
  font-weight:900!important;
  line-height:1.1!important;
}
#rankingHub .ranking-podio .ranking-marca-yo{
  margin:5px 0 0!important;
  padding:3px 8px!important;
  border:1px solid color-mix(in srgb,var(--primario) 18%,var(--borde))!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--primario) 7%,var(--card))!important;
  color:var(--textoAcento)!important;
  font-size:.60rem!important;
  font-weight:900!important;
  line-height:1.05!important;
  box-shadow:none!important;
}

/* Escalones bajos y sobrios: dan jerarquia sin parecer videojuego. */
#rankingHub .ranking-podio .ranking-podio-bloque,
#rankingHub .ranking-podio.ranking-podio-con-assets .ranking-podio-bloque{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  display:grid!important;
  place-items:center!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  overflow:hidden!important;
  border:1px solid var(--ranking-line)!important;
  border-bottom:0!important;
  border-radius:13px 13px 0 0!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.48)!important;
}
#rankingHub .ranking-podio .ranking-podio-puesto-1 .ranking-podio-bloque{
  height:54px!important;
  border-color:color-mix(in srgb,var(--ranking-gold) 35%,var(--borde))!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--ranking-gold) 13%,var(--card)),color-mix(in srgb,var(--ranking-gold) 5%,var(--card)))!important;
}
#rankingHub .ranking-podio .ranking-podio-puesto-2 .ranking-podio-bloque{
  height:39px!important;
  border-color:color-mix(in srgb,var(--ranking-silver) 30%,var(--borde))!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--ranking-silver) 10%,var(--card)),color-mix(in srgb,var(--ranking-silver) 4%,var(--card)))!important;
}
#rankingHub .ranking-podio .ranking-podio-puesto-3 .ranking-podio-bloque{
  height:34px!important;
  border-color:color-mix(in srgb,var(--ranking-bronze) 30%,var(--borde))!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--ranking-bronze) 10%,var(--card)),color-mix(in srgb,var(--ranking-bronze) 4%,var(--card)))!important;
}
#rankingHub .ranking-podio .ranking-podio-numero{
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--muted)!important;
  font-size:1.02rem!important;
  font-weight:900!important;
  line-height:1!important;
  text-shadow:none!important;
}
#rankingHub .ranking-podio .ranking-podio-puesto-1 .ranking-podio-numero{color:color-mix(in srgb,var(--ranking-gold) 80%,var(--text))!important;font-size:1.28rem!important}
#rankingHub .ranking-podio .ranking-podio-puesto-2 .ranking-podio-numero{color:color-mix(in srgb,var(--ranking-silver) 78%,var(--text))!important}
#rankingHub .ranking-podio .ranking-podio-puesto-3 .ranking-podio-numero{color:color-mix(in srgb,var(--ranking-bronze) 80%,var(--text))!important}

/* Lista inferior: conserva lo acertado de V125.51, con menos altura y bordes mas finos. */
#rankingHub .ranking-rack{padding:6px 14px 8px!important}
#rankingHub .ranking-rack-fila{
  min-height:56px!important;
  grid-template-columns:30px 38px minmax(0,1fr) auto!important;
  gap:9px!important;
  padding:7px 3px!important;
}
#rankingHub .ranking-rack .ranking-avatar{width:36px!important;height:36px!important}
#rankingHub .ranking-rack-nombre{font-size:.80rem!important}
#rankingHub .ranking-rack-puntos{
  padding:4px 7px!important;
  font-size:.67rem!important;
  background:color-mix(in srgb,var(--primario) 4%,var(--card))!important;
}

@media(max-width:520px){
  #rankingHub .ranking-resumen.ranking-resumen-referencia{
    min-height:132px!important;
    padding:16px 17px!important;
    grid-template-columns:minmax(106px,.82fr) minmax(0,1.18fr)!important;
    gap:0 10px!important;
  }
  #rankingHub .ranking-resumen.ranking-resumen-referencia #rankingMiPosicion{font-size:clamp(3.45rem,15.5vw,4.75rem)!important}
  #rankingHub .ranking-resumen.ranking-resumen-referencia .ranking-total{font-size:.82rem!important;max-width:190px!important}
  #rankingHub .ranking-ref-trophy{width:150px!important}
  #rankingHub .ranking-podio,#rankingHub .ranking-podio.ranking-podio-con-assets{gap:7px!important;padding:22px 12px 0!important}
  #rankingHub .ranking-podio .ranking-podio-puesto-1 .ranking-avatar,
  #rankingHub .ranking-podio.ranking-podio-con-assets .ranking-podio-puesto-1 .ranking-avatar{width:68px!important;height:68px!important}
  #rankingHub .ranking-podio .ranking-podio-puesto-2 .ranking-avatar,
  #rankingHub .ranking-podio.ranking-podio-con-assets .ranking-podio-puesto-2 .ranking-avatar,
  #rankingHub .ranking-podio .ranking-podio-puesto-3 .ranking-avatar,
  #rankingHub .ranking-podio.ranking-podio-con-assets .ranking-podio-puesto-3 .ranking-avatar{width:52px!important;height:52px!important}
  #rankingHub .ranking-podio .ranking-podio-nombre{font-size:.68rem!important}
  #rankingHub .ranking-podio .ranking-podio-puesto-1 .ranking-podio-nombre{font-size:.76rem!important}
  #rankingHub .ranking-podio .ranking-podio-puntos{font-size:.67rem!important}
  #rankingHub .ranking-podio .ranking-podio-puesto-1 .ranking-podio-bloque{height:48px!important}
  #rankingHub .ranking-podio .ranking-podio-puesto-2 .ranking-podio-bloque{height:35px!important}
  #rankingHub .ranking-podio .ranking-podio-puesto-3 .ranking-podio-bloque{height:31px!important}
  #rankingHub .ranking-rack{padding:5px 10px 7px!important}
  #rankingHub .ranking-rack-fila{grid-template-columns:27px 36px minmax(0,1fr) auto!important;gap:8px!important;min-height:54px!important}
  #rankingHub .ranking-rack .ranking-avatar{width:34px!important;height:34px!important}
}

@media(max-width:360px){
  #rankingHub .ranking-resumen.ranking-resumen-referencia{grid-template-columns:minmax(98px,.80fr) minmax(0,1.20fr)!important;padding-inline:15px!important}
  #rankingHub .ranking-resumen.ranking-resumen-referencia > small.ranking-ref-label:first-of-type{font-size:.59rem!important;padding:4px 8px!important}
  #rankingHub .ranking-resumen.ranking-resumen-referencia .ranking-total{font-size:.76rem!important;max-width:170px!important}
  #rankingHub .ranking-podio,#rankingHub .ranking-podio.ranking-podio-con-assets{padding-inline:9px!important;gap:6px!important}
  #rankingHub .ranking-rack-fila{grid-template-columns:25px 34px minmax(0,1fr) auto!important;gap:7px!important}
}
