/* ==================================================================
   MODO OSCURO — detalle de categoría (y sus secciones)
   El atributo `data-theme="dark"` solo lo pone torneos/base.html cuando
   hay `categoria`, así que ninguna otra página del sitio se ve afectada.
   Paleta alineada con el modo oscuro del panel de administración.
   ================================================================== */

[data-theme="dark"] {
    color-scheme: dark;
    --cat-bg: #0b1220;
    --cat-surface: #131e31;
    --cat-surface-2: #1a2740;
    --cat-border: #26344d;
    --cat-border-soft: #1e2b42;
    --cat-text: #e6edf7;
    --cat-muted: #93a4bd;
    --cat-accent: #6ea8fe;
}

/* --- Base --- */
html[data-theme="dark"] body {
    background: var(--cat-bg) !important;
    color: var(--cat-text);
}

[data-theme="dark"] .block-content,
[data-theme="dark"] main.container {
    color: var(--cat-text);
}

/* --- Barra superior y pie: franja tricolor sobre base oscura --- */
[data-theme="dark"] nav.navbar.gradient-bg {
    background: linear-gradient(120deg,
        #001436 0 2.5%,
        #2fec00 2.5% 5%,
        #b4b4b4 5% 7.5%,
        #0f1a2b 7.5% 100%) !important;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
}

[data-theme="dark"] footer.gradient-bg {
    background: linear-gradient(120deg,
        #001436 0 2.5%,
        #2fec00 2.5% 5%,
        #b4b4b4 5% 7.5%,
        #0d1726 7.5% 100%) !important;
}

[data-theme="dark"] .navbar,
[data-theme="dark"] .navbar-nav .nav-link,
[data-theme="dark"] .navbar-brand,
[data-theme="dark"] .navbar-toggler,
[data-theme="dark"] .navbar-nav .dropdown-menu {
    color: #dbe7f7 !important;
}

[data-theme="dark"] .navbar-nav .nav-link.active,
[data-theme="dark"] .navbar-nav .nav-link:hover,
[data-theme="dark"] .navbar-nav .nav-link:focus {
    color: var(--cat-accent) !important;
}

[data-theme="dark"] .navbar-nav .dropdown-menu {
    background-color: var(--cat-surface-2);
    border-color: var(--cat-border);
}

[data-theme="dark"] .navbar-nav .dropdown-item {
    color: var(--cat-text);
}

[data-theme="dark"] .navbar-nav .dropdown-item:hover,
[data-theme="dark"] .navbar-nav .dropdown-item:focus {
    background-color: #22314a;
    color: #fff;
}

[data-theme="dark"] .navbar-toggler-icon::before {
    background: repeating-linear-gradient(
        to bottom,
        #dbe7f7 0 3px,
        transparent 3px 6px
    );
}

/* --- Encabezado de la categoría --- */
[data-theme="dark"] .torneos-header {
    background: linear-gradient(120deg,
        #001436 0 2.5%,
        #1f9e3a 2.5% 5%,
        #b4b4b4 5% 7.5%,
        #101c2e 7.5% 100%) !important;
    border-color: #1f9e3a;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.45);
}

[data-theme="dark"] .torneos-header .card-body {
    color: var(--cat-text);
}

[data-theme="dark"] .text-navy {
    color: var(--cat-text) !important;
}

[data-theme="dark"] .torneos-header .h4,
[data-theme="dark"] .torneos-header .h3,
[data-theme="dark"] #cate,
[data-theme="dark"] .nametor {
    color: var(--cat-text) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

/* Controles del encabezado (temporada, botones) */
[data-theme="dark"] .categoria-header-control {
    background-color: var(--cat-surface-2);
    border-color: var(--cat-border);
    color: var(--cat-text);
}

[data-theme="dark"] .categoria-header-control:focus {
    background-color: var(--cat-surface-2);
    border-color: var(--navy-accent, #0099ff);
    color: #fff;
    box-shadow: 0 0 0 3px rgba(0, 153, 255, 0.2);
}

[data-theme="dark"] select.categoria-header-control option {
    background-color: var(--cat-surface-2);
    color: var(--cat-text);
}

[data-theme="dark"] .btn-navy {
    background-color: #14416f;
    border-color: #14416f;
    color: #fff;
}

[data-theme="dark"] .btn-navy:hover,
[data-theme="dark"] .btn-navy:focus {
    background-color: #1b5290;
    border-color: #1b5290;
    color: #fff;
}

/* Botón de tema en la navbar (solo páginas de categoría) */
.btn-tema-nav {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: none;
    border: 0;
    cursor: pointer;
    white-space: nowrap;
    line-height: inherit;
    font: inherit;
    color: inherit;
}

.btn-tema-nav:hover {
    text-decoration: none;
}

.btn-tema-nav:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
    border-radius: 6px;
}

.btn-tema-nav[aria-pressed="true"] {
    color: #b8860b !important;
}

[data-theme="dark"] .btn-tema-nav[aria-pressed="true"] {
    color: #ffd75e !important;
}

/* Variante compacta para la barra móvil (solo icono) */
.btn-tema-nav-icono {
    padding: 0 2px;
    line-height: 1;
    color: #0a2342;
}

[data-theme="dark"] .btn-tema-nav-icono {
    color: #dbe7f7;
}

/* --- Pestañas de secciones --- */
[data-theme="dark"] .torneos-nav,
[data-theme="dark"] .torneos-nav-mobile {
    background-color: transparent;
    border-color: var(--cat-border);
}

[data-theme="dark"] .torneos-nav .nav-link,
[data-theme="dark"] .torneos-nav-mobile .nav-link {
    background-color: #16233a;
    border-color: var(--cat-border);
    color: #cddcf0;
}

[data-theme="dark"] .torneos-nav .nav-link:hover,
[data-theme="dark"] .torneos-nav-mobile .nav-link:hover {
    background-color: #22314a;
    color: #fff;
}

[data-theme="dark"] .torneos-nav .nav-link.active,
[data-theme="dark"] .torneos-nav-mobile .nav-link.active {
    background-color: #14416f;
    border-color: #2f6bb0;
    color: #fff;
}

[data-theme="dark"] .menu-toggle-btn-header {
    background-color: var(--cat-surface-2);
    border-color: var(--cat-border);
    color: var(--cat-text);
}

/* --- Tarjetas de contenido --- */
[data-theme="dark"] .block-content .card {
    background-color: var(--cat-surface);
    border-color: var(--cat-border);
    color: var(--cat-text);
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .block-content .section-card {
    background-color: var(--cat-surface);
    border-color: var(--cat-border);
    color: var(--cat-text);
}

[data-theme="dark"] .block-content .section-card .card-header {
    background: var(--cat-surface-2);
    border-bottom-color: var(--cat-border);
    color: var(--cat-text);
}

[data-theme="dark"] .block-content .card-header {
    color: var(--cat-text);
    border-bottom-color: var(--cat-border);
}

[data-theme="dark"] .block-content .card-header h3,
[data-theme="dark"] .block-content .card-header h5,
[data-theme="dark"] #title-contenido,
[data-theme="dark"] .block-content .card-title {
    color: var(--cat-text) !important;
}

[data-theme="dark"] .block-content .card-body,
[data-theme="dark"] .block-content .card-text {
    color: var(--cat-text);
}

[data-theme="dark"] .block-content .card-text.text-muted,
[data-theme="dark"] .block-content small.text-muted,
[data-theme="dark"] .block-content .text-muted {
    color: var(--cat-muted) !important;
}

[data-theme="dark"] .block-content .card-gradient {
    background: linear-gradient(120deg, #16233a 0%, #101c2e 100%) !important;
}

/* --- Tarjetas de partido (fixture / resultados) --- */
[data-theme="dark"] .match-card {
    background: var(--cat-surface-2);
    border-color: #2b6b7a;
    box-shadow: 0 0 0 3px rgba(8, 247, 254, 0.10), 0 10px 20px rgba(0, 0, 0, 0.45);
    color: var(--cat-text);
}

[data-theme="dark"] .match-card .text-dark,
[data-theme="dark"] .match-card .text-black {
    color: var(--cat-text) !important;
}

[data-theme="dark"] .vs-text {
    background: #0f1a2b;
    color: var(--cat-text);
    border-color: #08f7fe;
}

/* --- Tablas de las secciones --- */
[data-theme="dark"] .block-content table {
    color: var(--cat-text);
    border-color: var(--cat-border);
}

[data-theme="dark"] .block-content thead th {
    background-color: #0f1a2b !important;
    color: #cddcf0 !important;
    border-color: var(--cat-border) !important;
}

[data-theme="dark"] .block-content tbody td {
    background-color: transparent !important;
    color: var(--cat-text) !important;
    border-color: var(--cat-border-soft) !important;
}

[data-theme="dark"] .block-content tbody tr:hover td {
    background-color: rgba(255, 255, 255, 0.04) !important;
}

[data-theme="dark"] .block-content .table-light {
    --bs-table-bg: var(--cat-surface-2);
    --bs-table-color: var(--cat-text);
    background-color: var(--cat-surface-2) !important;
    color: var(--cat-text) !important;
}

[data-theme="dark"] .block-content .table-striped > tbody > tr:nth-of-type(odd) > * {
    background-color: rgba(255, 255, 255, 0.03) !important;
    color: var(--cat-text) !important;
}

/* Clasificación: ya es oscura, se ajusta el contraste de filas alternas */
[data-theme="dark"] .tabla-posiciones {
    background: #0a1a2f !important;
}

[data-theme="dark"] .tabla-posiciones tr.fila-oro > td,
[data-theme="dark"] .tabla-posiciones .fila-oro > td {
    background: linear-gradient(135deg, #2e2716 0%, #241f12 100%) !important;
}

[data-theme="dark"] .tabla-posiciones tr.fila-plata > td,
[data-theme="dark"] .tabla-posiciones .fila-plata > td {
    background: linear-gradient(135deg, #1c2432 0%, #171d28 100%) !important;
}

[data-theme="dark"] .tabla-posiciones tr.fila-bronce > td,
[data-theme="dark"] .tabla-posiciones .fila-bronce > td {
    background: linear-gradient(135deg, #2a2118 0%, #231a12 100%) !important;
}

/* --- Alertas y badges --- */
[data-theme="dark"] .block-content .alert {
    border-color: var(--cat-border);
}

[data-theme="dark"] .block-content .alert-info {
    background-color: #0d3346;
    color: #97dcf5;
}

[data-theme="dark"] .block-content .alert-success {
    background-color: #0e3b26;
    color: #8ff0bb;
}

[data-theme="dark"] .block-content .alert-warning {
    background-color: #3f3310;
    color: #ffdf9a;
}

[data-theme="dark"] .block-content .alert-danger {
    background-color: #45191d;
    color: #ffb3b8;
}

[data-theme="dark"] .block-content .alert-secondary,
[data-theme="dark"] .block-content .alert-light {
    background-color: var(--cat-surface-2);
    color: var(--cat-text);
}

[data-theme="dark"] .block-content .bg-light {
    background-color: var(--cat-surface-2) !important;
    color: var(--cat-text) !important;
}

[data-theme="dark"] .block-content .bg-white {
    background-color: var(--cat-surface) !important;
    color: var(--cat-text) !important;
}

[data-theme="dark"] .block-content .text-dark,
[data-theme="dark"] .block-content .text-black {
    color: var(--cat-text) !important;
}

/* --- Formularios y filtros de sección --- */
[data-theme="dark"] .block-content .form-control,
[data-theme="dark"] .block-content .form-select {
    background-color: #0f1a2b;
    border-color: var(--cat-border);
    color: var(--cat-text);
}

[data-theme="dark"] .block-content .form-control::placeholder {
    color: #6b7f9b;
}

[data-theme="dark"] .block-content .form-control:focus,
[data-theme="dark"] .block-content .form-select:focus {
    background-color: #0f1a2b;
    border-color: var(--navy-accent, #0099ff);
    color: #fff;
}

[data-theme="dark"] .block-content .form-select option {
    background-color: var(--cat-surface-2);
    color: var(--cat-text);
}

[data-theme="dark"] .block-content .input-group-text {
    background-color: var(--cat-surface-2);
    border-color: var(--cat-border);
    color: var(--cat-muted);
}

[data-theme="dark"] .block-content .form-check-input {
    background-color: #0f1a2b;
    border-color: var(--cat-border);
}

/* --- Botones y enlaces --- */
[data-theme="dark"] .block-content .btn-outline-secondary {
    color: #c7d5e8;
    border-color: #3a4c69;
}

[data-theme="dark"] .block-content .btn-outline-secondary:hover {
    background-color: #22314a;
    color: #fff;
}

[data-theme="dark"] .block-content a:not(.btn):not(.nav-link) {
    color: var(--cat-accent);
}

[data-theme="dark"] .block-content a:not(.btn):not(.nav-link):hover {
    color: #c3e0ff;
}

/* --- Modales y separadores --- */
[data-theme="dark"] .block-content .modal-content,
[data-theme="dark"] .modal-content {
    background-color: var(--cat-surface);
    border-color: var(--cat-border);
    color: var(--cat-text);
}

[data-theme="dark"] .block-content .modal-header,
[data-theme="dark"] .block-content .modal-footer {
    border-color: var(--cat-border);
}

[data-theme="dark"] .block-content hr,
[data-theme="dark"] main.container hr {
    border-color: var(--cat-border);
    opacity: 0.6;
}

/* --- Pie de página --- */
[data-theme="dark"] footer .text-muted,
[data-theme="dark"] footer p,
[data-theme="dark"] footer a,
[data-theme="dark"] footer .small {
    color: #cddcf0 !important;
}

[data-theme="dark"] footer hr {
    border-color: rgba(255, 255, 255, 0.18);
}

/* --- Scrollbar --- */
[data-theme="dark"] .block-content .table-responsive::-webkit-scrollbar-thumb {
    background: #3f7cc0;
}

[data-theme="dark"] .block-content {
    scrollbar-color: #3f7cc0 transparent;
}

/* --- Ajustes finos por sección --- */

/* Clasificación: números de posición y ajustes de puntos */
[data-theme="dark"] .pos-numero {
    color: var(--cat-text);
}

[data-theme="dark"] .ajuste-neg {
    background: rgba(255, 92, 92, 0.18);
    color: #ff9d9d;
}

[data-theme="dark"] .ajuste-neutro {
    background: rgba(255, 255, 255, 0.06);
    color: var(--cat-muted);
}

[data-theme="dark"] .pts-badge {
    color: #8ff0bb;
}

[data-theme="dark"] .tabla-simbolos,
[data-theme="dark"] .tabla-posiciones .text-muted {
    color: var(--cat-muted) !important;
}

/* Resultados: marcadores y chips sobre fondo oscuro */
[data-theme="dark"] .team-score {
    color: var(--cat-text);
}

[data-theme="dark"] .team-score.text-success {
    color: #4ade80 !important;
}

[data-theme="dark"] .match-loc {
    background: rgba(8, 247, 254, 0.10);
    color: var(--cat-text);
}

[data-theme="dark"] .match-loc i {
    color: #7bd7f0;
}

[data-theme="dark"] .match-date,
[data-theme="dark"] .match-date-chip,
[data-theme="dark"] .match-time-chip {
    background: #0f1a2b;
    color: var(--cat-text);
    border-color: var(--cat-border);
}

/* Botones de contorno dentro del contenido */
[data-theme="dark"] .block-content .btn-outline-primary {
    color: #8ec5ff;
    border-color: #2f6bb0;
}

[data-theme="dark"] .block-content .btn-outline-primary:hover {
    background-color: #14416f;
    border-color: #4d90d8;
    color: #fff;
}

[data-theme="dark"] .block-content .btn-outline-success {
    color: #7ee2a8;
    border-color: #2f7a52;
}

[data-theme="dark"] .block-content .btn-outline-success:hover {
    background-color: #14532d;
    border-color: #3f9c6a;
    color: #fff;
}

[data-theme="dark"] .block-content .btn-outline-danger {
    color: #ff9d9d;
    border-color: #8b3a3a;
}

[data-theme="dark"] .block-content .btn-outline-danger:hover {
    background-color: #5c2323;
    border-color: #b34d4d;
    color: #fff;
}

[data-theme="dark"] .block-content .btn-outline-warning {
    color: #ffca7a;
    border-color: #8a6320;
}

[data-theme="dark"] .block-content .btn-outline-warning:hover {
    background-color: #6a4a12;
    border-color: #b8862f;
    color: #fff;
}

/* Texto oscuro residual en el contenido */
[data-theme="dark"] .block-content strong,
[data-theme="dark"] .block-content b {
    color: var(--cat-text);
}

[data-theme="dark"] .block-content .text-primary { color: #6ea8fe !important; }
[data-theme="dark"] .block-content .text-success { color: #4ade80 !important; }
[data-theme="dark"] .block-content .text-danger  { color: #ff8f96 !important; }
[data-theme="dark"] .block-content .text-warning { color: #ffd75e !important; }
[data-theme="dark"] .block-content .text-info    { color: #7bd7f0 !important; }
[data-theme="dark"] .block-content .text-secondary { color: #a8bad4 !important; }

/* Diferencia de goles en la clasificación (sustituye colores en línea) */
.dif-goles {
    font-weight: 700;
}

.dif-goles-pos { color: #1f8f4d; }
.dif-goles-neg { color: #c0392b; }
.dif-goles-neutro { color: #6b6b6b; }

[data-theme="dark"] .dif-goles-pos { color: #4ade80; }
[data-theme="dark"] .dif-goles-neg { color: #ff8f96; }
[data-theme="dark"] .dif-goles-neutro { color: var(--cat-muted); }

/* Filas de clasificación (base blanca) y tarjetas de goleadores */
[data-theme="dark"] .fila-flotante {
    background: var(--cat-surface) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.45) !important;
}

[data-theme="dark"] .fila-flotante:hover {
    background: var(--cat-surface-2) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.55) !important;
}

[data-theme="dark"] .fila-flotante > td {
    color: var(--cat-text) !important;
}

[data-theme="dark"] .fila-oro {
    background: #2b2415 !important;
}

[data-theme="dark"] .fila-plata {
    background: #1c2432 !important;
}

[data-theme="dark"] .fila-bronce {
    background: #2a2118 !important;
}

[data-theme="dark"] .fila-oro:hover,
[data-theme="dark"] .fila-plata:hover,
[data-theme="dark"] .fila-bronce:hover {
    background: var(--cat-surface-2) !important;
}

[data-theme="dark"] .tabla-live-badge {
    color: var(--cat-muted);
}

/* Goleadores */
[data-theme="dark"] .top-scorer-card {
    background: var(--cat-surface-2) !important;
    border-color: var(--cat-border);
    color: var(--cat-text);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}

[data-theme="dark"] .top-scorer-card .text-muted,
[data-theme="dark"] .top-scorer-card small {
    color: var(--cat-muted) !important;
}

[data-theme="dark"] .block-content .btn-light {
    background-color: var(--cat-surface-2);
    border-color: var(--cat-border);
    color: var(--cat-text);
}

[data-theme="dark"] .block-content .btn-light:hover {
    background-color: #22314a;
    border-color: #3a4c69;
    color: #fff;
}

/* Paginación de las secciones */
[data-theme="dark"] .block-content .pagination .page-link {
    background-color: var(--cat-surface-2);
    border-color: var(--cat-border);
    color: #cddcf0;
}

[data-theme="dark"] .block-content .pagination .page-link:hover {
    background-color: #22314a;
    border-color: #3a4c69;
    color: #fff;
}

[data-theme="dark"] .block-content .pagination .page-item.active .page-link {
    background-color: #14416f;
    border-color: #2f6bb0;
    color: #fff;
}

[data-theme="dark"] .block-content .pagination .page-item.disabled .page-link {
    background-color: #101a2a;
    border-color: var(--cat-border-soft);
    color: #4a5c78;
}

/* Banda informativa de "Próximos" (trae el fondo en línea) */
[data-theme="dark"] #proximos-info-banner {
    background: linear-gradient(135deg, #16233a, #101c2e) !important;
    border-bottom-color: var(--cat-border) !important;
}

[data-theme="dark"] #proximos-info-banner p {
    color: var(--cat-muted) !important;
}

[data-theme="dark"] #proximos-info-banner strong {
    color: var(--cat-text) !important;
}

/* ------------------------------------------------------------------
   Columnas fijas de la clasificación (móvil)
   clasificacion.css las pinta con `!important` y un fondo opaco claro,
   porque la columna EQUIPO queda `sticky` y necesita tapar el contenido
   que pasa por debajo al deslizar. Se replican aquí con la paleta oscura.
   ------------------------------------------------------------------ */
@media (max-width: 576px) {
    [data-theme="dark"] .tabla-posiciones tbody td:nth-child(1),
    [data-theme="dark"] .fila-flotante td:first-child {
        background-color: #0f1a2b !important;
    }

    [data-theme="dark"] .tabla-posiciones tbody td:nth-child(2) {
        background: var(--cat-surface) !important;
        box-shadow: 6px 0 8px -6px rgba(0, 0, 0, 0.75);
    }

    [data-theme="dark"] .tabla-posiciones tbody tr.fila-oro td:nth-child(2) {
        background: #2b2415 !important;
    }

    [data-theme="dark"] .tabla-posiciones tbody tr.fila-plata td:nth-child(2) {
        background: #1c2432 !important;
    }

    [data-theme="dark"] .tabla-posiciones tbody tr.fila-bronce td:nth-child(2) {
        background: #2a2118 !important;
    }

    [data-theme="dark"] .tabla-posiciones tbody tr.fila-flotante:hover td:nth-child(2) {
        background: var(--cat-surface-2) !important;
    }

    [data-theme="dark"] .tabla-posiciones tbody td:nth-child(1),
    [data-theme="dark"] .tabla-posiciones tbody td:nth-child(2) {
        color: var(--cat-text) !important;
    }
}

/* ------------------------------------------------------------------
   Tarjetas de partido (Próximos, Jornadas pendientes y Resultados)
   resultados.css pinta `.match-card.jugado` con un degradado claro.
   ------------------------------------------------------------------ */
[data-theme="dark"] .match-card,
[data-theme="dark"] .match-card.jugado,
[data-theme="dark"] .match-card.proximo {
    background: var(--cat-surface-2) !important;
    border-color: #2b6b7a;
    box-shadow: 0 0 0 3px rgba(8, 247, 254, 0.10), 0 10px 22px rgba(0, 0, 0, 0.5);
    color: var(--cat-text);
}

[data-theme="dark"] .match-card:hover,
[data-theme="dark"] .match-card.jugado:hover {
    box-shadow: 0 0 0 5px rgba(8, 247, 254, 0.16), 0 16px 28px rgba(0, 0, 0, 0.55);
}

/* El marcador y los nombres siguen legibles sobre la tarjeta oscura */
[data-theme="dark"] .match-card .text-dark,
[data-theme="dark"] .match-card .text-black,
[data-theme="dark"] .match-card .fw-bold,
[data-theme="dark"] .match-card .fw-semibold {
    color: var(--cat-text) !important;
}

[data-theme="dark"] .match-card .text-muted,
[data-theme="dark"] .match-card small {
    color: var(--cat-muted) !important;
}

[data-theme="dark"] .match-card .match-loc {
    background: rgba(8, 247, 254, 0.10);
    color: var(--cat-text);
}

[data-theme="dark"] .match-card .match-loc i {
    color: #7bd7f0;
}

[data-theme="dark"] .match-card .match-date,
[data-theme="dark"] .match-card .match-date-chip,
[data-theme="dark"] .match-card .match-time-chip {
    background: #0f1a2b;
    color: var(--cat-text);
    border-color: var(--cat-border);
}

[data-theme="dark"] .match-card .team-score {
    color: var(--cat-text);
}

[data-theme="dark"] .match-card .team-score.text-success {
    color: #4ade80 !important;
}

[data-theme="dark"] .match-card .btn-outline-primary,
[data-theme="dark"] .match-card .btn-outline-secondary {
    color: #8ec5ff;
    border-color: #2f6bb0;
}

/* ------------------------------------------------------------------
   Iconos y textos de la barra móvil (panel por rol y usuario).
   Antes llevaban `color: #0a2342` en línea, así que no cambiaban con
   el tema: sobre el navbar oscuro quedaban invisibles.
   ------------------------------------------------------------------ */
[data-theme="dark"] .nav-icono-movil,
[data-theme="dark"] .nav-texto-movil {
    color: #dbe7f7 !important;
}

[data-theme="dark"] .d-lg-none a[title] .nav-icono-movil {
    color: #8ec5ff !important;
}

/* ------------------------------------------------------------------
   Contraste de la información del partido en modo oscuro.
   `.match-status` (badge "J3") y `.team-name` del lado derecho llevan
   colores pensados para tarjeta blanca (#0a2342 / #000538), así que
   sobre la tarjeta oscura se perdían.
   ------------------------------------------------------------------ */
[data-theme="dark"] .match-card .match-status {
    color: var(--cat-text) !important;
    border-color: rgba(8, 247, 254, 0.45) !important;
    background: rgba(8, 247, 254, 0.12) !important;
}

/* Jornada de un partido pendiente: acento cian para distinguirla */
[data-theme="dark"] .match-card .match-status.status-proximo {
    color: #8ff0ff !important;
    background: rgba(8, 247, 254, 0.16) !important;
}

/* Jornada de un partido ya jugado */
[data-theme="dark"] .match-card .match-status.status-jugado {
    color: #8ff0bb !important;
    background: rgba(25, 135, 84, 0.28) !important;
    border-color: rgba(25, 135, 84, 0.55) !important;
}

/* Nombre del equipo */
[data-theme="dark"] .match-card .team-name {
    color: var(--cat-text) !important;
}

/* ------------------------------------------------------------------
   Móvil: la tarjeta parte el fondo en dos mitades (`.split-background`).
   El equipo local queda sobre la mitad azul y el visitante sobre la
   mitad clara; por eso cada nombre necesita su propio color. Antes ambos
   eran claros y el de la mitad clara se perdía (contraste 1.1:1).
   ------------------------------------------------------------------ */
@media (max-width: 576px) {
    [data-theme="dark"] #proximos-partidos-card .match-card.proximo .split-background {
        background: linear-gradient(90deg, #0d3b7a 0%, #14416f 50%, #e6edf7 50%, #cbd5e1 100%);
    }

    /* Local: sobre la mitad azul */
    [data-theme="dark"] #proximos-partidos-card .match-card.proximo .left-team .team-name {
        color: #f1f5f9 !important;
    }

    /* Visitante: sobre la mitad clara */
    [data-theme="dark"] #proximos-partidos-card .match-card.proximo .right-team .team-name {
        color: #0a2342 !important;
    }

    /* Descansa: el fondo gris claro ya existe y mantiene su texto oscuro */
    [data-theme="dark"] #proximos-partidos-card .match-card.proximo .descanso-bg ~ .team-row .team-name {
        color: #1f2937 !important;
    }
}

/* Escritorio: las filas de equipo son de ancho completo y el nombre cruza
   ambas mitades, así que el fondo se unifica en tonos oscuros. */
@media (min-width: 577px) {
    [data-theme="dark"] #proximos-partidos-card .match-card.proximo .split-background {
        background: linear-gradient(90deg, #0d3b7a 0%, #14416f 100%);
    }
}

/* Los chips de fecha/hora/campo mantienen el texto claro */
[data-theme="dark"] .match-card .match-date-chip,
[data-theme="dark"] .match-card .match-time-chip {
    color: var(--cat-text) !important;
}

[data-theme="dark"] .match-card .match-date-chip i,
[data-theme="dark"] .match-card .match-time-chip i {
    color: #7bd7f0;
}

/* ------------------------------------------------------------------
   Leyenda de fechas sobre las tarjetas de próximos enfrentamientos.
   Usa `#001b36` (casi negro) porque la tarjeta es clara; en oscuro se
   perdía contra el fondo de la tarjeta.
   ------------------------------------------------------------------ */
[data-theme="dark"] #proximos-partidos-card .proximos-fechas-leyenda,
[data-theme="dark"] .proximos-fechas-leyenda {
    color: var(--cat-text) !important;
}

[data-theme="dark"] #proximos-partidos-card .proximos-fechas-leyenda i,
[data-theme="dark"] .proximos-fechas-leyenda i {
    color: #7bd7f0 !important;
    opacity: 1;
}

[data-theme="dark"] #proximos-partidos-card .proximos-fechas-leyenda small,
[data-theme="dark"] .proximos-fechas-leyenda small {
    color: inherit !important;
}
