.home-container {
  padding: 2rem;
  max-width: 960px;
  margin: auto;
}

.hero {
  margin-bottom: 2rem;
  background: #ebebeb;
  border-radius: 8px;
  overflow: hidden;
      text-align: center;
      padding: 1rem;
      box-shadow: 0 4px 12px rgb(0 0 0 / 80%);
      transition: transform 0.3s, box-shadow 0.3s;
      text-decoration: none;
      color: inherit;
}

.latest-news article {
  margin-bottom: 1.5rem;
  padding: 1rem;
  border-bottom: 1px solid #ccc;
}

.latest-news h3 a {
  text-decoration: none;
  color: #0073aa;
}
.latest-news h3 a:hover {
  color: #005177;
}

html, body {
  height: auto;
  min-height: 100%;
  font-family: 'Poppins', sans-serif;
  margin: 0;
  padding: 0;
}

/* Contenedor principal con triángulos */
.body-decorated {
  background: #ffffff;
  position: relative;
  overflow-x: hidden; /* 👈 permitimos scroll vertical, ocultamos horizontal */
  min-height: 100vh;
  /*/padding-bottom: 3rem; /* por si el triángulo rojo tapa contenido */
}

.site-header {
  background: #f8f9fa;
  padding: 2rem;
  text-align: center;
  border-bottom: 1px solid #ddd;
}

.site-title a {
  font-size: 2rem;
  font-weight: 600;
  color: #333;
  text-decoration: none;
}

.site-title a:hover {
  color: #0073aa;
}

.site-description {
  font-size: 1rem;
  color: #666;
}

/* Triángulos decorativos para todo el sitio */

.body-decorated {
  background: #ffffff;
  position: relative;
  min-height: 100vh;
}

/* TRIÁNGULO CELESTE */
.body-decorated .triangle-top-left {
  position: fixed;
  top: -30px;
  left: -30px;
  width: 0;
  height: 0;
  border-left: 180px solid #00BFFF;
  border-bottom: 180px solid transparent;
  transition: transform 0.3s ease;
  z-index: 1;
}

.body-decorated .triangle-top-left:hover {
  transform: translate(30px, 30px);
}

/* TRIÁNGULO ROJO */
.body-decorated .triangle-bottom-right {
  position: fixed;
  bottom: -30px;
  right: -30px;
  width: 0;
  height: 0;
  border-right: 180px solid #FF0000;
  border-top: 180px solid transparent;
  transition: transform 0.3s ease;
  z-index: 1;
}

.body-decorated .triangle-bottom-right:hover {
  transform: translate(-30px, -30px);
}

/* Slide de dos columnas tipo NBA */
.two-column-slide .slide-content {
  display: flex;
  flex-direction: row;
  height: 400px;
  background-color: #000;
  border-radius: 12px;
  overflow: hidden;
  width: 100%;
}

.slide-text {
  width: 30%;
  padding: 4rem;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.slide-text a {
  text-decoration: none;
  color: #fff;
}

.slide-title {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

.slide-excerpt {
  font-size: 1rem;
  line-height: 1.5;
  opacity: 0.9;
}

.slide-image {
  width: 70%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.slide-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  animation: zoomInSlow 3s ease-in-out forwards;
}

/* Degradado en los extremos */
.slide-image::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image:
    linear-gradient(to right,    rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.85) 5%, rgba(0, 0, 0, 0) 30%),
    linear-gradient(to left,     rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.85) 5%, rgba(0, 0, 0, 0) 30%),
    linear-gradient(to bottom,   rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.85) 5%, rgba(0, 0, 0, 0) 30%),
    linear-gradient(to top,      rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0.85) 5%, rgba(0, 0, 0, 0) 30%);
  z-index: 2;
  pointer-events: none;
}


/* Reseteamos a escala normal para todos */
.slide-thumb {
  transform: scale(1);
  transition: transform 6s ease-in-out;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Aplicamos el zoom solo al slide activo */
.swiper-slide-active .slide-thumb {
  transform: scale(1.30);
}

.single-post-container {
  max-width: 800px;
  margin: 4rem auto;
  padding: 2rem;
  background-color: #ffffffee;
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
}

.post-title {
  font-size: 2.5rem;
  margin-bottom: 1.5rem;
  color: #333;
}

.post-image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.post-body {
  font-size: 1.1rem;
  line-height: 1.8;
  color: #444;
}

.site-header {
  background: #fff;
  padding: 1rem 2rem;
  border-bottom: 1px solid #eee;
  position: relative;
  z-index: 10;
}

.header-inner {
  max-width: 1200px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.site-logo img {
  height: 75px;
}

.site-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #333;
  text-decoration: none;
}

.main-nav .menu {
  list-style: none;
  display: flex;
  gap: 2rem;
  margin: 0;
  padding: 0;
}

.main-nav .menu li a {
  text-decoration: none;
  font-weight: 500;
  color: #00BFFF;
  transition: color 0.3s ease;
}

.main-nav .menu li a:hover {
  color: #0077aa;
}

.container {
  padding: 0 1rem;
}

.tournament-title {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  color: #333;
}

.tournament-description {
  margin-bottom: 2rem;
  color: #555;
  line-height: 1.6;
}

.tournament-phase {
  margin-bottom: 3rem;
}

.phase-title {
  font-size: 1.8rem;
  margin-bottom: 1rem;
  color: #00BFFF;
}

.fixture-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.fixture-item {
  display: flex;
  gap: 1rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid #eee;
  align-items: center;
}

.fixture-date {
  width: 120px;
  flex-shrink: 0;
  color: #888;
}

.fixture-logo {
  width: 32px;
  height: 32px;
  object-fit: contain;
  margin-right: 0.5rem;
  vertical-align: middle;
}

.fixture-teams .team {
  display: inline-flex;
  align-items: center;
}

.no-fixtures {
  color: #777;
  font-style: italic;
}

/* Estilos para la tabla de posiciones */
.standings {
  width: 100%;
  border-collapse: collapse;
  margin: 2rem 0;
  font-family: 'Poppins', sans-serif;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.standings thead {
  background: #00BFFF;
  color: #fff;
}

.standings th,
.standings td {
  padding: 0.75rem 1rem;
  text-align: left;
}

.standings th {
  text-transform: uppercase;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}

.standings tbody tr {
  background: #ffffff;
  transition: background 0.3s;
}

.standings tbody tr:nth-child(even) {
  background: #f9f9f9;
}

.standings td:nth-child(2),
.standings td:nth-child(3),
.standings td:nth-child(4),
.standings td:nth-child(5),
.standings td:nth-child(6) {
  text-align: center;
  width: 4rem;
}

.standings td:first-child {
  font-weight: 500;
}

@media (max-width: 768px) {
  .standings th,
  .standings td {
    padding: 0.5rem;
    font-size: 0.875rem;
  }
}

/* Logo en la tabla de posiciones */
.standing-logo {
  width: 32px;
  height: 32px;
  object-fit: contain;
  margin-right: 0.5rem;
  vertical-align: middle;
}

/* Asegurar alineación de texto + logo */
.standings td:first-child {
  display: flex;
  align-items: center;
}

/* Tabs de fases */
.phase-tabs ul {
  list-style: none;
  display: flex;
  gap: 1rem;
  padding: 0;
  margin: 2rem 0 1rem;
  border-bottom: 2px solid #ddd;
}

.phase-tabs .tab {
  cursor: pointer;
  padding: 0.5rem 1rem;
  font-weight: 500;
  color: #555;
  border-bottom: 2px solid transparent;
  transition: color 0.3s, border-bottom-color 0.3s;
}

.phase-tabs .tab.active {
  color: #00BFFF;
  border-bottom-color: #00BFFF;
}

/* Contenidos de fase */
.phase-content {
  display: none;
}

.phase-content.active {
  display: block;
}

/* Grid de noticias */
.news-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px,1fr));
  gap: 1.5rem;
}

/* Card de noticia */
.news-card {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  transition: transform 0.3s;
}
.news-card:hover {
  transform: translateY(-5px);
}
.news-thumb img {
  width: 100%;
  height: 180px;
  object-fit: cover;
}
.news-body {
  padding: 1rem;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.news-title {
  font-size: 1.2rem;
  margin: 0 0 0.5rem;
  flex: 0;
}
.news-title a {
  text-decoration: none;
  color: #333;
}
.news-meta {
  font-size: 0.875rem;
  color: #777;
  margin-bottom: 0.75rem;
}
.news-excerpt {
  flex: 1;
  color: #555;
}

/* Filtros */
.news-filters {
  display: flex;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.news-filters input,
.news-filters select {
  padding: 0.5rem 1rem;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
}

/* Botón cargar más */
#news-load-more {
  display: block;
  margin: 2rem auto;
  padding: 0.75rem 2rem;
  background: #00BFFF;
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 1rem;
  cursor: pointer;
  transition: background 0.3s;
}
#news-load-more:hover {
  background: #0094cc;
}

/* Tabla de partidos */
.fixture-table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  font-family: 'Poppins', sans-serif;
}

/* Filas */
.fixture-table .fixture-row {
  transition: background 0.3s;
}
.fixture-table .fixture-row:hover {
  background: rgba(0, 0, 0, 0.03);
}

/* Celdas */
.fixture-table th,
.fixture-table td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid #eee;
  text-align: left;
}

/* Fecha */
.fixture-table .fixture-date {
  width: 120px;
  color: #555;
  font-size: 0.9rem;
}

/* Equipo (logo + nombre) */
.fixture-table .fixture-team {
  display: flex;
  align-items: center;
}
.fixture-table .fixture-team img {
  width: 24px;
  height: 24px;
  object-fit: contain;
  margin-right: 0.5rem;
}

/* Resultado centrado y destacado */
.fixture-table .fixture-score {
  text-align: center;
  font-weight: 600;
}

/* Enlaces si los quieres clicables */
.fixture-table .fixture-team a,
.fixture-table .fixture-score a {
  color: inherit;
  text-decoration: none;
}
.fixture-table .fixture-team a:hover,
.fixture-table .fixture-score a:hover {
  text-decoration: underline;
}

/* Contenedor general tipo marcador */
.match-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #111;                /* Fondo oscuro */
  padding: 1rem 2rem;              /* Espacio interno amplio */
  border-radius: 8px;              /* Bordes redondeados */
  box-shadow: 0 4px 12px rgba(0,0,0,0.5);
  font-family: 'Roboto Mono', monospace; /* Tipografía monoespaciada */
  color: #fff;
}

