:root{
  --mcf-navy:#0e2a47;
  --mcf-navy-2:#113255;
  --mcf-blue:#0c5adb;
  --mcf-blue-2:#0a4ec2;
  --mcf-green:#16a34a;
  --mcf-red:#ef4444;
  --mcf-amber:#f59e0b;
  --mcf-text:#0f172a;
  --mcf-muted:#6b7280;
  --mcf-line:#e8ecf3;
  --mcf-card:#ffffff;
  --mcf-bg:#f6f8fc;
  --mcf-radius:14px;
  --mcf-radius-sm:10px;
  --mcf-shadow:0 10px 30px rgba(14,42,71,.08);
  --mcf-shadow-sm:0 6px 20px rgba(14,42,71,.06);
}

/* Secciones generales */
.mcf-section-title{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:600;
  font-size:.95rem;
  text-align:center;
  position:relative;
  margin:22px 0 14px;
}
.mcf-section-title:after{
  content:"";
  display:block;
  width:64px;height:3px;
  margin:10px auto 0;
  background:linear-gradient(90deg,var(--mcf-blue),var(--mcf-navy));
  border-radius:999px;
}

.mcf-card{
  background:var(--mcf-card);
  border:1px solid var(--mcf-line);
  border-radius:var(--mcf-radius);
  box-shadow:var(--mcf-shadow);
  padding:16px;
}

/* ====== Siguiente partido [proximo] ====== */

.wpb_wrapper h3,.mcf-proximo h3{
  margin:0 0 14px;
  text-transform:uppercase;
  text-align:center;
}
.mcf-proximo-equipos{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:12px;
  align-items:center;
  justify-items:center;
}
.mcf-proximo-equipos img{
  width:60px;height:60px;
  object-fit:contain;
}
.mcf-proximo-equipos .equipo-local,
.mcf-proximo-equipos .equipo-visitante{
  display:flex;align-items:center;gap:10px;font-weight:600;
}
.mcf-proximo-equipos strong{font-weight:600;}
.mcf-proximo-fecha{
  margin-top:10px;
  text-align:center;
  font-weight:300;
}
.mcf-proximo-marcador{
  margin-top:6px;
  text-align:center;
  font-size:1.4rem;
  font-weight:600;
}
.mcf-proximo .button,.mcf-proximo .mcf-btn{
  display:inline-flex;align-items:center;gap:8px;
  margin:12px auto 0; padding:8px 14px;
  border-radius:999px;border:1px solid var(--mcf-blue);
  background:var(--mcf-blue);color:#fff;text-decoration:none
}
.mcf-proximo .button:hover,.mcf-proximo .mcf-btn:hover{background:var(--mcf-blue-2);border-color:var(--mcf-blue-2)}

/* Cuenta atrás genérica */
.mcf-countdown{
  margin:12px auto 0;
  display:grid;grid-template-columns:repeat(4,minmax(80px,1fr));
  gap:10px;max-width:520px
}
.mcf-countdown .mcf-box{
  background:#f4f7ff;border:1px solid #e4ebff;
  border-radius:12px;padding:10px;
  text-align:center;
}
.mcf-countdown .num{font-size:1.5rem;font-weight:600;}
.mcf-countdown .label{font-size:.72rem;color:var(--mcf-blue);text-transform:uppercase;letter-spacing:.1em;margin-top:2px}
@media (max-width:560px){.mcf-countdown{grid-template-columns:repeat(2,minmax(110px,1fr))}}

/* ====== Lista de próximos [proximos] ====== */
.mcf-proximos{
  list-style:none;margin:0;padding:0;
  border:1px solid var(--mcf-line);
  border-radius:var(--mcf-radius);
  overflow:hidden;background:#fff;box-shadow:var(--mcf-shadow-sm)
}
.mcf-proximos li{
  display:grid;grid-template-columns:1fr auto;gap:12px;
  padding:12px 14px;border-bottom:1px solid var(--mcf-line);align-items:center
}
.mcf-proximos li:last-child{border-bottom:none}
.mcf-proximos a{
  font-weight:600;text-decoration:none
}
.mcf-proximos a:hover{color:var(--mcf-blue)}
.mcf-proximos time{color:var(--mcf-muted);font-weight:600}


