/* Flat build: ranking.css */
/* Generado por flatten.js. Fuente original: entries/ranking.css + assets/css/... */
/* ---- BEGIN ../assets/css/07-ranking-table.css ---- */
/* === RANKING (limpio) ==================================================== */
/* Fila base */
.ranking-row{
  background:var(--futbolin-bg-card);
  border:1px solid var(--futbolin-border-color);
  border-radius:var(--futbolin-border-radius-main);
  padding:10px 12px;
  transition:all .2s;
  margin-bottom:10px;
}
.ranking-row:hover{
  transform:translateY(-2px);
  border-color:var(--futbolin-color-primary);
  background:var(--futbolin-bg-card-hover);
  box-shadow:0 4px 6px -1px rgb(0 0 0 / .07), 0 2px 4px -2px rgb(0 0 0 / .07);
}
/* Posición (podio con texto blanco coherente) */
.ranking-position{
  font-weight:700; font-size:1.1em;
  width:35px; height:35px; border-radius:8px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  color:#fff; background:var(--futbolin-text-light);
}
.ranking-position.pos-1{ background:#d4af37; }
.ranking-position.pos-2{ background:#c0c0c0; }
.ranking-position.pos-3{ background:#cd7f32; }
/* Layout por defecto: 4 columnas (Pos | Jug | Cat | Pts) */
.futbolin-card .futbolin-ranking .ranking-header,
.futbolin-card .futbolin-ranking .ranking-row {
  display: grid;
  grid-template-columns: 70px 1fr 180px 120px;
  align-items:center;
  gap:12px;
}
.futbolin-card .ranking-header{
  font-weight:600; text-transform:uppercase; letter-spacing:.02em;
  padding:10px 12px; border-bottom:1px solid rgba(0,0,0,.08);
}
.futbolin-card .ranking-header .ranking-th{ text-align:center; }
.futbolin-card .ranking-position,
.futbolin-card .ranking-points{ text-align:center; }
/* Compactado suave */
.futbolin-card .ranking-header,
.futbolin-card .ranking-row{ grid-template-columns: 70px 1fr 180px 120px; gap:10px; }
.futbolin-card .points-pill{ padding:6px 10px; }
.futbolin-card .ranking-player-details a{ font-size:1.05em; }
/* Título + contador en columna (contador pequeño) */
.futbolin-card .ranking-top-bar{
  display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:12px;
}
.futbolin-card .ranking-title-wrap.column{
  display:flex; flex-direction:column; align-items:flex-start; gap:4px;
}
.futbolin-card .ranking-title-wrap.column h2{ margin:0; }
.futbolin-card .sub-count{ font-size:.85rem; opacity:.75; margin:0; }
/* Badge tipo (Individual/Dobles) */
.ranking-type-badge{
  display:inline-block; font-size:.75rem; font-weight:700;
  padding:2px 8px; border-radius:999px;
  background:#eef2ff; color:#1d4ed8; border:1px solid #dbe3ff;
}
/* Selector tamaños */
.futbolin-card .ranking-controls-right{ display:flex; align-items:center; gap:16px; }
.futbolin-card .page-size-form .button,
.futbolin-card .page-size-form .psize-btn{
  display:inline-block; padding:6px 10px; border:1px solid rgba(0,0,0,.15);
  border-radius:6px; background:#fff; cursor:pointer; margin-left:6px;
}
.futbolin-card .page-size-form .button.active,
.futbolin-card .page-size-form .psize-btn.active{ background:#111;color:#fff;border-color:#111; }
/* Categoría (solo en Individual/Dobles; ver variante no-category más abajo) */
.futbolin-card .ranking-player-category{ display:flex; justify-content:center; }
.category-pill{
  display:inline-block; padding:5px 10px; border-radius:999px;
  font-size:13px; font-weight:700; line-height:1; border:1px solid transparent;
  text-transform:capitalize;
}
/* Puntos */
.ranking-points{ margin-left:auto; flex-shrink:0; }
.points-pill{ background:var(--futbolin-bg-main); border-radius:var(--futbolin-border-radius-pill); text-align:center; }
.points-value{ font-weight:700; color:var(--futbolin-text-headings); font-size:1.1em; }
/* Paginación */
.futbolin-card .futbolin-paginacion{
  display:flex; align-items:center; justify-content:center; gap:12px; margin-top:16px;
}
.futbolin-card .futbolin-paginacion .button{
  text-decoration:none; padding:8px 12px; border:1px solid rgba(0,0,0,.15); border-radius:6px; background:#fff;
}
.futbolin-card .page-indicator{ opacity:.8; }
/* Colores de categorías */
/* Refuerzo de chips de categoría (paleta pastel y selectores robustos) */
/* Elite GM: cubrir variantes con/sin guion y data-attribute */
.category-pill.category-elitegm,
.category-pill.category-elite-gm,
.category-pill[data-category="elite-gm"] {
  background: linear-gradient(135deg, #fef3c7, #fde68a);
  border-color: #f5d565;
  color: #3b2f00;
}
/* Elite */
.category-pill.category-elite,
.category-pill[data-category="elite"] {
  background: linear-gradient(135deg, #f8fafc, #e5e7eb);
  border-color: #cbd5e1;
  color: #1f2937;
}
/* Master */
.category-pill.category-master,
.category-pill[data-category="master"] {
  background: linear-gradient(135deg, #f6eadf, #ead7c5);
  border-color: #d9c3ae;
  color: #442a17;
}
/* Pro */
.category-pill.category-pro,
.category-pill[data-category="pro"] {
  background: linear-gradient(135deg, #e0f2fe, #bfdbfe);
  border-color: #93c5fd;
  color: #0f3a67;
}
/* Amateur (incluye typo amater) */
.category-pill.category-amateur,
.category-pill.category-amater,
.category-pill[data-category="amateur"],
.category-pill[data-category="amater"] {
  background: linear-gradient(135deg, #f1f5f9, #e2e8f0);
  border-color: #cbd5e1;
  color: #334155;
}
/* Rookie */
.category-pill.category-rookie,
.category-pill[data-category="rookie"] {
  background: linear-gradient(135deg, #dcfce7, #bbf7d0);
  border-color: #86efac;
  color: #14532d;
}
/* Variante SIN categoría: 3 columnas (Pos | Jug | Pts) */
.futbolin-card.no-category .ranking-header,
.futbolin-card.no-category .ranking-row{
  grid-template-columns: 90px 1fr 160px;
}
.futbolin-card.no-category .ranking-player-category{ display:none !important; }
/* Disclaimer bajo la paginación */
.futbolin-card .ranking-disclaimer{
  margin-top:10px; font-size:.85rem; color:rgba(0,0,0,.7);
}
/* Bloque especial para Win Rate (se mantiene separado) */
/* Utilidad: placeholder de foto */
/* Compactar filtro y botones a ~50% */
.futbolin-card .futbolin-search-form .futbolin-live-filter{
  font-size:.8rem; padding:4px 6px; height:38px;
}
.futbolin-card .page-size-form .button,
.futbolin-card .page-size-form .psize-btn,
.futbolin-card .futbolin-paginacion .button{
  font-size:.8rem; padding:4px 8px;
}
/* === PODIO UNIVERSAL (Top 1–3) =========================================== */
/* No añadimos iconos; SOLO color. Aplica a cualquier .ranking-row con .podium-N */
.ranking-row { position: relative; }
/* Colores base (tonos medalla) */
:root{
  --podium-gold-bg:   #ffefb3;
  --podium-gold-bd:   #d4af37;
  --podium-silver-bg: #ececec;
  --podium-silver-bd: #bfbfbf;
  --podium-bronze-bg: #efd1ac;
  --podium-bronze-bd: #c27a33;

  --podium-text:      #111827; /* gris muy oscuro para contraste */
}
/* Fila completa coloreada (sin cebreado) */
/* Refuerzos de contraste del texto dentro de filas podium */
/* CETRO: el número de posición se hace muy visible con una “pill” sólida.
   NUNCA se inyectan iconos. Funciona con .pos-cell, .ranking-position,
   o .ranking-cell.pos (Hall of Fame) */
.pos-cell, .ranking-position, .ranking-cell.pos{ display:flex; align-items:center; justify-content:center; }
/* Hover conserva el color (evita que el hover global “aclare” y cree cebreado) */
/* Estrellita junto al número (solo en HOF y resultados de torneos) */
/* ---- END ../assets/css/07-ranking-table.css ---- */
/* ---- BEGIN ../assets/css/10-pagination.css ---- */
/* 10. PAGINACIÓN
------------------------------------------------------------------- */
.futbolin-paginacion {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: var(--futbolin-bg-card);
    border: 1px solid var(--futbolin-border-color);
    border-radius: var(--futbolin-border-radius-main);
    padding: 15px 25px;
    margin-top: 20px;
}
.futbolin-paginacion a, .futbolin-paginacion span {
    color: var(--futbolin-text-muted);
    text-decoration: none;
    font-weight: 500;
    font-size: 1.1em;
}
.futbolin-paginacion a {
    color: var(--futbolin-color-primary);
    padding: 8px 16px;
    border-radius: 5px;
    border: 1px solid var(--futbolin-border-color);
    transition: all 0.2s;
}
.futbolin-paginacion a:hover {
    background-color: var(--futbolin-color-primary);
    color: #fff;
    border-color: var(--futbolin-color-primary);
}
/* Quitar “burbuja” en los números de la leyenda del pager */
.futbolin-paginacion .page-indicator #hof-page-now,
.futbolin-paginacion .page-indicator #hof-page-total {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  line-height: inherit !important;
  font-weight: 600; /* opcional: que destaque sin burbuja */
}
/* ---- END ../assets/css/10-pagination.css ---- */
/* ---- BEGIN ../assets/css/18-ranking-controls.css ---- */
/* 18. CONTROLES DEL RANKING (TAMAÑO DE PÁGINA)
------------------------------------------------------------------- */
.page-size-form {
    display: flex;
    gap: 5px;
    background-color: var(--futbolin-bg-main);
    padding: 5px;
    border-radius: var(--futbolin-border-radius-main);
    border: 1px solid var(--futbolin-border-color);
    margin-left: auto; 
}
.page-size-form button {
    background-color: transparent;
    border: none;
    color: var(--futbolin-text-muted);
    font-weight: 500;
    padding: 8px 15px;
    cursor: pointer;
    border-radius: 5px;
    transition: all 0.2s ease-in-out;
    
}
.page-size-form button:hover {
    background-color: var(--futbolin-bg-highlight);
    color: var(--futbolin-color-primary);
}
.page-size-form button.active {
    background-color: var(--futbolin-color-primary);
    color: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
/* ---- END ../assets/css/18-ranking-controls.css ---- */
/* ---- BEGIN ../assets/css/20-ranking-category.css ---- */
/* 20. COLUMNA DE CATEGORÍA EN EL RANKING
------------------------------------------------------------------- */
/* Hacemos que el nombre del jugador no ocupe todo el espacio para dejar sitio a la categoría */
.ranking-player-details {
  flex-grow: 1; /* Permite que el nombre crezca para ocupar el espacio disponible */
  flex-shrink: 1; /* Permite que se encoja si es necesario */
  min-width: 150px; /* Ancho mínimo para el nombre */
}
/* Estilos para el contenedor de la categoría */
.ranking-player-category {
  flex-shrink: 0; /* Evita que la categoría se encoja */
  text-align: center;
}
/* Estilos para la "píldora" de la categoría, con colores dinámicos */
.category-pill {
  display: inline-block;
  padding: 6px 12px;
  font-weight: 600;
  font-size: 0.85em;
  border-radius: var(--futbolin-border-radius-pill);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  min-width: 80px; /* Ancho mínimo para consistencia */
}
/* Colores específicos para cada categoría */
/* --- NUEVOS ESTILOS PARA LA PANTALLA DE RANKING GENERAL --- */
/* Contenedor principal de los rankings de jugadores */
/* FIX: bloque .ranking-header reconstruido (se había perdido indentación coherente) */
.ranking-header {
  display: grid;
  grid-template-columns: 70px 2fr 1fr 1fr 1fr; /* más ancho para evitar cortes en 'Posición' */
  gap: 15px;
  background-color: #0073aa;
  color: #fff;
  font-weight: 700;
  padding: 10px 15px;
  border-radius: 8px 8px 0 0;
  text-transform: uppercase;
  font-size: 0.9em;
}
.ranking-header .ranking-th { white-space: nowrap; }
.ranking-header a {
    color: #fff;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 5px;
}
.sort-arrow {
  font-size: 0.8em;
  margin-left: 4px;
}
/* Si el doble viene de un <select>, elimínale la flecha nativa */
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: none !important; /* por si acaso */
}
.ranking-header .sort-arrow {
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    margin-left: 5px;
}
.ranking-header .sort-arrow.up {
    border-bottom: 5px solid #fff;
}
/* Estilos para el número de posición en los rankings */
/* Estilos específicos para las primeras 3 posiciones */
.futbolin-paginacion {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 20px;
    font-weight: 600;
}
.futbolin-paginacion a {
    text-decoration: none;
    color: #0073aa;
    padding: 5px 10px;
    border: 1px solid #0073aa;
    border-radius: 4px;
    transition: all 0.2s ease-in-out;
}
.futbolin-paginacion a:hover {
    background-color: #0073aa;
    color: #fff;
}
/* ---- END ../assets/css/20-ranking-category.css ---- */
/* ---- BEGIN ../assets/css/22-ranking-styles.css ---- */
/* -- 22-ranking-styles.css -- */
/* Estilos para la lista de campeonatos */
.futbolin-tournaments-list {
    display: grid;
    gap: 15px;
    margin-top: 25px;
}
.tournament-list-item {
    background-color: #f7f8f9;
    border: 1px solid #e0e0e1;
    border-radius: 8px;
    padding: 15px;
    transition: background-color 0.2s ease;
}
.tournament-list-item a {
    text-decoration: none;
    color: inherit;
    display: flex;
    align-items: center;
    gap: 20px;
}
.tournament-list-item:hover {
    background-color: #ededee;
}
.tournament-details {
    flex-grow: 1;
}
.tournament-details h3 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 600;
    color: #333;
    border-bottom: none;
}
.tournament-info {
    font-size: 0.9rem;
    color: #777;
}
/* ======================================================= */
/* ESTILOS PARA LAS ESTADÍSTICAS DE UN TORNEO (MODIFICADO) */
/* ======================================================= */
.tournament-competicion-block {
    margin-bottom: 25px;
}
.competicion-header {
    background-color: #0073aa;
    color: #ffffff;
    font-size: 1.2rem;
    font-weight: 700;
    text-align: center;
    padding: 10px 15px;
    border-radius: 6px;
    margin: 0 0 10px 0; /* Ajustado */
}
/* Contenedor de las filas del ranking del torneo */
.ranking-table {
    display: flex;
    flex-direction: column;
    gap: 10px; /* Espacio entre filas */
}
/* Fila individual del ranking del torneo (ahora con Grid) */
.ranking-row.tournament-row {
    background-color: var(--futbolin-bg-card);
    border: 1px solid var(--futbolin-border-color);
    border-radius: var(--futbolin-border-radius-main);
    display: grid;
    grid-template-columns: 50px 1fr; /* Columna para Posición y Columna para Equipo */
    gap: 15px;
    align-items: center;
    padding: 15px;
    transition: all 0.2s ease-in-out;
}
.ranking-row.tournament-row:hover {
    transform: translateY(-2px);
    border-color: var(--futbolin-color-primary);
    background-color: var(--futbolin-bg-card-hover);
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.07), 0 2px 4px -2px rgb(0 0 0 / 0.07);
}
/* Celda para la posición */
.tournament-position-cell {
    display: flex;
    align-items: center;
    justify-content: center;
}
/* Celda para los detalles del equipo */
.tournament-team-details {
    font-size: 1.2em;
    font-weight: 600;
    color: var(--futbolin-text-headings);
}
.ranking-position {
    font-weight: bold;
    font-size: 1.1em;
    color: var(--futbolin-text-dark);
    background-color: var(--futbolin-text-light);
    width: 35px; height: 35px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.ranking-position.pos-1 { background-color: #d4af37; color: #fff; }
.ranking-position.pos-2 { background-color: #c0c0c0; color: #fff; }
.ranking-position.pos-3 { background-color: #cd7f32; color: #fff; }
/* ==================================================== */
/* ESTILOS DEL HALL OF FAME (SIN CAMBIOS) */
/* ======================================================= */
.futbolin-hall-of-fame-wrapper {
    padding: 20px;
}
.futbolin-hall-of-fame-wrapper .futbolin-main-title {
    margin-top: 0;
    border-bottom: 2px solid #0073aa;
    padding-bottom: 10px;
    margin-bottom: 20px;
    color: #0073aa;
}
/* Estilos de la tabla principal del Hall of Fame */
.hall-of-fame-table-container {
    overflow-x: auto; /* Permite el scroll horizontal si es necesario */
}
/* Encabezado de la tabla */
/* Filas de la tabla */
.ranking-table-content .ranking-row {
    background-color: var(--futbolin-bg-card);
    border: 1px solid var(--futbolin-border-color);
    border-radius: var(--futbolin-border-radius-main);
    display: grid;
    grid-template-columns: 50px minmax(150px, 1.5fr) repeat(7, minmax(70px, 1fr));
    gap: 15px;
    align-items: center;
    padding: 15px;
    transition: all 0.2s ease-in-out;
    margin-bottom: 10px;
}
.ranking-table-content .ranking-row:hover {
    transform: translateY(-2px);
    border-color: var(--futbolin-color-primary);
    background-color: var(--futbolin-bg-card-hover);
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.07), 0 2px 4px -2px rgb(0 0 0 / 0.07);
}
.ranking-table-content .ranking-row.top-1,
.ranking-table-content .ranking-row:has(.ranking-position.pos-1),
.ranking-table-content .ranking-row:has(.badge.pos-1) {
    background: linear-gradient(180deg, var(--rf-gold-1, #fff6cc), var(--rf-gold-2, #f4d35e));
    border-color: var(--rf-gold-border, #e1b700);
}
.ranking-table-content .ranking-row.top-2,
.ranking-table-content .ranking-row:has(.ranking-position.pos-2),
.ranking-table-content .ranking-row:has(.badge.pos-2) {
    background: linear-gradient(180deg, var(--rf-silver-1, #f4f6f8), var(--rf-silver-2, #cfd8dc));
    border-color: var(--rf-silver-border, #b0bec5);
}
.ranking-table-content .ranking-row.top-3,
.ranking-table-content .ranking-row:has(.ranking-position.pos-3),
.ranking-table-content .ranking-row:has(.badge.pos-3) {
    background: linear-gradient(180deg, var(--rf-bronze-1, #f2d1b3), var(--rf-bronze-2, #d49a6a));
    border-color: var(--rf-bronze-border, #b87333);
}
.ranking-table-content .ranking-row.top-1 .ranking-cell,
.ranking-table-content .ranking-row.top-2 .ranking-cell,
.ranking-table-content .ranking-row.top-3 .ranking-cell {
    color: #1f2937;
}
.ranking-table-content .ranking-row:has(.ranking-position.pos-1) .ranking-cell,
.ranking-table-content .ranking-row:has(.ranking-position.pos-2) .ranking-cell,
.ranking-table-content .ranking-row:has(.ranking-position.pos-3) .ranking-cell,
.ranking-table-content .ranking-row:has(.badge.pos-1) .ranking-cell,
.ranking-table-content .ranking-row:has(.badge.pos-2) .ranking-cell,
.ranking-table-content .ranking-row:has(.badge.pos-3) .ranking-cell {
    color: #1f2937;
}
/* Estilos de las celdas */
 .ranking-player-name-cell {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.ranking-player-name-cell {
    justify-content: flex-start;
}
.ranking-player-name-cell a {
    text-decoration: none;
    font-weight: 600;
    font-size: 1.2em;
    color: var(--futbolin-text-headings);
}
/* ======================================================= */
/* ESTILOS PARA BOTONES, BÚSQUEDA Y PAGINACIÓN */
/* ======================================================= */
.futbolin-back-button {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    text-decoration: none;
    color: var(--futbolin-color-primary);
    font-weight: 600;
    margin-bottom: 20px;
    transition: all 0.2s ease-in-out;
    background-color: var(--futbolin-bg-card);
    border: 1px solid var(--futbolin-border-color);
    padding: 8px 12px;
    border-radius: var(--futbolin-border-radius-main);
}
.futbolin-back-button:hover {
    color: var(--futbolin-text-headings);
    background-color: var(--futbolin-bg-card-hover);
    border-color: var(--futbolin-color-primary);
    transform: translateY(-2px);
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.07), 0 2px 4px -2px rgb(0 0 0 / 0.07);
}
/* Esto asegurará que el icono tenga un tamaño y visualización definidos,
   superando a otras reglas CSS más genéricas que puedan ocultarlo. */
.futbolin-back-button .dashicons {
    display: inline-block !important;
    width: 20px !important;
    height: 20px !important;
    vertical-align: middle !important;
}
.futbolin-inline-toggle-wrapper {
    display: none;
    margin: 0 0 12px 0;
}

.futbolin-sidebar-toggle--inline {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border: 1px solid rgba(17,24,39,.15);
    border-radius: var(--futbolin-border-radius-main);
    background: var(--futbolin-bg-card,#fff);
    color: var(--futbolin-color-primary,#1d4ed8);
    font-weight: 600;
    cursor: pointer;
    transition: background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.futbolin-sidebar-toggle--inline:hover,
.futbolin-sidebar-toggle--inline:focus-visible {
    background: var(--futbolin-bg-highlight,#eef2ff);
    border-color: rgba(59,130,246,.45);
    transform: translateY(-1px);
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / .07),0 2px 4px -2px rgb(0 0 0 / .07);
    outline: none;
}

.futbolin-sidebar-toggle--inline .futbolin-sidebar-toggle__icon {
    display: inline-flex;
    flex-direction: column;
    gap: 5px;
}

.futbolin-sidebar-toggle--inline .futbolin-sidebar-toggle__icon span {
    width: 22px;
    height: 2px;
    background: currentColor;
    border-radius: 999px;
    transition: transform .2s ease, opacity .2s ease;
}

@media (max-width: 900px) {
    .futbolin-back-button {
        display: none !important;
    }
    .futbolin-inline-toggle-wrapper {
        display: block;
    }
}
.futbolin-paginacion {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 20px;
    font-size: 1rem;
}
.futbolin-paginacion a,
.futbolin-paginacion span {
    text-decoration: none;
    color: var(--futbolin-text-dark);
    background-color: var(--futbolin-bg-card);
    border: 1px solid var(--futbolin-border-color);
    padding: 8px 12px;
    border-radius: var(--futbolin-border-radius-main);
    transition: all 0.2s ease-in-out;
    text-align: center;
    min-width: 35px;
}
.futbolin-paginacion a:hover {
    background-color: var(--futbolin-bg-card-hover);
    border-color: var(--futbolin-color-primary);
    color: var(--futbolin-color-primary);
    transform: translateY(-2px);
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.07), 0 2px 4px -2px rgb(0 0 0 / 0.07);
}
.futbolin-paginacion span {
    color: var(--futbolin-text-muted);
}
/* Estilos para los botones de tamaño de página y búsqueda */
.page-size-form {
    display: flex;
    gap: 10px;
}
.page-size-form button {
    background-color: var(--futbolin-bg-card);
    border: 1px solid var(--futbolin-border-color);
    border-radius: var(--futbolin-border-radius-main);
    padding: 8px 12px;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    color: var(--futbolin-text-dark);
    font-weight: 600;
}
.page-size-form button:hover,
.page-size-form button.active {
    background-color: var(--futbolin-color-primary);
    border-color: var(--futbolin-color-primary);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.07), 0 2px 4px -2px rgb(0 0 0 / 0.07);
}
/* Estilo para el formulario de búsqueda */
.futbolin-search-form {
    display: flex;
    gap: 10px;
}
.futbolin-search-form .search-wrapper {
    flex-grow: 1;
}
.futbolin-search-form input[type="text"] {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--futbolin-border-color);
    border-radius: var(--futbolin-border-radius-main);
}
.futbolin-search-form button {
    background-color: var(--futbolin-color-primary);
    color: #fff;
    border: none;
    padding: 8px 15px;
    border-radius: var(--futbolin-border-radius-main);
    cursor: pointer;
    font-weight: 600;
}
/* ======================================================= */
/* ESTILOS PARA LA PÁGINA DE INFORMES DE FINALES           */
/* ======================================================= */
.futbolin-tabs-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 25px;
    border-bottom: 2px solid var(--futbolin-border-color);
    padding-bottom: 15px;
}
.futbolin-tabs-nav a {
    text-decoration: none;
    padding: 10px 15px;
    border-radius: var(--futbolin-border-radius-main);
    background-color: var(--futbolin-bg-card);
    border: 1px solid var(--futbolin-border-color);
    color: var(--futbolin-text-dark);
    font-weight: 600;
    transition: all 0.2s ease-in-out;
}
.futbolin-tabs-nav a:hover,
.futbolin-tabs-nav a.active {
    background-color: var(--futbolin-color-primary);
    border-color: var(--futbolin-color-primary);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.07), 0 2px 4px -2px rgb(0 0 0 / 0.07);
}
/* Estilos para el mensaje de "no hay resultados" o "error" */
/* Estilos para el mensaje de "no hay resultados" o "error" */
.ranking-table-content .no-results {
    padding: 15px;
    text-align: center;
    background-color: #fce8e8; /* Un color de fondo suave para el error */
    border: 1px solid #e5b2b2;
    color: #d8000c; /* Color de texto rojo */
    border-radius: 8px;
    font-weight: 600;
    margin-top: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.ranking-table-content .no-results::before {
    content: "\f534"; /* Código para el icono de advertencia */
    font-family: "dashicons";
    font-size: 20px;
}
/* === Historial: compactar “Derrota/Victoria + marcador + fase” a máx. 3 líneas === */
/* 0) Resetear el cuadrado de .ranking-position solo cuando es history-match-phase */
.ranking-position.history-match-phase{
  width:auto !important;
  height:auto !important;
  padding:6px 10px !important;
  border-radius:8px !important;

  /* tipografía compacta + cortes correctos */
  font-size:0.92rem;
  line-height:1.25;
  white-space:normal !important;
  word-break:break-word;

  /* clamp cross-browser */
  overflow:hidden !important;
  text-overflow:ellipsis;
  max-width:100%;
}
/* 1) Si la fila usa el grid (1ª col = 50px), saca el chip de esa columna estrecha */
.ranking-row .ranking-position.history-match-phase{
  justify-self:start;
  align-self:start;
}
/* 2) Clamp real en navegadores WebKit */
@supports (-webkit-line-clamp: 3){
  .ranking-position.history-match-phase{
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:3 !important;    /* <-- máximo 3 líneas */
    line-clamp: 3 !important;            /* propiedad estándar por compatibilidad */
  }
}
/* 3) Fallback universal (por si no hay -webkit-line-clamp) */
@supports not (-webkit-line-clamp: 3){
  .ranking-position.history-match-phase{
    display:block !important;
    max-height:calc(1.25em * 3);        /* 3 líneas * line-height */
  }
}
/* 4) Colores de estado (opcional) */
.ranking-position.history-match-phase.status-derrota{
  background:#fee2e2; color:#991b1b; border:1px solid #fecaca;
}
.ranking-position.history-match-phase.status-victoria{
  background:#dcfce7; color:#166534; border:1px solid #bbf7d0;
}
/* === PATCH: Historial - compactar a 3 líneas máx === */
/* Fila del historial: grid compacto + tipografía contenida */
.history-matches-list .ranking-row.history-match-row {
  display: grid !important;
  grid-template-columns: max-content 1fr max-content !important; /* Fase | Detalles | ELO */
  -moz-column-gap: 10px !important;
       column-gap: 10px !important;
  align-items: start !important;

  /* anula el font-size/line-height heredado que la infla */
  font-size: 14px !important;     /* ajusta a 15–16 si lo ves pequeño */
  line-height: 1.3 !important;
}
/* “Victoria/Derrota” como pill, 1 línea, sin caja cuadrada */
.history-matches-list .ranking-position.history-match-phase {
  width: auto !important;
  height: auto !important;
  padding: 4px 8px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
/* Detalles: 3 líneas máximo con elipsis */
.history-matches-list .history-match-details {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;   /* <= aquí decides 2/3 líneas */
  line-clamp: 3 !important;
  overflow: hidden !important;
  text-overflow: ellipsis;
  min-width: 0;                        /* permite cortar correctamente */
}
/* Sub-líneas dentro de los detalles más compactas y sin márgenes extra */
.history-matches-list .history-match-details > * {
  margin: 0 !important;
  line-height: 1.25 !important;
}
/* ELO en una sola línea, números alineados */
.history-matches-list .history-match-elo {
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums;
}
/* Colores (opcional, por si no los tienes) */
.history-matches-list .ranking-position.history-match-phase.status-derrota {
  background: #fee2e2;
  color: #991b1b;
  border: 1px solid #fecaca;
}
.history-matches-list .ranking-position.history-match-phase.status-victoria {
  background: #dcfce7;
  color: #166534;
  border: 1px solid #bbf7d0;
}
.ranking-player-details { cursor: pointer; }
.ranking-player-details:hover h4 { color: var(--futbolin-color-primary); }
/* === OVERRIDE PERFIL: nav horizontal, alineado a la izquierda (fijo) === */
.player-profile-container nav.futbolin-tabs-nav{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap !important;
  justify-content:flex-start !important;
  align-items:center !important;
  gap:12px !important;
  text-align:left !important;
}
.player-profile-container nav.futbolin-tabs-nav a{
  display:inline-flex !important;
  align-items:center !important;
  width:auto !important;
  margin:0 !important;
  white-space:nowrap !important;
  flex:0 0 auto !important;
}
.player-profile-container nav.futbolin-tabs-nav .back-to-ranking-button{
  order:-1 !important;
  margin-right:auto !important;
}
/* ---- END ../assets/css/22-ranking-styles.css ---- */
/* ---- BEGIN ../assets/css/23-hall-of-fame-styles.css ---- */
/* ============================= */
/* Hall of Fame - Tabla Limpia   */
/* ============================= */
/* Contenedor principal */
.hall-of-fame-table-container {
    overflow-x: auto;
    margin-top: 20px;
}
/* Encabezado */
/* Encabezado */
.ranking-header {
    background-color: #0073aa;
    color: #fff;
    font-weight: 700;
    padding: 12px 15px;
    border-radius: 8px;
    margin-bottom: 12px;
    display: grid;
    gap: 15px;
    align-items: center;
    font-size: 0.85rem;
    /* un poco más pequeño para caber en dos líneas */
    line-height: 1.2;
    /* compacto para 2 líneas */
    text-align: center;
    /* centrado en cada celda */
}
/* Encabezados de columna */
.ranking-th {
    white-space: normal;
    /* permite varias líneas */
    word-break: break-word;
    /* evita desbordes largos */
}
/* Botones de ordenación */
.sortable-header {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    transition: color 0.2s ease;
    width:100%
}
.sortable-header:hover,
.sortable-header.active {
    color: #ffc107;
    /* Amarillo dorado */
}
/* Filas */
.ranking-row:hover {
    transform: translateY(-2px);
    border-color: #0073aa;
    background-color: #f9fafb;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.07), 0 2px 4px -2px rgba(0, 0, 0, 0.07);
}
/* Overrides: hover oscuro para filas del podio (evita aclarado genérico) */
.ranking-row:has(.ranking-position.pos-1):hover,
.ranking-row.top-1:hover {
  background: linear-gradient(180deg, var(--rf-gold-hover-1), var(--rf-gold-hover-2)) !important;
  border-color: var(--rf-gold-hover-border) !important;
}
.ranking-row:has(.ranking-position.pos-2):hover,
.ranking-row.top-2:hover {
  background: linear-gradient(180deg, var(--rf-silver-hover-1), var(--rf-silver-hover-2)) !important;
  border-color: var(--rf-silver-hover-border) !important;
}
.ranking-row:has(.ranking-position.pos-3):hover,
.ranking-row.top-3:hover {
  background: linear-gradient(180deg, var(--rf-bronze-hover-1), var(--rf-bronze-hover-2)) !important;
  border-color: var(--rf-bronze-hover-border) !important;
}
/* Sobrescribir lo que pone .ranking-cell para la celda de nombre */
/* Que la celda de nombre ocupe todo su ancho asignado */
.ranking-player-name-cell {
    white-space: normal !important;
    overflow: visible !important;
    /* quitar recorte */
    text-overflow: unset !important;
    width: 100%;
}
/* Que el enlace se adapte también */
.ranking-player-name-cell a {
    display: block;
    /* en vez de -webkit-box */
    width: 100%;
    white-space: normal !important;
    word-break: break-word;
    line-height: 1.3;
}
/* Badges de posiciones */
.badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    font-weight: bold;
    font-size: 0.95rem;
    color: #222;
    background-color: #eee;
}
.badge.pos-1 {
    background-color: #d4af37;
}
/* Oro */
.badge.pos-2 {
    background-color: #c0c0c0;
}
/* Plata */
.badge.pos-3 {
    background-color: #cd7f32;
}
/* Bronce */
/* Buscador */
.futbolin-live-search {
    width: 100%;
    max-width: 400px;
    padding: 12px 16px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 1.05rem;
    outline: none;
    margin-bottom: 25px;
    transition: all 0.2s ease-in-out;
}
.futbolin-live-search:focus {
    border-color: #0073aa;
    box-shadow: 0 0 0 2px rgba(0, 115, 170, 0.25);
}
/* Mensaje sin resultados */
.no-results {
    padding: 15px;
    text-align: center;
    background-color: #fce8e8;
    border: 1px solid #e5b2b2;
    color: #d8000c;
    border-radius: 8px;
    font-weight: 600;
    margin-top: 15px;
}
/* === Fuerza GRID en los DATOS y da más espacio a NOMBRE === */
.ranking-player-name-cell {
    justify-self: start;
    /* fuerza esa celda a la izquierda */
    text-align: left;
    /* asegura texto alineado */
}
.ranking-top-bar {
  display: grid;
  gap: 10px;
  padding: 10px 0;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
/* Ajustes de columnas para pantallas pequeñas */
@media (max-width: 600px) {
  .ranking-top-bar { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
}
.page-size-form {
    flex-shrink: 0;
    /* no se encoge */
}
.page-size-form button {
    padding: 0.4rem 0.8rem;
    border: 1px solid #ccc;
    background: #fff;
    cursor: pointer;
    border-radius: 4px;
}
.page-size-form button.active {
    background: #0073aa;
    color: #fff;
}
/* Corrección: no empujar hacia abajo dentro de la top-bar */
.ranking-top-bar .futbolin-live-search {
    margin-bottom: 0;
}
@media (max-width: 600px) {
    .ranking-top-bar {
        flex-direction: column;
        align-items: stretch;
    }
    .page-size-form {
        justify-content: center;
    }
}
/* Evitar salto debajo del buscador dentro de la top-bar */
.ranking-top-bar .futbolin-live-search {
    margin-bottom: 0 !important;
}
/* Asegurar que el contenedor del input no rompa el flex */
.ranking-top-bar .search-wrapper {
    margin: 0;
    display: flex;
    align-items: center;
}
/* === HOF: grid y alineación numérica === */
.futbolin-hall-of-fame-wrapper .ranking-header,
.futbolin-hall-of-fame-wrapper .ranking-table-content .ranking-rows > .ranking-row {
  display: grid !important;
  grid-template-columns: 100px minmax(280px, 3fr) repeat(6, minmax(90px, 1fr)) !important;
  gap: 10px;
  align-items: center;
}
.futbolin-hall-of-fame-wrapper .ranking-table-content .ranking-rows > .ranking-row > .ranking-cell {
  min-width: 0;
}
/* Nombre en varias líneas sin cortar */
.futbolin-hall-of-fame-wrapper .ranking-player-name-cell,
.futbolin-hall-of-fame-wrapper .ranking-player-name-cell a {
  white-space: normal !important;
  word-break: break-word;
  overflow: visible !important;
  text-overflow: unset !important;
  line-height: 1.3;
  text-align: center;
  justify-self: start;
}
/* Centrar TODOS los encabezados en el Hall of Fame */
.futbolin-hall-of-fame-wrapper .ranking-header .ranking-th {
  text-align: center; /* asegura que la celda del grid es centrada */
}
.futbolin-hall-of-fame-wrapper .ranking-header .sortable-header {
  display: flex;
  justify-content: center;  /* centra el contenido */
  align-items: center;
  width: 100%;              /* <-- clave: el span ocupa toda la celda */
  text-align: center;
}
/* Centrar la celda de POSICIÓN (badge) en filas y encabezado */
.futbolin-hall-of-fame-wrapper .ranking-row .ranking-cell.pos,
.futbolin-hall-of-fame-wrapper .ranking-header .ranking-th:first-child {
  display: flex;              /* asegura centrado horizontal del badge */
  justify-content: center;    /* centra horizontal */
  align-items: center;        /* centra vertical */
  text-align: center;
}
/* Centrar TODAS las columnas numéricas (cols 3..8) en filas y encabezado */
.futbolin-hall-of-fame-wrapper .ranking-row .ranking-cell:nth-child(n+3),
.futbolin-hall-of-fame-wrapper .ranking-header .ranking-th:nth-child(n+3) {
  text-align: center !important;
}
/* --- HOF: centrar TODOS los encabezados, pase lo que pase --- */
.futbolin-hall-of-fame-wrapper .ranking-header {
  justify-items: center !important;      /* centra los grid items en su columna */
}
.futbolin-hall-of-fame-wrapper .ranking-header .ranking-th {
  display: flex !important;              /* la celda en sí es flex */
  justify-content: center !important;    /* centra el contenido horizontal */
  align-items: center !important;        /* centra vertical */
  text-align: center !important;         /* por si queda texto suelto */
}
.futbolin-hall-of-fame-wrapper .ranking-header .ranking-th .sortable-header {
  display: flex !important;
  flex: 1 1 auto !important;             /* <-- ocupa TODO el ancho de la celda */
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;                /* doble seguridad */
  text-align: center !important;
}
/* Pager del HOF (coherente con ranking) */
#hof-pager .button,
#hof-pager-numbers .button {
  padding: 6px 10px;
  border: 1px solid #ccc;
  border-radius: 6px;
  background: #fff;
  text-decoration: none;
  font-size: .85rem;
  margin: 0 4px;
}
#hof-pager-numbers .button.active {
  background: #0073aa; color: #fff; border-color: #0073aa;
}
#hof-pager { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 12px; }
#hof-pager-numbers { display: flex; align-items: center; justify-content: center; gap: 4px; margin-top: 8px; flex-wrap: wrap; }
/* HOF disabled placeholder */
/* ---- END ../assets/css/23-hall-of-fame-styles.css ---- */
/* ---- BEGIN ../assets/css/24-finals-reports.css ---- */
/* ==========================================================================
   FEFM – Datos de Finales (PÚBLICO)
   Scope: .futbolin-finals-wrapper (no afecta al HOF)
   ========================================================================== */
/* --------- Layout / textos básicos --------- */
/* --------- Selector de informes (chips) --------- */
/* --------- Leyenda / explicación --------- */
/* --------- Controles (buscador) --------- */
/* --------- Tabla / cabecera / filas --------- */
/* Primera columna (nombre) multi-línea alineada a la izquierda */
/* Celdas numéricas centradas (todas menos la primera) */
/* Símbolo de porcentaje cuando la celda lleva .percent */
/* --------- Plantillas de grid por tipo --------- */
/* FINALS (nombre + 4 columnas) */
/* CHAMPIONSHIPS (nombre + 8 columnas) */
/* --------- Ordenables --------- */
/* --------- Mensajes --------- */
/* --------- Responsive --------- */
/* ---- END ../assets/css/24-finals-reports.css ---- */
