/* Banderas: cada una con su proporción real (algunas son casi cuadradas), mismo alto y marco prolijo. */
.bandera { height: 1em; width: auto; aspect-ratio: auto; object-fit: contain; border-radius: 3px; background: #fff;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .18), 0 2px 5px rgba(0, 0, 0, .18); vertical-align: middle; margin: 0; flex: none; }
.bandera.mini { height: 11px; border-radius: 2px; margin-right: 3px; vertical-align: -1px; }
.prov-cab.compacta h2, .vp-cab h2, .rep-prov h3 { display: flex; align-items: center; gap: 10px; }
.prov-cab.compacta h2 .bandera { height: 24px; }
.vp-cab h2 .bandera { height: 34px; border-radius: 4px; box-shadow: 0 0 0 2px rgba(255, 255, 255, .7), 0 3px 8px rgba(0, 0, 0, .35); }
.rep-prov h3 .bandera { height: 44px; border-radius: 6px; }
.mosaico b { display: flex; align-items: center; gap: 4px; }
@media (max-width: 600px) {
  .vp-cab h2 .bandera { height: 26px; }
  .rep-prov h3 .bandera { height: 32px; }
}

/* Repetición del turno y escrutinio con la misma paleta que el resto del juego (fondo claro, celeste y naranja).
   Se carga al final y reemplaza los colores oscuros del reproductor. */

#modal.modo-rep { background: rgba(16, 32, 46, .45); }
.rep { color: var(--tinta); background: radial-gradient(ellipse at 50% 30%, #f6f8fa 0%, var(--fondo) 70%); }

/* Cabecera: blanca como la barra de la partida */
.rep-cab { background: linear-gradient(#ffffff, #f2f5f8); border-bottom: 1px solid var(--borde); box-shadow: 0 2px 8px rgba(0, 0, 0, .05); }
.rep-cont b { color: var(--tinta); }
.rep-cont span { color: var(--naranja); }
.rep-cont small, .rep-tit { color: var(--gris); }
.rep-prog { background: #e3e8ee; }
.rep-prog span { background: linear-gradient(90deg, var(--celeste), var(--celeste-osc)); }
.rep-ctrl button { background: #fff; border-color: #b9c3cd; color: var(--tinta); box-shadow: 0 2px 0 rgba(0, 0, 0, .06); }
.rep-vel { border-color: var(--borde); color: var(--gris); background: #fff; }
.rep-vel button { border-color: var(--celeste-osc); color: var(--celeste-osc); box-shadow: none; }
.rep-ctrl .rep-play { background: linear-gradient(#ff8a3d, var(--naranja)); color: #fff; box-shadow: 0 4px 12px rgba(242, 113, 28, .35); }
.rep-ctrl .rep-omitir { background: #fff; border-color: var(--rojo); color: var(--rojo); }

/* Columnas: la izquierda como panel blanco, la derecha sobre el fondo del juego */
.rep-izq { background: var(--papel); border-right: 1px solid var(--borde); }
.rep-total-tit { color: var(--gris); }
.rep-barra { background: #e6ebf0; }
.rep-mayoria { border-left-color: var(--naranja); }
.rep-fila { background: #f7f9fb; border: 1px solid var(--borde); }
.rep-fila.sube { background: #fff4e8; border-color: #f6c79a; }
.rep-fila.yo { border-color: var(--naranja); box-shadow: inset 3px 0 0 var(--naranja); }
.rep-pos { color: var(--gris); }
.rep-nom { color: var(--tinta); }
.rep-pista { background: #e6ebf0; }
.rep-delta { color: var(--verde); }
.rep-num { background: #eef2f6; color: var(--tinta); }
.rep-fila.sube .rep-num { background: var(--naranja); color: #fff; }
.rep-pres { background: #f7f9fb; border: 1px solid var(--borde); }
.rep-pres.yo { outline: 0; border-color: var(--naranja); box-shadow: inset 3px 0 0 var(--naranja); }
.rep-pres-nom { color: var(--tinta); }
.rep-pres small { color: var(--gris); }

/* Provincia: silueta celeste suave, textos oscuros */
.rep-sil { opacity: .2; }
.rep-sil path, .rep-sil g { fill: var(--celeste-osc) !important; }
.rep-prov h3 { color: var(--tinta); }
.rep-prov h3 .bandera { box-shadow: 0 0 0 1px rgba(0, 0, 0, .15), 0 4px 10px rgba(0, 0, 0, .2); }
.rep-sub, .rep-sig { color: var(--gris); }
.rep-prov .podio-nombre { color: var(--tinta); }
.rep-prov .podio-sub { color: var(--gris); }
.rep-prov .podio-circ { border-color: #fff; }
.podio-gana { background: var(--sol); color: #2b2100; }
.rep-cerrado { color: #a97400; }
.rep-final b { color: var(--tinta); }
.btn-seguir { background: linear-gradient(#ff8a3d, var(--naranja)); border-color: #fff; color: #fff; box-shadow: 0 6px 18px rgba(242, 113, 28, .35); }