/* ====== Clasificación [clasificacion] ====== */
.mcf-clasificacion{
  width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;
}
.mcf-clasificacion thead th{
  color:#000;text-transform:uppercase;letter-spacing:.08em;
  font-size:.82rem;padding:12px;border-bottom:1px solid #555555;text-align:center
}
.mcf-clasificacion thead th:nth-child(2){text-align:left}
.mcf-clasificacion tbody td{
  padding:12px;border-bottom:1px solid var(--mcf-line);text-align:center
}
.mcf-leyenda{font-size:.65rem;}
.mcf-clasificacion tbody td:nth-child(2){text-align:left;font-weight:700;color:var(--mcf-text)}
.mcf-clasificacion tbody tr:nth-child(2n){background:var(--mcf-bg)}
.mcf-clasificacion tbody tr:hover{background:#eef6ff}
.mcf-clasificacion tbody tr:first-child td{
  font-weight:600
}

/* ====== Listas genéricas de partidos (por si se usan en plantillas) ====== */
.mcf-list{list-style:none;margin:0;padding:0}
.mcf-list .mcf-item{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:12px 14px;background:#fff;border:1px solid var(--mcf-line);
  border-radius:12px;box-shadow:var(--mcf-shadow-sm)
}
.mcf-list .mcf-item + .mcf-item{margin-top:10px}
.mcf-list .teams{font-weight:600;color:var(--mcf-text)}
.mcf-list .when{color:var(--mcf-muted);min-width:160px}
.mcf-list .score{min-width:70px;text-align:center;font-weight:600;color:var(--mcf-navy)}

/* ====== SINGLE Equipo (refuerzo) ====== */
.team-card{background:#fff;border:1px solid var(--mcf-line);box-shadow:var(--mcf-shadow-sm)}
.players ul li{background:#fff;border:1px solid var(--mcf-line)}

/* ====== Widgets en sidebar ====== */
.widget .mcf-proximo,
.widget .mcf-resultados,
.widget .mcf-proximos,
.widget .mcf-clasificacion{
  box-shadow:none;border-radius:12px
}

/* ====== Utilidades / estados ====== */
.mcf-badge{
  display:inline-block;background:#eef6ff;color:var(--mcf-blue);
  border:1px solid #dbe9ff;border-radius:999px;padding:.2rem .55rem;font-weight:700;font-size:.75rem
}
.mcf-badge.win{background:#ecfdf5;border-color:#cdeccf;color:var(--mcf-green)}
.mcf-badge.lose{background:#fef2f2;border-color:#fecaca;color:var(--mcf-red)}
.mcf-badge.draw{background:#fffbeb;border-color:#fde68a;color:var(--mcf-amber)}

/* ====== Responsivo ====== */
@media (max-width:720px){
  .mcf-proximo-equipos{grid-template-columns:1fr;gap:6px}
  .mcf-proximo-equipos .equipo-visitante{flex-direction:row-reverse}
  .mcf-proximo .button,.mcf-proximo .mcf-btn{width:100%;justify-content:center}
}

/* === RESULTADOS (2 líneas por partido) === */

.mcf-resultados.mcf-resultados-stack {
    list-style: none;
    margin: 0;
    padding: 0;
    border-top: 5px solid #e0e0e0;
    background: #f7f7f7;
    overflow: hidden;
}
.mcf-resultados.mcf-resultados-stack .mcf-res-item{
  padding:0px 14px;
}

.mcf-resultados.mcf-resultados-stack .mcf-res-line{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:10px;
  padding:6px 0;
}
.mcf-resultados.mcf-resultados-stack .mcf-res-team{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.mcf-resultados.mcf-resultados-stack .mcf-res-logo img,
.mcf-resultados.mcf-resultados-stack .mcf-res-logo span{
  width:30px;height:30px;
  object-fit:contain;
  display:inline-block;
}
.mcf-resultados.mcf-resultados-stack .mcf-res-name{
  font-weight:600;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.mcf-resultados.mcf-resultados-stack .mcf-res-score {
  justify-self: end;
}
.mcf-resultados.mcf-resultados-stack .mcf-res-score a{
  display:inline-block;
  min-width:56px;
  text-align:center;
  text-decoration:none;
  font-weight:600;
  background:#f4f7ff;
  border:1px solid #e4ebff;
  border-radius:10px;
  padding:3px 10px;
  color:#000000;
}
.mcf-resultados.mcf-resultados-stack .mcf-res-score a:hover{
  background:#eaf1ff;
  border-color:#d7e5ff;
}
.mcf-resultados.mcf-resultados-stack .mcf-res-date{
  margin-top:3px;
  text-align:center;
  font-weight:300;
  font-size:.8rem;
}
.mcf-resultados.mcf-resultados-stack .mcf-res-divider{
  margin-top:5px;
  height:1px;
  background:var(--mcf-line, #e8ecf3);
}
.mcf-resultados.mcf-resultados-stack .mcf-res-item:last-child .mcf-res-divider{
  display:none;
}

/* Responsive */
@media (max-width:560px){
  .mcf-resultados.mcf-resultados-stack .mcf-res-line{
    grid-template-columns:1fr auto;
  }
  .mcf-resultados.mcf-resultados-stack .mcf-res-team{
    gap:8px;
  }
  .mcf-resultados.mcf-resultados-stack .mcf-res-score a{
    min-width:48px;
    padding:5px 8px;
  }
}


.mcf-hero-wrap{
  position:relative;
  width:100%;
  max-width:100%;
  height:min(600px,65vh);
  max-height:600px;
  overflow:hidden;
  font-family:sans-serif;
}
.mcf-hero{
  position:absolute;
  inset:0;
  overflow:hidden;
}
.mcf-hero img{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  min-width:100%;
  min-height:100%;
  width:auto;
  height:auto;
  object-fit:cover;
  will-change:transform;
}
.mcf-hero-wrap.is-parallax .mcf-hero img{
  transform:translate3d(-50%, calc(-50% + var(--mcf-parallax, 0px)), 0);
}
.mcf-hero-title{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  margin:0;
  padding:0 1rem;
  color:#fff;
  font-size:clamp(1.6rem,3vw,2.4rem);
  text-align:center;
  text-shadow:0 0 10px rgba(0,0,0,.8);
  z-index:2;
}
@media (max-width:600px){
  .mcf-hero-wrap{height:min(420px,55vh)}
}