.elementor-79 .elementor-element.elementor-element-4bf2175{--display:flex;}.elementor-79 .elementor-element.elementor-element-3097cf6{width:100%;max-width:100%;}.elementor-79 .elementor-element.elementor-element-3097cf6 > .elementor-widget-container{background-color:var( --e-global-color-primary );margin:0px 0px 0px 0px;}body.elementor-page-79:not(.elementor-motion-effects-element-type-background), body.elementor-page-79 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-primary );}:root{--page-title-display:none;}/* Start custom CSS for html, class: .elementor-element-3097cf6 */body {
    background-color: #402978 !important;
}
/* Reset and base styles */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  --primary: #6A0DAD; /* Violet color */
  --primary-light: #8A2BE2; /* Lighter violet */
  --primary-dark: #4B0082; /* Darker violet (Indigo) */
  --primary-foreground: #ffffff;
  --secondary: #efefef;
  --secondary-foreground: #7e090f;
  --muted: #f8f0ff;
  --muted-foreground: #6A0DAD;
  --accent: #ede0ff;
  --accent-foreground: #4B0082;
  --background: #ffffff;
  --foreground: #0f172a;
  --card: #ffffff;
  --card-foreground: #0f172a;
  --border: #efefef;
  --input: #f3e6ff;
  --ring: #6A0DAD;
  --radius: 0.5rem;
  --central-color: #6A0DAD;
  --winner-bg: #f0fdf4;
  --winner-text: #15803d;
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  background-color: var(--background);
  color: var(--foreground);
  line-height: 1.5;
  padding: 1rem;
}

.container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 1rem;
}

h1, h2 {
  text-align: center;
  color: #000000;
  margin-bottom: 1.5rem;
}

h1 { font-size: 1.875rem; font-weight: 700; margin-top: 1.5rem; }
h2 { font-size: 1.5rem; font-weight: 600; margin-top: 2.5rem; }

.card {
  background-color: var(--card);
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
  overflow: hidden;
  margin-bottom: 2rem;
}

.card-header {
  background-color: var(--primary);
  color: var(--primary-foreground);
  padding: 1rem;
  font-weight: 600;
  text-align: center;
}

.card-content { padding: 0; }

/* Table styles */
.table-container {
  width: 100%;
  overflow-x: auto; /* Por defecto, permitir desplazamiento horizontal */
  -webkit-overflow-scrolling: touch; /* Desplazamiento suave en iOS */
}

table {
  width: 100%;
  border-collapse: collapse;
}

th, td {
  padding: 0.75rem 0.5rem;
  text-align: center;
  border-bottom: 1px solid var(--border);
}

th {
  background-color: var(--secondary);
  color: var(--primary-dark);
  font-weight: 600;
  font-size: 0.875rem;
  white-space: nowrap;
}

td { font-size: 0.875rem; }
tr:hover { background-color: var(--muted); }
.text-left { text-align: left; }
.text-center { text-align: center; }

.team-cell {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem;
}

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

