/* ============================================
   SIDGAD LIGA VIEW STYLES
   ============================================ */

/* Vista de Liga Container */
#sidgad-vista-liga {
  width: 100%;
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, rgba(24, 93, 153, 0.08), transparent 32%),
    radial-gradient(circle at top right, rgba(90, 160, 224, 0.08), transparent 28%),
    var(--sidgad-bg-body);
  position: relative;
  border-top: 4px solid var(--sidgad-color-primario);
  width: 100%;
}

#sidgad-vista-liga.sidgad-activo {
  display: block;
}

/* Liga Header */
#sidgad-liga-header {
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  margin-bottom: 20px;
}

/* Header Top Section */
.sidgad-liga-header-top {
  background: linear-gradient(135deg, var(--sidgad-color-primario) 0%, var(--sidgad-color-secundario) 100%);
  color: var(--sidgad-color-text-secondary);
  padding: 25px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
}

.sidgad-liga-header-top #sidgad-liga-title::before {
  content: '';
  display: block;
  width: 6px;
  height: 26px;
  background-color: #fff;
  margin-right: 12px;
  border-radius: 3px;
}

.sidgad-liga-header-top #sidgad-liga-title {
  margin: 0;
  font-family: var(--sidgad-fuente-titulos);
  font-size: 22px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: flex;
  align-items: center;
}

.sidgad-liga-header-top #sidgad-liga-title span {
  font-size: 16px;
  font-weight: 400;
  opacity: 0.9;
  margin-left: 5px;
}

#sidgad-liga-volver {
  background: rgba(255, 255, 255, 0.2);
  color: var(--sidgad-color-text-secondary);
  border: 2px solid var(--sidgad-color-text-secondary);
  padding: 8px 16px;
  border-radius: 6px;
  font-family: var(--sidgad-fuente-titulos);
  font-weight: 700;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

#sidgad-liga-volver:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: translateY(-2px);

}

#sidgad-liga-volver:active {
  transform: translateY(0);
}

/* Header Content Section */
.sidgad-liga-header-content {
  padding: 25px 20px;
  display: flex;
  align-items: flex-start;
  gap: 20px;
}

/* Liga Logo */
#sidgad-liga-header-logo {
  width: 100px;
  height: 100px;
  object-fit: contain;
  flex-shrink: 0;
}

/* Header Main Content */
.sidgad-liga-header-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Header Buttons Container */
.sidgad-liga-header-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.sidgad-liga-header-btns-top,
.sidgad-liga-header-btns-bottom {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  width: 100%;
  overflow-x: auto;
  scrollbar-width: thin;
}

/* Cada fila de botones va en su línea, con ancho máximo fijo */
.sidgad-liga-header-btns-top .sidgad-liga-header-btn,
.sidgad-liga-header-btns-bottom .sidgad-liga-header-btn {
  flex: 0 1 auto;
  max-width: 200px;
  min-width: 0;
  justify-content: center;
  white-space: nowrap;
}

.sidgad-liga-header-btn span {
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidgad-liga-header-btns-top[hidden],
.sidgad-liga-header-btns-bottom[hidden] {
  display: none;
}

.sidgad-liga-header-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: #f0f0f0;
  color: #555;
  border: 1px solid #ddd;
  padding: 6px 10px;
  border-radius: 6px;
  font-family: var(--sidgad-fuente-titulos);
  font-weight: 700;
  font-size: 11px;
  cursor: pointer;
  transition: all 0.15s ease;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  box-shadow: none;
}

.sidgad-liga-header-btn i {
  font-size: 0.9em;
}

.sidgad-liga-header-btn:hover {
  background: #e6e6e6;
  border-color: #ccc;
}

.sidgad-liga-header-btn:active {
  background: #dadada;
}

.sidgad-liga-header-btn.sidgad-activo {
  background: var(--sidgad-color-primario);
  color: #fff;
  border-color: var(--sidgad-color-primario);
}

.sidgad-liga-header-btn.sidgad-activo:hover {
  background: var(--sidgad-color-primario);
  border-color: var(--sidgad-color-primario);
  opacity: 0.9;
}

.sidgad-liga-header-btn:focus-visible {
  outline: 2px solid rgba(0, 0, 0, 0.45);
  outline-offset: 2px;
}

/* Team Selector */
.sidgad-liga-team-selector {
  display: flex;
  flex-wrap: nowrap;
  gap: 5px;
  align-items: flex-end;
  justify-content: flex-start;
  overflow-x: auto;
  scrollbar-width: thin;
}

.sidgad-team-selector-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  background: #f5f5f5;
  border: 2px solid #ddd;
  border-bottom: 4px solid #ddd;
  border-radius: 6px;
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
  padding: 5px;
  cursor: pointer;
  transition: all 0.15s ease;
  font-family: var(--sidgad-fuente-texto);
  flex: 0 1 64px;
  min-width: 48px;
  max-width: 64px;
  text-align: center;
}

.sidgad-team-selector-item:hover {
  background: #fff;
  border-color: #ccc;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

.sidgad-team-selector-item.sidgad-activo {
  background: #e3f2fd;
  border-color: var(--sidgad-color-primario);
  font-weight: 700;
  box-shadow: 0 2px 6px rgba(24, 93, 153, 0.1);
}

.sidgad-liga-team-selector.has-selection .sidgad-team-selector-item.sidgad-activo:hover {
  opacity: 1;
}

.sidgad-team-selector-item:focus {
  outline: none;
}

.sidgad-team-selector-logo {
  width: 32px;
  height: 32px;
  object-fit: contain;
  flex-shrink: 0;
}

.sidgad-team-selector-name {
  font-size: 10px;
  font-weight: 700;
  color: #333;
  text-transform: uppercase;
  text-align: center;
  letter-spacing: 0.3px;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.1;
}

/* Main Content / Calendar */
#sidgad-liga-main-content {
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  width: 100%;
  min-width: fit-content;
}

#sidgad-liga-main {
  width: 100%;
  overflow-y: auto;
}


#sidgad-liga-main-content>*+* {
  margin-top: 16px;
}

.sidgad-empty-state {
  padding: 28px 20px;
  text-align: center;
  color: #5e6a72;
  font-family: var(--sidgad-fuente-texto);
  font-weight: 600;
}

.sidgad-calendario-table {
  width: 100%;
  border-collapse: collapse;
  background: transparent;
  table-layout: fixed;
}

.sidgad-calendario-table tbody tr+tr {
  border-top: 1px solid #f0f0f0;
}


.sidgad-calendario-fase {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin: 28px 0 12px;
  padding: 12px 16px;
  background: linear-gradient(to right, var(--sidgad-color-secundario), var(--sidgad-color-primario));
  color: var(--sidgad-color-text-secondary);
  font-family: var(--sidgad-fuente-titulos);
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-align: left;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* Barra de acento, como el título de la página */
.sidgad-calendario-fase::before {
  content: '';
  flex: 0 0 4px;
  height: 18px;
  border-radius: 2px;
  background: var(--sidgad-color-text-secondary);
  opacity: 0.85;
}

.sidgad-calendario-fase:first-child {
  margin-top: 4px;
}

.sidgad-calendario-jornada {
  background: var(--sidgad-color-light);
  color: var(--sidgad-color-secundario);
  font-family: var(--sidgad-fuente-titulos);
  font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

.sidgad-calendario-jornada td {
  padding: 8px 12px;
  font-size: 11px;
}

.sidgad-calendario-anotacion {
  background: transparent;
  color: #999;
  font-family: var(--sidgad-fuente-titulos);
  font-weight: 500;
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.2px;
}

.sidgad-calendario-anotacion td {
  text-align: end;
  padding: 4px 12px;
  font-size: 9px;
}

/* Bonus y Resultado badges */
.sidgad-calendario-partido .sidgad-col-bonus,
.sidgad-calendario-partido .sidgad-col-resultado {
  text-align: center;
  color: #999;
}

.sidgad-bonus-badge {
  display: inline-block;
  font-weight: 600;
  letter-spacing: 0.3px;
}

.sidgad-resultado-badge {
  display: inline-block;
  background: var(--sidgad-color-light);
  color: var(--sidgad-color-primario);
  padding: 2px 5px;
  border-radius: 3px;
  font-weight: 700;
}

.sidgad-calendario-partido td {
  padding: 7px 8px;
  font-size: 12px;
  color: #333;
  vertical-align: middle;
}

.sidgad-calendario-table col.sidgad-col-dia {
  width: 90px;
}

.sidgad-calendario-table col.sidgad-col-hora {
  width: 60px;
}

.sidgad-calendario-table col.sidgad-col-pista {
  width: 150px;
}

.sidgad-calendario-table col.sidgad-col-equipo {
  min-width: 200px;
}


.sidgad-calendario-partido .sidgad-col-dia,
.sidgad-calendario-partido .sidgad-col-hora,
.sidgad-calendario-partido .sidgad-col-bonus,
.sidgad-calendario-partido .sidgad-col-resultado,
.sidgad-calendario-partido .sidgad-col-accion {
  text-align: center;
}

.sidgad-calendario-table col.sidgad-col-logo {
  width: 45px;
}

.sidgad-calendario-table col.sidgad-col-bonus {
  width: 40px;
}

.sidgad-calendario-table col.sidgad-col-resultado {
  width: 60px;
}

.sidgad-calendario-table col.sidgad-col-accion {
  width: 40px;
}

.sidgad-calendario-partido .sidgad-col-logo {
  padding-left: 2px;
  padding-right: 2px;
}

.sidgad-calendario-partido .sidgad-col-equipo {
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidgad-calendario-logo {
  width: 22px;
  height: 22px;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

.sidgad-calendario-action-btn {
  width: 20px;
  height: 20px;
  border: none;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: opacity 0.15s ease, color 0.15s ease;
  background: transparent;
  color: #999;
}

.sidgad-calendario-action-btn i {
  font-size: 10px;
}

.sidgad-calendario-action-btn:hover {
  color: #555;
}

.sidgad-calendario-action-btn:active {
  opacity: 0.8;
}


.sidgad-calendario-action-details,
.sidgad-calendario-action-video {
  color: black;
}

.sidgad-calendario-action-details:hover,
.sidgad-calendario-action-video:hover {
  opacity: 0.9;
}

/* ============================================
   RESPONSIVE DESIGN
   ============================================ */

@media (max-width: 768px) {

  .sidgad-liga-header-top {
    padding: 18px;
    gap: 10px;
  }

  .sidgad-liga-header-top #sidgad-liga-title {
    font-size: 18px;
    letter-spacing: 0.5px;
    line-height: 1.2;
    flex-wrap: wrap;
  }

  .sidgad-liga-header-top #sidgad-liga-title::before {
    height: 20px;
  }

  .sidgad-liga-header-top #sidgad-liga-title span {
    font-size: 13px;
  }

  #sidgad-liga-volver {
    width: 100%;
  }

  .sidgad-liga-header-content {
    flex-direction: column;
    align-items: stretch;
    text-align: left;
  }

  #sidgad-liga-header-logo {
    width: 80px;
    height: 80px;
  }

  .sidgad-liga-header-main {
    width: 100%;
    gap: 12px;
  }

  .sidgad-liga-header-btns {
    justify-content: flex-start;
    gap: 10px;
  }

  .sidgad-liga-header-btns-top,
  .sidgad-liga-header-btns-bottom {
    justify-content: flex-start;
    gap: 8px;
  }

  .sidgad-liga-team-selector {
    justify-content: flex-start;
  }

  .sidgad-team-selector-item {
    min-width: 60px;
  }

  .sidgad-calendario-table {
    min-width: 760px;
  }

  .sidgad-calendario-partido td,
  .sidgad-calendario-jornada td,
  .sidgad-calendario-anotacion td {
    padding: 2px 4px;
    font-size: 11px;
  }

  .sidgad-calendario-logo {
    width: 20px;
    height: 20px;
  }

  .sidgad-calendario-action-btn {
    width: 20px;
    height: 20px;
  }

  .sidgad-calendario-action-btn i {
    font-size: 10px;
  }

  .sidgad-resultado-badge {
    padding: 2px 4px;
    font-size: 9px;
  }
}

