/* Ligas Central: partidos públicos v2.5. No afecta el panel administrativo. */
.lc-matches-v25{--mc-navy:#193e78;--mc-line:#dbe5f2;--mc-ink:#172b49;--mc-muted:#64748b;color:var(--mc-ink);font-size:14px}
.lc-matches-v25 *{box-sizing:border-box}
.lc-matches-head{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(120deg,#193e78,#254f91);color:#fff;border-radius:16px;padding:25px 28px}
.lc-matches-eyebrow{font-size:10px;font-weight:850;letter-spacing:1.7px;color:#ffdf65;margin:0 0 7px}
.lc-matches-head h2{font-size:25px;color:#fff;letter-spacing:-.6px;margin:0 0 8px}
.lc-matches-description{font-size:13px;color:#d7e3f6;line-height:1.5;margin:0}
.lc-matches-summary{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:94px;padding:10px 15px;border:1px solid #ffffff30;border-radius:12px;background:#ffffff12}
.lc-matches-summary strong{font-size:28px;line-height:1.15}.lc-matches-summary span{font-size:9px;letter-spacing:1.5px;font-weight:800;color:#d6e5ff;margin-top:5px}
.lc-matches-stats{display:flex;gap:20px;flex-wrap:wrap;margin:17px 1px 22px;font-size:12px;font-weight:650;color:#526681}
.lc-matches-stats>span{display:inline-flex;align-items:center;gap:7px}.lc-match-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:#e4ac27}.lc-match-dot.is-done{background:#2ca86b}.lc-match-dot.is-other{background:#8b9bb1}
.lc-match-filters{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.lc-match-filter{display:flex;flex-direction:column;gap:7px;min-width:0;flex:1 1 190px;font-size:11px;font-weight:800;color:#64748b}
.lc-match-filter:last-child{flex:1.3 1 220px}.lc-match-filter select{width:100%;min-width:0;height:43px;padding:9px 34px 9px 12px;border:1px solid #d5dfed;border-radius:9px;background:#fff;color:#243b5a;font-size:13px;font-weight:650}
.lc-match-filter select:focus-visible,.lc-match-round-nav button:focus-visible{outline:3px solid #ffdc5c;outline-offset:2px}
.lc-matches-results{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:43px;margin:0 0 12px;color:#60758f;font-size:12px;font-weight:650}
.lc-match-round-nav{display:flex;align-items:center;gap:12px;color:#193e78;font-size:12px;font-weight:800}
.lc-match-round-nav button{width:31px;height:31px;border:1px solid #dbe5f2;border-radius:8px;padding:0;background:#fff;color:#193e78;font-size:22px;line-height:1}
.lc-match-round-nav button:hover:not(:disabled){background:#edf3fb}.lc-match-round-nav button:disabled{opacity:.3;cursor:default}
.lc-matches-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.lc-match-card{min-width:0;background:#fff;border:1px solid var(--mc-line);border-radius:14px;overflow:hidden;box-shadow:0 3px 12px #193e7807;transition:box-shadow .15s,border-color .15s}
.lc-match-card:hover{border-color:#b8cae5;box-shadow:0 7px 22px #193e7810}
.lc-match-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;border-bottom:1px solid #edf1f7;background:#f9fbfe}
.lc-match-round{font-size:11px;font-weight:850;color:#254c85}.lc-match-status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:20px;font-size:10px;font-weight:850;white-space:nowrap}
.lc-match-status.is-finished{background:#e7f6ec;color:#21794b}.lc-match-status.is-pending{background:#fff4d6;color:#8a6209}
.lc-match-card-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(86px,auto) minmax(0,1fr);align-items:center;gap:8px;padding:21px 14px 18px;min-height:166px}
.lc-match-team{min-width:0;display:flex;justify-content:center;align-items:center;text-align:center}.lc-match-team .team-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-width:0;max-width:100%;width:100%}
.lc-match-team .team-crest,.lc-match-team .team-crest-fallback{width:46px!important;height:46px!important;max-width:46px!important;max-height:46px!important;flex:0 0 46px!important;object-fit:contain}
.lc-match-team .team-crest[hidden],.lc-match-team .team-crest-fallback[hidden]{display:none!important}
.lc-match-team .team-cell-name{font-size:12px;line-height:1.35;overflow-wrap:anywhere;text-align:center;font-weight:700;color:#334761;max-width:100%}
.lc-match-team.is-winner .team-cell-name{color:#193e78;font-weight:850}
.lc-match-center{display:flex;align-items:center;flex-direction:column;gap:8px;min-width:0}
.lc-match-score{display:flex;align-items:center;justify-content:center;gap:9px;min-width:86px;padding:11px 12px;border-radius:10px;background:#193e78;color:#fff;font-size:24px;font-weight:850;font-variant-numeric:tabular-nums;letter-spacing:-.5px;line-height:1}
.lc-match-score-divider{color:#ffda4a;font-size:18px;font-weight:700}.lc-match-score.is-unplayed{background:#edf2f9;color:#64748b}
.lc-match-vs{font-size:19px;letter-spacing:1px}.lc-match-center-label{font-size:9px;font-weight:850;letter-spacing:1px;color:#8795aa;text-align:center;white-space:nowrap}
.lc-match-card-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid #edf1f7;color:#64748b;font-size:11px;font-weight:650}
.lc-match-date{min-width:0;overflow-wrap:anywhere}.lc-match-time{white-space:nowrap;font-weight:800;color:#334d74}
.lc-matches-empty{padding:35px 20px;text-align:center;border:1px dashed #c8d6e8;border-radius:12px;background:#f8fbff;color:#60758f;line-height:1.6}
.lc-matches-footnote{padding:20px 2px 4px;color:#8896aa;font-size:11px;line-height:1.5}
@media(max-width:900px){.lc-matches-grid{grid-template-columns:minmax(0,1fr)}.lc-match-card-body{min-height:156px}}
@media(max-width:520px){.lc-matches-head{padding:22px 18px;align-items:flex-start}.lc-matches-head h2{font-size:22px}.lc-matches-description{font-size:12px}.lc-matches-summary{min-width:62px;padding:9px}.lc-matches-summary strong{font-size:23px}.lc-matches-summary span{font-size:8px}.lc-match-filters{gap:10px}.lc-match-filter{flex:1 1 135px}.lc-match-filter:last-child{flex:1 1 100%}.lc-match-card-body{grid-template-columns:minmax(0,1fr) minmax(80px,auto) minmax(0,1fr);gap:5px;padding:18px 10px}.lc-match-team .team-crest,.lc-match-team .team-crest-fallback{width:40px!important;height:40px!important;max-width:40px!important;max-height:40px!important;flex-basis:40px!important}.lc-match-team .team-cell-name{font-size:11px}.lc-match-score{font-size:22px;gap:6px;padding:10px;min-width:80px}.lc-match-card-foot{flex-wrap:wrap;gap:5px}.lc-match-center-label{font-size:8px}.lc-matches-results{align-items:flex-start;flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){.lc-match-card{transition:none}}
/* =====================================================
   PARTIDOS V2.5 · EFECTO CRISTAL
   Solo afecta la página pública de Partidos
   ===================================================== */

/* El módulo no debe colocar otro fondo sobre el estadio */
html body #lc-matches-v25,
html body #lc-matches-v25 .lc-matches-grid {
    background: transparent !important;
    background-image: none !important;
}

/* Tarjetas de partidos */
html body #lc-matches-v25 .lc-match-card {
    background: rgba(255, 255, 255, .65) !important;
    background-image: none !important;

    border: 1px solid rgba(255, 255, 255, .55) !important;
    border-radius: 18px !important;

    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);

    box-shadow: 0 8px 24px rgba(0, 15, 65, .12) !important;
}

/* Quitar los fondos internos que tapan la transparencia */
html body #lc-matches-v25 .lc-match-card-head,
html body #lc-matches-v25 .lc-match-card-body,
html body #lc-matches-v25 .lc-match-card-foot {
    background: transparent !important;
    background-image: none !important;
}

/* Separadores suaves */
html body #lc-matches-v25 .lc-match-card-head {
    border-bottom: 1px solid rgba(16, 27, 75, .12) !important;
}

html body #lc-matches-v25 .lc-match-card-foot {
    border-top: 1px solid rgba(16, 27, 75, .12) !important;
}

/* Mantener legibles los nombres y fechas */
html body #lc-matches-v25 .lc-match-card {
    color: #172b49 !important;
}

html body #lc-matches-v25 .lc-match-team .team-cell-name,
html body #lc-matches-v25 .lc-match-date,
html body #lc-matches-v25 .lc-match-time {
    color: #172b49 !important;
}

/* El marcador final conserva su azul */
html body #lc-matches-v25 .lc-match-score:not(.is-unplayed) {
    background: #193e78 !important;
    color: #ffffff !important;
}

/* Marcador de partidos todavía sin resultado */
html body #lc-matches-v25 .lc-match-score.is-unplayed {
    background: rgba(255, 255, 255, .85) !important;
    color: #64748b !important;
}

/* Filtros con cristal, pero suficientemente legibles */
html body #lc-matches-v25 .lc-match-filter select {
    background: rgba(255, 255, 255, .88) !important;
    color: #243b5a !important;
    border-color: rgba(255, 255, 255, .55) !important;
}

/* Botones para cambiar de jornada */
html body #lc-matches-v25 .lc-match-round-nav button {
    background: rgba(255, 255, 255, .85) !important;
    color: #193e78 !important;
}

/* Mensaje cuando no hay partidos */
html body #lc-matches-v25 .lc-matches-empty {
    background: rgba(255, 255, 255, .65) !important;
    color: #172b49 !important;
}

/* Efecto suave al pasar el mouse */
html body #lc-matches-v25 .lc-match-card:hover {
    background: rgba(255, 255, 255, .75) !important;
    border-color: rgba(255, 255, 255, .80) !important;
    box-shadow: 0 12px 30px rgba(0, 15, 65, .18) !important;
}
/* Escudos más grandes en las tarjetas de Partidos */

html body #lc-matches-v25 .lc-match-team .team-crest,
html body #lc-matches-v25 .lc-match-team .team-crest-fallback {
    width: 72px !important;
    height: 72px !important;
    min-width: 72px !important;
    min-height: 72px !important;
    max-width: 72px !important;
    max-height: 72px !important;
    flex: 0 0 72px !important;
    object-fit: contain !important;
}

/* Dar espacio al escudo y al nombre */
html body #lc-matches-v25 .lc-match-card-body {
    min-height: 190px;
    padding: 24px 16px;
}

html body #lc-matches-v25 .lc-match-team .team-cell {
    gap: 12px;
}

html body #lc-matches-v25 .lc-match-team .team-cell-name {
    font-size: 13px;
    line-height: 1.35;
}

/* Tamaño adaptable para teléfonos */
@media (max-width: 520px) {
    html body #lc-matches-v25 .lc-match-team .team-crest,
    html body #lc-matches-v25 .lc-match-team .team-crest-fallback {
        width: 56px !important;
        height: 56px !important;
        min-width: 56px !important;
        min-height: 56px !important;
        max-width: 56px !important;
        max-height: 56px !important;
        flex-basis: 56px !important;
    }

    html body #lc-matches-v25 .lc-match-card-body {
        min-height: 170px;
        padding: 18px 10px;
    }

    html body #lc-matches-v25 .lc-match-team .team-cell-name {
        font-size: 11px;
    }
}
/* =====================================================
   PARTIDOS · LEGIBILIDAD SOBRE FONDO DE ESTADIO
   ===================================================== */

/* Resumen: finalizados, por jugar y otros estados */
html body #lc-matches-v25 .lc-matches-stats {
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-shadow: 0 1px 3px rgba(0, 15, 65, .45);
}

html body #lc-matches-v25 .lc-matches-stats > span {
    color: #ffffff !important;
}

/* Etiquetas de los filtros */
html body #lc-matches-v25 .lc-match-filter {
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    text-shadow: 0 1px 3px rgba(0, 15, 65, .45);
}

/* Texto dentro de los selectores */
html body #lc-matches-v25 .lc-match-filter select {
    background: rgba(255, 255, 255, .92) !important;
    color: #10244d !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    text-shadow: none !important;
}

/* Cantidad de partidos encontrados */
html body #lc-matches-v25 .lc-matches-results {
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-shadow: 0 1px 3px rgba(0, 15, 65, .45);
}

/* Navegación de jornadas */
html body #lc-matches-v25 .lc-match-round-nav {
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    text-shadow: 0 1px 3px rgba(0, 15, 65, .45);
}

html body #lc-matches-v25 .lc-match-round-nav button {
    background: rgba(255, 255, 255, .92) !important;
    color: #10244d !important;
    text-shadow: none !important;
}