/* Equipos */
.match-team {
  display: flex;
  align-items: center;
  flex: 1;
}
.match-team.local {
  justify-content: flex-end;
}
.match-team.visitor {
  justify-content: flex-start;
}
.match-logo {
  width: 48px;
  height: 48px;
  object-fit: contain;
  margin: 0 0.5rem;
  filter: drop-shadow(0 0 3px rgba(255,255,255,0.5));
}
.match-team-name {
  font-size: 1.2rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Marcador al estilo LED */
.match-score {
  background: #222;                /* panel secundario */
  padding: 0.5rem 1rem;
  border-radius: 4px;
  margin: 0 1rem;
  min-width: 5rem;
  text-align: center;
  box-shadow: inset 0 0 8px rgba(255,255,255,0.2);
}
.match-score-text {
  font-size: 2.5rem;               /* dígitos grandes */
  font-weight: 700;
  color: #0f0;                     /* verde LED, o #f00 para rojo */
  text-shadow:
    0 0 5px rgba(0,255,0,0.8),
    0 0 10px rgba(0,255,0,0.6),
    0 0 20px rgba(0,255,0,0.4);
}

/* Responsive: reducir tamaño en móvil */
@media (max-width: 600px) {
  .match-header {
    flex-direction: column;
    text-align: center;
    padding: 1rem;
  }
  .match-team, .match-score {
    margin: 0.5rem 0;
  }
  .match-score-text {
    font-size: 2rem;
  }
}

/* Indicador “En juego” */
.match-live {
  margin-top: 0.5rem;
  font-size: 1rem;
  font-weight: 700;
  color: #0f0;          /* rojo vivo */
  animation: blink 1s infinite;
}

@keyframes blink {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.2; }
}

/* 2. Asegurar que el estilo electrónico (verde LED) solo afecte al marcador en fixtures */
.fixture-row.in-play .fixture-score {
  /* ya tenés estos estilos; aquí los reafirmamos */
  background: #222;
  color: #0f0;
  text-shadow:
    0 0 5px rgba(0,255,0,0.8),
    0 0 10px rgba(0,255,0,0.6),
    0 0 20px rgba(0,255,0,0.4);
}

/* Destacar equipos en la tabla */
.standings .highlight-team {
  background: #0083b0 !important;
  color: #fff;
}
.standings .highlight-team .standing-logo {
  filter: drop-shadow(0 0 5px rgba(255,255,255,0.8));
}

/* Responsivo */
@media (max-width: 768px) {
    .home-container{
        padding: 0rem
    }

  .two-column-slide .slide-content {
    flex-direction: column;
    width: 100vw;           /* Ocupa el 100% del ancho real */
    height: auto;
    border-radius: 0px;
  }

  .slide-image,
  .slide-text {
    width: 100%;
    height: auto;
  }

  .slide-thumb {
    width: 100%;
    height: auto;
    max-height: 250px;
    object-fit: cover;
    display: block;
  }

  .slide-text {
    padding: 1.5rem;
  }

  .single-post-container {
      padding: 1.5rem;
    }

    .post-title {
      font-size: 2rem;
    }

    .post-image img {
      border-radius: 0;
    }

    /* Ocultar columnas PG, PE, PP, GF, GE en móviles */
      .standings th:nth-child(3),
      .standings th:nth-child(4),
      .standings th:nth-child(5),
      .standings th:nth-child(6),
      .standings th:nth-child(7),
      .standings td:nth-child(3),
      .standings td:nth-child(4),
      .standings td:nth-child(5),
      .standings td:nth-child(6),
      .standings td:nth-child(7) {
        display: none;
      }

      /* Ajustar padding/font-size para las columnas visibles */
      .standings th,
      .standings td {
        padding: 0.5rem;
        font-size: 0.9rem;
      }

      /* Asegurar que la tabla siga ocupando todo el ancho */
      .standings {
        font-size: 0.9rem;
        border: none;
      }
}

/* Grid de equipos */
.teams-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1.5rem;
  margin-top: 2rem;
}

/* Tarjeta de equipo */
.team-card {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  text-align: center;
  padding: 1rem;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  transition: transform 0.3s, box-shadow 0.3s;
  text-decoration: none;
  color: inherit;
}
.team-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.1);
}

/* Logo del equipo */
.team-logo img {
  width: 100%;
  height: 120px;
  object-fit: contain;
  margin-bottom: 0.75rem;
}

/* Nombre */
.team-name {
  font-family: 'Poppins', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
}

/* Responsive: menos columnas en móvil */
@media (max-width: 600px) {
  .teams-grid {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 1rem;
  }
  .team-logo img {
    height: 100px;
  }
}

/* ─── Single Team Header ───────────────────────────────────────────────────── */
.single-team .team-header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
}
.team-header-logo img {
  width: 80px;
  height: 80px;
  object-fit: contain;
}
.team-header-name {
  font-size: 2rem;
  font-weight: 700;
  font-family: 'Poppins', sans-serif;
}

/* ─── Team Info ───────────────────────────────────────────────────────────── */
.team-info {
  display: flex;
  gap: 2rem;
  margin-bottom: 2rem;
  font-family: 'Poppins', sans-serif;
}
.team-info p {
  margin: 0 0 0.5rem;
  color: #555;
}
.color-swatch {
  display: inline-block;
  width: 24px;
  height: 16px;
  border-radius: 4px;
  margin-right: 0.5rem;
  vertical-align: middle;
  background: linear-gradient(to right, var(--color1) 50%, var(--color2) 50%);
  border: 1px solid #ccc;
}


/* ─── Tabs Navigation ─────────────────────────────────────────────────────── */
.team-tabs {
  margin-top: 2rem;
}
.tabs-nav {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0 0 1rem;
  border-bottom: 2px solid #ddd;
}
.tabs-nav li {
  margin-right: 1.5rem;
  padding: 0.5rem 0;
  cursor: pointer;
  font-weight: 600;
  color: #555;
  position: relative;
}
.tabs-nav li.active {
  color: #000;
}
.tabs-nav li.active::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 2px;
  background: #00BFFF;
}

/* ─── Tabs Content ────────────────────────────────────────────────────────── */
.tab-content {
  display: none;
}
.tab-content.active {
  display: block;
}

/* ─── Noticias (small cards) ─────────────────────────────────────────────── */
.news-card-small {
  margin-bottom: 1rem;
}
.news-card-small a {
  font-size: 1rem;
  color: #00BFFF;
  text-decoration: none;
}
.news-card-small a:hover {
  text-decoration: underline;
}

/* ─── Galería de Fotos ────────────────────────────────────────────────────── */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 1rem;
}
.gallery-thumb {
  width: 100%;
  height: 100px;
  object-fit: cover;
  border-radius: 4px;
}

/* ─── Muro (Comentarios) ─────────────────────────────────────────────────── */
/* Usa los estilos de tu tema para comentarios, o añade aquí si lo deseas */

/* ─── Lista de Jugadores ─────────────────────────────────────────────────── */
.player-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.player-list li {
  margin-bottom: 0.5rem;
}
.player-list a {
  color: #00BFFF;
  text-decoration: none;
}
.player-list a:hover {
  text-decoration: underline;
}

/* ─── Lista de Partidos ──────────────────────────────────────────────────── */
.fixture-list-small {
  list-style: none;
  padding: 0;
  margin: 0;
}
.fixture-list-small li {
  margin-bottom: 0.5rem;
}
.fixture-list-small a {
  color: #00BFFF;
  text-decoration: none;
}
.fixture-list-small a:hover {
  text-decoration: underline;
}

/* ─── Redes Sociales ─────────────────────────────────────────────────────── */
.social-links {
  list-style: none;
  display: flex;
  gap: 1rem;
  padding: 0;
  margin: 1rem 0 0;
  padding-left: 1rem;
}
.social-links li a {
  color: #fff;
  font-weight: 600;
  text-decoration: none;
}
.social-links li a:hover {
  color: #00BFFF;
}

/* ─── Responsive ─────────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .team-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .team-info {
    flex-direction: column;
  }
  .tabs-nav {
    flex-wrap: wrap;
  }
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 15px;
}

.gallery-thumb {
  width: 100%;
  height: auto;
  border-radius: 8px;
  cursor: pointer;
  transition: transform 0.2s ease;
}

.gallery-thumb:hover {
  transform: scale(1.03);
}

.widget_fb{
margin: 5px;
    text-align: center;
    background: #ebedf0;
    border-radius: 10px;}

/* Pie de página */
.site-footer {
  color: #fff;
  font-family: 'Poppins', sans-serif;
  overflow: hidden;
  padding-top: 4rem;
  margin-top: 4rem;
}

.site-footer .footer-content {
  //display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2rem;
  position: relative;
  z-index: 1;
}

/* Auspiciantes */
.footer-sponsors {
  flex: 1 1 300px;
}
.footer-sponsors .footer-title {
  font-size: 1.2rem;
  margin-bottom: 1rem;
}

.footer-sponsor-item td {
    background-color : #fff;
    border-bottom-left-radius: 50px;
    border-top-right-radius: 50px;
    border: 0px solid;
}
.sponsor-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.sponsor-item {
  margin-bottom: 0.5rem;
}

/* Redes Sociales */
.footer-social {
  flex: 1 1 200px;
      display: flex;
      justify-content: center;
}
.footer-social .footer-title {
  font-size: 1rem;
  margin-bottom: 1rem;
}

/* Imagen de fondo + degradado */
.footer-bg {
  width: 100%;

  position: absolute; inset: 0; z-index: 1; background-color: #7d0000;
}