.team-name {
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.central-team {
  color: inherit !important;
  font-weight: inherit !important;
}

.points-cell { font-weight: 600; }
.points-highlight {
  background-color: rgba(128, 128, 128, 0.2);
  color: var(--foreground);
  font-weight: 700;
}

.winner {
  font-weight: 600;
  background-color: rgba(21, 128, 61, 0.1);
  color: #15803d;
}

.libre-match { background-color: #f8fafc; font-style: italic; }
.libre-cell { color: #64748b; font-style: italic; padding: 0.75rem; }
.libre-info {
  color: #64748b; font-size: 0.875rem; text-align: center;
  grid-column: span 4; padding: 0.5rem; font-style: italic;
}

.category-.elementor-79 .elementor-element.elementor-element-3097cf6 { max-width: 300px; margin: 0 auto 2rem auto; }
.select-container { position: relative; }
.select {
  width: 100%; padding: 0.75rem 1rem; border: 2px solid var(--primary);
  border-radius: var(--radius); background-color: var(--background);
  color: var(--foreground); font-family: inherit; font-size: 1rem;
  font-weight: 500; appearance: none; -webkit-appearance: none;
  -moz-appearance: none; cursor: pointer; box-shadow: var(--shadow-sm);
}
.select:focus {
  outline: none; border-color: var(--ring);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 25%, transparent);
}
.select-arrow {
  position: absolute; right: 1rem; top: 50%;
  transform: translateY(-50%); pointer-events: none; color: var(--primary);
}

.results-header {
  display: flex; justify-content: space-between; align-items: center;
  background-color: var(--primary); color: var(--primary-foreground); padding: 1rem;
}
.date-title { font-size: 1.125rem; font-weight: 600; }
.nav-button {
  background: none; border: none; color: var(--primary-foreground);
  font-size: 1.25rem; cursor: pointer; padding: 0.25rem 0.5rem;
  border-radius: var(--radius); display: flex; align-items: center; justify-content: center;
}
.nav-button:hover { background-color: rgba(255, 255, 255, 0.1); }
.nav-button:disabled { opacity: 0.5; cursor: not-allowed; }

.loading-container { padding: 2rem; text-align: center; }
.loader {
  display: inline-block; width: 40px; height: 40px;
  border: 4px solid color-mix(in srgb, var(--primary) 20%, transparent);
  border-radius: 50%; border-top-color: var(--primary);
  animation: spin 1s linear infinite; margin-bottom: 1rem;
}
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
.loading-text { color: var(--primary); font-weight: 500; }

.error-message {
  background-color: #fecaca; color: #b91c1c; padding: 1rem;
  border-radius: var(--radius); margin-bottom: 1.5rem;
  display: flex; align-items: center; gap: 0.5rem;
}

.toast-container { position: fixed; bottom: 1rem; right: 1rem; z-index: 1050; }
.toast {
  background-color: var(--card); color: var(--card-foreground);
  border-radius: var(--radius); box-shadow: var(--shadow-lg);
  padding: 1rem; margin-top: 0.5rem; display: flex; flex-direction: column;
  gap: 0.25rem; max-width: 350px; transform: translateY(100%);
  opacity: 0; transition: transform 0.3s ease, opacity 0.3s ease;
}
.toast.show { transform: translateY(0); opacity: 1; }
.toast-title { font-weight: 600; font-size: 0.875rem; color: var(--primary); }
.toast-description { font-size: 0.75rem; color: var(--muted-foreground); }

footer {
  text-align: center; margin-top: 3rem; padding-bottom: 2rem;
  color: var(--muted-foreground); font-size: 0.875rem;
}

/* ------------------------- */
/* Ajustes Responsivos     */
/* ------------------------- */
@media (max-width: 640px) {
  h1 { font-size: 1.5rem; }
  h2 { font-size: 1.25rem; }

  .team-logo {
    width: 18px; /* Logo un poco más pequeño en móvil */
    height: 18px;
  }
  .team-cell {
    padding: 0.2rem; /* Menos padding en la celda del equipo */
    gap: 0.2rem; /* Menos espacio entre logo y nombre */
  }
  .date-title { font-size: 1rem; }
  .select { padding: 0.6rem 0.8rem; font-size: 0.9rem; }

  /* --- Tabla de Posiciones (Standings Table) Móvil - Estilo Original Compacto --- */
  #standingsTable .table-container {
      overflow-x: auto; /* Asegura el desplazamiento horizontal si es necesario */
      -webkit-overflow-scrolling: touch;
  }
  #standingsTable thead {
    display: table-header-group; /* Asegura que la cabecera sea visible */
  }

  /* Estilos generales para celdas de cabecera y datos en la tabla de posiciones */
  #standingsTable th,
  #standingsTable td {
    display: table-cell; /* Comportamiento de celda normal */
    font-size: 0.62rem;   /* Fuente MUY pequeña. Ajusta si es ilegible */
    padding: 0.25rem 0.1rem; /* Padding MUY reducido. Ajusta según necesidad */
    text-align: center !important; /* Forzar centrado para la mayoría de las celdas */
    white-space: nowrap !important; /* Evitar que el contenido se divida en líneas */
    vertical-align: middle; /* Alinear verticalmente */
  }

  /* Cabecera "Club" y celda del "Club" */
  #standingsTable th:nth-of-type(2), /* Cabecera "Club" */
  #standingsTable td:nth-of-type(2) { /* Celda que contiene el equipo */
    text-align: left !important; /* Club alineado a la izquierda */
    /* AJUSTA EL SIGUIENTE VALOR según el nombre de equipo más largo que tengas: */
    min-width: 120px;    /* Ejemplo: Incrementado para más espacio. Prueba con 100px, 120px, 140px, etc. */
    padding-left: 0.3rem !important; /* Un poco más de padding izquierdo para el club */
    padding-right: 0.3rem !important; /* Un poco de padding derecho */
    white-space: nowrap !important; /* Asegurar que la celda en sí no divida el contenido */
  }

  /* Ajuste para el nombre del equipo dentro de la celda del Club */
  #standingsTable td:nth-of-type(2) .team-name {
     white-space: nowrap !important; /* CLAVE: Asegurar que el nombre NO se divida en líneas */
     overflow: visible !important;    /* CLAVE: Permitir que el contenido se "desborde" de su propio contenedor (la celda lo manejará) */
     text-overflow: clip !important;  /* CLAVE: Evitar puntos suspensivos, simplemente cortar si algo raro pasara */
     vertical-align: middle;
  }
  #standingsTable td:nth-of-type(2) .team-logo {
     width: 16px; /* Ajustar tamaño del logo en esta tabla específica */
     height: 16px;
     vertical-align: middle;
     margin-right: 3px; /* Pequeño espacio entre logo y nombre */
  }


  /* --- Tabla de Resultados (Results Table) Móvil - Estilo que te gustó --- */
  #resultsTable .table-container {
      overflow-x: auto; /* Scroll horizontal como estaba */
      -webkit-overflow-scrolling: touch;
  }
  #resultsTable th,
  #resultsTable td {
    font-size: 0.7rem;    /* Fuente como la tenías */
    padding: 0.4rem 0.2rem; /* Padding como lo tenías */
    white-space: normal;  /* Permitir que el texto se divida si es necesario */
    vertical-align: middle;
  }
   #resultsTable .team-name { /* Nombres de equipo en tabla de resultados */
     white-space: normal;
     font-weight: normal;
     overflow: visible;
     text-overflow: clip;
   }
   #resultsTable th { /* Cabeceras de la tabla de resultados */
     white-space: nowrap;
   }
}/* End custom CSS */