@media (max-width: 480px) {
  #sidgad-vista-liga {
    min-height: auto;
  }

  .sidgad-liga-header-top {
    padding: 15px;
  }

  .sidgad-liga-header-top #sidgad-liga-title {
    font-size: 16px;
    gap: 6px;
    letter-spacing: 0.3px;
  }

  .sidgad-liga-header-top #sidgad-liga-title::before {
    width: 4px;
    height: 16px;
    margin-right: 8px;
  }

  .sidgad-liga-header-top #sidgad-liga-title span {
    font-size: 12px;
    margin-left: 0;
  }

  #sidgad-liga-volver {
    padding: 6px 12px;
    font-size: 11px;
  }

  .sidgad-liga-header-content {
    padding: 12px 10px 14px;
    gap: 12px;
  }

  #sidgad-liga-header-logo {
    width: 56px;
    height: 56px;
    align-self: center;
  }

  .sidgad-liga-header-btns {
    gap: 8px;
  }

  .sidgad-liga-header-btns-top,
  .sidgad-liga-header-btns-bottom {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: stretch;
    gap: 8px;
    width: 100%;
    overflow: visible;
    padding-bottom: 0;
  }

  .sidgad-liga-header-btn {
    width: 100%;
    justify-content: center;
    white-space: nowrap;
    padding: 7px 8px;
    font-size: 10px;
    gap: 5px;
  }

  .sidgad-liga-header-btn i {
    font-size: 10px;
  }

  .sidgad-liga-team-selector {
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
  }

  .sidgad-team-selector-item {
    flex: 0 0 72px;
    padding: 6px 5px;
    min-width: 0;
  }

  .sidgad-team-selector-logo {
    width: 26px;
    height: 26px;
  }

  .sidgad-team-selector-name {
    font-size: 9px;
  }

  #sidgad-liga-main-content {
    border-radius: 14px;
    overflow-x: auto;
    width: 100%;
    min-width: fit-content;
    -webkit-overflow-scrolling: touch;
  }

  #sidgad-liga-main-content h2 {
    padding: 12px 10px 7px;
    font-size: 14px;
  }

  .sidgad-calendario-table {
    min-width: 680px;
  }

  .sidgad-calendario-partido td,
  .sidgad-calendario-jornada td,
  .sidgad-calendario-anotacion td {
    padding: 6px 5px;
    font-size: 10px;
  }

  .sidgad-calendario-logo {
    width: 18px;
    height: 18px;
  }

  .sidgad-calendario-action-btn {
    width: 18px;
    height: 18px;
  }

  .sidgad-calendario-action-btn i {
    font-size: 9px;
  }

  .sidgad-resultado-badge {
    padding: 1px 4px;
    font-size: 9px;
  }
}

/* ============================================
   ANIMATIONS
   ============================================ */

@keyframes slideInLiga {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes slideOutLiga {
  from {
    opacity: 1;
    transform: translateY(0);
  }

  to {
    opacity: 0;
    transform: translateY(20px);
  }
}

/* Estado oculto por defecto */
.sidgad-liga-hidden {
  display: none;
  opacity: 0;
}

/* Animación de entrada */
#sidgad-vista-liga.sidgad-liga-showing {
  display: block;
  animation: slideInLiga 0.3s ease-out forwards;
}

/* Animación de salida */
#sidgad-vista-liga.sidgad-liga-hiding {
  animation: slideOutLiga 0.3s ease-in forwards;
}

.sidgad-hide {
  display: none !important;
}
/* ===== Clasificaciones ===== */

.sidgad-clasif-bloque {
  margin-bottom: 8px;
}

/* En el calendario la clasificación de una fase va más discreta que la banda de la fase */
.sidgad-calendario-fase.sidgad-clasif-titulo {
  background: var(--sidgad-color-secundario);
  font-size: 14px;
}

.sidgad-clasif-wrap {
  overflow-x: auto;
  margin-bottom: 14px;
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  background: #fff;
}

.sidgad-clasif-tabla {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}

.sidgad-clasif-tabla th {
  background: #f2f3f5;
  color: #555;
  font-family: var(--sidgad-fuente-titulos);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 7px 6px;
  text-align: center;
  white-space: nowrap;
}

.sidgad-clasif-tabla th.sidgad-clasif-grupo {
  text-align: left;
  color: var(--sidgad-color-secundario);
  font-size: 12px;
  letter-spacing: 0.4px;
  padding-left: 12px;
}

.sidgad-clasif-tabla td {
  padding: 6px;
  text-align: center;
  border-top: 1px solid #f0f0f0;
  white-space: nowrap;
}

.sidgad-clasif-tabla tbody tr:hover td {
  background: #fafbfc;
}

.sidgad-clasif-pos {
  width: 34px;
  font-weight: 700;
  color: #777;
}

.sidgad-clasif-equipo {
  text-align: left !important;
  width: 100%;
}

.sidgad-clasif-equipo img {
  width: 22px;
  height: 22px;
  object-fit: contain;
  vertical-align: middle;
  margin-right: 8px;
}

.sidgad-clasif-nombre {
  font-weight: 600;
  text-transform: uppercase;
  font-size: 12px;
}

.sidgad-clasif-corto {
  display: none;
  font-weight: 700;
  font-size: 12px;
}

.sidgad-clasif-tabla th.sidgad-clasif-pts {
  background: var(--sidgad-color-primario);
  color: #fff;
}

.sidgad-clasif-tabla td.sidgad-clasif-pts {
  background: var(--sidgad-color-light);
  color: var(--sidgad-color-secundario);
  font-weight: 800;
  font-size: 14px;
}

.sidgad-clasif-tabla tr.sidgad-destacado td {
  background: #fff6db;
}

.sidgad-clasif-tabla tr.sidgad-destacado td.sidgad-clasif-pts {
  background: #ffe9a8;
}