/* Responsive */
@media (max-width: 768px) {
  .site-footer .footer-content {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Patrón W3C DS para SVG inline */
.icon { width: 1em; height: 1em; fill: currentColor; }
.icon--larger { width: 1.5em; height: 1.5em; }

/* Ayudante para espaciado icono + texto/contenido */
.with-icon--before { display: inline-flex; align-items: center; gap: .5em; }

/* Link visual */
.social-icon-link { color: #fff; text-decoration: none; }
.social-icon-link:hover { opacity: .85; }

/* Accesibilidad: texto sólo para lectores de pantalla */
.visuallyhidden {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.hero-curved {
  --hero-h: 60vh;                  /* alto del hero */
  --overlay: linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,.2));
  position: relative;
  min-height: var(--hero-h);
  color: #fff;
  display: grid;
  place-items: center;
  text-align: center;
  overflow: hidden;
  /* usa una imagen o un color de fondo */
  background:
    var(--overlay);
    background-color: #00bfff;
}

.hero-curved__inner {
  padding: 4rem 1rem 6rem;        /* deja aire para la curva */
  max-width: 1100px;
}

.hero-curved__curve {
  position: absolute;
  left: 0;
  bottom: -1px;                   /* evita línea 1px por subpíxel */
  width: 100%;
  height: 140px;                  /* altura de la curva */
  display: block;
}

/* Responsive tweaks */
@media (max-width: 768px) {
  .hero-curved { --hero-h: 45vh; }
  .hero-curved__inner { padding: 3rem 1rem 5rem; }
}

.site-footer { position: relative; overflow: visible; }

.footer-curve-top {
  position: absolute;
  top: -1px;     /* evita la línea por subpíxel */
  left: 0;
  width: 100%;
  height: 140px; /* controlás la “altura” de la curva */
  z-index: 3;    /* por encima del fondo, debajo/igual que el contenido */
  display: block;
  pointer-events: none;
}

/* El contenido del footer siempre arriba */
.site-footer .footer-content { position: relative; z-index: 4; }

/* Fondo del footer dentro del área del footer */
.footer-bg::before {
  content: '';
  position: absolute; inset: 0;
  background:
    linear-gradient(to bottom, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0) 30%),
    linear-gradient(to top,   rgba(0,0,0,0.85) 0%, rgba(255,255,255,0) 35%);
}

.footer-text{
    position: relative;
    z-index: 1;
    text-align: center;
    padding: 2rem;
}

/* Layout header básico */
.header-bar {
  display: flex; align-items: center; justify-content: space-between;
  padding: .75rem 0;
}

/* Botón hamburguesa */
.mobile-menu-toggle {
  display: none; /* visible solo en mobile */
  width: 40px; height: 40px;
  border: 0; background: transparent; cursor: pointer; position: relative;
  z-index: 1; /* por encima del overlay */
}
.mobile-menu-toggle .hamburger,
.mobile-menu-toggle .hamburger::before,
.mobile-menu-toggle .hamburger::after {
  content: ''; display: block; height: 2px; width: 24px; background: #111;
  position: absolute; left: 50%; transform: translateX(-50%);
  transition: transform .25s ease, opacity .25s ease;
}
.mobile-menu-toggle .hamburger { top: 50%; }
.mobile-menu-toggle .hamburger::before { top: -8px; }
.mobile-menu-toggle .hamburger::after  { top: 8px; }
/* Estado abierto (el JS añade .is-open al botón) */
.mobile-menu-toggle.is-open .hamburger { opacity: 0; }
.mobile-menu-toggle.is-open .hamburger::before { transform: translateX(-50%) rotate(45deg); top: 0; }
.mobile-menu-toggle.is-open .hamburger::after  { transform: translateX(-50%) rotate(-45deg); top: 0; }

/* Overlay del menú mobile */
.mobile-nav {
  position: fixed; inset: 0; z-index: 2000;
  background:
    radial-gradient(80% 60% at 20% 20%, rgba(0,191,255,0.15), transparent 60%),
    radial-gradient(80% 60% at 80% 80%, rgba(255,0,0,0.15), transparent 60%),
    rgba(10,10,10,0.95);
  display: grid; place-items: center;
  opacity: 0; pointer-events: none; transition: opacity .25s ease;
}
.mobile-nav.is-open { opacity: 1; pointer-events: auto; }
.mobile-nav__inner {
  width: min(92vw, 640px);
  max-height: 90vh; overflow: auto;
  padding: 2rem 1rem; position: relative;
}

/* Cerrar */
.mobile-nav__close {
  position: absolute; top: .75rem; right: .75rem;
  width: 44px; height: 44px; border: none; cursor: pointer;
  background: transparent; color: #fff; font-size: 2rem; line-height: 1;
}

/* Lista del menú mobile */
.mobile-nav__list {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 1rem; text-align: center;
}
.mobile-nav__list a {
  display: block; color: #fff; text-decoration: none;
  font-family: 'Poppins', sans-serif; font-weight: 600; letter-spacing: .02em;
  font-size: clamp(1.25rem, 4vw, 2rem);
  padding: .5rem 1rem; border-radius: 8px; transition: background .2s ease;
}
.mobile-nav__list a:hover { background: rgba(255,255,255,0.08); }

/* Evitar scroll del body cuando está abierto */
body.no-scroll { overflow: hidden; }

/* Responsive: ocultar nav escritorio y mostrar hamburguesa */
@media (max-width: 768px) {
  .site-nav { display: none; }
  .main-nav { display: none; }
  .mobile-menu-toggle { display: inline-block; }
}

/* Secciones */
.section-title { font-family: 'Poppins', sans-serif; font-size: 1.25rem; margin: 1.5rem 0 .75rem; }

/* Galería de fotos del partido */
.match-photos-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: .75rem;
}
.match-photos-grid a { display: block; border-radius: 8px; overflow: hidden; }
.match-photos-grid img { width: 100%; height: 140px; object-fit: cover; display: block; transition: transform .25s ease; }
.match-photos-grid a:hover img { transform: scale(1.02); }