/* Textos dentro de las tarjetas */
html body #lc-matches-v25 .lc-match-round,
html body #lc-matches-v25 .lc-match-team .team-cell-name,
html body #lc-matches-v25 .lc-match-date,
html body #lc-matches-v25 .lc-match-time {
    color: #10244d !important;
    font-weight: 800 !important;
    text-shadow: none !important;
}

/* Etiqueta debajo del marcador */
html body #lc-matches-v25 .lc-match-center-label {
    color: #344b70 !important;
    font-size: 10px !important;
    font-weight: 850 !important;
}

/* Marcador pendiente: gris más oscuro y legible */
html body #lc-matches-v25 .lc-match-score.is-unplayed {
    background: rgba(255, 255, 255, .92) !important;
    color: #344b70 !important;
}

/* Nota inferior del módulo */
html body #lc-matches-v25 .lc-matches-footnote {
    color: #ffffff !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    text-shadow: 0 1px 3px rgba(0, 15, 65, .45);
}

/* Ajuste para teléfonos */
@media (max-width: 520px) {
    html body #lc-matches-v25 .lc-matches-stats,
    html body #lc-matches-v25 .lc-matches-results {
        font-size: 12px !important;
    }

    html body #lc-matches-v25 .lc-match-filter {
        font-size: 12px !important;
    }

    html body #lc-matches-v25 .lc-match-team .team-cell-name {
        font-size: 12px !important;
    }
}