@media (max-width: 640px) {
  .sidgad-clasif-nombre { display: none; }
  .sidgad-clasif-corto { display: inline; }

  .sidgad-clasif-tabla td,
  .sidgad-clasif-tabla th { padding: 6px 5px; }

  /* Posición y equipo fijos al desplazar la tabla */
  .sidgad-clasif-pos,
  .sidgad-clasif-equipo,
  .sidgad-clasif-tabla th.sidgad-clasif-grupo {
    position: sticky;
    background: #fff;
    z-index: 1;
  }
  .sidgad-clasif-pos { left: 0; }
  .sidgad-clasif-equipo { left: 34px; width: auto; min-width: 84px; box-shadow: 1px 0 0 #eee; }
  .sidgad-clasif-tabla th.sidgad-clasif-grupo { left: 0; background: #f2f3f5; }
}

/* ===== Estadísticas (tabla ordenable) ===== */

.sidgad-stats {
  padding: 16px;
}


.sidgad-stats-barra {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}

.sidgad-stats-titulo {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-family: var(--sidgad-fuente-titulos);
  font-size: 16px;
  text-transform: uppercase;
  color: var(--sidgad-color-secundario);
}

.sidgad-stats-titulo::before {
  content: '';
  width: 5px;
  height: 20px;
  border-radius: 3px;
  background: var(--sidgad-color-primario);
}

.sidgad-stats-min {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: #777;
}

.sidgad-stats-min select {
  padding: 6px 10px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
  font-family: var(--sidgad-fuente-titulos);
  font-size: 12px;
  font-weight: 700;
  color: #333;
}

.sidgad-stats-wrap {
  overflow-x: auto;
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  background: #fff;
}

.sidgad-stats-tabla {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}

.sidgad-stats-tabla th {
  background: #f2f3f5;
  color: #555;
  font-family: var(--sidgad-fuente-titulos);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 0;
  text-align: center;
  white-space: nowrap;
}

.sidgad-stats-tabla th.sidgad-stats-rk,
.sidgad-stats-tabla th.sidgad-stats-jugador,
.sidgad-stats-tabla th.sidgad-stats-equipo {
  padding: 8px 6px;
  text-align: left;
}

.sidgad-stats-tabla th button {
  width: 100%;
  padding: 8px 6px;
  border: none;
  background: none;
  font: inherit;
  color: inherit;
  text-transform: inherit;
  cursor: pointer;
  white-space: nowrap;
}

.sidgad-stats-tabla th button:hover {
  color: var(--sidgad-color-primario);
}

.sidgad-stats-tabla th button span {
  margin-left: 2px;
}

.sidgad-stats-tabla th.sidgad-stats-activa {
  background: var(--sidgad-color-primario);
  color: #fff;
}

.sidgad-stats-tabla th.sidgad-stats-activa button:hover {
  color: #fff;
}

.sidgad-stats-tabla td {
  padding: 6px;
  text-align: center;
  border-top: 1px solid #f0f0f0;
  white-space: nowrap;
}

.sidgad-stats-tabla td.sidgad-stats-activa {
  background: var(--sidgad-color-light);
  color: var(--sidgad-color-secundario);
  font-weight: 800;
}

.sidgad-stats-tabla tbody tr:hover td {
  background: #fafbfc;
}

.sidgad-stats-tabla tbody tr:hover td.sidgad-stats-activa {
  background: var(--sidgad-color-light);
}

td.sidgad-stats-rk {
  width: 34px;
  color: #777;
  font-weight: 700;
  text-align: left;
}

td.sidgad-stats-jugador {
  text-align: left;
  width: 100%;
}

.sidgad-stats-jugador .sidgad-player-link {
  color: #222;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 12px;
}

.sidgad-stats-jugador .sidgad-player-link:hover {
  color: var(--sidgad-color-primario);
}

.sidgad-stats-bandera {
  width: 16px;
  margin-right: 6px;
  vertical-align: -1px;
}

td.sidgad-stats-equipo {
  text-align: left;
  font-size: 11px;
  font-weight: 700;
  color: #555;
}

td.sidgad-stats-equipo img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  vertical-align: middle;
  margin-right: 6px;
}

.sidgad-stats-vacio {
  padding: 20px !important;
  color: #777;
}

.sidgad-stats-nota {
  margin: 8px 2px 0;
  font-size: 11px;
  color: #888;
}

@media (max-width: 640px) {
  .sidgad-stats { padding: 12px 10px; }

  .sidgad-stats-tabla td,
  .sidgad-stats-tabla th button { padding: 6px 5px; }
  td.sidgad-stats-equipo span { display: none; }

  /* RK y jugador fijos al desplazar */
  .sidgad-stats-rk,
  .sidgad-stats-jugador {
    position: sticky;
    background: #fff;
    z-index: 1;
  }
  .sidgad-stats-rk { left: 0; }
  .sidgad-stats-jugador { left: 34px; width: auto; min-width: 150px; max-width: 170px; overflow: hidden; text-overflow: ellipsis; box-shadow: 1px 0 0 #eee; }
  .sidgad-stats-tabla th.sidgad-stats-rk,
  .sidgad-stats-tabla th.sidgad-stats-jugador { background: #f2f3f5; z-index: 2; }
}

/* Clasificaciones y estadísticas se desplazan dentro de su tabla, no con todo el contenido
   (el calendario sí estira el contenedor para desplazarse entero). */
#sidgad-liga-main-content[data-vista="portada"],
#sidgad-liga-main-content[data-vista="plantillas"],
#sidgad-liga-main-content[data-vista="clasificaciones"],
#sidgad-liga-main-content[data-vista="estadisticas"],
#sidgad-liga-main-content[data-vista="porteros"] {
  min-width: 0;
}

#sidgad-liga-main-content .sidgad-stats-titulo {
  padding: 0;
}

/* Filtros rápidos de estadísticas */
.sidgad-stats-rapidos {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding-bottom: 2px;
  margin-bottom: 12px;
  scrollbar-width: none;
}

.sidgad-stats-rapidos button {
  flex: 0 0 auto;
  padding: 7px 14px;
  border: 1px solid #ddd;
  border-radius: 999px;
  background: #fff;
  font-family: var(--sidgad-fuente-titulos);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  color: #555;
  cursor: pointer;
  white-space: nowrap;
}

.sidgad-stats-rapidos button:hover {
  border-color: var(--sidgad-color-primario);
  color: var(--sidgad-color-primario);
}

.sidgad-stats-rapidos button.sidgad-activo {
  background: var(--sidgad-color-primario);
  border-color: var(--sidgad-color-primario);
  color: #fff;
}

/* Más aire en las filas de clasificación y estadísticas */
.sidgad-clasif-tabla,
.sidgad-stats-tabla {
  font-size: 14px;
}

.sidgad-clasif-tabla td,
.sidgad-stats-tabla td {
  padding: 10px 8px;
}

.sidgad-clasif-tabla th,
.sidgad-stats-tabla th.sidgad-stats-rk,
.sidgad-stats-tabla th.sidgad-stats-jugador,
.sidgad-stats-tabla th.sidgad-stats-equipo,
.sidgad-stats-tabla th button {
  padding: 10px 8px;
}

.sidgad-clasif-equipo img,
td.sidgad-stats-equipo img {
  width: 26px;
  height: 26px;
}

.sidgad-clasif-nombre,
.sidgad-stats-jugador .sidgad-player-link {
  font-size: 13px;
}

.sidgad-clasif-tabla td.sidgad-clasif-pts {
  font-size: 15px;
}

@media (max-width: 640px) {
  .sidgad-clasif-tabla,
  .sidgad-stats-tabla { font-size: 13px; }

  .sidgad-clasif-tabla td,
  .sidgad-stats-tabla td,
  .sidgad-clasif-tabla th,
  .sidgad-stats-tabla th button { padding: 9px 6px; }

  .sidgad-clasif-equipo img,
  td.sidgad-stats-equipo img { width: 22px; height: 22px; }
}

/* Primera columna fija de ancho exacto para que la segunda columna fija no se le monte */
.sidgad-clasif-pos,
.sidgad-stats-rk {
  box-sizing: border-box;
  width: 40px !important;
  min-width: 40px;
}

@media (max-width: 640px) {
  .sidgad-clasif-equipo { left: 40px; }
  .sidgad-stats-jugador { left: 40px; }
}

/* ===== Portada de la liga ===== */

.sidgad-portada {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.sidgad-portada-fila.sidgad-portada-dos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

#sidgad-liga-main-content .sidgad-portada-titulo {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 10px;
  padding: 0;
  font-family: var(--sidgad-fuente-titulos);
  font-size: 16px;
  text-transform: uppercase;
  color: var(--sidgad-color-secundario);
}

.sidgad-portada-titulo::before {
  content: '';
  width: 5px;
  height: 20px;
  border-radius: 3px;
  background: var(--sidgad-color-primario);
}

.sidgad-portada-partidos {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.sidgad-portada-partido {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) 54px minmax(0, 1fr) 52px;
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  border-top: 1px solid #f0f0f0;
  font-size: 13px;
}

.sidgad-portada-partido:first-child {
  border-top: none;
}

.sidgad-portada-fecha {
  min-width: 0;
  font-size: 13px;
  font-weight: 700;
  color: #444;
  line-height: 1.2;
}

.sidgad-portada-fecha small {
  display: block;
  font-weight: 400;
  font-size: 10px;
  color: #888;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidgad-portada-equipo {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 12px;
}

.sidgad-portada-equipo span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidgad-portada-corto {
  display: none;
}

.sidgad-portada-local {
  flex-direction: row-reverse;
  text-align: right;
}

.sidgad-portada-equipo img {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  object-fit: contain;
}

.sidgad-portada-marcador {
  justify-self: center;
  min-width: 48px;
  padding: 4px 6px;
  border-radius: 6px;
  background: var(--sidgad-color-primario);
  color: #fff;
  font-family: var(--sidgad-fuente-titulos);
  font-weight: 700;
  font-size: 14px;
  text-align: center;
}

.sidgad-portada-marcador.sidgad-portada-vs {
  background: #f2f3f5;
  color: #777;
  font-size: 12px;
}

.sidgad-portada-acciones {
  display: flex;
  justify-content: flex-end;
  gap: 4px;
}

.sidgad-portada-accion {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 6px;
  background: none;
  color: var(--sidgad-color-primario);
  cursor: pointer;
  text-decoration: none;
}

.sidgad-portada-accion:hover {
  background: var(--sidgad-color-light);
}

/* Líderes */
.sidgad-lideres {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 14px;
}

.sidgad-lider {
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.sidgad-lider-cabecera {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  background: var(--sidgad-color-secundario);
  color: #fff;
}

.sidgad-lider-cabecera h3 {
  margin: 0;
  font-family: var(--sidgad-fuente-titulos);
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

.sidgad-lider-ver {
  color: #fff;
  opacity: 0.85;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
}

.sidgad-lider-ver:hover {
  opacity: 1;
  text-decoration: underline;
}

.sidgad-lider-primero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 16px 16px 16px 18px;
  background: linear-gradient(135deg, var(--sidgad-color-secundario) 0%, var(--sidgad-color-primario) 100%);
  color: #fff;
}

/* Escudo del equipo, grande y difuminado, como marca de agua */
.sidgad-lider-marca {
  position: absolute;
  right: -18px;
  top: 50%;
  width: 150px;
  height: 150px;
  object-fit: contain;
  transform: translateY(-50%) rotate(-12deg);
  opacity: 0.14;
  filter: grayscale(1) brightness(2.2);
  pointer-events: none;
}

.sidgad-lider-foto-wrap {
  position: relative;
  z-index: 1;
  display: block;
  width: 84px;
  height: 104px;
}

.sidgad-lider-foto {
  width: 84px;
  height: 104px;
  border-radius: 10px;
  border: 3px solid #fff;
  object-fit: cover;
  object-position: center top;
  background: #eee;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
}

/* Insignia dorada del primero */
.sidgad-lider-pos {
  position: absolute;
  top: -8px;
  left: -8px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 2px solid #fff;
  background: linear-gradient(135deg, #ffd45a, #e0a100);
  color: #3b2a00;
  font-family: var(--sidgad-fuente-titulos);
  font-size: 14px;
  font-weight: 800;
  line-height: 24px;
  text-align: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}

.sidgad-lider-datos {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.sidgad-lider-primero .sidgad-lider-nombre .sidgad-player-link {
  display: flex;
  flex-direction: column;
  min-width: 0;
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
}

.sidgad-lider-primero .sidgad-lider-nombre .sidgad-player-link:hover {
  color: #fff;
  text-decoration: underline;
}

.sidgad-lider-pila {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2px;
  opacity: 0.85;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidgad-lider-apellidos {
  font-family: var(--sidgad-fuente-titulos);
  font-size: 22px;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: 0.5px;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
  /* Apellidos largos: hasta dos líneas antes de cortar */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  overflow-wrap: anywhere;
}

.sidgad-lider-equipo {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: rgba(255, 255, 255, 0.9);
}

.sidgad-lider-equipo img {
  width: 22px;
  height: 22px;
  padding: 2px;
  border-radius: 50%;
  background: #fff;
  object-fit: contain;
}

.sidgad-lider-valor {
  position: relative;
  z-index: 1;
  text-align: center;
  line-height: 1;
}

.sidgad-lider-valor strong {
  display: block;
  font-family: var(--sidgad-fuente-titulos);
  font-size: 40px;
  font-weight: 800;
  color: #fff;
  white-space: nowrap;
  text-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
}

.sidgad-lider-valor span {
  display: block;
  margin-top: 4px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  opacity: 0.8;
}

.sidgad-lider-lista {
  list-style: none;
  margin: 0;
  padding: 4px 12px 8px;
  font-size: 12px;
}

.sidgad-lider-lista li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) 44px 46px;
  align-items: center;
  gap: 6px;
  padding: 7px 0;
  border-bottom: 1px solid #f2f2f2;
}

.sidgad-lider-lista li:last-child {
  border-bottom: none;
}

.sidgad-lider-num {
  color: #999;
  font-weight: 700;
}

.sidgad-lider-lista .sidgad-lider-nombre {
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidgad-lider-lista .sidgad-player-link {
  color: #333;
  text-decoration: none;
  text-transform: uppercase;
}

.sidgad-lider-lista .sidgad-player-link:hover,
.sidgad-lider-primero .sidgad-player-link:hover {
  color: var(--sidgad-color-primario);
}

.sidgad-lider-eq {
  font-size: 10px;
  font-weight: 700;
  color: #999;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidgad-lider-lista b {
  text-align: right;
  color: #222;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 900px) {
  .sidgad-portada-fila.sidgad-portada-dos {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .sidgad-portada { padding: 12px 10px; }

  .sidgad-portada-partido {
    grid-template-columns: 46px minmax(0, 1fr) 46px minmax(0, 1fr) 26px;
    gap: 6px;
    padding: 9px 8px;
  }

  .sidgad-portada-fecha small { display: none; }
  .sidgad-portada-equipo { font-size: 11px; }
  .sidgad-portada-largo { display: none; }
  .sidgad-portada-corto { display: inline !important; }
  .sidgad-portada-acciones .sidgad-portada-accion[data-calendar-action="video"] { display: none; }
  .sidgad-lideres { grid-template-columns: 1fr; }
}

/* Barra bajo cada líder del 2 al 10, proporcional al primero */
.sidgad-lider-barra {
  grid-column: 2 / -1;
  display: block;
  height: 5px;
  margin-top: -2px;
  border-radius: 3px;
  background: rgba(0, 0, 0, 0.05);
  overflow: hidden;
}

.sidgad-lider-barra span {
  display: block;
  height: 100%;
  border-radius: 3px;
  background: var(--sidgad-color-primario);
}

/* ===== Ficha de equipo (capa sobre la liga, por debajo del acta y la ficha de jugador) ===== */

.sidgad-team-link {
  color: inherit;
  text-decoration: none;
}

.sidgad-team-link:hover {
  color: var(--sidgad-color-primario);
  text-decoration: underline;
}

#sidgad-equipo-overlay {
  position: fixed;
  inset: 0;
  z-index: 8800;
  background: rgba(0, 0, 0, 0.45);
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

#sidgad-equipo-overlay.sidgad-activo {
  visibility: visible;
  opacity: 1;
}

.sidgad-equipo-panel {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(560px, 100%);
  background: var(--sidgad-bg-body);
  overflow-y: auto;
  box-shadow: -4px 0 20px rgba(0, 0, 0, 0.3);
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

#sidgad-equipo-overlay.sidgad-activo .sidgad-equipo-panel {
  transform: translateX(0);
}

.sidgad-equipo-top {
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 12px;
  background: #000;
  color: #fff;
}

.sidgad-equipo-kicker {
  font-family: var(--sidgad-fuente-titulos);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity: 0.8;
}

.sidgad-equipo-cerrar {
  border: none;
  background: none;
  color: #fff;
  font-size: 18px;
  cursor: pointer;
  opacity: 0.8;
}

.sidgad-equipo-cerrar:hover {
  opacity: 1;
}

.sidgad-equipo-cuerpo {
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* Cabecera: la misma banda que la ficha de jugador */
.sidgad-equipo-cabecera {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  align-items: center;
  gap: 16px;
  padding: 16px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--sidgad-color-secundario), var(--sidgad-color-primario));
  color: #fff;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
}

.sidgad-equipo-marca {
  position: absolute;
  right: -24px;
  top: 50%;
  width: 170px;
  height: 170px;
  object-fit: contain;
  transform: translateY(-50%) rotate(-12deg);
  opacity: 0.14;
  filter: grayscale(1) brightness(2.2);
  pointer-events: none;
}

.sidgad-equipo-escudo {
  position: relative;
  z-index: 1;
  width: 88px;
  height: 88px;
  padding: 8px;
  border-radius: 12px;
  background: #fff;
  object-fit: contain;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}

.sidgad-equipo-identidad {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.sidgad-equipo-liga {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.85);
}

.sidgad-equipo-identidad h2 {
  margin: 4px 0 8px;
  font-family: var(--sidgad-fuente-titulos);
  font-size: 26px;
  font-weight: 800;
  line-height: 1.05;
  text-transform: uppercase;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
  overflow-wrap: anywhere;
}

.sidgad-equipo-puesto {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

/* Pestañas de la ficha (mismas que la de jugador); "Plantilla" es un enlace a la liga */
.sidgad-ficha-tabs .sidgad-equipo-tab-enlace {
  flex: 1;
  border-bottom: 3px solid transparent;
  padding: 11px 6px 9px;
  font-family: var(--sidgad-fuente-titulos);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-align: center;
  color: #888;
  text-decoration: none;
}

.sidgad-ficha-tabs .sidgad-equipo-tab-enlace:hover {
  color: var(--sidgad-color-primario);
}

.sidgad-equipo-ficha .sidgad-ficha-racha small .sidgad-team-link,
.sidgad-equipo-ficha .sidgad-ficha-racha small .sidgad-player-link {
  color: #444;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
}

.sidgad-equipo-ficha .sidgad-ficha-racha small a:hover {
  color: var(--sidgad-color-primario);
}

.sidgad-equipo-res-G { color: #2e8b50; }
.sidgad-equipo-res-E { color: #6b7079; }
.sidgad-equipo-res-P { color: #c8392f; }

/* Forma: últimos 5 con letra y color */
.sidgad-equipo-forma {
  display: inline-flex;
  gap: 4px;
}

.sidgad-equipo-forma span {
  width: 22px;
  height: 22px;
  border-radius: 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--sidgad-fuente-titulos);
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  cursor: default;
}

.sidgad-equipo-forma-G { background: #2e8b50; }
.sidgad-equipo-forma-E { background: #8a8f98; }
.sidgad-equipo-forma-P { background: #c8392f; }
.sidgad-equipo-forma-x { background: #ccc; }

.sidgad-equipo-fase {
  list-style: none;
  padding: 8px 10px 4px;
  background: var(--sidgad-color-light);
  color: var(--sidgad-color-secundario);
  font-family: var(--sidgad-fuente-titulos);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}

.sidgad-equipo-partido-G .sidgad-portada-marcador { background: #2e8b50; }
.sidgad-equipo-partido-E .sidgad-portada-marcador { background: #6b7079; }
.sidgad-equipo-partido-P .sidgad-portada-marcador { background: #c8392f; }


@media (max-width: 420px) {
  .sidgad-equipo-cabecera { grid-template-columns: 68px minmax(0, 1fr); gap: 12px; padding: 12px; }
  .sidgad-equipo-escudo { width: 68px; height: 68px; }
  .sidgad-equipo-identidad h2 { font-size: 21px; }
  .sidgad-equipo-ficha .sidgad-portada-largo { display: none; }
  .sidgad-equipo-ficha .sidgad-portada-corto { display: inline !important; }
}

/* Nombres de equipo enlazados: el enlace ocupa la celda y recorta con … */
.sidgad-portada-equipo .sidgad-team-link,
.sidgad-equipo-rival .sidgad-team-link,
.sidgad-equipo-tarjeta-eq .sidgad-team-link {
  display: block;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.sidgad-portada-local .sidgad-team-link {
  text-align: right;
}

/* ===== Plantillas ===== */

.sidgad-plantillas {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.sidgad-plantilla {
  border-radius: 10px;
  transition: box-shadow 0.4s ease;
}

/* Sin equipo elegido: rejilla para escoger uno */
.sidgad-plantillas-rejilla {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: 12px;
}

.sidgad-plantillas-equipo {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 18px 12px 14px;
  border: 1px solid #e6e6e6;
  border-radius: 10px;
  background: #fff;
  font-family: var(--sidgad-fuente-texto);
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.sidgad-plantillas-equipo:hover {
  border-color: var(--sidgad-color-primario);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

.sidgad-plantillas-equipo img {
  width: 56px;
  height: 56px;
  object-fit: contain;
}

.sidgad-plantillas-equipo strong {
  font-family: var(--sidgad-fuente-titulos);
  font-size: 13px;
  text-transform: uppercase;
  text-align: center;
  color: #222;
}

.sidgad-plantillas-equipo span {
  font-size: 11px;
  color: #888;
}

#sidgad-liga-main-content .sidgad-plantillas .sidgad-portada-titulo {
  margin-bottom: 4px;
}

#sidgad-liga-main-content .sidgad-plantilla-titulo {
  margin: 0 0 6px;
  padding: 10px 14px;
}

.sidgad-plantilla-titulo img {
  width: 30px;
  height: 30px;
  padding: 2px;
  border-radius: 50%;
  background: #fff;
  object-fit: contain;
}

.sidgad-plantilla-titulo .sidgad-team-link {
  color: inherit;
}

.sidgad-plantilla-titulo small {
  margin-left: auto;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.5px;
  opacity: 0.85;
}

.sidgad-plantilla .sidgad-ficha-subtitulo {
  margin: 10px 2px 6px;
  font-family: var(--sidgad-fuente-titulos);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--sidgad-color-secundario);
}

/* Plantillas (vista y ficha de equipo): columnas de números con el mismo aire que las tablas */
.sidgad-equipo-tabla td:not(.sidgad-stats-jugador),
.sidgad-equipo-tabla th:not(.sidgad-stats-jugador) {
  min-width: 58px;
  padding: 10px 12px;
}

/* Cabeceras ordenables: el botón ocupa toda la celda */
.sidgad-equipo-tabla th:has(> button) {
  padding: 0;
}

.sidgad-equipo-tabla td.sidgad-stats-activa {
  font-size: 15px;
}

@media (max-width: 640px) {
  .sidgad-equipo-tabla td:not(.sidgad-stats-jugador),
  .sidgad-equipo-tabla th:not(.sidgad-stats-jugador) {
    min-width: 44px;
    padding: 9px 6px;
  }
}

/* Gráfica de goles por partido en la ficha de equipo (colores como en la ficha de jugador) */
#sidgad-equipo-overlay {
  --sidgad-chart-1: var(--sidgad-color-primario);
  --sidgad-chart-2: #e8913a;
}

#sidgad-equipo-overlay .sidgad-graf { width: 100%; height: auto; display: block; overflow: visible; }
#sidgad-equipo-overlay .sidgad-graf-base { stroke: #ccc; stroke-width: 1; }
#sidgad-equipo-overlay .sidgad-graf-s1 { fill: var(--sidgad-chart-1); }
#sidgad-equipo-overlay .sidgad-graf-s2 { fill: var(--sidgad-chart-2); }
#sidgad-equipo-overlay .sidgad-graf-valor { font-size: 11px; font-weight: 700; fill: #333; }
#sidgad-equipo-overlay .sidgad-graf-x { font-size: 10px; fill: #777; }
#sidgad-equipo-overlay .sidgad-graf-res { font-size: 11px; font-weight: 800; }
#sidgad-equipo-overlay .sidgad-graf-res-G { fill: #2e8b50; }
#sidgad-equipo-overlay .sidgad-graf-res-E { fill: #6b7079; }
#sidgad-equipo-overlay .sidgad-graf-res-P { fill: #c8392f; }
#sidgad-equipo-overlay .sidgad-graf g:hover path { opacity: 0.8; }

#sidgad-equipo-overlay .sidgad-ficha-graf-ayuda { font-size: 12px; color: #666; margin: 0 0 6px; }
#sidgad-equipo-overlay .sidgad-ficha-graf-ayuda i {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 2px;
  margin: 0 4px 0 2px;
  vertical-align: -1px;
}


/* Dentro del valor de una tarjeta, los span no heredan el estilo del título de la tarjeta */
.sidgad-ficha-racha strong span {
  font-size: inherit;
  letter-spacing: normal;
  text-transform: none;
  color: inherit;
}

.sidgad-ficha-racha strong .sidgad-equipo-res-G { color: #2e8b50; }
.sidgad-ficha-racha strong .sidgad-equipo-res-E { color: #6b7079; }
.sidgad-ficha-racha strong .sidgad-equipo-res-P { color: #c8392f; }

.sidgad-ficha-racha strong .sidgad-equipo-forma span {
  font-size: 12px;
  color: #fff;
}

/* Líderes del equipo: versión compacta de la tarjeta de líderes de la Portada */
.sidgad-equipo-lideres {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 8px;
}

.sidgad-equipo-lider {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  background: linear-gradient(135deg, var(--sidgad-color-secundario), var(--sidgad-color-primario));
  color: #fff;
}

.sidgad-equipo-lider-foto {
  width: 48px;
  height: 60px;
  border: 2px solid #fff;
  border-radius: 7px;
  object-fit: cover;
  object-position: center top;
  background: #eee;
}

.sidgad-equipo-lider-datos {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.sidgad-equipo-lider-titulo {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  opacity: 0.8;
}

.sidgad-equipo-lider .sidgad-player-link {
  display: flex;
  flex-direction: column;
  min-width: 0;
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
}

.sidgad-equipo-lider .sidgad-player-link:hover {
  text-decoration: underline;
}

.sidgad-equipo-lider .sidgad-lider-pila {
  font-size: 10px;
  letter-spacing: 1.5px;
}

.sidgad-equipo-lider .sidgad-lider-apellidos {
  font-size: 16px;
  -webkit-line-clamp: 1;
}

.sidgad-equipo-lider-valor {
  text-align: center;
  line-height: 1;
}

.sidgad-equipo-lider-valor strong {
  display: block;
  font-family: var(--sidgad-fuente-titulos);
  font-size: 26px;
  font-weight: 800;
  white-space: nowrap;
}

.sidgad-equipo-lider-valor span {
  display: block;
  margin-top: 3px;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1.2px;
  opacity: 0.8;
}

/* Gráficas extra de la ficha de equipo */
#sidgad-equipo-overlay .sidgad-graf-rejilla { stroke: #eee; stroke-width: 1; }
#sidgad-equipo-overlay .sidgad-graf-y { font-size: 10px; fill: #888; }
#sidgad-equipo-overlay .sidgad-graf-linea { fill: none; stroke: var(--sidgad-chart-1); stroke-width: 2.5; stroke-linejoin: round; stroke-linecap: round; }
#sidgad-equipo-overlay .sidgad-graf-linea-2 { stroke: var(--sidgad-chart-2); }
#sidgad-equipo-overlay .sidgad-graf-punto { fill: var(--sidgad-chart-1); stroke: #fff; stroke-width: 2; }
#sidgad-equipo-overlay .sidgad-graf-punto-2 { fill: var(--sidgad-chart-2); }
#sidgad-equipo-overlay .sidgad-graf-etiqueta { font-size: 11px; font-weight: 700; fill: #333; }

.sidgad-equipo-goleadores {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sidgad-equipo-goleadores li {
  display: grid;
  grid-template-columns: minmax(0, 150px) minmax(0, 1fr) 28px 34px;
  align-items: center;
  gap: 8px;
  padding: 5px 0;
  font-size: 12px;
}

.sidgad-equipo-goleador-nombre {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidgad-equipo-goleador-nombre .sidgad-player-link {
  color: #333;
  text-decoration: none;
  text-transform: uppercase;
}

.sidgad-equipo-goleador-nombre .sidgad-player-link:hover {
  color: var(--sidgad-color-primario);
}

.sidgad-equipo-goleador-barra {
  height: 10px;
  border-radius: 5px;
  background: rgba(0, 0, 0, 0.05);
  overflow: hidden;
}

.sidgad-equipo-goleador-barra span {
  display: block;
  height: 100%;
  border-radius: 5px;
  background: var(--sidgad-chart-1);
}

.sidgad-equipo-goleadores b {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.sidgad-equipo-goleadores small {
  text-align: right;
  color: #888;
  font-variant-numeric: tabular-nums;
}

#sidgad-equipo-overlay .sidgad-graf-linea-gris { fill: none; stroke: #cfd4dc; stroke-width: 1.5; stroke-linejoin: round; }
#sidgad-equipo-overlay .sidgad-graf-linea-gris:hover { stroke: #8a929e; stroke-width: 2.5; }
#sidgad-equipo-overlay .sidgad-graf-linea { stroke-width: 3; }
#sidgad-equipo-overlay .sidgad-graf-etiqueta-gris { fill: #8a929e; font-weight: 600; }

/* En casa / Fuera */
.sidgad-equipo-cf {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 10px;
  overflow: hidden;
}

.sidgad-equipo-cf th,
.sidgad-equipo-cf td {
  padding: 8px 12px;
  border-top: 1px solid #f0f0f0;
}

.sidgad-equipo-cf thead th {
  border-top: none;
  background: #f2f3f5;
  font-family: var(--sidgad-fuente-titulos);
  font-size: 11px;
  text-transform: uppercase;
  color: #555;
  text-align: center;
}

.sidgad-equipo-cf tbody th {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: #777;
  text-align: left;
  white-space: nowrap;
}

.sidgad-equipo-cf tbody td {
  width: 36%;
  text-align: center;
  font-family: var(--sidgad-fuente-titulos);
  font-size: 15px;
  font-weight: 700;
  color: #222;
}

.sidgad-equipo-cf-porc td {
  white-space: nowrap;
}

.sidgad-equipo-cf-barra {
  display: inline-block;
  width: calc(100% - 44px);
  height: 8px;
  margin-right: 6px;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.06);
  overflow: hidden;
  vertical-align: middle;
}

.sidgad-equipo-cf-barra span {
  display: block;
  height: 100%;
  border-radius: 4px;
  background: var(--sidgad-chart-1);
}


/* Enlaces sobre banda azul: el hover no cambia color ni grosor (la regla general los oscurecía) */
.sidgad-equipo-lider .sidgad-player-link:hover,
.sidgad-lider-primero .sidgad-player-link:hover,
.sidgad-player-hero-card .sidgad-team-link:hover,
.sidgad-equipo-cabecera a:hover {
  color: #fff;
  font-weight: inherit;
  text-decoration: none;
  opacity: 0.8;
}

#sidgad-equipo-overlay .sidgad-graf-etiqueta-gris { font-size: 9px; }
#sidgad-equipo-overlay .sidgad-graf-etiqueta-propia { fill: var(--sidgad-chart-1); font-size: 11px; font-weight: 800; }
#sidgad-equipo-overlay .sidgad-graf-guia { stroke: #d5d9df; stroke-width: 1; }

/* ===== Previa del partido (capa desde En directo) ===== */

/* Mismo marco que el acta: modal centrado (la cabecera y el cuerpo usan sus clases) */
#sidgad-previa-overlay {
  position: fixed;
  inset: 0;
  z-index: 8800;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px;
  background: rgba(0, 0, 0, 0.8);
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  --sidgad-chart-1: var(--sidgad-color-primario);
  --sidgad-chart-2: #e8913a;
}

#sidgad-previa-overlay.sidgad-activo {
  visibility: visible;
  opacity: 1;
}

#sidgad-previa-overlay.sidgad-activo .sidgad-match-modal {
  transform: translateY(0) scale(1);
}

#sidgad-previa-overlay .sidgad-modal-team-name a { color: inherit; text-decoration: none; }
#sidgad-previa-overlay .sidgad-modal-team-name a:hover { color: var(--sidgad-color-primario); }

.sidgad-previa-puesto {
  display: block;
  margin-top: 4px;
  color: #666;
  font-size: 11px;
  font-weight: 700;
}


/* Cara a cara: valor local · dato · valor visitante (columnas fijas: no se sale del modal) */
.sidgad-previa-cara { width: 100%; table-layout: fixed; }

.sidgad-previa-cara tbody th {
  text-align: center;
  width: 34%;
  white-space: normal;
}

.sidgad-previa-cara tbody td {
  width: 33%;
}

.sidgad-previa-cara .sidgad-equipo-forma span {
  font-size: 11px;
}

.sidgad-previa-lideres {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.sidgad-previa-lideres > div {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.sidgad-previa-lideres h4 {
  margin: 0;
  font-family: var(--sidgad-fuente-titulos);
  font-size: 12px;
  text-transform: uppercase;
  color: var(--sidgad-color-secundario);
}

.sidgad-previa-lideres .sidgad-equipo-lider {
  grid-template-columns: 40px minmax(0, 1fr) auto;
  padding: 8px 10px;
}

.sidgad-previa-lideres .sidgad-equipo-lider-foto {
  width: 40px;
  height: 50px;
}

.sidgad-previa-lideres .sidgad-equipo-lider-valor strong {
  font-size: 22px;
}

/* En directo: los partidos sin empezar se pueden pulsar para ver la previa */
.sidgad-partido-fila.sidgad-partido-previa {
  cursor: pointer;
}

@media (max-width: 420px) {
  .sidgad-previa-lideres { grid-template-columns: 1fr; }
  .sidgad-previa-cara tbody th { width: 44%; font-size: 10px; }
}


/* ===== Calendario: sólo la tabla se desplaza en horizontal ===== */

/* El contenido crece hasta su hijo más ancho (min-width: fit-content); en el calendario
   no: cabeceras de fase y cuadros quedan al ancho de pantalla y cada tabla se desplaza sola. */
#sidgad-liga-main-content[data-vista="calendar"] { min-width: 0; }

.sidgad-calendario-scroll,
#sidgad-liga-main-content[data-vista="calendar"] .sidgad-clasif-wrap {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* ===== Cuadros eliminatorios: copa (MODEL_COPA) y playoff (MODEL_PLAYOFF) =====
 * Comparten el cuadro: columnas por ronda de fuera hacia la final; cada partido en una celda de
 * alto igual, así cada cruce queda a media altura de los dos que lo alimentan. Las llaves salen
 * de las celdas (impar baja, par sube hasta el centro) y se colorean con el camino del ganador.
 * Cambia la tarjeta: copa = partido con sus goles; playoff = eliminatoria con partidos ganados.
 */

.sidgad-copa {
  --sidgad-copa-hueco: 30px;
  --sidgad-copa-linea: #cfd5dd;
  --sidgad-copa-linea-on: var(--sidgad-color-primario);
  margin: 6px 0 24px;
}

.sidgad-copa-movil { display: none; }

/* Campeón, encima del cuadro */
.sidgad-cuadro-campeon {
  display: flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  max-width: 100%;
  margin: 2px auto 18px;
  padding: 7px 18px 7px 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--sidgad-color-secundario), var(--sidgad-color-primario));
  color: #fff;
  font-family: var(--sidgad-fuente-titulos);
  text-transform: uppercase;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
}

.sidgad-cuadro-campeon i { color: #f5c542; font-size: 15px; }
.sidgad-cuadro-campeon span { font-size: 11px; letter-spacing: 1px; opacity: 0.85; }
.sidgad-cuadro-campeon img {
  width: 28px;
  height: 28px;
  padding: 2px;
  border-radius: 50%;
  background: #fff;
  object-fit: contain;
}
.sidgad-cuadro-campeon strong { font-size: 16px; letter-spacing: 0.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sidgad-cuadro-campeon a { color: inherit; text-decoration: none; min-width: 0; display: flex; }

/* Cuadro de escritorio */
.sidgad-cuadro {
  display: grid;
  grid-template-columns: repeat(var(--sidgad-cuadro-cols), minmax(0, 1fr));
  gap: 0 var(--sidgad-copa-hueco);
}

.sidgad-cuadro-cols-3 .sidgad-cuadro { max-width: 760px; margin-inline: auto; }
.sidgad-cuadro-cols-1 .sidgad-cuadro { max-width: 300px; margin-inline: auto; }

.sidgad-cuadro-col {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.sidgad-copa-titulo {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 0 0 10px;
  padding-bottom: 7px;
  border-bottom: 2px solid #e4e8ee;
  color: #7a8594;
  font-family: var(--sidgad-fuente-titulos);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidgad-copa-final .sidgad-copa-titulo {
  color: var(--sidgad-color-primario);
  border-bottom-color: var(--sidgad-color-primario);
}

.sidgad-cuadro-cuerpo {
  flex: 1;
  display: grid;
  grid-auto-rows: 1fr;
}

.sidgad-copa-celda {
  position: relative;
  display: flex;
  align-items: center;
  padding: 6px 0;
}

.sidgad-copa-celda > .sidgad-copa-partido { width: 100%; }

/* Líneas del cuadro de escritorio */
.sidgad-cuadro .sidgad-copa-celda::after,
.sidgad-cuadro .sidgad-copa-partido::before {
  content: '';
  position: absolute;
  border: 0 solid var(--sidgad-copa-linea);
  pointer-events: none;
}

/* Llave hacia la ronda siguiente (izquierda: sale por la derecha; derecha: por la izquierda) */
.sidgad-cuadro-izq:not(.sidgad-cuadro-semi) .sidgad-copa-celda::after,
.sidgad-cuadro-der:not(.sidgad-cuadro-semi) .sidgad-copa-celda::after {
  width: calc(var(--sidgad-copa-hueco) / 2);
  height: 50%;
}
.sidgad-cuadro-izq:not(.sidgad-cuadro-semi) .sidgad-copa-celda::after { right: calc(var(--sidgad-copa-hueco) / -2); border-right-width: 2px; }
.sidgad-cuadro-der:not(.sidgad-cuadro-semi) .sidgad-copa-celda::after { left: calc(var(--sidgad-copa-hueco) / -2); border-left-width: 2px; }
.sidgad-cuadro-izq:not(.sidgad-cuadro-semi) .sidgad-copa-celda:nth-child(odd)::after,
.sidgad-cuadro-der:not(.sidgad-cuadro-semi) .sidgad-copa-celda:nth-child(odd)::after { top: 50%; border-top-width: 2px; }
.sidgad-cuadro-izq:not(.sidgad-cuadro-semi) .sidgad-copa-celda:nth-child(even)::after,
.sidgad-cuadro-der:not(.sidgad-cuadro-semi) .sidgad-copa-celda:nth-child(even)::after { top: 0; border-bottom-width: 2px; }
.sidgad-cuadro-izq:not(.sidgad-cuadro-semi) .sidgad-copa-celda:nth-child(odd)::after { border-top-right-radius: 6px; }
.sidgad-cuadro-izq:not(.sidgad-cuadro-semi) .sidgad-copa-celda:nth-child(even)::after { border-bottom-right-radius: 6px; }
.sidgad-cuadro-der:not(.sidgad-cuadro-semi) .sidgad-copa-celda:nth-child(odd)::after { border-top-left-radius: 6px; }
.sidgad-cuadro-der:not(.sidgad-cuadro-semi) .sidgad-copa-celda:nth-child(even)::after { border-bottom-left-radius: 6px; }

/* Semifinales: tramo recto hasta la final */
.sidgad-cuadro-semi .sidgad-copa-celda::after {
  top: 50%;
  width: var(--sidgad-copa-hueco);
  border-top-width: 2px;
}
.sidgad-cuadro-izq.sidgad-cuadro-semi .sidgad-copa-celda::after { right: calc(var(--sidgad-copa-hueco) * -1); }
.sidgad-cuadro-der.sidgad-cuadro-semi .sidgad-copa-celda::after { left: calc(var(--sidgad-copa-hueco) * -1); }

/* Entrada desde la llave de la ronda anterior */
.sidgad-cuadro-izq:not(.sidgad-cuadro-primera) .sidgad-copa-partido::before,
.sidgad-cuadro-der:not(.sidgad-cuadro-primera) .sidgad-copa-partido::before {
  top: 50%;
  width: calc(var(--sidgad-copa-hueco) / 2);
  border-top-width: 2px;
}
.sidgad-cuadro-izq:not(.sidgad-cuadro-primera) .sidgad-copa-partido::before { left: calc(var(--sidgad-copa-hueco) / -2 - 1px); }
.sidgad-cuadro-der:not(.sidgad-cuadro-primera) .sidgad-copa-partido::before { right: calc(var(--sidgad-copa-hueco) / -2 - 1px); }

/* Camino del ganador: la salida de un cruce decidido y la entrada a un cruce ya completo */
.sidgad-cuadro-avanza::after,
.sidgad-cuadro-llega > .sidgad-copa-partido::before { border-color: var(--sidgad-copa-linea-on) !important; }

/* Tarjeta (común) */
.sidgad-copa-partido {
  position: relative;
  background: #fff;
  border: 1px solid #e6e9ee;
  border-radius: 10px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
  transition: opacity 0.2s, box-shadow 0.2s, transform 0.2s;
}

.sidgad-copa-partido:not(.sidgad-copa-vacio):hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
}

.sidgad-copa-final .sidgad-copa-partido:not(.sidgad-copa-vacio) {
  border: 2px solid var(--sidgad-color-primario);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
}

.sidgad-copa-equipo {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) 28px;
  align-items: center;
  gap: 8px;
  padding: 7px 9px;
}

.sidgad-copa-equipo + .sidgad-copa-equipo { border-top: 1px solid #f1f3f6; }
.sidgad-copa-equipo img { width: 22px; height: 22px; object-fit: contain; }

.sidgad-copa-nombre {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.15;
}

.sidgad-copa-nombre strong {
  font-family: var(--sidgad-fuente-titulos);
  font-size: 14px;
  text-transform: uppercase;
  color: #222;
}

.sidgad-copa-nombre small {
  font-size: 9.5px;
  color: #8a929c;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidgad-copa-nombre a { color: inherit; text-decoration: none; }
.sidgad-copa-nombre a:hover strong { color: var(--sidgad-color-primario); }

.sidgad-copa-gana { background: linear-gradient(90deg, var(--sidgad-color-light), transparent 85%); }
.sidgad-copa-pierde .sidgad-copa-nombre strong { color: #a0a7b0; }
.sidgad-copa-pierde img { opacity: 0.5; }

.sidgad-copa-vacio {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 90px;
  border-style: dashed;
  box-shadow: none;
  color: #999;
  font-size: 11px;
  text-transform: uppercase;
}

/* Copa: goles del partido, fecha y acta */
.sidgad-copa-goles {
  justify-self: end;
  width: 28px;
  padding: 2px 0;
  border-radius: 5px;
  background: #f2f4f7;
  color: #555;
  font-family: var(--sidgad-fuente-titulos);
  font-size: 15px;
  font-weight: 700;
  text-align: center;
}

.sidgad-copa-pendiente .sidgad-copa-goles { background: none; }
.sidgad-copa-gana .sidgad-copa-goles { background: var(--sidgad-color-primario); color: #fff; }
.sidgad-copa-pierde .sidgad-copa-goles { color: #a0a7b0; }

.sidgad-copa-pie {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 3px 4px 3px 9px;
  border-top: 1px solid #f1f3f6;
  font-size: 10.5px;
  color: #8a929c;
}

.sidgad-copa-acta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 5px;
  font-size: 11px;
  color: var(--sidgad-color-primario);
}

.sidgad-copa-acta:hover { background: var(--sidgad-color-primario); color: #fff; }

/* Playoff: formato de la eliminatoria, partidos ganados con marcas y estado */
.sidgad-po-formato {
  padding: 6px 10px 4px;
  color: #7a8594;
  font-family: var(--sidgad-fuente-titulos);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.sidgad-po-equipo {
  grid-template-columns: 22px minmax(0, 1fr) auto 22px;
  border-top: 1px solid #f1f3f6;
}

.sidgad-po-marcas { display: inline-flex; gap: 4px; }

.sidgad-po-marcas i {
  width: 8px;
  height: 8px;
  border: 1.5px solid #c6cdd6;
  border-radius: 50%;
}

.sidgad-po-marcas .sidgad-po-marca-si {
  background: var(--sidgad-color-primario);
  border-color: var(--sidgad-color-primario);
}

.sidgad-po-valor {
  justify-self: end;
  color: #333;
  font-family: var(--sidgad-fuente-titulos);
  font-size: 17px;
  font-weight: 700;
}

.sidgad-po-equipo.sidgad-copa-gana .sidgad-po-valor { color: var(--sidgad-color-primario); }
.sidgad-po-equipo.sidgad-copa-pierde .sidgad-po-valor { color: #a0a7b0; }
.sidgad-po-equipo.sidgad-copa-pierde .sidgad-po-marca-si { background: #a0a7b0; border-color: #a0a7b0; }

.sidgad-po-estado {
  padding: 6px 10px;
  border-top: 1px solid #f1f3f6;
  color: #8a929c;
  font-size: 10.5px;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidgad-po-estado-fin { color: var(--sidgad-color-primario); font-weight: 700; }

/* Tercer puesto, debajo del cuadro */
.sidgad-cuadro-tercero { max-width: 300px; margin: 18px auto 0; }

/* Equipo elegido en la cabecera: su camino resaltado, el resto atenuado */
.sidgad-copa-filtrado .sidgad-copa-partido:not(.sidgad-copa-elegido) { opacity: 0.35; }
.sidgad-copa-equipo.sidgad-copa-elegido .sidgad-copa-nombre strong { color: var(--sidgad-color-primario); }

/* Pantallas estrechas: una columna por ronda y se desliza de una a otra; la siguiente asoma */
@media (max-width: 1100px) {
  .sidgad-cuadro-cols-7 .sidgad-cuadro { display: none; }
  .sidgad-cuadro-cols-7 .sidgad-copa-movil { display: flex; }
}
@media (max-width: 980px) {
  .sidgad-cuadro-cols-5 .sidgad-cuadro { display: none; }
  .sidgad-cuadro-cols-5 .sidgad-copa-movil { display: flex; }
}
@media (max-width: 560px) {
  .sidgad-cuadro-cols-3 .sidgad-cuadro { display: none; }
  .sidgad-cuadro-cols-3 .sidgad-copa-movil { display: flex; }
  .sidgad-cuadro-campeon { margin-bottom: 14px; }
}

.sidgad-copa-movil {
  --sidgad-copa-hueco-movil: 24px;
  align-items: stretch;
  gap: var(--sidgad-copa-hueco-movil);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding: 0 2px;
  padding: 0 2px 8px;
  -webkit-overflow-scrolling: touch;
}

.sidgad-copa-ronda {
  flex: 0 0 min(78%, 300px);
  display: flex;
  flex-direction: column;
  scroll-snap-align: start;
}

.sidgad-copa-ronda-cuerpo {
  flex: 1;
  display: grid;
  grid-auto-rows: 1fr;
}

/* Llave hacia la ronda siguiente: la primera de cada pareja baja y la segunda sube hasta el centro */
.sidgad-copa-ronda:not(.sidgad-copa-final) .sidgad-copa-celda::after {
  content: '';
  position: absolute;
  right: calc(var(--sidgad-copa-hueco-movil) / -2);
  width: calc(var(--sidgad-copa-hueco-movil) / 2);
  height: 50%;
  border-right: 2px solid var(--sidgad-copa-linea);
  pointer-events: none;
}

.sidgad-copa-ronda:not(.sidgad-copa-final) .sidgad-copa-celda:nth-child(odd)::after {
  top: 50%;
  border-top: 2px solid var(--sidgad-copa-linea);
  border-top-right-radius: 6px;
}

.sidgad-copa-ronda:not(.sidgad-copa-final) .sidgad-copa-celda:nth-child(even)::after {
  top: 0;
  border-bottom: 2px solid var(--sidgad-copa-linea);
  border-bottom-right-radius: 6px;
}

/* Entrada a cada partido de las rondas siguientes */
.sidgad-copa-ronda + .sidgad-copa-ronda .sidgad-copa-partido::before {
  content: '';
  position: absolute;
  top: 50%;
  left: calc(var(--sidgad-copa-hueco-movil) / -2 - 1px);
  width: calc(var(--sidgad-copa-hueco-movil) / 2);
  border-top: 2px solid var(--sidgad-copa-linea);
  pointer-events: none;
}

/* ===== Designaciones arbitrales ===== */

.sidgad-desig { padding: 4px 0 8px; }

.sidgad-desig-jornada { margin: 0 0 12px; }

.sidgad-desig-jornada h3 {
  margin: 0;
  padding: 8px 12px;
  border-radius: 8px 8px 0 0;
  background: var(--sidgad-color-light);
  color: var(--sidgad-color-secundario);
  font-family: var(--sidgad-fuente-titulos);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}

.sidgad-desig-lista {
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1px solid #edf0f3;
  border-top: 0;
  border-radius: 0 0 8px 8px;
  background: #fff;
}

.sidgad-desig-partido {
  display: grid;
  grid-template-columns: 56px minmax(0, 1.15fr) minmax(0, 1fr) 28px;
  align-items: center;
  gap: 14px;
  padding: 10px 12px;
}

.sidgad-desig-partido + .sidgad-desig-partido,
.sidgad-desig-nota + .sidgad-desig-partido { border-top: 1px solid #f0f2f5; }
.sidgad-desig-partido[hidden], .sidgad-desig-jornada[hidden] { display: none; }

.sidgad-desig-fecha { display: flex; flex-direction: column; line-height: 1.2; text-align: center; }
.sidgad-desig-fecha strong { font-size: 13px; color: #333; }
.sidgad-desig-fecha span { font-size: 11px; color: #8a929c; }
.sidgad-desig-proximo .sidgad-desig-fecha strong { color: var(--sidgad-color-primario); }

.sidgad-desig-encuentro {
  display: grid;
  grid-template-columns: 18px minmax(0, max-content) auto;
  align-items: center;
  gap: 3px 8px;
  min-width: 0;
}

.sidgad-desig-equipo {
  display: contents;
  gap: 8px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
}

.sidgad-desig-equipo img { flex: 0 0 18px; width: 18px; height: 18px; object-fit: contain; }
.sidgad-desig-equipo span { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sidgad-desig-equipo a { color: inherit; text-decoration: none; }
.sidgad-desig-equipo b:empty { visibility: hidden; }
.sidgad-desig-equipo a:hover { color: var(--sidgad-color-primario); }

.sidgad-desig-equipo b {
  justify-self: start;
  min-width: 22px;
  padding: 1px 5px;
  border-radius: 4px;
  background: var(--sidgad-color-light);
  color: var(--sidgad-color-primario);
  font-size: 12px;
  text-align: center;
}


.sidgad-desig-arbitros { display: flex; flex-direction: column; gap: 3px; margin: 0; padding: 0; list-style: none; min-width: 0; }

.sidgad-desig-arbitros li {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  align-items: baseline;
  gap: 8px;
}

.sidgad-desig-rol {
  color: #8a929c;
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.sidgad-desig-nombre { font-size: 12.5px; color: #333; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sidgad-desig-nombre strong { font-weight: 700; }

.sidgad-desig-arbitros .sidgad-desig-pendiente { display: block; color: #a0a7b0; font-size: 12px; font-style: italic; }

.sidgad-desig-acciones { display: flex; justify-content: flex-end; }

.sidgad-desig-nota {
  padding: 2px 12px 8px;
  color: #999;
  font-size: 10px;
  text-align: right;
  text-transform: uppercase;
}

@media (max-width: 640px) {
  .sidgad-desig-partido {
    grid-template-columns: 46px minmax(0, 1fr) 24px;
    gap: 8px 10px;
  }
  .sidgad-desig-arbitros {
    grid-column: 2 / -1;
    padding-top: 6px;
    border-top: 1px dashed #edf0f3;
  }
  /* El marcador al final de la fila, junto a la lupa */
  .sidgad-desig-encuentro { grid-template-columns: 18px minmax(0, 1fr) auto; }
  .sidgad-desig-equipo b { justify-self: end; }
  /* Cada árbitro en un bloque (papel encima, nombre debajo), uno al lado del otro si caben */
  .sidgad-desig-arbitros {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    gap: 6px 12px;
  }
  .sidgad-desig-arbitros li { display: flex; flex-direction: column; gap: 1px; }
  .sidgad-desig-arbitros .sidgad-desig-pendiente { grid-column: 1 / -1; }
  .sidgad-desig-rol { font-size: 9px; letter-spacing: 0.4px; }
  .sidgad-desig-nombre { white-space: normal; line-height: 1.25; }
  .sidgad-desig-acciones { grid-row: 1; grid-column: 3; }
}

/* ===== Previa: columnas y bloques con el estilo del acta ===== */

.sidgad-previa-col {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
}

.sidgad-previa-col > .sidgad-table-responsive { margin-bottom: 0; }

.sidgad-previa-bloque-cuerpo {
  padding: 10px;
  border: 1px solid #ccc;
  background: #fff;
}

.sidgad-previa-bloque .sidgad-team-roster-header i { margin-right: 4px; color: #555; }

.sidgad-previa-aviso { margin: -8px 0 0; color: #8a929c; font-size: 11px; }

/* Previa sin alineaciones: dos columnas iguales */
@media (min-width: 992px) {
  .sidgad-modal-content-grid.sidgad-previa-grid-par { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* En una sola columna: Cara a cara, Líderes y, al final, Enfrentamientos previos */
@media (max-width: 991px) {
  .sidgad-previa-grid-par { display: flex; flex-direction: column; gap: 16px; }
  .sidgad-previa-grid-par .sidgad-previa-col { display: contents; }
  .sidgad-previa-grid-par .sidgad-previa-bloque-previos { order: 1; }
}

/* ===== Ficha de pista (mismo marco que la ficha de jugador) ===== */

/* Por encima de la ficha de equipo y la previa; el acta (8888) y el jugador quedan encima */
#sidgad-pista-overlay {
  position: fixed;
  inset: 0;
  z-index: 8850;
  background: rgba(0, 0, 0, 0.45);
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

#sidgad-pista-overlay.sidgad-activo { visibility: visible; opacity: 1; }
#sidgad-pista-overlay.sidgad-activo .sidgad-player-overlay-shell { transform: translateX(0); }

.sidgad-pista-cerrar {
  border: 0;
  background: none;
  color: #fff;
  font-size: 18px;
  cursor: pointer;
}

.sidgad-pista-icono {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 84px;
  height: 84px;
  border-radius: 14px;
  background: #fff;
  color: var(--sidgad-color-primario);
  font-size: 38px;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
  position: relative;
  z-index: 1;
}

.sidgad-pista-hero .sidgad-pista-nombre { white-space: normal; line-height: 1.1; }
.sidgad-pista-direccion { margin: 6px 0 0; font-size: 12px; opacity: 0.9; }

.sidgad-pista-mapa {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  align-self: flex-start;
  margin-top: 10px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #fff;
  color: var(--sidgad-color-primario);
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.sidgad-pista-mapa:hover { background: var(--sidgad-color-light); }

#sidgad-pista-ficha .sidgad-ficha-subtitulo i { margin-right: 4px; color: var(--sidgad-color-primario); }

.sidgad-pista-cards .sidgad-ficha-card span i { margin-right: 3px; }
.sidgad-pista-cards .sidgad-ficha-card strong { font-size: 15px; line-height: 1.15; overflow-wrap: anywhere; }
.sidgad-ficha-cards.sidgad-pista-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 480px) {
  .sidgad-ficha-cards.sidgad-pista-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.sidgad-pista-servicios { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }

.sidgad-pista-servicios li {
  padding: 4px 10px;
  border-radius: 999px;
  background: #f2f4f7;
  color: #444;
  font-size: 12px;
}

.sidgad-pista-servicios i { margin-right: 3px; color: var(--sidgad-color-primario); }

.sidgad-pista-contacto { display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.sidgad-pista-contacto a { color: var(--sidgad-color-primario); text-decoration: none; overflow-wrap: anywhere; }
.sidgad-pista-contacto a:hover { text-decoration: underline; }
.sidgad-pista-contacto i { width: 16px; margin-right: 4px; }

/* Nombre de la pista como enlace (calendario, previa, acta) */
a.sidgad-pista-link { color: inherit; text-decoration: none; border-bottom: 1px dotted currentColor; }
a.sidgad-pista-link:hover { color: var(--sidgad-color-primario); }