/* Comentarios */
.match-comments .comment-list {
  list-style: none; padding: 0; margin: 0; display: grid; gap: .75rem;
}
.comment-item {
  background: #fafafa; border: 1px solid #eee; border-radius: 10px; padding: .75rem .9rem;
}
.comment-author { margin-bottom: .2rem; }
.comment-date { color: #777; font-size: .85rem; margin-bottom: .4rem; }
.comment-content p { margin: 0 0 .5rem; }
.no-comments { color: #666; }

.match-comment-submit {
  background: #00BFFF; color: #fff; border: 1px solid #00BFFF;
  padding: .55rem .9rem; border-radius: 8px; cursor: pointer;
}
.match-comment-submit:hover { filter: brightness(0.95); }

/* Responsive */
@media (max-width: 640px) {
  .match-photos-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
  .match-photos-grid img { height: 110px; }
}

.match-live-time {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  background: #111;
  color: #0ef;
  border: 1px solid rgba(0,238,255,.35);
  border-radius: 8px;
  padding: .25rem .5rem;
  margin-left: .5rem;
  align-self: center;
}
@media (max-width: 640px) {
  .match-live-time { margin-top: .35rem; display: inline-block; }
}

.match-state-badge {
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.25rem .5rem; border-radius:8px; font-weight:700;
  background:#111; color:#0ef; border:1px solid rgba(0,238,255,.35);
  margin-left:.5rem;
}
.match-final    { background:#111; color:#fff; border-color:rgba(255,255,255,.25); }
.match-halftime { background:#222; color:#ffd60a; border-color:rgba(255,214,10,.35); }

.match-live-time {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-variant-numeric: tabular-nums;
  font-weight: 700;
  background: #111;
  color: #0ef;
  border: 1px solid rgba(0,238,255,.35);
  border-radius: 8px;
  padding: .25rem .5rem;
  margin-left: .5rem;
}

/* Tabla/Grilla de fixtures */
.fixture-table {
  display: grid;
  gap: 8px;
}
.fixture-row {
  display: grid;
  grid-template-columns: 140px 1fr auto 1fr; /* fecha | local | score | visitante */
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  transition: transform .12s ease, box-shadow .12s ease;
}
.fixture-row:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(0,0,0,.06); }

.fixture-date { color: #6b7280; font-size: .9rem; }

.fixture-team {
  display: inline-flex; align-items: center; gap: 8px; min-width: 0;
}
.fixture-logo { width: 28px; height: 28px; object-fit: cover; border-radius: 50%; flex-shrink: 0; }

.team-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.team-name-abbr { display: none; }   /* desktop: nombre completo */
.team-name-full { display: inline; }

.fixture-score {
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: .02em;
}

/* Mobile */
@media (max-width: 640px) {
  .fixture-row {
    grid-template-columns: 1fr auto 1fr; /* sin fecha */
    padding: 10px;
  }
  .fixture-date { display: none; }       /* no mostrar fecha en mobile */

  .team-name-full { display: none; }     /* mostrar abreviado en mobile */
  .team-name-abbr { display: inline; }

  .fixture-logo { width: 24px; height: 24px; }
}

/* Contenedor de fixtures */
.fixture-table { display: grid; gap: 8px; }
.fixture-row {
  display: grid;
  grid-template-columns: 140px 1fr auto 1fr; /* fecha | local | score | visitante */
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 10px;
  text-decoration: none;
  color: inherit;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.fixture-row:hover { transform: translateY(-1px); box-shadow: 0 6px 20px rgba(0,0,0,.06); }

.fixture-row.is-live {
  border-left: 4px solid #e11d48; /* acento LIVE */
  box-shadow: 0 0 0 2px rgba(225,29,72,.08) inset, 0 6px 22px rgba(225,29,72,.10);
  background: linear-gradient(90deg, rgba(225,29,72,.05), transparent 45%);
}

.fixture-date { color: #6b7280; font-size: .9rem; }

.fixture-team { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.fixture-logo { width: 28px; height: 28px; object-fit: cover; border-radius: 50%; flex-shrink: 0; }

.team-name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.team-name-abbr { display: none; }
.team-name-full { display: inline; }

.fixture-score {
  display: inline-flex; align-items: center; gap: 8px;
  font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: .02em;
}
.fixture-live-pill {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 2px 8px; border-radius: 999px;
  background: #111; color: #fff; font-size: .72rem; font-weight: 800;
  border: 1px solid rgba(255,255,255,.15);
}
.live-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #e11d48; box-shadow: 0 0 0 0 rgba(225,29,72,.8);
  animation: live-pulse 1.4s infinite;
}
@keyframes live-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(225,29,72,.8); }
  70%  { box-shadow: 0 0 0 10px rgba(225,29,72,0); }
  100% { box-shadow: 0 0 0 0 rgba(225,29,72,0); }
}

/* Mobile: sin fecha y abreviado */
@media (max-width: 640px) {
  .fixture-row { grid-template-columns: 1fr auto 1fr; padding: 10px; }
  .fixture-date { display: none; }          /* ✅ oculta fecha */
  .team-name-full { display: none; }
  .team-name-abbr { display: inline; }      /* ✅ usa abreviatura */
  .fixture-logo { width: 24px; height: 24px; }
  .fixture-live-pill { font-size: .65rem; padding: 1px 6px; }
}

/* ===== Historial de Campeones (manual) ===== */
.page-champions .page-title { margin-bottom: 1rem; }
.champions-list {
  list-style: none; padding: 0; margin: 1rem 0 3rem;
  display: grid; gap: 12px;
}
.champion-item {
  --c1: #0ea5e9; --c2: #ef4444;
  position: relative; background: #fff; border: 1px solid #eee; border-radius: 14px; overflow: hidden;
}
.champion-item::before {
  content: "";
  position: absolute; inset: 0;
  background:
    radial-gradient(130% 130% at 0% 0%,
      color-mix(in srgb, var(--c1) 20%, transparent) 0%,
      transparent 58%
    ),
    radial-gradient(130% 130% at 100% 100%,
      color-mix(in srgb, var(--c2) 20%, transparent) 0%,
      transparent 58%
    );
  pointer-events: none;
}

.champion-row {
  position: relative; z-index: 1; display: grid;
  grid-template-columns: 110px 1fr auto; align-items: center;
  gap: 14px; padding: 14px 16px; text-decoration: none; color: inherit;
  transition: transform .12s ease, box-shadow .12s ease;
}
.champion-item:hover .champion-row {
  transform: translateY(-1px); box-shadow: 0 8px 28px rgba(0,0,0,.08);
}

.season-pill {
  display: inline-flex; align-items: center; justify-content: center; min-width: 90px;
  background: #111; color: #fff; border-radius: 999px; font-weight: 700;
  padding: 6px 10px; border: 1px solid rgba(255,255,255,.15);
}
.tournament-name { font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.champion-team { display: inline-flex; align-items: center; gap: 10px; }
.champion-team-link { display: inline-flex; align-items: center; gap: 8px; text-decoration: none; color: inherit; }
.champion-team-link:hover { text-decoration: underline; }

.champion-logo { width: 32px; height: 32px; object-fit: cover; border-radius: 50%;
  border: 2px solid color-mix(in srgb, var(--c1) 65%, var(--c2));
}
.champion-team-name { font-weight: 700; }
.trophy { font-size: 1.1rem; filter: drop-shadow(0 1px 0 rgba(0,0,0,.2)); }

/* Mobile */
@media (max-width: 640px) {
  .champion-row {
    grid-template-columns: 86px 1fr;
    grid-template-areas:
      "season tournament"
      "season champion";
    row-gap: 8px;
  }
  .season-pill { grid-area: season; min-width: auto; }
  .tournament-name { grid-area: tournament; }
  .champion-team { grid-area: champion; justify-content: flex-start; }
}

/* ===== Preview Suscriptor ===== */
.fan-preview-wrapper {
  margin-top: 12px;
  display: grid;
  gap: 8px;
}
.fan-preview-card {
  --c1:#0ea5e9; --c2:#ef4444;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.06);
  background:
    radial-gradient(120% 120% at 0% 0%,
      color-mix(in srgb, var(--c1) 18%, transparent) 0%, transparent 60%),
    radial-gradient(120% 120% at 100% 100%,
      color-mix(in srgb, var(--c2) 18%, transparent) 0%, transparent 60%),
    #fff;
  box-shadow: 0 6px 22px rgba(0,0,0,.06);
}
.fan-preview-logo {
  width: 36px; height: 36px; border-radius: 50%;
  object-fit: cover; border: 2px solid color-mix(in srgb, var(--c1) 60%, var(--c2));
}
.fan-preview-name {
  font-weight: 800;
  letter-spacing: .2px;
}
.fan-preview-hint { color:#6b7280; }

/* Afinados visuales de la form para que acompañe */
.subscriber-welcome .welcome-form { backdrop-filter: saturate(120%); }
.subscriber-welcome .form-row input[type="text"]:focus,
.subscriber-welcome .form-row select:focus {
  outline: none;
  border-color: #111;
  box-shadow: 0 0 0 3px rgba(17,17,17,.08);
}

/* Mobile */
@media (max-width:640px){
  .fan-preview-card { padding: 10px 12px; }
  .fan-preview-logo { width: 32px; height: 32px; }
}

/* ===== Bienvenida Suscriptor ===== */
.subscriber-welcome .page-title { margin-bottom: .25rem; }
.subscriber-welcome .page-lead { color:#4b5563; margin-bottom: 1rem; }

.welcome-form { max-width: 680px; background:#fff; border:1px solid #eee; border-radius:14px; padding:16px; }
.form-row { display:flex; flex-direction:column; gap:6px; margin-bottom:14px; }
.form-row label { font-weight:700; }
.form-row input[type="text"], .form-row select {
  padding:10px 12px; border:1px solid #ddd; border-radius:10px; font-size:1rem;
}
.form-row small.help { color:#6b7280; }
.lock-msg { color:#b45309; }

.form-actions { display:flex; gap:8px; }
.btn-primary {
  background:#111; color:#fff; border:1px solid #111; border-radius:10px; padding:10px 14px; font-weight:700;
}
.btn-primary:hover { filter: brightness(1.05); }

.notice { border-radius:10px; padding:10px 12px; margin-bottom:12px; }
.notice.error { background:#FEF2F2; border:1px solid #FECACA; color:#991B1B; }
.notice.success { background:#ECFDF5; border:1px solid #A7F3D0; color:#065F46; }

.team-preview { display:inline-flex; align-items:center; gap:8px; margin-top:6px; }
.team-preview .team-choice-logo { width:28px; height:28px; border-radius:50%; object-fit:cover; border:1px solid #eee; }

/* Mobile */
@media (max-width:640px){
  .welcome-form { padding:12px; border-radius:12px; }
}

/* ===== Team header: fan counter ===== */
.team-title { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.team-title-logo { width:40px; height:40px; border-radius:50%; object-fit:cover; }
.fan-count-badge {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:34px; padding:4px 8px; border-radius:999px;
  background:#111; color:#fff; font-weight:800; font-size:.9rem;
  border:1px solid rgba(255,255,255,.12);
}
.tab-badge {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:22px; padding:0 6px; border-radius:999px;
  background:#111; color:#fff; font-weight:800; font-size:.72rem; margin-left:6px;
}

/* ===== Fans tab ===== */
/* ===== Pestaña Hinchas/Simpatizantes (look preview) ===== */
.fans-group { margin-bottom: 18px; }
.fans-group h3 {
  display:flex; align-items:center; gap:8px;
  margin: 8px 0 10px;
}
.count-badge {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:26px; padding:2px 8px; border-radius:999px;
  background:#111; color:#fff; font-weight:800; font-size:.8rem;
  border:1px solid rgba(255,255,255,.12);
}

/* Lista y tarjeta */
.fans-list {
  list-style:none; margin:0; padding:0;
  display:grid; gap:10px;
}
.fans-list > li { list-style:none; }           /* quita cualquier numeración */
.fans-list > li::marker { content:""; }        /* (por si OL) */

.fan-item {
  display:flex; align-items:center; gap:10px;
  padding:12px 14px;
  border:1px solid #eee;
  border-radius:14px;
  background:
    radial-gradient(120% 120% at 0% 0%,
      color-mix(in srgb, var(--c1, #0ea5e9) 16%, transparent) 0%, transparent 60%),
    radial-gradient(120% 120% at 100% 100%,
      color-mix(in srgb, var(--c2, #ef4444) 16%, transparent) 0%, transparent 60%),
    #fff;
  box-shadow:0 6px 22px rgba(0,0,0,.06);
  transition: transform .06s ease, box-shadow .12s ease, border-color .12s ease;
}
.fan-item:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(0,0,0,.08);
  border-color:#e9e9e9;
}

/* Avatar (get_avatar) y metadatos */
.fan-avatar img,
.fan-avatar .avatar {
  width:42px; height:42px; border-radius:50%;
  object-fit:cover; border:2px solid color-mix(in srgb, var(--c1, #0ea5e9) 65%, var(--c2, #ef4444));
  background:#fff;
}
.fan-meta { display:flex; flex-direction:column; line-height:1.2; }
.fan-name { font-weight:800; }
.fan-since { color:#6b7280; font-size:.9rem; }

/* Versión compacta en mobile */
@media (max-width:640px){
  .fan-item { padding:10px 12px; border-radius:12px; }
  .fan-avatar img, .fan-avatar .avatar { width:36px; height:36px; }
}

.fan-avatar img { width:48px; height:48px; border-radius:50%; }
.fan-meta { display:flex; flex-direction:column; line-height:1.2; }
.fan-name { font-weight:800; }
.fan-since { color:#6b7280; font-size:.9rem; }

/* Mobile */
@media (max-width:640px){
  .team-title-logo { width:34px; height:34px; }
  .fan-count-badge { min-width:30px; font-size:.82rem; padding:3px 7px; }
}

/* ===== Botones de acciones en Team ===== */
.team-actions { display:inline-flex; gap:10px; align-items:center; flex-wrap:wrap; margin-left:8px; }
.btn {
  appearance: none;
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 800;
  border: 1px solid #111;
  background: #111;
  color: #fff;
  cursor: pointer;
  transition: transform .04s ease, box-shadow .12s ease, filter .12s ease;
}
.btn:hover { filter: brightness(1.06); }
.btn:active { transform: translateY(1px); }
.btn:disabled { opacity:.6; cursor:not-allowed; }

.btn-symp {
  background: #fff; color:#111; border: 1px solid #ddd;
}
.btn-symp.is-active {
  background:#111; color:#fff; border-color:#111;
}

.lock-msg { color:#b45309; margin-left:6px; font-size:.9rem; }

@media (max-width:640px){
  .team-actions { display:flex; width:100%; margin-left:0; margin-top:6px; }
  .btn { flex:1 1 auto; text-align:center; }
  .lock-msg { display:block; margin-left:0; margin-top:4px; }
}
/* ===== Grupos dentro de la pestaña Hinchas ===== */
.fans-group { margin-bottom: 16px; }
.fans-group h3 {
  display:flex; align-items:center; gap:8px; margin: 8px 0;
}
.count-badge {
  display:inline-flex; align-items:center; justify-content:center;
  min-width:26px; padding:2px 8px; border-radius:999px;
  background:#111; color:#fff; font-weight:800; font-size:.8rem;
  border:1px solid rgba(255,255,255,.12);
}

/* Muro bloqueado para no-hinchas */
.muro-locked {
  background:#fff; border:1px solid #eee; border-radius:14px;
  padding:16px; box-shadow: 0 6px 22px rgba(0,0,0,.06);
}
.muro-locked h3 { margin:0 0 6px; }
.muro-locked p  { margin:0 0 10px; color:#4b5563; }
.muro-locked .btn { margin-top:4px; }

/* ===========================
   Muro (comentarios en single-team)
   =========================== */
/* ===== MURO (single-team) limpio + reacciones ===== */
.single-team .comments-area { margin-top: 18px; display: grid; gap: 14px; }

/* El contenedor de WP suele ser <ol class="comment-list">, nos aseguramos de quitar numeración */
.single-team :where(ol.comment-list, .comment-list){ list-style: none; padding-left: 0; margin: 0; }
.single-team .comment-list li { list-style: none; }
.single-team .comment-list li::marker { content: ""; }

/* Form minimal */
.single-team .comment-respond {
  background:#fff; border:1px solid #eee; border-radius:14px; padding:12px;
  box-shadow:0 6px 22px rgba(0,0,0,.06);
}
.single-team .comment-respond p { margin:0; }
.single-team .comment-respond textarea {
  width:100%; min-height:110px; resize:vertical;
  border:1px solid #ddd; border-radius:10px; padding:10px 12px; font-size:1rem; background:#fff;
}
.single-team .comment-respond textarea:focus {
  outline:none; border-color:#111; box-shadow:0 0 0 3px rgba(17,17,17,.08);
}
.single-team .comment-respond .form-submit { margin-top:10px; }
.single-team .comment-respond .comment-submit.btn {
  appearance:none; padding:10px 14px; border-radius:999px; font-weight:800;
  border:1px solid #111; background:#111; color:#fff; cursor:pointer;
  transition:transform .04s ease, box-shadow .12s ease, filter .12s ease;
}
.single-team .comment-respond .comment-submit.btn:hover { filter:brightness(1.06); }
.single-team .comment-respond .comment-submit.btn:active { transform:translateY(1px); }

/* Lista */
.single-team .comment-list { display:grid; gap:10px; }
.single-team .comment-body {
  position:relative; background:#fff; border:1px solid #eee; border-radius:14px; padding:12px 14px;
  box-shadow:0 6px 22px rgba(0,0,0,.06);
}
.single-team .comment-body::before {
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:
    radial-gradient(120% 120% at 0% 0%,  color-mix(in srgb, var(--c1, #0ea5e9) 12%, transparent) 0%, transparent 60%),
    radial-gradient(120% 120% at 100% 100%, color-mix(in srgb, var(--c2, #ef4444) 12%, transparent) 0%, transparent 60%);
}

/* Header */
.single-team .comment-header { display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.single-team .cmt-media { display:inline-flex; align-items:center; gap:6px; }
.single-team .cmt-avatar { width:40px; height:40px; border-radius:50%; object-fit:cover; border:1px solid #eee; }
.single-team .cmt-crest  { width:22px; height:22px; border-radius:50%; object-fit:cover; border:2px solid #fff; box-shadow:0 1px 3px rgba(0,0,0,.1); }
.single-team .cmt-author { font-weight:800; }
.single-team .cmt-date { margin-left:auto; font-size:.85rem; color:#6b7280; } /* sin link */

.audit-user .cmt-crest  { width:22px; height:22px; border-radius:50%; object-fit:cover; border:2px solid #fff; box-shadow:0 1px 3px rgba(0,0,0,.1); }

/* Texto */
.single-team .comment-content { color:#111; line-height:1.5; }

/* Reacciones + reply */
.single-team .comment-actions {
  display:flex; align-items:center; gap:8px; margin-top:8px; flex-wrap:wrap;
}
.single-team .cmt-react {
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 10px; border-radius:999px; border:1px solid #ddd;
  background:#fff; color:#111; cursor:pointer; font-weight:700;
  transition:background .12s ease, border-color .12s ease, transform .04s ease;
}
.single-team .cmt-react .count { font-weight:800; }
.single-team .cmt-react:hover { background:#f5f5f5; }
.single-team .cmt-react.is-on { background:#111; color:#fff; border-color:#111; }
.single-team .cmt-react:disabled { opacity:.6; cursor:not-allowed; }

.single-team .cmt-reply a {
  display:inline-flex; align-items:center; justify-content:center;
  padding:6px 10px; border-radius:999px; border:1px solid #ddd; background:#fff; color:#111;
  font-weight:700; text-decoration:none; transition:background .12s ease, border-color .12s ease, transform .04s ease;
}
.single-team .cmt-reply a:hover { background:#f5f5f5; }
.single-team .cmt-reply a:active { transform:translateY(1px); }

/* Anidados */
.single-team .children { list-style:none; margin:8px 0 0 16px; padding:0; display:grid; gap:8px; border-left:2px solid #eee; }
.single-team .children li::marker { content:""; }

/* Moderación (por si aplica) */
.single-team .comment-awaiting-moderation {
  background:#ECFDF5; border:1px solid #A7F3D0; color:#065F46;
  padding:8px 10px; border-radius:8px; display:inline-block; margin-top:6px;
}

/* Mobile */
@media (max-width:640px){
  .single-team .comment-respond { padding:10px; border-radius:12px; }
  .single-team .cmt-avatar { width:34px; height:34px; }
  .single-team .cmt-crest  { width:20px; height:20px; }
  .single-team .comment-body { padding:10px 12px; border-radius:12px; }
  .single-team .children { margin-left:12px; }
}

ol.commentlist {
    list-style-type: none;
    padding-inline-start: 0 !important;
}

/* Fans list: layout con escudo entre nombre y foto */
.fans-list { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.fans-list > li { list-style:none; }
.fan-item {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:12px 14px; border:1px solid #eee; border-radius:14px;
  background:
    radial-gradient(120% 120% at 0% 0%,
      color-mix(in srgb, var(--c1, #0ea5e9) 16%, transparent) 0%, transparent 60%),
    radial-gradient(120% 120% at 100% 100%,
      color-mix(in srgb, var(--c2, #ef4444) 16%, transparent) 0%, transparent 60%),
    #fff;
  box-shadow:0 6px 22px rgba(0,0,0,.06);
}
.fan-meta { display:flex; flex-direction:column; line-height:1.2; min-width:0; }
.fan-name { font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:48vw; }
.fan-since { color:#6b7280; font-size:.9rem; }

.fan-right { display:flex; align-items:center; gap:8px; }

/* Avatar (usuario) */
.fan-avatar img, .fan-avatar .avatar {
  width:42px; height:42px; border-radius:50%;
  object-fit:cover; border:2px solid color-mix(in srgb, var(--c1, #0ea5e9) 65%, var(--c2, #ef4444));
  background:#fff;
}

/* Escudo del equipo */
.fan-crest {
  width:24px; height:24px; border-radius:50%; object-fit:cover;
  border:2px solid #fff; box-shadow:0 1px 3px rgba(0,0,0,.1);
}

/* Hover sutil */
.fan-item:hover { transform: translateY(-1px); box-shadow: 0 10px 26px rgba(0,0,0,.08); border-color:#e9e9e9; }

/* Mobile */
@media (max-width:640px){
  .fan-item { padding:10px 12px; border-radius:12px; }
  .fan-avatar img, .fan-avatar .avatar { width:36px; height:36px; }
  .fan-crest { width:22px; height:22px; }
}

/* ===== Skin unificado de comentarios (post, team, match) ===== */
.comments-area {
  margin-top: 18px; display: grid; gap: 14px;
}

.comment-respond {
  background:#fff; border:1px solid #eee; border-radius:14px; padding:12px;
  box-shadow:0 6px 22px rgba(0,0,0,.06);
}
.comment-respond p { margin:0; }
.comment-respond textarea {
  width:100%; min-height:110px; resize:vertical;
  border:1px solid #ddd; border-radius:10px; padding:10px 12px; font-size:1rem; background:#fff;
}
.comment-respond textarea:focus {
  outline:none; border-color:#111; box-shadow:0 0 0 3px rgba(17,17,17,.08);
}
.comment-respond .form-submit { margin-top:10px; }
.comment-respond .comment-submit.btn {
  appearance:none; padding:10px 14px; border-radius:999px; font-weight:800;
  border:1px solid #111; background:#111; color:#fff; cursor:pointer;
  transition:transform .04s ease, box-shadow .12s ease, filter .12s ease;
}
.comment-respond .comment-submit.btn:hover { filter:brightness(1.06); }
.comment-respond .comment-submit.btn:active { transform:translateY(1px); }

/* Lista y numeración off */
:where(ol.comment-list, .comment-list) {
  list-style:none; padding-left:0; margin:0;
}
.comment-list li::marker { content:""; }
.comment-list { display:grid; gap:10px; }

/* Tarjeta */
.comment-body {
  position:relative; background:#fff; border:1px solid #eee; border-radius:14px; padding:12px 14px;
  box-shadow:0 6px 22px rgba(0,0,0,.06);
}
.comment-body::before {
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:
    radial-gradient(120% 120% at 0% 0%,
      color-mix(in srgb, var(--c1, #0ea5e9) 12%, transparent) 0%, transparent 60%),
    radial-gradient(120% 120% at 100% 100%,
      color-mix(in srgb, var(--c2, #ef4444) 12%, transparent) 0%, transparent 60%);
}

/* Header + fecha humana */
.comment-header {
  display:flex; align-items:center; gap:10px; margin-bottom:6px;
}
.cmt-media {
  display:inline-flex; align-items:center; gap:6px;
}
.cmt-avatar {
  width:40px; height:40px; border-radius:50%; object-fit:cover; border:1px solid #eee;
}
.cmt-crest  {
  width:22px; height:22px; border-radius:50%; object-fit:cover; border:2px solid #fff; box-shadow:0 1px 3px rgba(0,0,0,.1);
}
.cmt-author { font-weight:800; }
.cmt-date   { margin-left:auto; font-size:.85rem; color:#6b7280; }

/* Cuerpo */
.comment-content { color:#111; line-height:1.5; }

/* Reacciones + reply */
.comment-actions {
  display:flex; align-items:center; gap:8px; margin-top:8px; flex-wrap:wrap;
}
.cmt-react {
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 10px; border-radius:999px; border:1px solid #ddd;
  background:#fff; color:#111; cursor:pointer; font-weight:700;
  transition:background .12s ease, border-color .12s ease, transform .04s ease;
}
.cmt-react .count { font-weight:800; }
.cmt-react:hover { background:#f5f5f5; }
.cmt-react.is-on {
  background:#111; color:#fff; border-color:#111;
}
.cmt-react:disabled { opacity:.6; cursor:not-allowed; }

.cmt-reply a {
  display:inline-flex; align-items:center; justify-content:center;
  padding:6px 10px; border-radius:999px; border:1px solid #ddd; background:#fff; color:#111;
  font-weight:700; text-decoration:none; transition:background .12s ease, border-color .12s ease, transform .04s ease;
}
.cmt-reply a:hover { background:#f5f5f5; }
.cmt-reply a:active { transform:translateY(1px); }

/* Anidados */
.children {
  list-style:none; margin:8px 0 0 16px; padding:0; display:grid; gap:8px; border-left:2px solid #eee;
}

/* Mobile */
@media (max-width:640px){
  .comment-respond { padding:10px; border-radius:12px; }
  .cmt-avatar { width:34px; height:34px; }
  .cmt-crest  { width:20px; height:20px; }
  .comment-body { padding:10px 12px; border-radius:12px; }
  .children { margin-left:12px; }
}


/* Por si algún plugin mete enlaces de reply genéricos */
body.logged-out .single-post .cmt-reply { display:none !important; }
body.logged-out .single-post .comment-respond { display:none !important; }
body.logged-out .single-match .cmt-reply { display:none !important; }
body.logged-out .single-match .comment-respond { display:none !important; }

li.comment-card{
    margin-bottom : 5px;
}

/* ===== Mini admin bar personalizado ===== */
.has-userbar { --userbar-h: 44px; padding-top: var(--userbar-h); }

.userbar {
  position: fixed; inset: 0 0 auto 0; height: var(--userbar-h);
  z-index: 9999;
  background:
    radial-gradient(120% 150% at 0% 0%,
      color-mix(in srgb, var(--c1, #0ea5e9) 16%, transparent) 0%, transparent 60%),
    radial-gradient(120% 150% at 100% 100%,
      color-mix(in srgb, var(--c2, #ef4444) 16%, transparent) 0%, transparent 60%),
    #111;
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}

.userbar .userbar-inner {
  height: 100%;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding-inline: 12px;
}

.userbar-left { display:flex; align-items:center; gap:10px; min-width:0; }
.userbar-right { display:flex; align-items:center; gap:10px; }

/* Escudo */
.userbar-crest {
  width:24px; height:24px; border-radius:50%; object-fit:cover;
  border:2px solid #fff; box-shadow:0 1px 3px rgba(0,0,0,.2);
}

/* Nombre (elipsis si es largo) */
.userbar-name {
  max-width: 38vw; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  font-weight: 800; letter-spacing:.2px;
}

/* Avatar */
.userbar-avatar {
  width:28px; height:28px; border-radius:50%; border:2px solid rgba(255,255,255,.9);
  box-shadow:0 1px 3px rgba(0,0,0,.25);
}

/* Logout */
.userbar-logout {
  display:inline-flex; align-items:center; justify-content:center;
  padding:6px 10px; border-radius:999px;
  background:#fff; color:#111; font-weight:800; text-decoration:none;
  border:1px solid rgba(0,0,0,.1);
  transition: filter .12s ease, transform .04s ease, background .12s ease;
}
.userbar-logout:hover { filter:brightness(0.98); }
.userbar-logout:active { transform: translateY(1px); }

/* Mobile */
@media (max-width:640px){
  .has-userbar { --userbar-h: 46px; }
  .userbar-name { max-width: 50vw; font-weight: 700; }
}

/* ==== Pronóstico en single-match ==== */
.match-prediction-card{
  margin:14px 0; padding:12px; border:1px solid #eee; border-radius:14px; background:#fff;
  box-shadow:0 6px 22px rgba(0,0,0,.06);
}
.match-prediction-card.mp-disabled{ opacity:.9; }

.match-prediction-card .mp-title{
  margin:0 0 8px; font-weight:800; font-size:1.05rem;
}

.match-pred-form .mp-row{
  display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
}
.match-pred-form .mp-team{
  display:flex; align-items:center; gap:8px; font-weight:700;
}
.match-pred-form .mp-team.right{ text-align:right; }
.match-pred-form .mp-team img{ width:26px; height:26px; border-radius:50%; object-fit:cover; border:2px solid #fff; box-shadow:0 1px 3px rgba(0,0,0,.12); }

.match-pred-form .mp-input{
  width:64px; text-align:center; font-weight:800; font-size:1.1rem;
  padding:8px 10px; border:1px solid #ddd; border-radius:10px; background:#fff;
}
.match-pred-form .mp-input:focus{ outline:none; border-color:#111; box-shadow:0 0 0 3px rgba(17,17,17,.08); }

.match-pred-form .mp-sep{ font-weight:800; }

.match-pred-form .mp-submit{
  margin-top:10px; appearance:none; padding:10px 14px; border-radius:999px; font-weight:800;
  border:1px solid #111; background:#111; color:#fff; cursor:pointer;
  transition:transform .04s ease, box-shadow .12s ease, filter .12s ease;
}
.match-pred-form .mp-submit:hover{ filter:brightness(1.06); }
.match-pred-form .mp-submit:active{ transform:translateY(1px); }

.match-pred-form .mp-msg{ margin:8px 0 0; color:#111; }
@media (max-width:640px){
  .match-pred-form .mp-input{ width:56px; padding:8px; }
}

/* ===== Barra de pronósticos ===== */
.pred-summary{
  margin:14px 0; padding:12px; border:1px solid #eee; border-radius:14px; background:#fff;
  box-shadow:0 6px 22px rgba(0,0,0,.06);
}
.pred-summary .pred-title{ margin:0 0 8px; font-weight:800; font-size:1.05rem; }
.pred-bar{
  height:14px; border-radius:999px; overflow:hidden;
  background:#f1f5f9; border:1px solid #e5e7eb; display:flex;
}
.pred-bar .seg{ display:block; height:100%; }
.pred-bar .seg.home{ background: var(--home, #0ea5e9); }
.pred-bar .seg.draw{ background: var(--draw, #d1d5db); }
.pred-bar .seg.away{ background: var(--away, #ef4444); }

.pred-legend{
  display:flex; gap:12px; justify-content:space-between; margin-top:8px; flex-wrap:wrap;
}
.pred-legend .item{ display:inline-flex; align-items:center; gap:6px; font-size:.95rem; }
.pred-legend .item.home::before,
.pred-legend .item.draw::before,
.pred-legend .item.away::before{
  content:""; width:10px; height:10px; border-radius:2px; box-shadow:0 0 0 1px rgba(0,0,0,.06) inset;
}
.pred-legend .item.home::before{ background: var(--home, #0ea5e9); }
.pred-legend .item.draw::before{ background: var(--draw, #d1d5db); }
.pred-legend .item.away::before{ background: var(--away, #ef4444); }

@media (max-width:640px){
  .pred-legend{ gap:8px; }
}

/* Mostrar nombre completo en desktop y abreviado en mobile */
.name-switch .name-abbr { display:none; }
@media (max-width:640px){
  .name-switch .name-full { display:none; }
  .name-switch .name-abbr { display:inline; }
}

/* Truncado elegante para no romper layout */
.pred-legend .item .name-switch,
.match-pred-form .mp-team .name-switch {
  display:inline-block;
  max-width: 34vw;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width:640px){
  .pred-legend .item .name-switch,
  .match-pred-form .mp-team .name-switch {
    max-width: 46vw;
  }
}

/* Mobile: 2 filas (local, visita) y 2 columnas (nombre, input) */
@media (max-width:640px){
  .match-pred-form .mp-row{
    display:grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    align-items:center;
    gap:10px 12px;
  }

  /* Ordenamos sin tocar el HTML */
  .match-pred-form .mp-team:first-of-type{ grid-column:1; grid-row:1; justify-self:start; text-align:left; }
  .match-pred-form .mp-input[name="gl"]   { grid-column:2; grid-row:1; }
  .match-pred-form .mp-team.right        { grid-column:1; grid-row:2; justify-self:start; text-align:left; }
  .match-pred-form .mp-input[name="gv"]   { grid-column:2; grid-row:2; }

  /* Ocultar separador en mobile */
  .match-pred-form .mp-sep{ display:none; }
}

/* Mobile: 3 líneas apiladas, ocultando el “Gana ” */
@media (max-width:640px){
  .pred-legend{
    display:grid;
    grid-template-columns: 1fr;
    gap:6px;
    margin-top:10px;
  }

  /* Abreviado ya lo controlamos con name-switch */
  .name-switch .name-full{ display:none; }
  .name-switch .name-abbr{ display:inline; }

  /* Truncado elegante para que no rompa la línea */
  .pred-legend .item .name-switch{
    display:inline-block; max-width:66vw; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
}

/* ===== Ranking de pronósticos (tabla) ===== */
.pred-leader .pred-leader-meta { display:flex; gap:12px; align-items:baseline; flex-wrap:wrap; }
.pred-leader .pred-leader-meta .muted { color:#6b7280; font-size:.9rem; }

.pred-table-wrap{
  margin-top:12px;
  background:#fff; border:1px solid #eee; border-radius:14px;
  box-shadow:0 6px 22px rgba(0,0,0,.06); overflow:hidden;
}
.pred-table{
  width:100%; border-collapse:collapse;
}
.pred-table thead th{
  text-align:left; background:#f8fafc; border-bottom:1px solid #eee; padding:10px 12px; font-weight:800;
}
.pred-table tbody td{
  padding:10px 12px; border-bottom:1px solid #f1f5f9; vertical-align:middle;
}
.pred-table tbody tr:hover{ background:#fafafa; }
.pred-table .rank{ width:48px; font-weight:800; color:#6b7280; }
.pred-table .pts{ width:90px; text-align:right; }

.pl-media{ display:inline-flex; align-items:center; gap:8px; }
.pl-avatar{ width:36px; height:36px; border-radius:50%; border:1px solid #eee; }
.pl-crest{ width:22px; height:22px; border-radius:50%; border:2px solid #fff; box-shadow:0 1px 3px rgba(0,0,0,.1); object-fit:cover; }
.pl-name{ font-weight:800; }

/* Mobile: ocultar columnas de detalle */
@media (max-width:640px){
  .pred-table .hide-sm{ display:none; }
  .pred-table thead th:nth-child(2){ width:auto; }
  .pred-table .pts{ width:72px; }
}

/* Ajuste menor para la grilla de jugadores (hereda el skin de hinchas) */
.players-grid.fans-grid { row-gap: 14px; }
.player-card.fan-card .fan-sub { color:#6b7280; font-size:.9rem; }
.player-card.fan-card .fan-avatar.placeholder {
  width:80px; height:80px; border-radius:50%; background:#f3f4f6; border:1px solid #e5e7eb;
  display:inline-block;
}

/* ===== Estadísticas de jugadores en single-match ===== */
.match-player-stats{
  margin:14px 0; padding:12px; border:1px solid #eee; border-radius:14px; background:#fff;
  box-shadow:0 6px 22px rgba(0,0,0,.06);
}
.mps-title{ margin:0 0 8px; font-weight:800; font-size:1.05rem; }

.mps-grid{ display:grid; grid-template-columns: 1fr 1fr; gap:16px; }
@media (max-width:800px){ .mps-grid{ grid-template-columns:1fr; } }

.mps-team{ margin:0 0 6px; font-weight:800; }

.mps-list{ list-style:none; padding:0; margin:0; display:grid; gap:8px; }
.mps-item{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  border:1px solid #f0f0f0; border-radius:12px; padding:8px 10px; background:#fff;
}
.mps-media{ display:inline-flex; align-items:center; gap:8px; min-width:0; }
.mps-avatar{ width:40px; height:40px; border-radius:50%; object-fit:cover; border:1px solid #eee; }
.mps-avatar.placeholder{ background:#f3f4f6; }
.mps-name{ font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:52vw; }
@media (max-width:800px){ .mps-name{ max-width:68vw; } }

.mps-badges{ display:inline-flex; align-items:center; gap:6px; flex-wrap:wrap; }
.badge{
  display:inline-flex; align-items:center; gap:4px;
  padding:4px 8px; border-radius:999px; font-weight:800; font-size:.9rem;
  border:1px solid #ddd; background:#fff;
}
.badge.goal   { border-color:#10b981; }
.badge.yellow { border-color:#f59e0b; }
.badge.red    { border-color:#ef4444; }
.badge.played { border-color:#9ca3af; color:#374151; }

/* ===== Página: Estadísticas de jugadores ===== */
.player-stats-page .psp-meta{ display:flex; gap:12px; align-items:baseline; flex-wrap:wrap; margin-bottom:8px; }
.player-stats-page .psp-meta .muted{ color:#6b7280; font-size:.9rem; }

.player-stats-page .psp-grid{
  display:grid; gap:16px;
  grid-template-columns:1fr 1fr;
}
@media (max-width:900px){ .player-stats-page .psp-grid{ grid-template-columns:1fr; } }

.player-stats-page .psp-card{
  background:#fff; border:1px solid #eee; border-radius:14px; padding:12px;
  box-shadow:0 6px 22px rgba(0,0,0,.06);
}

.player-stats-page .psp-title{ margin:0 0 8px; font-weight:800; font-size:1.05rem; }

.psp-table{ width:100%; border-collapse:collapse; }
.psp-table thead th{
  text-align:left; background:#f8fafc; border-bottom:1px solid #eee; padding:10px 12px; font-weight:800;
}
.psp-table tbody td{
  padding:10px 12px; border-bottom:1px solid #f1f5f9; vertical-align:middle;
}
.psp-table tbody tr:hover{ background:#fafafa; }

.psp-table .rank{ width:48px; font-weight:800; color:#6b7280; }
.psp-table .num{ width:72px; text-align:right; font-weight:800; }

.psp-media{ display:inline-flex; align-items:center; gap:8px; }
.psp-avatar{ width:36px; height:36px; border-radius:50%; border:1px solid #eee; object-fit:cover; }
.psp-crest{ width:22px; height:22px; border-radius:50%; border:2px solid #fff; box-shadow:0 1px 3px rgba(0,0,0,.1); object-fit:cover; }
.psp-name{ font-weight:800; }

@media (max-width:640px){
  .psp-table .hide-sm{ display:none; }
  .psp-table .num{ width:60px; }
}

/* ===== Mini barra de usuario (siempre visible) ===== */
.userbar{
  --h: 42px;
  position: fixed; top:0; left:0; right:0; height:var(--h); z-index: 1100;
  background:#111; color:#fff; border-bottom:1px solid rgba(255,255,255,.08);
}
.userbar .userbar-inner{ height:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.userbar .ub-left, .userbar .ub-right{ display:flex; align-items:center; gap:8px; }
.userbar .ub-avatar{ width:28px; height:28px; border-radius:50%; border:1px solid rgba(255,255,255,.2); }
.userbar .ub-crest{ width:20px; height:20px; border-radius:50%; border:2px solid #111; box-shadow:0 1px 2px rgba(0,0,0,.3); }
.userbar .ub-name{ font-weight:800; }
.userbar .ub-link{ color:#fff; text-decoration:none; font-weight:700; border:1px solid rgba(255,255,255,.2); padding:6px 10px; border-radius:999px; }
.userbar .ub-link:hover{ background:rgba(255,255,255,.08); }
.userbar .ub-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:6px 12px; border-radius:999px; font-weight:800; text-decoration:none; color:#111; background:#fff; border:1px solid #fff;
}
.userbar .ub-btn:hover{ filter:brightness(0.96); }
.userbar .ub-greet{ opacity:.9; }

/* Empujar el contenido hacia abajo para no tapar */
body { --userbar-h: 42px; }
body:not(.no-userbar) { padding-top: var(--userbar-h); }

/* ===== Modal genérico ===== */
.modal{ position:fixed; inset:0; z-index:1200; display:none; }
.modal.is-open{ display:block; }
.modal-backdrop{
  position:absolute; inset:0; background:rgba(0,0,0,.5); backdrop-filter:saturate(120%) blur(2px);
}
.modal-dialog{
  position:relative; z-index:1; width:min(520px, 92vw); margin:8vh auto 0; padding:16px;
  background:#fff; border:1px solid #eee; border-radius:14px; box-shadow:0 12px 38px rgba(0,0,0,.20);
}
.modal-title{ margin:0 0 6px; font-weight:800; outline:none; }
.modal-sub{ margin:0 0 10px; color:#6b7280; }

.modal-close{
  position:relative; right:8px; width:36px; height:36px; left:80%;
  border-radius:999px; border:1px solid #eee; background:#fff; cursor:pointer; font-size:22px; line-height:1;
}
.modal-close:hover{ background:#f7f7f7; }

.social-login-slot{ display:grid; gap:8px; margin:8px 0; }
/* separador */
.modal-sep{ display:flex; align-items:center; gap:12px; color:#9ca3af; margin:8px 0; }
.modal-sep::before, .modal-sep::after{ content:""; height:1px; background:#eee; flex:1; }
.modal-sep span{ font-size:.9rem; }

.modal-actions .modal-help{ margin:.5rem 0 0; font-size:.9rem; color:#6b7280; }

html.modal-open, html.modal-open body{ overflow:hidden; }

.btn{ display:inline-flex; align-items:center; justify-content:center;
  padding:8px 14px; border-radius:999px; border:1px solid #111; background:#111; color:#fff; font-weight:800; cursor:pointer;
}
.btn:hover{ filter:brightness(1.06); }
.btn-danger{ border-color:#ef4444; background:#ef4444; }
.btn-danger:hover{ filter:brightness(1.05); }
.muted{ color:#6b7280; font-size:.92rem; }

/* ===== Modal: layout robusto + scroll interno ===== */
.modal{ position:fixed; inset:0; z-index:1200; display:none; }
.modal.is-open{ display:block; }
.modal-backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.5); backdrop-filter:saturate(120%) blur(2px); }

.modal-dialog{
  position:relative; z-index:1;
  width:min(560px, 94vw);
  margin:8vh auto 0;
  background:#fff; border:1px solid #eee; border-radius:14px;
  box-shadow:0 12px 38px rgba(0,0,0,.20);
  display:flex; flex-direction:column; max-height:84vh;
}

/* cuerpo con scroll si hace falta */
.modal-body{
  padding:16px;
  overflow:auto;
  max-height:calc(84vh - 16px); /* se considera padding/botón close */
}

/* Mobile: casi full screen para comodidad */
@media (max-width:520px){
  /*.modal-dialog{
    width:100vw; height:100vh; margin:0; border-radius:0;
    max-height:100vh;
  }*/
  .modal-body{ padding:14px; max-height:calc(100vh - 20px); }
}

/* ===== Tabs y paneles ===== */
.modal-tabs{display:flex; gap:6px; margin:0 0 12px;}
.modal-tabs .tab-link{
  flex:1; padding:10px 12px; border-radius:999px; border:1px solid #ddd; background:#fff; font-weight:800; cursor:pointer
}
.modal-tabs .tab-link.is-active{background:#111; color:#fff; border-color:#111}
.tab-panels .tab-panel{display:none}
.tab-panels .tab-panel.is-active{display:block}

/* ===== Inputs y formularios (incluye wp_login_form) ===== */
.modal-body * { box-sizing:border-box; }

.modal-body .field{ margin:10px 0; }
.modal-body .input,
.modal-body input[type="text"],
.modal-body input[type="email"],
.modal-body input[type="password"],
.modal-body input[type="url"]{
  width:100%; padding:10px 12px; border:1px solid #ddd; border-radius:10px;
  font-size:1rem; background:#fff;
}
.modal-body .input:focus,
.modal-body input[type="text"]:focus,
.modal-body input[type="email"]:focus,
.modal-body input[type="password"]:focus,
.modal-body input[type="url"]:focus{
  outline:none; border-color:#111; box-shadow:0 0 0 3px rgba(17,17,17,.08);
}

.pass-wrap{ display:flex; align-items:center; gap:8px; }
.pass-wrap .show-pass{
  border:1px solid #ddd; background:#fff; border-radius:10px; padding:8px 10px; cursor:pointer;
}

/* Checkbox y líneas del login nativo */
.modal-body #loginform p{ margin:10px 0; }
.modal-body #loginform label{ display:block; font-weight:700; margin-bottom:6px; }
.modal-body #loginform .input{ width:100%; }
.modal-body #loginform .forgetmenot{
  display:flex; align-items:center; gap:8px; margin-top:8px;
}
.modal-body #loginform .forgetmenot label{ margin:0; font-weight:400; }

/* Enlaces de ayuda */
.modal-help{ margin:.5rem 0 0; font-size:.9rem; color:#6b7280; }

/* ===== Botones (unificamos skins) ===== */
.btn,
.modal-body .button,
.modal-body .button-primary,
.modal-body input[type="submit"]{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px; border-radius:999px; font-weight:800;
  border:1px solid #111; background:#111; color:#fff; cursor:pointer; text-decoration:none;
  transition:transform .04s ease, filter .12s ease, box-shadow .12s ease;
}
.btn:hover,
.modal-body .button:hover,
.modal-body .button-primary:hover,
.modal-body input[type="submit"]:hover{ filter:brightness(1.06); }
.btn:active,
.modal-body .button:active,
.modal-body .button-primary:active,
.modal-body input[type="submit"]:active{ transform:translateY(1px); }
.btn:disabled,
.modal-body .button:disabled,
.modal-body input[type="submit"]:disabled{ opacity:.7; cursor:not-allowed; }

.btn-danger{
  border-color:#ef4444; background:#ef4444;
}
.btn-danger:hover{ filter:brightness(1.05); }

/* Mensajes */
.form-msg{ margin:.5rem 0 0; font-weight:700; }
.form-msg.ok{ color:#16a34a; }
.form-msg.err{ color:#dc2626; }

/* Picker */
.aw-form{ display:grid; gap:10px; }
.aw-picker{ position:relative; }
.aw-pick-label{ font-weight:800; margin-bottom:6px; }
.aw-pick-btn{
  display:flex; align-items:center; gap:8px; width:100%;
  padding:10px 12px; border:1px solid #ddd; border-radius:10px; background:#fff; cursor:pointer;
}
.aw-picker.open .aw-pick-btn{ border-color:#111; box-shadow:0 0 0 3px rgba(17,17,17,.08); }

.aw-menu{
  position:absolute; left:0; right:0; top:100%; margin-top:6px; z-index:50;
  background:#fff; border:1px solid #eee; border-radius:12px; box-shadow:0 12px 28px rgba(0,0,0,.15); max-height:320px; overflow:auto;
}
.aw-menu-list{ list-style:none; margin:0; padding:6px; display:grid; gap:4px; }
.aw-menu-item{
  display:flex; align-items:center; gap:8px; padding:8px 10px; border-radius:10px; cursor:pointer;
}
.aw-menu-item:hover{ background:#f7f7f7; }
.aw-menu-empty{ color:#6b7280; }

.aw-crest{ width:24px; height:24px; border-radius:50%; object-fit:cover; border:2px solid #fff; box-shadow:0 1px 3px rgba(0,0,0,.1); }

/* Resultados: ocultamos columnas de conteo en mobile */
@media (max-width:640px){
  .aw-result-table .hide-mobile{ display:none; }
}

/* Auditoría de Premios */
.audit-controls{ display:flex; align-items:center; gap:10px; margin:12px 0; }
.audit-controls .btn{ padding:8px 12px; border:1px solid #111; background:#111; color:#fff; border-radius:999px; text-decoration:none; font-weight:800; }
.audit-controls .btn.btn-outline{ background:#fff; color:#111; }
.audit-controls select{ padding:6px 10px; border:1px solid #ddd; border-radius:8px; }

.audit-summary{ display:flex; gap:16px; flex-wrap:wrap; margin-bottom:10px; }
.badge{ display:inline-block; padding:2px 8px; border-radius:999px; font-size:.8rem; font-weight:700; }
.badge-green{ background:#e6f7ee; color:#166534; border:1px solid #a7e3c2; }
.badge-red{ background:#fee2e2; color:#991b1b; border:1px solid #fca5a5; }

.audit-list{ display:grid; gap:12px; }
.audit-card{
  background:#fff; border:1px solid #eee; border-radius:14px; padding:12px;
  box-shadow:0 6px 22px rgba(0,0,0,.06);
}
.audit-card__head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.audit-user{ display:flex; align-items:center; gap:10px; }
.audit-avatar{ width:48px; height:48px; border-radius:50%; }
.audit-user__name{ font-weight:800; }
.audit-user__meta{ color:#6b7280; font-size:.9rem; }

.audit-row{ display:grid; grid-template-columns: 240px 1fr; gap:10px; padding:10px 0; border-top:1px dashed #eee; }
.audit-row:first-child{ border-top:none; }
.audit-cat{ font-weight:800; }
.audit-picks{ display:grid; grid-template-columns: repeat(3, 1fr); gap:10px; }
.audit-picks .rank{ display:inline-block; min-width:1.8em; text-align:center; font-weight:800; margin-right:6px; }

.audit-nom{ display:inline-flex; align-items:center; gap:8px; }
.audit-nom__img{ width:26px; height:26px; border-radius:50%; object-fit:cover; border:2px solid #fff; box-shadow:0 1px 3px rgba(0,0,0,.1); }
.audit-nom__name{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:280px; }

@media (max-width: 720px){
  .audit-row{ grid-template-columns: 1fr; }
  .audit-picks{ grid-template-columns: 1fr; }
  .audit-nom__name{ max-width: 100%; }
}

/* Reutiliza estilos de Auditoría (ya los tenías del módulo anterior) */
.badge{ display:inline-block; padding:2px 8px; border-radius:999px; font-size:.8rem; font-weight:700; }
.badge-green{ background:#e6f7ee; color:#166534; border:1px solid #a7e3c2; }
.badge-blue{ background:#e0f2fe; color:#075985; border:1px solid #93c5fd; }
.badge-amber{ background:#fef3c7; color:#92400e; border:1px solid #fcd34d; }
.badge-gray{ background:#f3f4f6; color:#374151; border:1px solid #e5e7eb; }

/* Quiénes somos */
.about-page .about-card{
  background:#fff; border:1px solid #eee; border-radius:16px; padding:16px;
  box-shadow:0 6px 22px rgba(0,0,0,.06); margin:12px 0;
}
.about-title{ font-size:clamp(1.6rem, 2.2vw, 2.2rem); font-weight:900; margin:0 0 6px; }
.about-subtitle{ font-size:clamp(1.2rem, 1.8vw, 1.6rem); font-weight:900; margin:0 0 10px; }
.about-text{ font-size:1.05rem; line-height:1.6; }

/* Redes */
.social-buttons{ display:flex; gap:10px; flex-wrap:wrap; }
.btn-social{
  display:inline-flex; align-items:center; gap:10px;
  padding:12px 16px; border-radius:999px; text-decoration:none; font-weight:800;
  border:1px solid #111; transition:transform .05s ease, filter .12s ease;
}
.btn-social .ico{ width:20px; height:20px; fill:currentColor; }
.btn-social.fb{ background:#1877f2; border-color:#1877f2; color:#fff; }
.btn-social.ig{ background:#111; color:#fff; }
.btn-social:hover{ filter:brightness(1.06); }
.btn-social:active{ transform:translateY(1px); }

/* Auspiciantes (similar a equipos) */
.about-sponsors-head{ display:flex; align-items:end; justify-content:space-between; gap:10px; margin-bottom:8px; }
.sponsors-grid{
  list-style:none; padding:0; margin:0;
  display:grid; grid-template-columns: repeat(auto-fill, minmax(160px,1fr)); gap:12px;
}
.sponsor-card{
  background:#fff; border:1px solid #eee; border-radius:14px; padding:12px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  transition:box-shadow .15s ease, transform .05s ease;
}
.sponsor-card:hover{ box-shadow:0 10px 28px rgba(0,0,0,.08); transform:translateY(-1px); }
.sponsor-logo{
  width:100%; max-width:160px; height:90px; object-fit:contain; display:block;
  filter: grayscale(15%); transition:filter .2s ease;
}
.sponsor-card:hover .sponsor-logo{ filter:none; }
.sponsor-name{ font-weight:700; font-size:.95rem; text-align:center; color:#111; }
.muted{ color:#6b7280; }

/* Mobile tweaks */
@media (max-width:640px){
  .about-card{ border-radius:12px; padding:12px; }
  .sponsor-logo{ height:72px; }
}

/* Muro 16 */
.muro16-head { margin: 12px 0 10px; }
.muro16-sub { color:#6b7280; margin:4px 0 0; }

/* Widget Muro 16 */
.muro16-widget{ background:#fff; border:1px solid #eee; border-radius:14px; padding:12px; box-shadow:0 6px 22px rgba(0,0,0,.06); }
.muro16-mini-list{ list-style:none; margin:0 0 10px; padding:0; display:grid; gap:10px; }
.muro16-mini-item{}
.muro16-mini-link{ display:flex; gap:10px; text-decoration:none; color:inherit; }
.muro16-mini-avatar{ width:40px; height:40px; border-radius:50%; object-fit:cover; border:1px solid #eee; }
.muro16-mini-body{ flex:1; min-width:0; }
.muro16-mini-head{ display:flex; gap:8px; align-items:center; }
.muro16-mini-time{ color:#6b7280; font-size:.9rem; }
.muro16-mini-text{ color:#111; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.muro16-mini-empty{ color:#6b7280; }
.muro16-cta .btn{ display:inline-block; padding:10px 14px; border-radius:999px; font-weight:800; border:1px solid #111; background:#111; color:#fff; text-decoration:none;}
.muro16-cta .btn:hover{ filter:brightness(1.06); }
.muro16-title{text-align: center;}
.muro16-cta{text-align: center;}

/* ===========================
   Muro (comentarios en muro)
   =========================== */
/* ===== MURO (16 de noviembre) limpio + reacciones ===== */
.single-team .comments-area { margin-top: 18px; display: grid; gap: 14px; }

/* El contenedor de WP suele ser <ol class="comment-list">, nos aseguramos de quitar numeración */
.single-team :where(ol.comment-list, .comment-list){ list-style: none; padding-left: 0; margin: 0; }
.single-team .comment-list li { list-style: none; }
.single-team .comment-list li::marker { content: ""; }

/* Form minimal */
.single-team .comment-respond {
  background:#fff; border:1px solid #eee; border-radius:14px; padding:12px;
  box-shadow:0 6px 22px rgba(0,0,0,.06);
}
.single-team .comment-respond p { margin:0; }
.single-team .comment-respond textarea {
  width:100%; min-height:110px; resize:vertical;
  border:1px solid #ddd; border-radius:10px; padding:10px 12px; font-size:1rem; background:#fff;
}
.single-team .comment-respond textarea:focus {
  outline:none; border-color:#111; box-shadow:0 0 0 3px rgba(17,17,17,.08);
}
.single-team .comment-respond .form-submit { margin-top:10px; }
.single-team .comment-respond .comment-submit.btn {
  appearance:none; padding:10px 14px; border-radius:999px; font-weight:800;
  border:1px solid #111; background:#111; color:#fff; cursor:pointer;
  transition:transform .04s ease, box-shadow .12s ease, filter .12s ease;
}
.single-team .comment-respond .comment-submit.btn:hover { filter:brightness(1.06); }
.single-team .comment-respond .comment-submit.btn:active { transform:translateY(1px); }

/* Lista */
.single-team .comment-list { display:grid; gap:10px; }
.single-team .comment-body {
  position:relative; background:#fff; border:1px solid #eee; border-radius:14px; padding:12px 14px;
  box-shadow:0 6px 22px rgba(0,0,0,.06);
}
.single-team .comment-body::before {
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:
    radial-gradient(120% 120% at 0% 0%,  color-mix(in srgb, var(--c1, #0ea5e9) 12%, transparent) 0%, transparent 60%),
    radial-gradient(120% 120% at 100% 100%, color-mix(in srgb, var(--c2, #ef4444) 12%, transparent) 0%, transparent 60%);
}

/* Header */
.single-team .comment-header { display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.single-team .cmt-media { display:inline-flex; align-items:center; gap:6px; }
.single-team .cmt-avatar { width:40px; height:40px; border-radius:50%; object-fit:cover; border:1px solid #eee; }
.single-team .cmt-crest  { width:22px; height:22px; border-radius:50%; object-fit:cover; border:2px solid #fff; box-shadow:0 1px 3px rgba(0,0,0,.1); }
.single-team .cmt-author { font-weight:800; }
.single-team .cmt-date { margin-left:auto; font-size:.85rem; color:#6b7280; } /* sin link */

.audit-user .cmt-crest  { width:22px; height:22px; border-radius:50%; object-fit:cover; border:2px solid #fff; box-shadow:0 1px 3px rgba(0,0,0,.1); }

/* Texto */
.single-team .comment-content { color:#111; line-height:1.5; }

/* Reacciones + reply */
.single-team .comment-actions {
  display:flex; align-items:center; gap:8px; margin-top:8px; flex-wrap:wrap;
}
.single-team .cmt-react {
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 10px; border-radius:999px; border:1px solid #ddd;
  background:#fff; color:#111; cursor:pointer; font-weight:700;
  transition:background .12s ease, border-color .12s ease, transform .04s ease;
}
.single-team .cmt-react .count { font-weight:800; }
.single-team .cmt-react:hover { background:#f5f5f5; }
.single-team .cmt-react.is-on { background:#111; color:#fff; border-color:#111; }
.single-team .cmt-react:disabled { opacity:.6; cursor:not-allowed; }

.single-team .cmt-reply a {
  display:inline-flex; align-items:center; justify-content:center;
  padding:6px 10px; border-radius:999px; border:1px solid #ddd; background:#fff; color:#111;
  font-weight:700; text-decoration:none; transition:background .12s ease, border-color .12s ease, transform .04s ease;
}
.single-team .cmt-reply a:hover { background:#f5f5f5; }
.single-team .cmt-reply a:active { transform:translateY(1px); }

/* Anidados */
.single-team .children { list-style:none; margin:8px 0 0 16px; padding:0; display:grid; gap:8px; border-left:2px solid #eee; }
.single-team .children li::marker { content:""; }

/* Moderación (por si aplica) */
.single-team .comment-awaiting-moderation {
  background:#ECFDF5; border:1px solid #A7F3D0; color:#065F46;
  padding:8px 10px; border-radius:8px; display:inline-block; margin-top:6px;
}

/* Mobile */
@media (max-width:640px){
  .single-team .comment-respond { padding:10px; border-radius:12px; }
  .single-team .cmt-avatar { width:34px; height:34px; }
  .single-team .cmt-crest  { width:20px; height:20px; }
  .single-team .comment-body { padding:10px 12px; border-radius:12px; }
  .single-team .children { margin-left:12px; }
}

/* Torneos */
.tp-head { margin:12px 0 10px; }
.tp-sub  { color:#6b7280; }

.tournaments-grid{
  list-style:none; padding:0; margin:0;
  display:grid; gap:12px;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}

.tournament-card{
  background:#fff; border:1px solid #eee; border-radius:14px; overflow:hidden;
  box-shadow:0 6px 22px rgba(0,0,0,.06); transition:transform .05s ease, box-shadow .15s ease;
}
.tournament-card:hover{ transform:translateY(-2px); box-shadow:0 12px 30px rgba(0,0,0,.08); }

.tournament-link{ display:flex; flex-direction:column; text-decoration:none; color:inherit; height:100%; }
.tournament-media{ width:100%; height:140px; background:#f5f5f5; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.tournament-thumb{ width:100%; height:100%; object-fit:cover; display:block; }

.tournament-body{ padding:12px; display:grid; gap:6px; }
.tournament-title{ font-size:1.05rem; font-weight:900; margin:0; }
.tournament-meta { color:#6b7280; font-size:.95rem; }
.tournament-tags { display:flex; gap:6px; flex-wrap:wrap; }
.ttag{
  display:inline-block; padding:3px 8px; border:1px solid #ddd; border-radius:999px;
  background:#fff; font-weight:700; font-size:.8rem; color:#111;
}

@media (max-width:640px){
  .tournament-media{ height:120px; }
}

/* Cabeceras por temporada */
.season-block { margin: 18px 0 22px; }
.season-heading{
  font-size: clamp(1.1rem, 1.6vw, 1.4rem);
  font-weight: 900;
  margin: 0 0 10px;
  padding: 6px 0;
  border-bottom: 1px solid #eee;
  color:#111;
}

.back-to-tournament { margin: 8px 0 14px; }
.back-to-tournament .btn {
  display:inline-block; padding:10px 14px; border-radius:999px; font-weight:800; text-decoration:none;
  border:1px solid #111; color:#111; background:#fff; transition:filter .12s ease, transform .04s ease;
}
.back-to-tournament .btn:hover { filter:brightness(1.05); }
.back-to-tournament .btn:active { transform:translateY(1px); }
