/**
 * SIMULADOR OFICIAL TSJE - CSS CONSOLIDADO
 * Extraído de los archivos HTML oficiales del simulador TSJE
 * Un solo archivo CSS para todo el simulador (pasos 1-7)
 */

/* ============================================================
   RESET CSS (extraído de paso1.html - css/reset.css)
   ============================================================ */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {
    line-height:1;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}

mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}

/* ============================================================
   LAYOUT GENERAL DEL SIMULADOR — reglas de .sim-header, .sim-maquina-marco,
   .sim-container y #paso-intendente extraídas de simulador_tsje_comun.css
   y simulador_guaira_extra.css (necesarias en el archivo consolidado ya que
   es el ÚNICO CSS cargado por simulador_guaira.php)
   ============================================================ */

/* ── Cabecera: modo no-dinámico (pasos 8-11) — mismos estilos que #contenedor-ayuda header === */
body.simulador-guaira-root header.sim-header:not(.sim-header--dinamico),
body.simulador-villarica header.sim-header:not(.sim-header--dinamico) {
  flex-shrink: 0;
  height: 60px;
  display: flex;
  align-items: center;
  background: #e6e5e4;
  box-sizing: border-box;
  width: 100%;
}
body.simulador-guaira-root header.sim-header:not(.sim-header--dinamico) .sim-header-inner,
body.simulador-villarica header.sim-header:not(.sim-header--dinamico) .sim-header-inner {
  width: 100%;
}
body.simulador-guaira-root header.sim-header:not(.sim-header--dinamico) .row,
body.simulador-villarica header.sim-header:not(.sim-header--dinamico) .row {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  margin: 0;
}
body.simulador-guaira-root header.sim-header:not(.sim-header--dinamico) .superior,
body.simulador-villarica header.sim-header:not(.sim-header--dinamico) .superior {
  display: flex;
  align-items: center;
  flex: 1;
  float: none;
  width: auto;
  min-width: 0;
}
body.simulador-guaira-root header.sim-header:not(.sim-header--dinamico) .texto-tribunal,
body.simulador-villarica header.sim-header:not(.sim-header--dinamico) .texto-tribunal {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 1;
  float: none;
  width: auto;
}
body.simulador-guaira-root header.sim-header:not(.sim-header--dinamico) img,
body.simulador-villarica header.sim-header:not(.sim-header--dinamico) img {
  max-height: 50px;
  width: auto;
  object-fit: contain;
}

/* ── Cabecera: inner inicial vs. inner dinámico ─────────────────────
   Por defecto el inner dinámico está oculto; cuando JS añade la clase
   .sim-header--dinamico al <header>, se intercambia cuál es visible.  */
.sim-header-dinamico-inner {
  display: none;
}
.sim-header.sim-header--dinamico .sim-header-inner {
  display: none !important;
}
.sim-header.sim-header--dinamico .sim-header-dinamico-inner {
  display: flex !important;
  width: 100%;
}

/* sim-header-inicial-guaira: oculto en pasos 4-7 (usan header dinámico); visible en pasos 8-11 */
body.simulador-guaira-root header.sim-header.sim-header--dinamico .sim-header-inicial-guaira,
body.simulador-villarica header.sim-header.sim-header--dinamico .sim-header-inicial-guaira {
  display: none !important;
}

/* ── Marco máquina y contenedor general ──────────────────────────── */
.sim-maquina-marco {
  flex: 0 1 auto;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 100%;
  height: auto;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  border: none;
  background: transparent;
  align-self: stretch;
}
.sim-maquina-marco > .sim-container {
  flex: 0 1 auto;
  min-height: 0;
}
.sim-maquina-marco > .sim-header-bar,
.sim-maquina-marco > header.sim-header,
.sim-maquina-marco > footer.sim-footer-tsje {
  flex-shrink: 0;
}

/* Pasos 0–3 (guía): marco toma todo el viewport */
body.simulador-villarica:not(.sim-maquina-votacion-activa) .sim-maquina-marco {
  flex: 1 1 0;
  min-height: 0;
}
body.simulador-villarica:not(.sim-maquina-votacion-activa) .sim-maquina-marco > .sim-container {
  flex: 1 1 0;
  min-height: 0;
  justify-content: center;
}

/* Pasos 4–7 (máquina de votación): panel centrado ~80% del alto */
body.sim-maquina-votacion-activa.simulador-villarica {
  background-color: #4d4d4d;
  padding: 0;
  align-items: stretch;
  justify-content: flex-start;
  min-height: 100dvh;
  box-sizing: border-box;
}
body.sim-maquina-votacion-activa .sim-maquina-marco {
  flex: 1 1 0;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-height: 0;
  height: 100dvh;
  max-height: 100dvh;
  margin-top: 0;
  margin-bottom: 0;
  overflow-x: hidden;
  overflow-y: hidden;
  border-radius: 0;
  box-shadow: none;
  border: none;
  background: #e0e0e0;
  align-self: stretch;
}
body.sim-maquina-votacion-activa .sim-maquina-marco > .sim-container {
  flex: 1 1 0;
  min-height: 0;
  overflow: auto;
}
/* Rejilla intendente: ocupa el alto útil dentro del marco */
body.sim-maquina-votacion-activa .sim-container:has(#paso-intendente.activo) {
  flex: 1 1 0;
  min-height: 0;
  overflow: hidden;
}
body.sim-maquina-votacion-activa #paso-intendente.activo {
  flex: 1 1 0;
  min-height: 0;
  max-height: none;
  height: 100%;
}
@media (max-width: 640px) {
  body.sim-maquina-votacion-activa .sim-maquina-marco {
    height: 100dvh;
    max-height: 100dvh;
    margin-top: 0;
    margin-bottom: 0;
  }
}

/* ── .sim-container (todos los pasos) ───────────────────────────── */
.sim-container {
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  flex: 1 1 0;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
}
.sim-container:has(#paso-intendente.activo) {
  padding: 0;
  align-items: stretch;
  flex: 1 1 0;
  min-height: 0;
  overflow: hidden;
}

/* ── .sim-paso y #paso-intendente ───────────────────────────────── */
.sim-paso {
  display: none;
}
.sim-paso.activo {
  display: block;
}
#paso-intendente.activo,
#paso-listas-junta.activo {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  min-height: 0;
  max-height: 100%;
  margin-bottom: 0;
  padding: 0 !important;
  overflow: hidden;
  align-items: stretch;
  justify-content: flex-start;
}
#paso-intendente.activo:not(.paso-intendente--tsje-embebido) {
  background: #e0e0e0;
}

/* ── sim-header-bar: oculta en pasos 4–7 ───────────────────────── */
body.sim-maquina-votacion-activa .sim-maquina-marco > .sim-header-bar {
  display: none;
}

/* ── Cabecera dinámica (pasos 4–7) ─────────────────────────────── */
body.simulador-guaira-root .sim-header.sim-header--dinamico,
body.simulador-villarica .sim-header.sim-header--dinamico {
  background-color: #545859;
  color: #ffffff;
  width: 100%;
  height: 78px;
  box-sizing: border-box;
  box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
  overflow: hidden;
  flex-shrink: 0;
}
@media screen and (min-width: 1px) {
  body.simulador-guaira-root .sim-header.sim-header--dinamico,
  body.simulador-villarica .sim-header.sim-header--dinamico {
    height: 90px;
  }
}
body.simulador-guaira-root .sim-header.sim-header--dinamico .sim-header-dinamico-inner,
body.simulador-villarica .sim-header.sim-header--dinamico .sim-header-dinamico-inner {
  display: flex !important;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  padding: 0.33em 1.5em 0.8rem 1.5em;
  gap: 0 8px;
  box-sizing: border-box;
}
/* Fila de metadatos */
body.simulador-guaira-root .sim-header.sim-header--dinamico .sim-header-dinamico-fila-meta,
body.simulador-villarica .sim-header.sim-header--dinamico .sim-header-dinamico-fila-meta {
  display: flex;
  flex-direction: row;
  align-items: center;
  background: #545859;
  padding: 3px 4px 4px;
  box-sizing: border-box;
}
body.simulador-guaira-root .sim-header.sim-header--dinamico .sim-header-eleccion-texto,
body.simulador-villarica .sim-header.sim-header--dinamico .sim-header-eleccion-texto {
  color: #ffffff;
  font-size: clamp(14px, 0.6vw + 12px, 15px);
  padding: 2px;
  flex: 1 1 auto;
  line-height: 1.3;
  display: flex;
  flex-wrap: wrap;
  gap: 0.6em;
}
/* Franja negra con el título del paso */
body.simulador-guaira-root .sim-header.sim-header--dinamico .sim-header-titulo-paso,
body.simulador-villarica .sim-header.sim-header--dinamico .sim-header-titulo-paso {
    background: #000000;
    color: #ffffff;
    font-size: clamp(16px, 0.9vw + 13px, 23px);
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0.02em;
    line-height: 1.2;
    text-align: center;
    box-sizing: border-box;
    margin-right: 8%;
    margin-left: 5%;
    padding-bottom: 23px;
    padding-top: 18px;
}
/* Recuadro blanco izquierdo (logo + marca) */
body.simulador-guaira-root .sim-header.sim-header--dinamico .sim-header-dinamico-inner > .sim-header-left,
body.simulador-villarica .sim-header.sim-header--dinamico .sim-header-dinamico-inner > .sim-header-left {
  background: #ffffff;
  padding: 3px 6px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: clamp(55px, 11vw, 166px);
  height: 60px;
  border-radius: 13px;
  align-self: center;
  box-sizing: border-box;
  overflow: hidden;
}
/* Recuadro blanco derecho (escudo) */
body.simulador-guaira-root .sim-header.sim-header--dinamico .sim-header-dinamico-inner > .sim-header-right,
body.simulador-villarica .sim-header.sim-header--dinamico .sim-header-dinamico-inner > .sim-header-right {
  background: #ffffff;
  padding: 4px 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 56px;
  max-width: 72px;
  height: 60px;
  border-radius: 5px;
  align-self: center;
  box-sizing: border-box;
  overflow: hidden;
}
/* Logo izquierdo (Elecciones Municipales) — escala DENTRO de la caja fija */
body.simulador-guaira-root .sim-header.sim-header--dinamico .sim-header-dinamico-logo-izq,
body.simulador-villarica .sim-header.sim-header--dinamico .sim-header-dinamico-logo-izq {
  max-width: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  flex-shrink: 0;
}
/* Logo derecho (escudo TSJE) */
body.simulador-guaira-root .sim-header.sim-header--dinamico .sim-header-dinamico-logo-der,
body.simulador-villarica .sim-header.sim-header--dinamico .sim-header-dinamico-logo-der {
  max-height: 100%;
  max-width: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}
/* Bloque de texto izquierdo */
body.simulador-guaira-root .sim-header.sim-header--dinamico .sim-header-dinamico-left-text,
body.simulador-villarica .sim-header.sim-header--dinamico .sim-header-dinamico-left-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  overflow: hidden;
}
body.simulador-guaira-root .sim-header.sim-header--dinamico .sim-header-dinamico-marca,
body.simulador-villarica .sim-header.sim-header--dinamico .sim-header-dinamico-marca {
  font-size: clamp(8px, 0.5vw + 6px, 11px);
  font-weight: bold;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #333333;
}
body.simulador-guaira-root .sim-header.sim-header--dinamico .sim-header-dinamico-sub-izq,
body.simulador-villarica .sim-header.sim-header--dinamico .sim-header-dinamico-sub-izq {
  font-size: clamp(7px, 0.4vw + 5px, 9px);
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #555555;
}
body.simulador-guaira-root .sim-header.sim-header--dinamico .sim-header-dinamico-columna-centro,
body.simulador-villarica .sim-header.sim-header--dinamico .sim-header-dinamico-columna-centro {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

/* ============================================================
   FOOTER TSJE — barra accesibilidad inferior
   Ref. oficial: #barra_opciones + #accesibilidad + .boton-accion
   (paso4mejorado.html → sufragio.css)
   ============================================================ */

/* Barra completa — equivale a #barra_opciones */
body.simulador-guaira-root footer.sim-footer-tsje,
body.simulador-villarica footer.sim-footer-tsje {
  background-color: #cccccc;
  color: #333333;
  overflow: hidden;
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  flex-shrink: 0;
  box-sizing: border-box;
}

/* Zona izquierda: botón contraste + divisor — equivale a #accesibilidad */
body.simulador-guaira-root .sim-footer-tsje-izq,
body.simulador-villarica .sim-footer-tsje-izq {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-left: 1em;
  padding: 0.66em 0;
}

/* Botón contraste — equivale a #accesibilidad li */
body.simulador-guaira-root .sim-footer-contraste,
body.simulador-villarica .sim-footer-contraste {
  display: flex;
  flex-direction: row;
  align-items: center;
  font-size: 0.8em;
  font-weight: bold;
  width: 151px;
  border: none;
  border-right: 1px solid #aaaaaa;
  box-sizing: border-box;
  background: none;
  cursor: pointer;
  padding: 0;
  font-family: inherit;
  color: inherit;
}

/* Ícono oscuro — equivale a .boton-accion en sufragio.css */
body.simulador-guaira-root .sim-footer-tsje .boton-accion,
body.simulador-villarica .sim-footer-tsje .boton-accion {
  font-size: 30px;
  width: 34px;
  height: 34px;
  padding: 1px;
  box-sizing: border-box;
  border-radius: 3px;
  background: #545859;
  color: #ffffff;
  border: 1px solid #2f3132;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-family: "Material Icons";
  font-weight: normal;
  font-style: normal;
}

/* Wrapper del ícono (sim-contraste-icon) */
body.simulador-guaira-root .sim-contraste-icon,
body.simulador-villarica .sim-contraste-icon {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

/* Texto del botón — equivale a #accesibilidad li > span */
body.simulador-guaira-root .sim-footer-contraste-text,
body.simulador-villarica .sim-footer-contraste-text {
  display: inline-block;
  line-height: 0;
  vertical-align: middle;
  padding-left: 5px;
}

/* Cada línea de texto — equivale a .barra-opciones-texto */
body.simulador-guaira-root .sim-footer-contraste-line,
body.simulador-villarica .sim-footer-contraste-line {
  display: block;
  line-height: 1em;
}

/* Divisor vertical (ya cubierto por border-right del botón) */
body.simulador-guaira-root .sim-footer-divider,
body.simulador-villarica .sim-footer-divider {
  display: none;
}

/* Botón "Volver Atrás" — mismo patrón que contraste */
body.simulador-guaira-root .sim-volver-toolbar--footer,
body.simulador-villarica .sim-volver-toolbar--footer {
  display: flex;
  align-items: center;
  padding: 0.66em 0 0.66em 1em;
}
/* [hidden] nativo sería sobreescrito por display:flex — forzar ocultado */
body.simulador-guaira-root .sim-volver-toolbar--footer[hidden],
body.simulador-villarica .sim-volver-toolbar--footer[hidden] {
  display: none !important;
}
body.simulador-guaira-root .sim-btn-volver,
body.simulador-villarica .sim-btn-volver {
  display: flex;
  flex-direction: row;
  align-items: center;
  font-size: 0.8em;
  font-weight: bold;
  width: 151px;
  box-sizing: border-box;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  font-family: inherit;
  color: inherit;
}
body.simulador-guaira-root .sim-btn-volver-text,
body.simulador-villarica .sim-btn-volver-text {
  display: inline-block;
  line-height: 0;
  vertical-align: middle;
  padding-left: 5px;
}
body.simulador-guaira-root .sim-btn-volver-line,
body.simulador-villarica .sim-btn-volver-line {
  display: block;
  line-height: 1em;
}

/* Responsive: pantallas ≥ 1920 px (escala TSJE oficial) */
@media screen and (min-width: 1920px) {
  body.simulador-guaira-root .sim-footer-tsje .boton-accion,
  body.simulador-villarica .sim-footer-tsje .boton-accion {
    font-size: 55px;
    width: 58px;
    height: 56px;
  }
  body.simulador-guaira-root .sim-footer-contraste,
  body.simulador-villarica .sim-footer-contraste,
  body.simulador-guaira-root .sim-btn-volver,
  body.simulador-villarica .sim-btn-volver {
    font-size: 1.1em;
    width: 211px;
  }
  body.simulador-guaira-root .sim-footer-contraste-line,
  body.simulador-villarica .sim-footer-contraste-line,
  body.simulador-guaira-root .sim-btn-volver-line,
  body.simulador-villarica .sim-btn-volver-line {
    line-height: 1.1em;
    margin-left: 10px;
  }
}

/* ============================================================
   INSTRUCTIVO - PASO 1 (extraído de paso1.html - css/instructivo.css)
   ============================================================ */

/* === RESET / BASE === */
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  overflow-x: hidden;
  max-width: 100vw;
  background-color: #e6e5e4;
  color: #000;
}

/* Forzar color de fondo para el simulador Guairá */
body.simulador-guaira-root,
body.simulador-villarica {
  background-color: #e6e5e4 !important;
}

/* === LOGO DE LA ELECCION === */
.logo_eleccion_izq {
  max-height: 50px;
  width: auto;
  object-fit: contain;
  display: block;
}

/* === LAYOUT PRINCIPAL: 3 zonas (header | contenido | botón fijo) === */
#contenedor {
  height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

#ayuda {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  width: 100%;
  position: relative;
}

/* --- Zona 1: Header fijo --- */
#contenedor-ayuda header {
  flex-shrink: 0;
  height: 60px;
  display: flex;
  align-items: center;
}

#contenedor-ayuda header .container,
#contenedor-ayuda header .row {
  width: 100%;
}

#contenedor-ayuda header .row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  margin: 0;
}

#contenedor-ayuda header #superior {
  display: flex;
  align-items: center;
  flex: 1;
  float: none;
  width: auto;
  min-width: 0;
}

#contenedor-ayuda header .texto-tribunal {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 1;
  float: none;
  width: auto;
}

#contenedor-ayuda header img {
  max-height: 50px;
  width: auto;
  object-fit: contain;
}

/* --- Zona 2: Contenido central (ocupa todo lo disponible) --- */
#ayuda #contenedor-ayuda {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

#bienvenido,
#agradecimiento,
#ayuda .paso {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
  padding-bottom: 80px;
}

#ayuda .grafico {
  max-height: 42vh;
  max-width: 80%;
  width: auto;
  object-fit: contain;
  margin: 0 auto;
}

#ayuda .paso h1 {
  margin: 16px auto;
  color: #000;
  font-size: clamp(1rem, 2.5vw, 1.8em);
  text-align: center;
  max-width: 80%;
}

#bienvenido h1,
#agradecimiento h1 {
  font-size: clamp(1.2rem, 3vw, 2.3em);
  margin-bottom: 0;
}

#bienvenido h3,
#agradecimiento h3 {
  font-size: 1.3em;
  margin-top: 16px;
}

#bienvenido .botones {
  display: flex;
  justify-content: center;
}

/* --- Zona 3: Botones SIEMPRE fijos al fondo --- */
#ayuda button {
  height: 50px;
  width: 160px;
  padding: 0;
  margin-top: 0;
  margin-left: 0;
}

#empezar,
#ayuda .paso button.next,
#reset {
  position: fixed !important;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%) !important;
  -webkit-transform: translateX(-50%) !important;
  z-index: 100;
  margin: 0 !important;
  height: 50px;
  width: 160px;
  padding: 0;
}

#ayuda #paso-3 button.next {
  margin-left: 0 !important;
}

/* ============================================================
   SELECCION DE UBICACIONES
   ============================================================ */

#ayuda #ubicaciones.paso {
  justify-content: flex-start;
  padding-top: 16px;
  overflow-y: auto;
  padding-bottom: 20px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

#ayuda #ubicaciones.paso::-webkit-scrollbar { display: none; }

#ayuda #contenedor-ayuda #ubicaciones .departamentos,
#ayuda #contenedor-ayuda #ubicaciones .elegir_departamentos {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 8px;
  list-style: none;
  width: 100%;
  padding: 0;
  margin: 8px 0;
  box-sizing: border-box;
}

/* === DESKTOP: PRIMERA SELECCION (Partido) - 1 columna centrada === */
#ayuda #contenedor-ayuda #ubicaciones .elegir_eleccion li {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 600px !important;
  margin: 0 auto !important;
  box-sizing: border-box;
  white-space: normal;
  word-break: break-word;
}

/* === DESKTOP: RESTO DE SELECCIONES - exactamente 2 columnas === */
#ayuda #contenedor-ayuda #ubicaciones .elegir_departamentos li,
#ayuda #contenedor-ayuda #ubicaciones .elegir_distrito li,
#ayuda #contenedor-ayuda #ubicaciones .elegir_mesa li {
  flex: 0 0 calc(50% - 4px) !important;
  width: calc(50% - 4px) !important;
  max-width: calc(50% - 4px) !important;
  margin: 0 !important;
  box-sizing: border-box;
  white-space: normal;
  word-break: break-word;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* === MISCELÁNEOS === */
#ayuda button:hover { cursor: pointer; }
#ayuda #escudo { display: inline-block; }
#ayuda .tribunal { display: inline-block; font-size: 0.9em; color: #888; }
#ayuda .simulador { font-size: 0.9em; display: inline-block; color: #999; }
.simulador-guia { display: flex; align-items: center; font-size: 0.75rem; }
#ayuda .texto-tribunal { display: flex; }
#ayuda h2 { font-size: 1.6em; color: #000; width: 100%; max-width: 50%; margin-top: 3%; line-height: 1.3em; }
#ayuda .bienvenida { margin: 0 auto; width: 100%; max-width: 50%; }

#ayuda #btn_goople_play { border: 0; background: transparent; }
#ayuda #btn_goople_play img { height: 55px; }

#logo-final {
  width: 15%;
  position: absolute;
  right: 5%;
  bottom: 20%;
}

.gradiente-gris {
  background: #feffff;
  background: linear-gradient(to bottom, #feffff 0%, #ddf1f9 50%, #a0d8ef 100%);
}

/* ============================================================
   MEDIA QUERIES
   ============================================================ */

/* --- Tablet / ventana a ~1024px --- */
@media (max-width: 1024px) {
  .row { display: flex; }

  #contenedor-ayuda header img,
  .logo_eleccion_izq {
    max-height: 45px;
  }

  .texto-tribunal { font-size: 0.85em; }

  #ayuda .grafico { max-height: 38vh; }

  #ayuda button,
  #empezar,
  #ayuda .paso button.next,
  #reset {
    height: 45px;
    width: 145px;
  }
}

/* --- Tablet pequeña / ventana achicada (~900px) --- */
@media (max-width: 900px) {
  #ayuda .grafico { max-height: 35vh; }

  #ayuda #contenedor-ayuda #ubicaciones,
  #ayuda #contenedor-ayuda #seleccionar_ubicaciones {
    padding-left: 0;
    padding-right: 0;
  }

  #ayuda #contenedor-ayuda #ubicaciones .departamentos,
  #ayuda #contenedor-ayuda #seleccionar_ubicaciones .departamentos,
  #ayuda #contenedor-ayuda #ubicaciones .elegir_departamentos {
    padding-left: 0;
    padding-right: 0;
    margin-top: 0;
    gap: 6px;
  }

  #ayuda #contenedor-ayuda #ubicaciones .departamentos .btn-lg,
  #ayuda #contenedor-ayuda #ubicaciones .elegir_departamentos .btn-lg,
  #ayuda #contenedor-ayuda #seleccionar_ubicaciones .departamentos .btn-lg {
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1.5;
    border-radius: 3px;
  }
}

/* --- Mobile (portrait o landscape) --- */
@media (max-width: 768px) {
  #contenedor-ayuda header {
    height: 50px;
  }

  #contenedor-ayuda header img,
  .logo_eleccion_izq {
    max-height: 35px;
  }

  .texto-tribunal {
    display: none !important;
  }

  #ayuda .grafico { max-height: 32vh; }

  #ayuda .paso h1 {
    font-size: clamp(0.85rem, 2vw, 1.1em);
    margin: 8px auto;
  }

  #bienvenido h1,
  #agradecimiento h1 {
    font-size: clamp(1rem, 2.5vw, 1.5em);
  }

  #ayuda button,
  #empezar,
  #ayuda .paso button.next,
  #reset {
    height: 40px;
    width: 135px;
    font-size: 15px;
  }

  #empezar,
  #ayuda .paso button.next,
  #reset {
    bottom: 10px;
  }

  #ayuda #contenedor-ayuda #ubicaciones .elegir_eleccion li,
  #ayuda #contenedor-ayuda #ubicaciones .elegir_departamentos li,
  #ayuda #contenedor-ayuda #ubicaciones .elegir_distrito li,
  #ayuda #contenedor-ayuda #ubicaciones .elegir_mesa li {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box;
  }

  #bienvenido,
  #agradecimiento,
  #ayuda .paso {
    padding-bottom: 65px;
  }
}

/* --- Mobile landscape --- */
@media (max-height: 500px) {
  #contenedor-ayuda header {
    height: 42px;
  }

  #contenedor-ayuda header img,
  .logo_eleccion_izq {
    max-height: 30px;
  }

  #ayuda .grafico { max-height: 28vh; }

  #ayuda .paso h1 {
    font-size: 0.9em;
    margin: 5px auto;
  }

  #bienvenido h1,
  #agradecimiento h1 {
    font-size: 1.1em;
  }

  #bienvenido,
  #agradecimiento,
  #ayuda .paso {
    padding-bottom: 58px;
  }

  #ayuda button,
  #empezar,
  #ayuda .paso button.next,
  #reset {
    height: 36px;
    width: 130px;
    font-size: 14px;
  }

  #empezar,
  #ayuda .paso button.next,
  #reset {
    bottom: 8px;
  }

  #ayuda #contenedor-ayuda #ubicaciones .elegir_eleccion li,
  #ayuda #contenedor-ayuda #ubicaciones .elegir_departamentos li,
  #ayuda #contenedor-ayuda #ubicaciones .elegir_distrito li,
  #ayuda #contenedor-ayuda #ubicaciones .elegir_mesa li {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin: 0;
  }
}

/* --- Pantalla muy pequeña (altura < 280px) --- */
@media (max-height: 280px) {
  #contenedor-ayuda header {
    height: 34px;
  }

  .logo_eleccion_izq {
    max-height: 24px;
  }

  #ayuda .grafico { max-height: 22vh; }

  #ayuda .paso h1,
  #bienvenido h1,
  #agradecimiento h1 {
    font-size: 0.85em;
    margin: 4px auto;
  }

  #ayuda button,
  #empezar,
  #ayuda .paso button.next,
  #reset {
    height: 32px;
    width: 120px;
    font-size: 13px;
  }

  #empezar,
  #ayuda .paso button.next,
  #reset {
    bottom: 6px;
  }

  .texto-tribunal { display: none !important; }
}

/* --- Dispositivos touch --- */
@media (hover: none) and (pointer: coarse) {
  #ayuda #contenedor-ayuda #ubicaciones .elegir_eleccion li,
  #ayuda #contenedor-ayuda #ubicaciones .elegir_departamentos li,
  #ayuda #contenedor-ayuda #ubicaciones .elegir_distrito li,
  #ayuda #contenedor-ayuda #ubicaciones .elegir_mesa li {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    box-sizing: border-box;
  }
}

/* ============================================================
   PASO 4 - PANTALLA DE CANDIDATOS
   Réplica del diseño oficial TSJE (paso4mejorado.html - css/sufragio.css)
   Adaptado a la estructura HTML del simulador Guairá
   ============================================================ */

/* === CONTENEDOR PRINCIPAL DEL PASO 4 === */
body.simulador-guaira-root #paso-intendente,
body.simulador-villarica #paso-intendente {
  width: 100%;
  height: 100%;
  background-color: #eeeeee;
  box-sizing: border-box;
}

/* === CONTENEDOR DE OPCIONES .opciones.sinbarra === */
body.simulador-guaira-root #paso-intendente #pantalla_candidatos.opciones.sinbarra,
body.simulador-villarica #paso-intendente #pantalla_candidatos.opciones.sinbarra {
  width: 100%;
  display: block;
  flex: 1 1 0;
  min-height: 0;
  height: 100%;
  min-height: 300px;
  background-color: #eeeeee;
  box-sizing: border-box;
  overflow: hidden;
}

body.simulador-guaira-root #paso-intendente #pantalla_candidatos.opciones.sinbarra::before,
body.simulador-guaira-root #paso-intendente #pantalla_candidatos.opciones.sinbarra::after,
body.simulador-villarica #paso-intendente #pantalla_candidatos.opciones.sinbarra::before,
body.simulador-villarica #paso-intendente #pantalla_candidatos.opciones.sinbarra::after {
  content: "";
  display: table;
}
body.simulador-guaira-root #paso-intendente #pantalla_candidatos.opciones.sinbarra::after,
body.simulador-villarica #paso-intendente #pantalla_candidatos.opciones.sinbarra::after {
  clear: both;
}

/* === CANDIDATO BASE === */
body.simulador-guaira-root #paso-intendente #pantalla_candidatos .candidato,
body.simulador-villarica #paso-intendente #pantalla_candidatos .candidato {
  background-color: #ffffff;
  padding: 7px;
  border-radius: 3px;
  border: solid 1px #bec3be;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  overflow: hidden;
  float: left;
  cursor: pointer;
}

body.simulador-guaira-root #paso-intendente #pantalla_candidatos .candidato.seleccionado,
body.simulador-villarica #paso-intendente #pantalla_candidatos .candidato.seleccionado {
  border: 3px solid #000;
  padding: 5px;
}

body.simulador-guaira-root #paso-intendente #pantalla_candidatos .candidato.sim-cand-no-clic-simulador,
body.simulador-villarica #paso-intendente #pantalla_candidatos .candidato.sim-cand-no-clic-simulador {
  cursor: default;
}

/* Paso 5: listas de junta - candidatos opositores no clickeables */
body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta .candidato.sim-cand-no-clic-simulador,
body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta .candidato.sim-cand-no-clic-simulador {
  cursor: default;
  pointer-events: none;
}

/* === PASO 5: CANDIDATO BASE (listas junta) === */
body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta .candidato,
body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta .candidato {
  background-color: #ffffff;
  padding: 7px;
  border-radius: 3px;
  border: solid 1px #bec3be;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  overflow: hidden;
  float: left;
  cursor: pointer;
}

body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta .candidato.seleccionado,
body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta .candidato.seleccionado {
  border: 3px solid #000;
  padding: 5px;
}

/* === PASO 5: GRILLA SEGUN CANTIDAD (max2 - max16) === */

body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max2 .candidato,
body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max2 .candidato {
  width: calc((100% - 10px) / 2 - 10px);
  height: calc((100% - 10px) / 1 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max3 .candidato,
body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max3 .candidato {
  width: calc((100% - 10px) / 2 - 10px);
  height: calc((100% - 10px) / 2 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max4 .candidato,
body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max4 .candidato {
  width: calc((100% - 10px) / 2 - 10px);
  height: calc((100% - 10px) / 2 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max6 .candidato,
body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max6 .candidato {
  width: calc((100% - 10px) / 3 - 10px);
  height: calc((100% - 10px) / 2 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max8 .candidato,
body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max8 .candidato {
  width: calc((100% - 10px) / 4 - 10px);
  height: calc((100% - 10px) / 2 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max12 .candidato,
body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max12 .candidato {
  width: calc((100% - 10px) / 4 - 10px);
  height: calc((100% - 10px) / 3 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max16 .candidato,
body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max16 .candidato {
  width: calc((100% - 10px) / 4 - 10px);
  height: calc((100% - 10px) / 4 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

/* === GRILLA DE CANDIDATOS SEGUN CANTIDAD (max2 - max16) === */

/* max2: 2 col, 1 fila */
body.simulador-guaira-root #paso-intendente #pantalla_candidatos.sinbarra.max2 .candidato,
body.simulador-villarica #paso-intendente #pantalla_candidatos.sinbarra.max2 .candidato {
  width: calc((100% - 10px) / 2 - 10px);
  height: calc((100% - 10px) / 1 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

/* max3: 2 col, 2 filas — 2 arriba, 1 abajo a la izquierda */
body.simulador-guaira-root #paso-intendente #pantalla_candidatos.sinbarra.max3 .candidato,
body.simulador-villarica #paso-intendente #pantalla_candidatos.sinbarra.max3 .candidato {
  width: calc((100% - 10px) / 2 - 10px);
  height: calc((100% - 10px) / 2 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

/* max4: 2 col, 2 filas */
body.simulador-guaira-root #paso-intendente #pantalla_candidatos.sinbarra.max4 .candidato,
body.simulador-villarica #paso-intendente #pantalla_candidatos.sinbarra.max4 .candidato {
  width: calc((100% - 10px) / 2 - 10px);
  height: calc((100% - 10px) / 2 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

/* max6: 3 col, 2 filas */
body.simulador-guaira-root #paso-intendente #pantalla_candidatos.sinbarra.max6 .candidato,
body.simulador-villarica #paso-intendente #pantalla_candidatos.sinbarra.max6 .candidato {
  width: calc((100% - 10px) / 3 - 10px);
  height: calc((100% - 10px) / 2 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

/* max8: 4 col, 2 filas */
body.simulador-guaira-root #paso-intendente #pantalla_candidatos.sinbarra.max8 .candidato,
body.simulador-villarica #paso-intendente #pantalla_candidatos.sinbarra.max8 .candidato {
  width: calc((100% - 10px) / 4 - 10px);
  height: calc((100% - 10px) / 2 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

/* max9: 3 col, 3 filas */
body.simulador-guaira-root #paso-intendente #pantalla_candidatos.sinbarra.max9 .candidato,
body.simulador-villarica #paso-intendente #pantalla_candidatos.sinbarra.max9 .candidato {
  width: calc((100% - 10px) / 3 - 10px);
  height: calc((100% - 10px) / 3 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

/* max12: 4 col, 3 filas */
body.simulador-guaira-root #paso-intendente #pantalla_candidatos.sinbarra.max12 .candidato,
body.simulador-villarica #paso-intendente #pantalla_candidatos.sinbarra.max12 .candidato {
  width: calc((100% - 10px) / 4 - 10px);
  height: calc((100% - 10px) / 3 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

/* max15: 5 col, 3 filas */
body.simulador-guaira-root #paso-intendente #pantalla_candidatos.sinbarra.max15 .candidato,
body.simulador-villarica #paso-intendente #pantalla_candidatos.sinbarra.max15 .candidato {
  width: calc((100% - 10px) / 5 - 10px);
  height: calc((100% - 10px) / 3 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

/* max16: 4 col, 4 filas */
body.simulador-guaira-root #paso-intendente #pantalla_candidatos.sinbarra.max16 .candidato,
body.simulador-villarica #paso-intendente #pantalla_candidatos.sinbarra.max16 .candidato {
  width: calc((100% - 10px) / 4 - 10px);
  height: calc((100% - 10px) / 4 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

/* ============================================================
   CANDIDATO CON IMAGEN — Layout extraído del simulador TSJE oficial
   (paso4mejorado.html → .candidato_lista_con_imagen)
   Grid y font-sizes idénticos al original oficial.
   ============================================================ */
body.simulador-guaira-root #paso-intendente .candidato_lista_con_imagen,
body.simulador-villarica #paso-intendente .candidato_lista_con_imagen {
  display: grid;
  grid-template-areas:
    "nombreLista nombreLista"
    "foto        lista"
    "candidato   candidato";
  grid-template-rows: 1fr minmax(40%, 2fr) 1fr;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  justify-items: center;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}

/* Nombre del movimiento — arriba, negrita, mayúsculas */
body.simulador-guaira-root #paso-intendente .candidato_lista_con_imagen .candidato_lista_con_imagen-nombre_lista,
body.simulador-villarica #paso-intendente .candidato_lista_con_imagen .candidato_lista_con_imagen-nombre_lista {
  grid-area: nombreLista;
  text-align: center;
  font-size: 2.2rem;
  font-weight: bold;
  text-transform: uppercase;
  color: #000;
  line-height: 1.2;
  word-break: break-word;
}

/* Foto del candidato — lado izquierdo */
body.simulador-guaira-root #paso-intendente .candidato_lista_con_imagen .candidato_lista_con_imagen-foto_candidato,
body.simulador-villarica #paso-intendente .candidato_lista_con_imagen .candidato_lista_con_imagen-foto_candidato {
  grid-area: foto;
  width: 100%;
  height: 100%;
}

body.simulador-guaira-root #paso-intendente .candidato_lista_con_imagen .candidato_lista_con_imagen-foto_candidato img,
body.simulador-villarica #paso-intendente .candidato_lista_con_imagen .candidato_lista_con_imagen-foto_candidato img {
  object-fit: contain;
  width: 100%;
  height: 100%;
  margin-left: 23%;
}

/* Datos de lista — lado derecho: LISTA + número + sigla */
body.simulador-guaira-root #paso-intendente .candidato_lista_con_imagen .candidato_lista_con_imagen-lista,
body.simulador-villarica #paso-intendente .candidato_lista_con_imagen .candidato_lista_con_imagen-lista {
  grid-area: lista;
  font-size: 3.33rem;
  text-align: center;
}

body.simulador-guaira-root #paso-intendente .candidato_lista_con_imagen .candidato_lista_con_imagen-lista .numero-lista,
body.simulador-villarica #paso-intendente .candidato_lista_con_imagen .candidato_lista_con_imagen-lista .numero-lista {
  font-size: 1em;
  text-align: center;
  font-weight: bold;
  text-transform: uppercase;
  margin-left: -85%;
}

body.simulador-guaira-root #paso-intendente .candidato_lista_con_imagen .candidato_lista_con_imagen-lista .palabra-lista,
body.simulador-villarica #paso-intendente .candidato_lista_con_imagen .candidato_lista_con_imagen-lista .palabra-lista {
  font-size: 0.7em;
  text-align: center;
  font-weight: bold;
  text-transform: uppercase;
  color: #000;
  margin-left: -85%;
}

body.simulador-guaira-root #paso-intendente .candidato_lista_con_imagen .candidato_lista_con_imagen-lista .nombre-corto-lista,
body.simulador-villarica #paso-intendente .candidato_lista_con_imagen .candidato_lista_con_imagen-lista .nombre-corto-lista {
  font-size: 0.7em;
  text-align: center;
  margin-left: -85%;
}

/* Nombre del candidato — abajo, centrado */
body.simulador-guaira-root #paso-intendente .candidato_lista_con_imagen .candidato_lista_con_imagen-candidato_principal,
body.simulador-villarica #paso-intendente .candidato_lista_con_imagen .candidato_lista_con_imagen-candidato_principal {
  grid-area: candidato;
  font-size: 2.222rem;
  text-align: center;
  line-height: 1.2;
  word-break: break-word;
}

/* === Escalado por cantidad de candidatos (coeficientes del TSJE oficial) === */

/* max2: ×1.75 */
body.simulador-guaira-root #paso-intendente #pantalla_candidatos.max2 .candidato_lista_con_imagen-nombre_lista,
body.simulador-villarica #paso-intendente #pantalla_candidatos.max2 .candidato_lista_con_imagen-nombre_lista {
  font-size: calc(1.66rem * 1.75);
}
body.simulador-guaira-root #paso-intendente #pantalla_candidatos.max2 .candidato_lista_con_imagen-lista,
body.simulador-villarica #paso-intendente #pantalla_candidatos.max2 .candidato_lista_con_imagen-lista {
  font-size: calc(3.33rem * 1.75);
}
body.simulador-guaira-root #paso-intendente #pantalla_candidatos.max2 .candidato_lista_con_imagen-candidato_principal,
body.simulador-villarica #paso-intendente #pantalla_candidatos.max2 .candidato_lista_con_imagen-candidato_principal {
  font-size: calc(1.66rem * 1.75);
}

/* max8: ×0.9 */
body.simulador-guaira-root #paso-intendente #pantalla_candidatos.max8 .candidato_lista_con_imagen-nombre_lista,
body.simulador-villarica #paso-intendente #pantalla_candidatos.max8 .candidato_lista_con_imagen-nombre_lista {
  font-size: calc(1.66rem * 0.9);
}
body.simulador-guaira-root #paso-intendente #pantalla_candidatos.max8 .candidato_lista_con_imagen-lista,
body.simulador-villarica #paso-intendente #pantalla_candidatos.max8 .candidato_lista_con_imagen-lista {
  font-size: calc(3.33rem * 0.9);
}
body.simulador-guaira-root #paso-intendente #pantalla_candidatos.max8 .candidato_lista_con_imagen-candidato_principal,
body.simulador-villarica #paso-intendente #pantalla_candidatos.max8 .candidato_lista_con_imagen-candidato_principal {
  font-size: calc(1.66rem * 0.9);
}

/* max12, max16: ×0.66 */
body.simulador-guaira-root #paso-intendente #pantalla_candidatos.max12 .candidato_lista_con_imagen-nombre_lista,
body.simulador-guaira-root #paso-intendente #pantalla_candidatos.max16 .candidato_lista_con_imagen-nombre_lista,
body.simulador-villarica #paso-intendente #pantalla_candidatos.max12 .candidato_lista_con_imagen-nombre_lista,
body.simulador-villarica #paso-intendente #pantalla_candidatos.max16 .candidato_lista_con_imagen-nombre_lista {
  font-size: calc(1.66rem * 0.66);
}
body.simulador-guaira-root #paso-intendente #pantalla_candidatos.max12 .candidato_lista_con_imagen-lista,
body.simulador-guaira-root #paso-intendente #pantalla_candidatos.max16 .candidato_lista_con_imagen-lista,
body.simulador-villarica #paso-intendente #pantalla_candidatos.max12 .candidato_lista_con_imagen-lista,
body.simulador-villarica #paso-intendente #pantalla_candidatos.max16 .candidato_lista_con_imagen-lista {
  font-size: calc(3.33rem * 0.66);
}
body.simulador-guaira-root #paso-intendente #pantalla_candidatos.max12 .candidato_lista_con_imagen-candidato_principal,
body.simulador-guaira-root #paso-intendente #pantalla_candidatos.max16 .candidato_lista_con_imagen-candidato_principal,
body.simulador-villarica #paso-intendente #pantalla_candidatos.max12 .candidato_lista_con_imagen-candidato_principal,
body.simulador-villarica #paso-intendente #pantalla_candidatos.max16 .candidato_lista_con_imagen-candidato_principal {
  font-size: calc(1.66rem * 0.66);
}

/* === VOTO EN BLANCO === */
body.simulador-guaira-root #paso-intendente .candidato_blanco,
body.simulador-villarica #paso-intendente .candidato_blanco {
  display: flex;
  align-items: center;
  justify-content: center;
}

body.simulador-guaira-root #paso-intendente .candidato_blanco .candidato_blanco-titulo,
body.simulador-villarica #paso-intendente .candidato_blanco .candidato_blanco-titulo {
  font-size: clamp(1rem, 3vw, 2.5rem);
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  color: #000;
}

/* === UTILIDADES === */
.clear {
  clear: both;
}
/* Pantalla Opciones seleccionadas / Preview – visualmente más grande */
.sim-paso-opciones {
  background: transparent;
  padding: clamp(20px, 3vw, 44px) clamp(16px, 2.5vw, 36px);
  overflow-y: auto;
  overflow-x: hidden;
}
body.sim-maquina-votacion-activa
  #paso-opciones-seleccionadas.sim-paso-opciones.activo {
  background: transparent;
}
.sim-paso-opciones .sim-paso-desc {
  margin-bottom: 28px;
  font-size: clamp(1.2rem, 2vw, 1.9rem);
}
.sim-opciones-intro {
  font-size: 1.4rem;
  color: #333;
  margin-bottom: 32px;
}
.sim-opciones-contenido {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: clamp(20px, 2.5vw, 40px);
  justify-content: center;
  align-items: stretch;
  width: 100%;
  max-width: min(1400px, 98vw);
  margin: 0 auto;
  min-height: min(580px, 58dvh);
  box-sizing: border-box;
}
.sim-panel-cargo {
  flex: 1 1 0;
  min-width: 0;
  max-width: 460px;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 10px;
  padding: 40px 36px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.sim-panel-cargo h3 {
  font-size: 2.1rem;
  font-weight: 700;
  color: #222;
  margin: 0 0 20px;
  padding-bottom: 14px;
  border-bottom: 3px solid #222;
  width: 100%;
}
.sim-panel-cargo .movimiento-nom {
  font-weight: 700;
  color: #222;
  font-size: 1.5rem;
  margin-bottom: 10px;
  text-transform: uppercase;
  line-height: 1.3;
}
.sim-panel-cargo .lista-num {
  font-weight: 700;
  color: #222;
  font-size: 1.6rem;
  margin-bottom: 24px;
}
.sim-panel-cargo #opc-foto-intendente,
.sim-panel-cargo #opc-foto-junta {
  margin-bottom: 20px;
}
.sim-panel-cargo .foto-resumen {
  width: clamp(150px, 21vw, 245px);
  height: auto;
  max-width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: center top;
  background: #eee;
  margin: 0 auto;
  display: block;
  border-radius: 0;
}
.sim-panel-cargo .foto-resumen-placeholder {
  width: clamp(150px, 21vw, 245px);
  height: auto;
  aspect-ratio: 3 / 4;
  max-width: 100%;
  border-radius: 0;
  background: #e0e0e0
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 130'%3E%3Ccircle cx='50' cy='36' r='26' fill='%23b0b0b0'/%3E%3Cellipse cx='50' cy='108' rx='43' ry='30' fill='%23b0b0b0'/%3E%3C/svg%3E")
    center/60% no-repeat;
  color: transparent;
  font-size: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  flex-shrink: 0;
}
.sim-panel-cargo .nombre-resumen {
  font-weight: 700;
  color: #222;
  font-size: 1.85rem;
  margin-bottom: 8px;
}
.sim-panel-cargo .opcion-resumen {
  font-size: 1.45rem;
  color: #555;
  margin-bottom: 24px;
}
.sim-btn-modificar {
  display: inline-block;
  background: #3d3d3d;
  color: #fff !important;
  border: none;
  padding: 16px 40px;
  border-radius: 6px;
  font-weight: 600;
  font-size: 1.35rem;
  cursor: pointer;
  margin-top: auto;
}
.sim-btn-modificar:hover {
  background: #2d2d2d;
  color: #fff;
}
.sim-sidebar-acciones {
  display: flex;
  flex-direction: column;
  gap: 24px;
  flex: 0 0 260px;
  width: 260px;
  align-items: stretch;
  justify-content: center;
}
.sim-btn-reiniciar,
.sim-btn-imprimir {
  border: none;
  border-radius: 10px;
  padding: 34px 22px;
  min-height: 160px;
  flex: 1;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  font-weight: 600;
  font-size: 1.3rem;
  color: #fff !important;
}
.sim-btn-reiniciar {
  background: #ea580c !important;
}
.sim-btn-imprimir {
  background: #16a34a !important;
}
.sim-btn-reiniciar:hover,
.sim-btn-imprimir:hover {
  opacity: 0.92;
  color: #fff;
}
.sim-btn-reiniciar .sim-btn-icon,
.sim-btn-imprimir .sim-btn-icon {
  font-size: 3.2rem;
  display: block;
}
#resumen-voto {
  background: #e8f4fc;
  padding: 18px 22px;
  border-radius: 10px;
  font-weight: 600;
  color: #1a5276;
  font-size: 1.25rem;
  line-height: 1.5;
}
@media (max-width: 768px) {
  #paso-opciones-seleccionadas.sim-paso-opciones .sim-paso-desc {
    display: none !important;
  }
}

/* Footer oculto en pasos instructivo 1-3 (cédula, boletín, distrito) */
body.simulador-guaira-root:has(.sim-paso[data-paso="1"].activo) .sim-maquina-marco > footer.sim-footer-tsje,
body.simulador-guaira-root:has(.sim-paso[data-paso="2"].activo) .sim-maquina-marco > footer.sim-footer-tsje,
body.simulador-guaira-root:has(.sim-paso[data-paso="3"].activo) .sim-maquina-marco > footer.sim-footer-tsje {
  display: none !important;
}
/* Footer oculto desde paso 7 en adelante (confirmación + post-voto) */
body.simulador-guaira-root:has(.sim-paso[data-paso="7"].activo) .sim-maquina-marco > footer.sim-footer-tsje,
body.simulador-guaira-root:has(.sim-paso[data-paso="8"].activo) .sim-maquina-marco > footer.sim-footer-tsje,
body.simulador-guaira-root:has(.sim-paso[data-paso="9"].activo) .sim-maquina-marco > footer.sim-footer-tsje,
body.simulador-guaira-root:has(.sim-paso[data-paso="10"].activo) .sim-maquina-marco > footer.sim-footer-tsje,
body.simulador-guaira-root:has(.sim-paso[data-paso="11"].activo) .sim-maquina-marco > footer.sim-footer-tsje {
  display: none !important;
}
body.simulador-guaira-root.sim-maquina-votacion-activa
  .sim-maquina-marco:has(#paso-opciones-seleccionadas.activo)
  > .sim-container {
  flex: 1 1 0 !important;
  min-height: 0 !important;
}

/* Cabecera: título “OPCIONES SELECCIONADAS” con subrayado solo bajo el texto (ref. TSJE) */
body.simulador-guaira-root:has(#paso-opciones-seleccionadas.activo)
  .sim-header.sim-header--dinamico
  .sim-header-dinamico-fila-titulo {
  text-align: center !important;
}
body.simulador-guaira-root:has(#paso-opciones-seleccionadas.activo)
  .sim-header.sim-header--dinamico
  .sim-header-titulo-paso {
  display: inline-block !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  border-bottom: 2px solid #ffffff !important;
  padding: 6px 4px 8px !important;
  font-size: clamp(15px, 0.75vw + 12px, 22px) !important;
  text-transform: none !important;
  background: transparent !important;
  color: #ffffff !important;
  margin-bottom: 0 !important;
}

/* Paso 7: pegar título al borde inferior del header (solo paso 7) */
body.simulador-guaira-root:has(#paso-opciones-seleccionadas.activo)
  .sim-header.sim-header--dinamico
  .sim-header-dinamico-inner {
  padding-bottom: 0 !important;
}
body.simulador-guaira-root:has(#paso-opciones-seleccionadas.activo)
  .sim-header.sim-header--dinamico
  .sim-header-dinamico-columna-centro {
  align-self: stretch !important;
  justify-content: space-between !important;
}
/* Paso 7: evitar que las cajas de logos se estiren por la altura variable del centro */
body.simulador-guaira-root:has(#paso-opciones-seleccionadas.activo)
  .sim-header.sim-header--dinamico
  .sim-header-dinamico-inner > .sim-header-left,
body.simulador-guaira-root:has(#paso-opciones-seleccionadas.activo)
  .sim-header.sim-header--dinamico
  .sim-header-dinamico-inner > .sim-header-right {
  align-self: center !important;
  max-height: 68px !important;
}

/* Tarjetas: separador fino gris bajo el cargo (ref. primera captura oficial) */
body.simulador-guaira-root:has(#paso-opciones-seleccionadas.activo)
  .sim-opciones-contenido
  .sim-panel-cargo
  h3 {
  border-bottom-width: 1px !important;
  border-bottom-style: solid !important;
  border-bottom-color: #9a9a9a !important;
  font-weight: 800 !important;
}

/* Botones lateral: colores material TSJE (#ff8000 / #00a000) */
body.simulador-guaira-root:has(#paso-opciones-seleccionadas.activo)
  .sim-btn-reiniciar {
  background: #ff8000 !important;
}
body.simulador-guaira-root:has(#paso-opciones-seleccionadas.activo)
  .sim-btn-imprimir {
  background: #00a000 !important;
}
body.simulador-guaira-root:has(#paso-opciones-seleccionadas.activo)
  .sim-btn-reiniciar:hover {
  background: #e67300 !important;
  opacity: 1 !important;
}
body.simulador-guaira-root:has(#paso-opciones-seleccionadas.activo)
  .sim-btn-imprimir:hover {
  background: #008f00 !important;
  opacity: 1 !important;
}

/* Iconos Material en barra lateral (blanco sobre naranja/verde) */
body.simulador-guaira-root
  .sim-btn-reiniciar
  .sim-btn-icon.material-icons.boton-accion,
body.simulador-guaira-root
  .sim-btn-imprimir
  .sim-btn-icon.material-icons.boton-accion {
  font-family: "Material Icons" !important;
  font-weight: normal !important;
  font-style: normal !important;
  color: #ffffff !important;
  line-height: 1 !important;
  -webkit-font-smoothing: antialiased !important;
}
body.simulador-guaira-root .sim-btn-opciones-label {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  line-height: 1.12 !important;
  gap: 0 !important;
}
body.simulador-guaira-root .sim-btn-opciones-line {
  display: block !important;
}

/* Sidebar: ancho ~1/6; Reiniciar ≈1/3 del alto, Imprimir ≈2/3 (ref. TSJE) */
body.simulador-guaira-root:has(#paso-opciones-seleccionadas.activo)
  .sim-sidebar-acciones {
  flex: 0 0 clamp(120px, 13vw, 180px) !important;
  width: clamp(120px, 13vw, 180px) !important;
  max-width: 16vw !important;
  gap: 8px !important;
}
body.simulador-guaira-root:has(#paso-opciones-seleccionadas.activo)
  .sim-btn-reiniciar {
  flex: 1 1 0 !important;
  flex-grow: 1 !important;
  flex-shrink: 1 !important;
  flex-basis: 0 !important;
  min-height: 0 !important;
  padding: 10px 6px !important;
  font-size: clamp(1.5rem, 2.5vmin, 2rem) !important;
  font-weight: 700 !important;
  gap: 8px !important;
  justify-content: center !important;
}
body.simulador-guaira-root:has(#paso-opciones-seleccionadas.activo)
  .sim-btn-imprimir {
  flex: 2 1 0 !important;
  flex-grow: 2 !important;
  flex-shrink: 1 !important;
  flex-basis: 0 !important;
  min-height: 0 !important;
  padding: 12px 8px !important;
  font-size: clamp(1.5rem, 2.5vmin, 2rem) !important;
  font-weight: 700 !important;
  gap: 10px !important;
  justify-content: center !important;
}
body.simulador-guaira-root:has(#paso-opciones-seleccionadas.activo)
  .sim-btn-reiniciar
  .sim-btn-icon,
body.simulador-guaira-root:has(#paso-opciones-seleccionadas.activo)
  .sim-btn-imprimir
  .sim-btn-icon {
  font-size: clamp(2.1rem, 3.2vmin, 2.85rem) !important;
}
body.simulador-guaira-root:has(#paso-opciones-seleccionadas.activo)
  .sim-btn-opciones-label {
  font-size: inherit !important;
  line-height: 1.1 !important;
}
/* Anula max-height del común TSJE; el paso llena el alto útil del marco */
body.simulador-guaira-root.sim-maquina-votacion-activa
  #paso-opciones-seleccionadas.sim-paso-opciones.activo {
  max-height: none !important;
  height: 100% !important;
  flex: 1 1 0 !important;
  min-height: 0 !important;
  overflow: auto !important;
  display: flex !important;
  flex-direction: column !important;
  /* stretch: evita que .sim-opciones-contenido quede ancho mínimo (columna fina) por align-items:center del común */
  align-items: stretch !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
/* Tablet/móvil: scroll vertical del paso 7 (overflow:hidden en escritorio cortaba el contenido) */
@media (max-width: 768px) {
  body.simulador-guaira-root.sim-maquina-votacion-activa
    #paso-opciones-seleccionadas.sim-paso-opciones.activo {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
  }
  body.simulador-guaira-root.sim-maquina-votacion-activa
    .sim-maquina-marco
    > .sim-container:has(#paso-opciones-seleccionadas.activo) {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
  }
}
body.simulador-guaira-root.sim-maquina-votacion-activa
  .sim-maquina-marco
  > .sim-container:has(#paso-opciones-seleccionadas.activo) {
  flex: 1 1 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  align-items: stretch !important;
}
body.simulador-guaira-root .sim-opciones-contenido {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  width: 100% !important;
  max-width: min(100%, 100vw) !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  align-items: stretch !important;
  align-self: stretch !important;
  justify-content: flex-start !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  box-sizing: border-box !important;
}
body.simulador-guaira-root .sim-opciones-contenido .sim-panel-cargo {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
  align-self: stretch !important;
  /* anula .sim-panel-cargo { align-items: center } del común: sin esto el cuerpo queda en columna estrecha ~200px */
  align-items: stretch !important;
  justify-content: flex-start !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  border: 1px solid #d0d0d0 !important;
  padding: clamp(14px, 1.8dvh, 24px) clamp(12px, 1.5vw, 20px) !important;
  background: #ffffff !important;
  display: flex !important;
  flex-direction: column !important;
}
body.simulador-guaira-root .sim-opciones-contenido .sim-panel-cargo > h3 {
  flex-shrink: 0 !important;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .sim-panel-cargo h3 {
  width: 100% !important;
  box-sizing: border-box !important;
  font-size: clamp(1.65rem, 2.5vw + 0.9rem, 2.75rem) !important;
  font-weight: 800 !important;
  margin: 0 0 clamp(10px, 1.2dvh, 16px) !important;
  padding: clamp(12px, 1.8dvh, 20px) 0 clamp(14px, 2dvh, 22px) !important;
  border-bottom: 1px solid #9a9a9a !important;
  line-height: 1.12 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  color: #000000 !important;
  -webkit-font-smoothing: antialiased !important;
}
body.simulador-guaira-root .sim-panel-cargo .movimiento-nom {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  font-size: clamp(1.55rem, 2vw + 0.9rem, 2.5rem) !important;
  font-weight: 800 !important;
  margin: 0 auto clamp(8px, 1dvh, 14px) !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-transform: uppercase !important;
}
/* Referencia TSJE: LISTA más protagonista que el movimiento */
body.simulador-guaira-root .sim-panel-cargo .lista-num {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  font-size: clamp(2rem, 2.5vw + 1.1rem, 3.5rem) !important;
  font-weight: 800 !important;
  margin: 0 auto clamp(8px, 1.2dvh, 16px) !important;
  text-transform: uppercase !important;
  line-height: 1.12 !important;
  text-align: center !important;
  letter-spacing: 0.04em !important;
}
body.simulador-guaira-root .sim-panel-cargo .sim-panel-cargo-body {
  /* Sin flex-grow: con flex:1 el bloque se encogía y el texto/foto hacía overflow y tapaba "Modificar" */
  flex: 0 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  width: 100% !important;
  min-height: 0 !important;
  gap: 0 !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 0 !important;
}
body.simulador-guaira-root .sim-panel-cargo .opcion-resumen--slot:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}
/* Foto: tamaño acotado; no “crece” con flex para no dejar un hueco enorme sobre el nombre */
body.simulador-guaira-root .sim-panel-cargo #opc-foto-intendente,
body.simulador-guaira-root .sim-panel-cargo #opc-foto-junta {
  flex: 0 1 auto !important;
  flex-grow: 0 !important;
  min-height: 0 !important;
  margin: clamp(4px, 1dvh, 14px) auto clamp(16px, 2dvh, 32px) !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  align-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
  box-sizing: border-box !important;
}
body.simulador-guaira-root .sim-panel-cargo .foto-resumen {
  width: auto !important;
  /* Escalado fluido: en pantallas angostas prevalece vmin/vw para no desbordar la tarjeta */
  max-width: min(90%, 240px, 26vw, 28vmin) !important;
  height: auto !important;
  max-height: min(24dvh, 200px, 28vh, 26vmin) !important;
  aspect-ratio: 3 / 4 !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: transparent !important;
  margin: 0 auto !important;
  display: block !important;
}
/*
 * Sin foto: silueta 3:4 (tamaño moderado). Ancho explícito: con width:auto y texto
 * invisible el span colapsaba a 0×0 y no se veía nada.
 * display SIN !important: respeta style="display:none" junto a <img> cargada.
 */
body.simulador-guaira-root .sim-panel-cargo .foto-resumen-placeholder--silueta {
  /* block + margin auto: centra sin depender de flex; sin !important para respetar display:none/flex inline */
  display: block;
  flex: 0 0 auto !important;
  align-self: center !important;
  aspect-ratio: 3 / 4 !important;
  box-sizing: border-box !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  /* Más compacto que antes: alineado a foto típica sin tapar nombre/opción */
  width: min(86%, 220px, 24vw, 40vmin) !important;
  min-width: 0 !important;
  max-width: min(86%, 220px, 24vw, 40vmin) !important;
  max-height: min(26dvh, 280px, 36vh, 44vmin) !important;
  aspect-ratio: 3 / 4 !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: none !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  letter-spacing: 0 !important;
  overflow: hidden !important;
  border-radius: clamp(2px, 0.35vmin, 6px) !important;
  background-color: #ececec !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 130'%3E%3Ccircle cx='50' cy='36' r='26' fill='%23b0b0b0'/%3E%3Cellipse cx='50' cy='108' rx='43' ry='30' fill='%23b0b0b0'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: min(44%, 105px) auto !important;
}
body.simulador-guaira-root .sim-panel-cargo .nombre-resumen {
  font-size: clamp(1.55rem, 2vw + 0.9rem, 2.5rem) !important;
  font-weight: 700 !important;
  position: relative !important;
  z-index: auto !important;
  margin: clamp(6px, 0.8dvh, 12px) auto clamp(10px, 1.4dvh, 18px) !important;
  line-height: 1.18 !important;
  text-align: center !important;
  color: #000 !important;
  width: 100% !important;
  max-width: 100% !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}
body.simulador-guaira-root .sim-panel-cargo .opcion-resumen {
  font-size: clamp(1.2rem, 1vw + 0.7rem, 2rem) !important;
  font-weight: 400 !important;
  color: #333 !important;
  margin: 0 auto clamp(8px, 1.2dvh, 16px) !important;
  line-height: 1.18 !important;
  text-align: center !important;
}

/* Botón “Modificar” (solo paso 7): ancho ~80% tarjeta, altura modesta, #555 — ref. TSJE */
body.simulador-guaira-root #paso-opciones-seleccionadas .sim-btn-modificar {
  margin-top: auto !important;
  margin-bottom: clamp(8px, 1dvh, 14px) !important;
  flex-shrink: 0 !important;
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: min(100%, 520px) !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 14px 22px !important;
  min-height: 0 !important;
  font-size: clamp(1.5rem, 1.2vw + 1.2rem, 1.8rem) !important;
  font-weight: 700 !important;
  font-family:
    Arial, Helvetica, "Nimbus Sans L", "Liberation Sans", sans-serif !important;
  letter-spacing: 0.03em !important;
  line-height: 1.25 !important;
  color: #ffffff !important;
  background: #555555 !important;
  opacity: 1 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  align-self: center !important;
  text-align: center !important;
}
body.simulador-guaira-root
  #paso-opciones-seleccionadas
  .sim-btn-modificar:hover {
  background: #484848 !important;
  color: #ffffff !important;
}
body.simulador-guaira-root
  #paso-opciones-seleccionadas
  .sim-btn-modificar:focus-visible {
  outline: 3px solid #2563eb !important;
  outline-offset: 3px !important;
  color: #ffffff !important;
  background: #555555 !important;
}
body.simulador-guaira-root.sim-alto-contraste
  #paso-opciones-seleccionadas
  .sim-btn-modificar {
  background: #1a1a1a !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
}
body.simulador-guaira-root.sim-alto-contraste
  #paso-opciones-seleccionadas
  .sim-btn-modificar:hover {
  background: #000000 !important;
  color: #ffffff !important;
}
/* Valores base sidebar (paso 7 los refina con :has más arriba) */
body.simulador-guaira-root .sim-sidebar-acciones {
  flex: 0 0 clamp(120px, 14vw, 220px) !important;
  width: clamp(120px, 14vw, 220px) !important;
  min-width: 100px !important;
  min-height: 0 !important;
  align-self: stretch !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  flex-direction: column !important;
}
body.simulador-guaira-root .sim-btn-reiniciar,
body.simulador-guaira-root .sim-btn-imprimir {
  flex: 1 1 0 !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  padding: clamp(16px, 2.4dvh, 32px) clamp(12px, 1.4vw, 22px) !important;
  font-size: clamp(1rem, 0.85vw + 0.52rem, 1.45rem) !important;
  font-weight: 700 !important;
  gap: clamp(10px, 1.2vmin, 16px) !important;
}
body.simulador-guaira-root .sim-btn-reiniciar .sim-btn-icon,
body.simulador-guaira-root .sim-btn-imprimir .sim-btn-icon {
  font-size: clamp(2.4rem, 3.5vmin, 4rem) !important;
}

/* Paso 7: layout siempre columnar (título + área tarjetas + acciones) */
@media (max-width: 768px) {
  body.simulador-guaira-root.sim-maquina-votacion-activa
    #paso-opciones-seleccionadas.sim-paso-opciones.activo {
    flex-direction: column !important;
  }
}

/* ============================================================
   PASO 5 - LISTAS JUNTA MUNICIPAL
   Réplica del diseño oficial TSJE (paso5.html → sufragio.css)
   Estructura: candidato_lista_sin_imagen (sin foto)
   ============================================================ */

/* === WRAPPER #paso-listas-junta.activo === */
body.simulador-guaira-root #paso-listas-junta.activo,
body.simulador-villarica #paso-listas-junta.activo {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  min-height: 0;
  max-height: 100%;
  margin-bottom: 0;
  padding: 0 !important;
  overflow: hidden;
  align-items: stretch;
  justify-content: flex-start;
}

body.simulador-guaira-root #paso-listas-junta,
body.simulador-villarica #paso-listas-junta {
  width: 100%;
  height: 100%;
  background-color: #eeeeee;
  box-sizing: border-box;
}

/* === CONTENEDOR .opciones.sinbarra === */
body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta.opciones.sinbarra,
body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta.opciones.sinbarra {
  width: 100%;
  display: block;
  flex: 1 1 0;
  min-height: 0;
  height: 100%;
  background-color: #eeeeee;
  box-sizing: border-box;
  overflow: hidden;
}

body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta.opciones.sinbarra::before,
body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta.opciones.sinbarra::after,
body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta.opciones.sinbarra::before,
body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta.opciones.sinbarra::after {
  content: "";
  display: table;
}
body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta.opciones.sinbarra::after,
body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta.opciones.sinbarra::after {
  clear: both;
}

/* === CANDIDATO BASE === */
body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta .candidato,
body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta .candidato {
  background-color: #ffffff;
  padding: 7px;
  border-radius: 3px;
  border: solid 1px #bec3be;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  overflow: hidden;
  float: left;
  cursor: pointer;
}

body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta .candidato.seleccionado,
body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta .candidato.seleccionado {
  border: 3px solid #000;
  padding: 5px;
}

body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta .candidato_blanco,
body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta .candidato_blanco {
  cursor: default;
  display: flex;
  align-items: center;
  justify-content: center;
}

body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta .candidato_blanco .candidato_blanco-titulo,
body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta .candidato_blanco .candidato_blanco-titulo {
  font-size: clamp(1.2rem, 3vw, 2.5rem);
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
  word-break: break-word;
}

/* === GRILLA POR CANTIDAD (max2 – max16) === */

body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max2 .candidato,
body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max2 .candidato {
  width: calc((100% - 10px) / 2 - 10px);
  height: calc((100% - 10px) / 1 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max3 .candidato,
body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max3 .candidato {
  width: calc((100% - 10px) / 2 - 10px);
  height: calc((100% - 10px) / 2 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max4 .candidato,
body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max4 .candidato {
  width: calc((100% - 10px) / 2 - 10px);
  height: calc((100% - 10px) / 2 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max6 .candidato,
body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max6 .candidato {
  width: calc((100% - 10px) / 3 - 10px);
  height: calc((100% - 10px) / 2 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max8 .candidato,
body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max8 .candidato {
  width: calc((100% - 10px) / 4 - 10px);
  height: calc((100% - 10px) / 2 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max12 .candidato,
body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max12 .candidato {
  width: calc((100% - 10px) / 4 - 10px);
  height: calc((100% - 10px) / 3 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max16 .candidato,
body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max16 .candidato {
  width: calc((100% - 10px) / 4 - 10px);
  height: calc((100% - 10px) / 4 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

/* === INTERIOR candidato_lista_sin_imagen === */

body.simulador-guaira-root #paso-listas-junta .sin_imagen-datos_lista,
body.simulador-villarica #paso-listas-junta .sin_imagen-datos_lista {
  display: grid;
  width: 100%;
  height: 100%;
  text-align: center;
  grid-template-columns: 100%;
  text-transform: uppercase;
  grid-template-areas: "palabraLista" "nombreLista" "nombreCorto";
}

body.simulador-guaira-root #paso-listas-junta .sin_imagen-datos_lista .sin_imagen-lista,
body.simulador-villarica #paso-listas-junta .sin_imagen-datos_lista .sin_imagen-lista {
  grid-area: palabraLista;
  display: inline-flex;
  justify-content: center;
  align-self: flex-start;
  font-weight: bold;
}

body.simulador-guaira-root #paso-listas-junta .sin_imagen-lista .sin_imagen-palabra_lista,
body.simulador-villarica #paso-listas-junta .sin_imagen-lista .sin_imagen-palabra_lista {
  margin-right: 15px;
}

body.simulador-guaira-root #paso-listas-junta .sin_imagen-nombre_lista,
body.simulador-villarica #paso-listas-junta .sin_imagen-nombre_lista {
  grid-area: nombreLista;
  font-size: 2rem;
  font-weight: bold;
  align-self: center;
}

body.simulador-guaira-root #paso-listas-junta .sin_imagen-nombre_corto_lista,
body.simulador-villarica #paso-listas-junta .sin_imagen-nombre_corto_lista {
  grid-area: nombreCorto;
  font-size: 2rem;
  align-self: flex-end;
}

/* === FUENTES POR maxN (coeficientes oficiales TSJE) === */

body.simulador-guaira-root #paso-listas-junta .max2 .sin_imagen-datos_lista .sin_imagen-lista,
body.simulador-villarica #paso-listas-junta .max2 .sin_imagen-datos_lista .sin_imagen-lista {
  font-size: calc(4rem * 1.5);
}
body.simulador-guaira-root #paso-listas-junta .max2 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
body.simulador-guaira-root #paso-listas-junta .max2 .sin_imagen-datos_lista .sin_imagen-nombre_corto_lista,
body.simulador-villarica #paso-listas-junta .max2 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
body.simulador-villarica #paso-listas-junta .max2 .sin_imagen-datos_lista .sin_imagen-nombre_corto_lista {
  font-size: calc(2rem * 1.5);
}

body.simulador-guaira-root #paso-listas-junta .max3 .sin_imagen-datos_lista .sin_imagen-lista,
body.simulador-villarica #paso-listas-junta .max3 .sin_imagen-datos_lista .sin_imagen-lista {
  font-size: calc(4rem * 1.4);
}
body.simulador-guaira-root #paso-listas-junta .max3 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
body.simulador-guaira-root #paso-listas-junta .max3 .sin_imagen-datos_lista .sin_imagen-nombre_corto_lista,
body.simulador-villarica #paso-listas-junta .max3 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
body.simulador-villarica #paso-listas-junta .max3 .sin_imagen-datos_lista .sin_imagen-nombre_corto_lista {
  font-size: calc(2rem * 1.4);
}

body.simulador-guaira-root #paso-listas-junta .max4 .sin_imagen-datos_lista .sin_imagen-lista,
body.simulador-villarica #paso-listas-junta .max4 .sin_imagen-datos_lista .sin_imagen-lista {
  font-size: 4rem;
}
body.simulador-guaira-root #paso-listas-junta .max4 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
body.simulador-guaira-root #paso-listas-junta .max4 .sin_imagen-datos_lista .sin_imagen-nombre_corto_lista,
body.simulador-villarica #paso-listas-junta .max4 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
body.simulador-villarica #paso-listas-junta .max4 .sin_imagen-datos_lista .sin_imagen-nombre_corto_lista {
  font-size: 2rem;
}

body.simulador-guaira-root #paso-listas-junta .max6 .sin_imagen-datos_lista .sin_imagen-lista,
body.simulador-villarica #paso-listas-junta .max6 .sin_imagen-datos_lista .sin_imagen-lista {
  font-size: 4.7rem;
}
body.simulador-guaira-root #paso-listas-junta .max6 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
body.simulador-guaira-root #paso-listas-junta .max6 .sin_imagen-datos_lista .sin_imagen-nombre_corto_lista,
body.simulador-villarica #paso-listas-junta .max6 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
body.simulador-villarica #paso-listas-junta .max6 .sin_imagen-datos_lista .sin_imagen-nombre_corto_lista {
  font-size: 2.6rem;
}

body.simulador-guaira-root #paso-listas-junta .max8 .sin_imagen-datos_lista .sin_imagen-lista,
body.simulador-villarica #paso-listas-junta .max8 .sin_imagen-datos_lista .sin_imagen-lista {
  font-size: calc(4rem * 0.875);
}
body.simulador-guaira-root #paso-listas-junta .max8 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
body.simulador-guaira-root #paso-listas-junta .max8 .sin_imagen-datos_lista .sin_imagen-nombre_corto_lista,
body.simulador-villarica #paso-listas-junta .max8 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
body.simulador-villarica #paso-listas-junta .max8 .sin_imagen-datos_lista .sin_imagen-nombre_corto_lista {
  font-size: calc(2rem * 0.875);
}

body.simulador-guaira-root #paso-listas-junta .max12 .sin_imagen-datos_lista .sin_imagen-lista,
body.simulador-villarica #paso-listas-junta .max12 .sin_imagen-datos_lista .sin_imagen-lista {
  font-size: calc(4rem * 0.66);
}
body.simulador-guaira-root #paso-listas-junta .max12 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
body.simulador-guaira-root #paso-listas-junta .max12 .sin_imagen-datos_lista .sin_imagen-nombre_corto_lista,
body.simulador-villarica #paso-listas-junta .max12 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
body.simulador-villarica #paso-listas-junta .max12 .sin_imagen-datos_lista .sin_imagen-nombre_corto_lista {
  font-size: calc(2rem * 0.66);
}

body.simulador-guaira-root #paso-listas-junta .max16 .sin_imagen-datos_lista .sin_imagen-lista,
body.simulador-villarica #paso-listas-junta .max16 .sin_imagen-datos_lista .sin_imagen-lista {
  font-size: calc(4rem * 0.66);
}
body.simulador-guaira-root #paso-listas-junta .max16 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
body.simulador-guaira-root #paso-listas-junta .max16 .sin_imagen-datos_lista .sin_imagen-nombre_corto_lista,
body.simulador-villarica #paso-listas-junta .max16 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
body.simulador-villarica #paso-listas-junta .max16 .sin_imagen-datos_lista .sin_imagen-nombre_corto_lista {
  font-size: calc(2rem * 0.66);
}

/* === ALTO CONTRASTE: paso 5 === */
body.simulador-guaira-root.sim-alto-contraste #paso-listas-junta #pantalla_candidatos_junta .candidato,
body.simulador-villarica.sim-alto-contraste #paso-listas-junta #pantalla_candidatos_junta .candidato {
  background-color: #000000;
  border-color: #ffffff;
  color: #ffffff;
}
body.simulador-guaira-root.sim-alto-contraste #paso-listas-junta #pantalla_candidatos_junta .candidato.seleccionado,
body.simulador-villarica.sim-alto-contraste #paso-listas-junta #pantalla_candidatos_junta .candidato.seleccionado {
  border-color: #000;
}

/* ============================================================
   PASO 6 - CANDIDATOS JUNTA MUNICIPAL (preferencias con foto)
   Réplica del diseño oficial TSJE (paso6.html → sufragio.css)
   Estructura: preferente_encabezado + preferente_candidato
   ============================================================ */

/* === WRAPPER #paso-junta.activo === */
body.simulador-guaira-root #paso-junta.activo,
body.simulador-villarica #paso-junta.activo {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
  min-height: 0;
  max-height: 100%;
  margin-bottom: 0;
  padding: 0 !important;
  overflow: hidden;
  align-items: stretch;
  justify-content: flex-start;
}

body.simulador-guaira-root #paso-junta,
body.simulador-villarica #paso-junta {
  width: 100%;
  height: 100%;
  background-color: #eeeeee;
  box-sizing: border-box;
}

/* === CONTENEDOR .opciones.sinbarra === */
body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref,
body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref {
  width: 100%;
  display: block;
  flex: 1 1 0;
  min-height: 0;
  height: 100%;
  background-color: #eeeeee;
  box-sizing: border-box;
  overflow: hidden;
}

body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref::before,
body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref::after,
body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref::before,
body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref::after {
  content: "";
  display: table;
}
body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref::after,
body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref::after {
  clear: both;
}

/* === ENCABEZADO DE LISTA (header fijo 120px) === */
body.simulador-guaira-root #paso-junta .preferente_encabezado,
body.simulador-villarica #paso-junta .preferente_encabezado {
  display: grid;
  grid-template-areas: "encabezadoLista" "encabezadoPartido";
  width: calc(100% - 20px);
  height: 120px;
  background-color: #ffffff;
  border: solid 1px #bec3be;
  border-radius: 3px;
  box-sizing: border-box;
  float: left;
  margin-left: 10px;
  margin-top: 10px;
  padding: 5px;
  overflow: hidden;
}

body.simulador-guaira-root #paso-junta .preferente_encabezado .preferente_encabezado-lista,
body.simulador-villarica #paso-junta .preferente_encabezado .preferente_encabezado-lista {
  grid-area: encabezadoLista;
  font-size: 2.5rem;
  text-align: center;
  font-weight: bold;
  display: inline-flex;
  align-self: center;
  justify-content: center;
}

body.simulador-guaira-root #paso-junta .preferente_encabezado .preferente_encabezado-lista .preferente_encabezado-palabra_lista,
body.simulador-villarica #paso-junta .preferente_encabezado .preferente_encabezado-lista .preferente_encabezado-palabra_lista {
  margin-right: 0.5em;
}

body.simulador-guaira-root #paso-junta .preferente_encabezado .preferente_encabezado-nombre_partido,
body.simulador-villarica #paso-junta .preferente_encabezado .preferente_encabezado-nombre_partido {
  grid-area: encabezadoPartido;
  font-size: 2.8rem;
  text-align: center;
  font-weight: bold;
  margin: 0;
}

/* === CANDIDATO BASE === */
body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref .candidato,
body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref .candidato {
  background-color: #ffffff;
  padding: 7px;
  border-radius: 3px;
  border: solid 1px #bec3be;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  overflow: hidden;
  float: left;
  cursor: pointer;
}

body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref .candidato.seleccionado,
body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref .candidato.seleccionado {
  border: 3px solid #000;
  padding: 5px;
}

body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref .sim-cand-no-clic-simulador,
body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref .sim-cand-no-clic-simulador {
  cursor: default;
  opacity: 0.55;
}

/* === INTERIOR preferente_candidato (grid foto | opción / nombre) === */
body.simulador-guaira-root #paso-junta .preferente_candidato,
body.simulador-villarica #paso-junta .preferente_candidato {
  display: grid;
  align-items: center;
  grid-template-areas: "fotoCandidato numeroOrden" "nombreCandidato nombreCandidato";
  grid-template-columns: 1fr 1fr;
  grid-template-rows: minmax(50%, 2fr) 1fr;
}

body.simulador-guaira-root #paso-junta .preferente_candidato .preferente_candidato-foto_preferencia,
body.simulador-villarica #paso-junta .preferente_candidato .preferente_candidato-foto_preferencia {
  grid-area: fotoCandidato;
  height: 100%;
  margin: 0;
  padding: 0;
}

body.simulador-guaira-root #paso-junta .preferente_candidato .preferente_candidato-foto_preferencia img,
body.simulador-villarica #paso-junta .preferente_candidato .preferente_candidato-foto_preferencia img {
  object-fit: contain;
  height: 100%;
  max-width: 100%;
}

body.simulador-guaira-root #paso-junta .preferente_candidato .preferente_candidato-nro_orden,
body.simulador-villarica #paso-junta .preferente_candidato .preferente_candidato-nro_orden {
  grid-area: numeroOrden;
  display: flex;
  flex-direction: column;
  font-size: 3rem;
  font-weight: bold;
  text-align: center;
  margin: 0;
  padding: 0;
}

body.simulador-guaira-root #paso-junta .preferente_candidato .preferente_candidato-nro_orden .preferente_candidato-nro_orden__opcion,
body.simulador-villarica #paso-junta .preferente_candidato .preferente_candidato-nro_orden .preferente_candidato-nro_orden__opcion {
  font-size: 1.4em;
}
body.simulador-guaira-root #paso-junta .preferente_candidato .preferente_candidato-nro_orden .preferente_candidato-nro_orden__orden,
body.simulador-villarica #paso-junta .preferente_candidato .preferente_candidato-nro_orden .preferente_candidato-nro_orden__orden {
  font-size: 1.30em;
  font-weight: 700;
}

body.simulador-guaira-root #paso-junta .preferente_candidato .preferente_candidato-nombre_candidato,
body.simulador-villarica #paso-junta .preferente_candidato .preferente_candidato-nombre_candidato {
  grid-area: nombreCandidato;
  font-size: 2rem;
  text-align: center;
  margin: 0;
  padding: 0;
  color: #000000;
  text-transform: none;
}

/* === GRILLA: ancho por maxN (columnas) === */

body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max2 .candidato.opcion-preferencia,
body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max2 .candidato.opcion-preferencia {
  width: calc((100% - 10px) / 2 - 10px);
  height: calc((100% - 10px - 130px) / 1 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max4 .candidato.opcion-preferencia,
body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max4 .candidato.opcion-preferencia {
  width: calc((100% - 10px) / 2 - 10px);
  height: calc((100% - 10px - 130px) / 2 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max6 .candidato.opcion-preferencia,
body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max6 .candidato.opcion-preferencia {
  width: calc((100% - 10px) / 3 - 10px);
  height: calc((100% - 10px - 130px) / 2 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max8 .candidato.opcion-preferencia,
body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max8 .candidato.opcion-preferencia {
  width: calc((100% - 10px) / 4 - 10px);
  height: calc((100% - 10px - 130px) / 2 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max9 .candidato.opcion-preferencia,
body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max9 .candidato.opcion-preferencia {
  width: calc((100% - 10px) / 3 - 10px);
  height: calc((100% - 10px - 130px) / 3 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max10 .candidato.opcion-preferencia,
body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max10 .candidato.opcion-preferencia {
  width: calc((100% - 10px) / 5 - 10px);
  height: calc((100% - 10px - 130px) / 2 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max12 .candidato.opcion-preferencia,
body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max12 .candidato.opcion-preferencia {
  width: calc((100% - 10px) / 4 - 10px);
  height: calc((100% - 10px - 130px) / 3 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max15 .candidato.opcion-preferencia,
body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max15 .candidato.opcion-preferencia {
  width: calc((100% - 10px) / 5 - 10px);
  height: calc((100% - 10px - 130px) / 3 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max18 .candidato.opcion-preferencia,
body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max18 .candidato.opcion-preferencia {
  width: calc((100% - 10px) / 6 - 10px);
  height: calc((100% - 10px - 130px) / 3 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max20 .candidato.opcion-preferencia,
body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max20 .candidato.opcion-preferencia {
  width: calc((100% - 10px) / 5 - 10px);
  height: calc((100% - 10px - 130px) / 4 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max24 .candidato.opcion-preferencia,
body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max24 .candidato.opcion-preferencia {
  width: calc((100% - 10px) / 6 - 10px);
  height: calc((100% - 10px - 130px) / 4 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max30 .candidato.opcion-preferencia,
body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max30 .candidato.opcion-preferencia {
  width: calc((100% - 10px) / 6 - 10px);
  height: calc((100% - 10px - 130px) / 5 - 10px);
  margin-left: 10px;
  margin-top: 10px;
}

/* === FUENTES POR maxN (coeficientes oficiales TSJE) === */

body.simulador-guaira-root #paso-junta .max2 .preferente_candidato .preferente_candidato-nro_orden,
body.simulador-villarica #paso-junta .max2 .preferente_candidato .preferente_candidato-nro_orden {
  font-size: calc(3rem * 1.75);
}
body.simulador-guaira-root #paso-junta .max2 .preferente_candidato .preferente_candidato-nombre_candidato,
body.simulador-villarica #paso-junta .max2 .preferente_candidato .preferente_candidato-nombre_candidato {
  font-size: calc(2rem * 1.75);
}

body.simulador-guaira-root #paso-junta .max4 .preferente_candidato .preferente_candidato-nro_orden,
body.simulador-guaira-root #paso-junta .max6 .preferente_candidato .preferente_candidato-nro_orden,
body.simulador-villarica #paso-junta .max4 .preferente_candidato .preferente_candidato-nro_orden,
body.simulador-villarica #paso-junta .max6 .preferente_candidato .preferente_candidato-nro_orden {
  font-size: 3rem;
}
body.simulador-guaira-root #paso-junta .max4 .preferente_candidato .preferente_candidato-nombre_candidato,
body.simulador-guaira-root #paso-junta .max6 .preferente_candidato .preferente_candidato-nombre_candidato,
body.simulador-villarica #paso-junta .max4 .preferente_candidato .preferente_candidato-nombre_candidato,
body.simulador-villarica #paso-junta .max6 .preferente_candidato .preferente_candidato-nombre_candidato {
  font-size: 2rem;
}

body.simulador-guaira-root #paso-junta .max8 .preferente_candidato .preferente_candidato-nro_orden,
body.simulador-villarica #paso-junta .max8 .preferente_candidato .preferente_candidato-nro_orden {
  font-size: calc(3rem * 0.875);
}
body.simulador-guaira-root #paso-junta .max8 .preferente_candidato .preferente_candidato-nombre_candidato,
body.simulador-villarica #paso-junta .max8 .preferente_candidato .preferente_candidato-nombre_candidato {
  font-size: calc(2rem * 0.875);
}

body.simulador-guaira-root #paso-junta .max9 .preferente_candidato .preferente_candidato-nro_orden,
body.simulador-guaira-root #paso-junta .max10 .preferente_candidato .preferente_candidato-nro_orden,
body.simulador-villarica #paso-junta .max9 .preferente_candidato .preferente_candidato-nro_orden,
body.simulador-villarica #paso-junta .max10 .preferente_candidato .preferente_candidato-nro_orden {
  font-size: calc(3rem * 0.75);
}
body.simulador-guaira-root #paso-junta .max9 .preferente_candidato .preferente_candidato-nombre_candidato,
body.simulador-guaira-root #paso-junta .max10 .preferente_candidato .preferente_candidato-nombre_candidato,
body.simulador-villarica #paso-junta .max9 .preferente_candidato .preferente_candidato-nombre_candidato,
body.simulador-villarica #paso-junta .max10 .preferente_candidato .preferente_candidato-nombre_candidato {
  font-size: calc(2rem * 0.75);
}

body.simulador-guaira-root #paso-junta .max12 .preferente_candidato .preferente_candidato-nro_orden,
body.simulador-guaira-root #paso-junta .max15 .preferente_candidato .preferente_candidato-nro_orden,
body.simulador-guaira-root #paso-junta .max18 .preferente_candidato .preferente_candidato-nro_orden,
body.simulador-villarica #paso-junta .max12 .preferente_candidato .preferente_candidato-nro_orden,
body.simulador-villarica #paso-junta .max15 .preferente_candidato .preferente_candidato-nro_orden,
body.simulador-villarica #paso-junta .max18 .preferente_candidato .preferente_candidato-nro_orden {
  font-size: calc(3rem * 0.66);
}
body.simulador-guaira-root #paso-junta .max12 .preferente_candidato .preferente_candidato-nombre_candidato,
body.simulador-guaira-root #paso-junta .max15 .preferente_candidato .preferente_candidato-nombre_candidato,
body.simulador-guaira-root #paso-junta .max18 .preferente_candidato .preferente_candidato-nombre_candidato,
body.simulador-villarica #paso-junta .max12 .preferente_candidato .preferente_candidato-nombre_candidato,
body.simulador-villarica #paso-junta .max15 .preferente_candidato .preferente_candidato-nombre_candidato,
body.simulador-villarica #paso-junta .max18 .preferente_candidato .preferente_candidato-nombre_candidato {
  font-size: calc(2rem * 0.99);
}

body.simulador-guaira-root #paso-junta .max20 .preferente_candidato .preferente_candidato-nro_orden,
body.simulador-guaira-root #paso-junta .max24 .preferente_candidato .preferente_candidato-nro_orden,
body.simulador-guaira-root #paso-junta .max30 .preferente_candidato .preferente_candidato-nro_orden,
body.simulador-villarica #paso-junta .max20 .preferente_candidato .preferente_candidato-nro_orden,
body.simulador-villarica #paso-junta .max24 .preferente_candidato .preferente_candidato-nro_orden,
body.simulador-villarica #paso-junta .max30 .preferente_candidato .preferente_candidato-nro_orden {
  font-size: calc(3rem * 0.5);
}
body.simulador-guaira-root #paso-junta .max20 .preferente_candidato .preferente_candidato-nombre_candidato,
body.simulador-guaira-root #paso-junta .max24 .preferente_candidato .preferente_candidato-nombre_candidato,
body.simulador-guaira-root #paso-junta .max30 .preferente_candidato .preferente_candidato-nombre_candidato,
body.simulador-villarica #paso-junta .max20 .preferente_candidato .preferente_candidato-nombre_candidato,
body.simulador-villarica #paso-junta .max24 .preferente_candidato .preferente_candidato-nombre_candidato,
body.simulador-villarica #paso-junta .max30 .preferente_candidato .preferente_candidato-nombre_candidato {
  font-size: calc(2rem * 0.5);
}

/* === ALTO CONTRASTE: paso 6 === */
body.simulador-guaira-root.sim-alto-contraste #paso-junta #pantalla_candidatos_junta_pref .candidato,
body.simulador-villarica.sim-alto-contraste #paso-junta #pantalla_candidatos_junta_pref .candidato {
  background-color: #000000;
  border-color: #ffffff;
  color: #ffffff;
}
body.simulador-guaira-root.sim-alto-contraste #paso-junta #pantalla_candidatos_junta_pref .candidato.seleccionado,
body.simulador-villarica.sim-alto-contraste #paso-junta #pantalla_candidatos_junta_pref .candidato.seleccionado {
  border-color: #ffffff;
  border-width: 3px;
}

/* ============================================================
   PASO 7 - OPCIONES SELECCIONADAS (confirmación de selección)
   Réplica del diseño oficial TSJE (paso7.html)
   Estructura: pantalla_confirmacion > barra-titulo + confirmacion_tarjeta
   ============================================================ */

/* === Wrapper activo === */
body.simulador-guaira-root #paso-opciones-seleccionadas,
body.simulador-villarica #paso-opciones-seleccionadas {
  display: none;
  flex-direction: column;
  height: 100%;
  box-sizing: border-box;
}
body.simulador-guaira-root #paso-opciones-seleccionadas.activo,
body.simulador-villarica #paso-opciones-seleccionadas.activo {
  display: flex;
}

/* === Layout principal: tarjetas + sidebar === */
body.simulador-guaira-root #paso-opciones-seleccionadas #pantalla_confirmacion,
body.simulador-villarica #paso-opciones-seleccionadas #pantalla_confirmacion {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: row;
  box-sizing: border-box;
  overflow: hidden;
}

/* === Área de tarjetas: ocupa el espacio principal === */
body.simulador-guaira-root #paso-opciones-seleccionadas .sim-paso7-cards,
body.simulador-villarica #paso-opciones-seleccionadas .sim-paso7-cards {
  flex: 1;
  min-width: 0;
  min-height: 0;
  display: flex;
  flex-direction: row;
  gap: 10px;
  padding: 10px;
  box-sizing: border-box;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .sim-paso7-cards .candidato,
body.simulador-villarica #paso-opciones-seleccionadas .sim-paso7-cards .candidato {
  flex: 1;
  min-width: 0;
  box-sizing: border-box;
  background-color: #ffffff;
  border-radius: 3px;
  border: solid 1px #bec3be;
  padding: 10px;
}

/* === Sidebar derecha: botones apilados === */
body.simulador-guaira-root #paso-opciones-seleccionadas .sim-paso7-sidebar,
body.simulador-villarica #paso-opciones-seleccionadas .sim-paso7-sidebar {
  flex: 0 0 clamp(140px, 16vw, 220px);
  width: clamp(140px, 16vw, 220px);
  max-width: 20vw;
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-sizing: border-box;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-reiniciar,
body.simulador-guaira-root #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-imprimir,
body.simulador-villarica #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-reiniciar,
body.simulador-villarica #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-imprimir {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 6px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  color: #ffffff;
  font-size: clamp(2.8rem, 5vw + 2.4rem, 4.5rem);
  font-weight: 700;
  line-height: 1.1;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-reiniciar,
body.simulador-villarica #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-reiniciar {
  background: #ff8000;
  flex: 0.25 1 0;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-reiniciar:hover,
body.simulador-villarica #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-reiniciar:hover {
  background: #e67300;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-imprimir,
body.simulador-villarica #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-imprimir {
  background: #00a000;
  flex: 2 1 0;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-reiniciar .material-icons,
body.simulador-guaira-root #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-imprimir .material-icons,
body.simulador-villarica #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-reiniciar .material-icons,
body.simulador-villarica #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-imprimir .material-icons {
  font-size: clamp(4rem, 11vmin, 8rem);
  line-height: 1;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-imprimir:hover,
body.simulador-villarica #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-imprimir:hover {
  background: #008f00;
}

/* === Estructura interna de confirmacion_tarjeta === */
body.simulador-guaira-root #paso-opciones-seleccionadas .confirmacion_tarjeta,
body.simulador-villarica #paso-opciones-seleccionadas .confirmacion_tarjeta {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  height: 100%;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .confirmacion_tarjeta .confirmacion_tarjeta-header,
body.simulador-villarica #paso-opciones-seleccionadas .confirmacion_tarjeta .confirmacion_tarjeta-header {
  width: 100%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid #000;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .confirmacion_tarjeta .confirmacion_tarjeta-header__titulo,
body.simulador-villarica #paso-opciones-seleccionadas .confirmacion_tarjeta .confirmacion_tarjeta-header__titulo {
  font-weight: bold;
  font-size: calc(0.875rem * 3);
  text-align: center;
  padding: 0.25em 0;
  text-transform: uppercase;
  color: #000;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .confirmacion_tarjeta .confirmacion_tarjeta-main,
body.simulador-villarica #paso-opciones-seleccionadas .confirmacion_tarjeta .confirmacion_tarjeta-main {
  flex: 1;
  min-height: 0;
  margin: 0.5rem 0;
  overflow: hidden;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .confirmacion_tarjeta .confirmacion_tarjeta-footer,
body.simulador-villarica #paso-opciones-seleccionadas .confirmacion_tarjeta .confirmacion_tarjeta-footer {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 0.5em;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .confirmacion_tarjeta-footer__btn,
body.simulador-villarica #paso-opciones-seleccionadas .confirmacion_tarjeta-footer__btn {
  display: inline-block;
  font-size: calc(0.875rem * 2.70);
  padding: 0.7em 1.5em;
  cursor: pointer;
  color: #ffffff;
  background: #545859;
  border-radius: 13px;
  user-select: none;
  font-weight: bold;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .confirmacion_tarjeta-footer__btn:hover,
body.simulador-villarica #paso-opciones-seleccionadas .confirmacion_tarjeta-footer__btn:hover {
  background: #3a3d3e;
}

/* === conf_cerrada (intendente - lista cerrada) === */
body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada,
body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada {
  display: grid;
  width: 100%;
  height: 100%;
  justify-items: center;
  align-items: center;
  align-content: space-between;
  grid-template-columns: 1fr;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-nombre_partido,
body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-nombre_partido {
  text-align: center;
  font-weight: bold;
  font-size: calc(1rem * 3);
  text-transform: uppercase;
  padding-top: 5%;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-lista,
body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-lista {
  display: inline-flex;
  font-weight: bold;
  text-transform: uppercase;
  font-size: calc(1rem * 3.25);
}
body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-lista .conf_cerrada-palabra_lista,
body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-lista .conf_cerrada-palabra_lista {
  margin-right: 1ch;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-foto_candidato,
body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-foto_candidato {
  height: 100%;
  max-height: 40%;
  display: flex;
  justify-content: center;
  align-items: center;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-foto_candidato img,
body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-foto_candidato img,
body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente-contenedor_imagen img,
body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente-contenedor_imagen img,
body.simulador-guaira-root #paso-opciones-seleccionadas .sim-conf-foto-img,
body.simulador-villarica #paso-opciones-seleccionadas .sim-conf-foto-img {
  max-width: 100%;
  max-height: min(28vh, 220px);
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-datos_candidato,
body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-datos_candidato {
  text-align: center;
  padding-bottom: 16%;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-candidato_principal,
body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-candidato_principal {
  font-weight: bold;
  color: #000;
  font-size: calc(1rem * 3.25);
  max-width: 100%;
  word-break: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-candidato_secundario,
body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-candidato_secundario {
  font-weight: bold;
  font-size: calc(0.6rem * 2.25);
}

/* === conf_candidato_preferente (junta - voto preferente) === */
body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente,
body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente {
  display: grid;
  width: 100%;
  height: 100%;
  justify-items: center;
  align-items: center;
  align-content: space-between;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente-nombre_partido,
body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente-nombre_partido {
  text-align: center;
  font-weight: bold;
  font-size: calc(1rem * 3);
  text-transform: uppercase;
  padding-top: 5%;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente-lista,
body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente-lista {
  display: inline-flex;
  font-weight: bold;
  text-transform: uppercase;
  font-size: calc(1rem * 3.25);
}
body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente-lista .conf_candidato_preferente-palabra-lista,
body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente-lista .conf_candidato_preferente-palabra-lista {
  margin-right: 1ch;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente-contenedor_imagen,
body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente-contenedor_imagen {
  height: 100%;
  max-height: 40%;
  display: flex;
  justify-content: center;
  align-items: center;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente-datos_candidato,
body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente-datos_candidato {
  text-align: center;
  font-size: calc(1rem * 2.25);
  padding-bottom: 16%;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente-nombre_candidato,
body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente-nombre_candidato {
  font-weight: bold;
  color: #000;
  max-width: 100%;
  word-break: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
}
body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente-nro_orden,
body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente-nro_orden {
  font-size: 1.3em;
  color: #000;
  margin-top: 0.4em;
  margin-bottom: -11%;
}

/* === Pasos post-voto (8-11): botón Continuar/Reiniciar — igual que btn btn-primary btn-lg del oficial === */
body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="8"] .sim-btn,
body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="9"] .sim-btn,
body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="10"] .sim-btn,
body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="11"] .sim-btn {
  display: inline-block;
  height: 50px;
  width: 160px;
  padding: 0;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.33;
  border: 1px solid #2e6da4;
  border-radius: 4px;
  cursor: pointer;
  color: #ffffff;
  background-color: #337ab7;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  box-sizing: border-box;
}
body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="8"] .sim-btn:hover,
body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="9"] .sim-btn:hover,
body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="10"] .sim-btn:hover,
body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="11"] .sim-btn:hover {
  background-color: #286090;
  border-color: #204d74;
  color: #ffffff;
}

/* === Pasos post-voto (8-11): header inyectado (estructura idéntica al instructivo) === */
.sim-paso[data-paso="8"] > header,
.sim-paso[data-paso="9"] > header,
.sim-paso[data-paso="10"] > header,
.sim-paso[data-paso="11"] > header {
  background: #ffffff;
  width: 100%;
  flex-shrink: 0;
  box-sizing: border-box;
  border-bottom: 1px solid #ddd;
}
.sim-paso[data-paso="8"] > header .container,
.sim-paso[data-paso="9"] > header .container,
.sim-paso[data-paso="10"] > header .container,
.sim-paso[data-paso="11"] > header .container {
  max-width: 100%;
  padding: 0 16px;
}
.sim-paso[data-paso="8"] > header .row,
.sim-paso[data-paso="9"] > header .row,
.sim-paso[data-paso="10"] > header .row,
.sim-paso[data-paso="11"] > header .row {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  min-height: 56px;
  max-height: 64px;
}
.sim-paso[data-paso="8"] > header .superior,
.sim-paso[data-paso="9"] > header .superior,
.sim-paso[data-paso="10"] > header .superior,
.sim-paso[data-paso="11"] > header .superior {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
}
.sim-paso[data-paso="8"] > header .logo_eleccion_izq,
.sim-paso[data-paso="9"] > header .logo_eleccion_izq,
.sim-paso[data-paso="10"] > header .logo_eleccion_izq,
.sim-paso[data-paso="11"] > header .logo_eleccion_izq {
  height: 44px !important;
  width: auto !important;
  max-height: 44px !important;
  object-fit: contain !important;
}
.sim-paso[data-paso="8"] > header .texto-tribunal,
.sim-paso[data-paso="9"] > header .texto-tribunal,
.sim-paso[data-paso="10"] > header .texto-tribunal,
.sim-paso[data-paso="11"] > header .texto-tribunal {
  display: flex !important;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex: 1;
}
.sim-paso[data-paso="8"] > header .simulador-guia,
.sim-paso[data-paso="9"] > header .simulador-guia,
.sim-paso[data-paso="10"] > header .simulador-guia,
.sim-paso[data-paso="11"] > header .simulador-guia {
  font-size: clamp(9px, 0.85vw, 12px) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: #000 !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  white-space: nowrap;
}
.sim-paso[data-paso="8"] > header .logo_simulador,
.sim-paso[data-paso="9"] > header .logo_simulador,
.sim-paso[data-paso="10"] > header .logo_simulador,
.sim-paso[data-paso="11"] > header .logo_simulador {
  height: 44px !important;
  width: auto !important;
  max-height: 44px !important;
  object-fit: contain !important;
}
.sim-paso[data-paso="8"] > header .navbar-brand,
.sim-paso[data-paso="9"] > header .navbar-brand,
.sim-paso[data-paso="10"] > header .navbar-brand,
.sim-paso[data-paso="11"] > header .navbar-brand {
  display: none !important;
}

/* === Pasos post-voto (8-11): propagar altura desde .sim-container === */
body.simulador-guaira-root.sim-maquina-votacion-activa:has(.sim-paso[data-paso="8"].activo) .sim-maquina-marco > .sim-container,
body.simulador-guaira-root.sim-maquina-votacion-activa:has(.sim-paso[data-paso="9"].activo) .sim-maquina-marco > .sim-container,
body.simulador-guaira-root.sim-maquina-votacion-activa:has(.sim-paso[data-paso="10"].activo) .sim-maquina-marco > .sim-container,
body.simulador-guaira-root.sim-maquina-votacion-activa:has(.sim-paso[data-paso="11"].activo) .sim-maquina-marco > .sim-container {
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0 !important;
  min-height: 0 !important;
}
/* === Pasos post-voto (8-11): layout dentro del marco máquina === */
body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="8"].activo,
body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="9"].activo,
body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="10"].activo,
body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="11"].activo {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  flex: 1 1 0 !important;
  min-height: 0;
  box-sizing: border-box;
  width: 100%;
  background: #e6e5e4;
}
/* Contenido centrado dentro del paso (imagen + texto + botón) */
body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="8"].activo .sim-pv-content,
body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="9"].activo .sim-pv-content,
body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="10"].activo .sim-pv-content,
body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="11"].activo .sim-pv-content {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: clamp(16px, 4vh, 40px) clamp(16px, 3vw, 40px) 80px;
  position: relative;
}
body.simulador-guaira-root.sim-maquina-votacion-activa .sim-pv-content h1,
body.simulador-guaira-root.sim-maquina-votacion-activa .sim-pv-content p,
body.simulador-guaira-root.sim-maquina-votacion-activa .sim-pv-content h2 {
  max-width: 80%;
  font-size: clamp(1rem, 2.5vw, 1.8em);
  font-weight: normal;
  line-height: 1.5;
  margin: 16px auto;
  color: #000;
  text-align: center;
}
/* Botón fijo al fondo (equivalente a position:fixed del referente) */
body.simulador-guaira-root.sim-maquina-votacion-activa .sim-pv-content .btn-wrap {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
/* Paso 11 "Gracias": h1 más grande, igual que #agradecimiento h1 del oficial */
body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="11"].activo .sim-pv-content h1 {
  font-size: clamp(1.2rem, 3vw, 2.3em);
}
/* === Pasos post-voto (8-11): botón responsive — igual que oficial === */
@media (max-width: 1024px) {
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="8"] .sim-btn,
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="9"] .sim-btn,
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="10"] .sim-btn,
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="11"] .sim-btn {
    height: 45px;
    width: 145px;
    font-size: 16px;
  }
}
@media (max-width: 768px) {
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="8"] .sim-btn,
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="9"] .sim-btn,
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="10"] .sim-btn,
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="11"] .sim-btn {
    height: 40px;
    width: 135px;
    font-size: 15px;
  }
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-pv-content .btn-wrap {
    bottom: 10px;
  }
}
@media (max-height: 500px) {
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="8"] .sim-btn,
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="9"] .sim-btn,
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="10"] .sim-btn,
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="11"] .sim-btn {
    height: 36px;
    width: 130px;
    font-size: 14px;
  }
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-pv-content .btn-wrap {
    bottom: 8px;
  }
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="8"].activo .sim-pv-content,
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="9"].activo .sim-pv-content,
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="10"].activo .sim-pv-content,
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="11"].activo .sim-pv-content {
    padding-bottom: 58px;
  }
}
@media (max-height: 280px) {
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="8"] .sim-btn,
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="9"] .sim-btn,
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="10"] .sim-btn,
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="11"] .sim-btn {
    height: 32px;
    width: 120px;
    font-size: 13px;
  }
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-pv-content .btn-wrap {
    bottom: 6px;
  }
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="8"].activo .sim-pv-content,
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="9"].activo .sim-pv-content,
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="10"].activo .sim-pv-content,
  body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="11"].activo .sim-pv-content {
    padding-bottom: 50px;
  }
}

/* === Pasos post-voto (8-11): imagen máquina === */
body.simulador-guaira-root .sim-img-maquina,
body.simulador-villarica .sim-img-maquina {
  display: block;
  max-height: 42vh;
  max-width: 80%;
  width: auto;
  margin: 0 auto 1rem;
  object-fit: contain;
}
/* Imagen en pasos post-voto: usa mismos valores que referencia (42vh / 80%) */
body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="8"].activo .sim-img-maquina,
body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="9"].activo .sim-img-maquina,
body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="10"].activo .sim-img-maquina,
body.simulador-guaira-root.sim-maquina-votacion-activa .sim-paso[data-paso="11"].activo .sim-img-maquina {
  max-height: 42vh;
  max-width: 80%;
  margin: 0 auto;
}

/* === RESPONSIVE: paso 7 (max-width: 1200px) — tablet/laptop, escalado suave === */
@media (max-width: 1200px) {
  body.simulador-guaira-root #paso-opciones-seleccionadas .confirmacion_tarjeta-header__titulo,
  body.simulador-villarica #paso-opciones-seleccionadas .confirmacion_tarjeta-header__titulo {
    font-size: calc(0.875rem * 2.5);
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-nombre_partido,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-nombre_partido {
    font-size: calc(1rem * 2.5);
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-lista,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-lista {
    font-size: calc(1rem * 2.75);
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-candidato_principal,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-candidato_principal {
    font-size: calc(1rem * 2.5);
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente-nombre_partido,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente-nombre_partido {
    font-size: calc(1rem * 2);
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente-lista,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente-lista {
    font-size: calc(1rem * 2.75);
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .confirmacion_tarjeta-footer__btn,
  body.simulador-villarica #paso-opciones-seleccionadas .confirmacion_tarjeta-footer__btn {
    font-size: calc(0.875rem * 2);
    padding: 0.6em 1.2em;
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .sim-paso7-sidebar,
  body.simulador-villarica #paso-opciones-seleccionadas .sim-paso7-sidebar {
    flex: 0 0 clamp(100px, 12vw, 150px);
    width: clamp(100px, 12vw, 150px);
  }
}

/* === RESPONSIVE: paso 7 (max-width: 900px) — escala tipografía, mantiene layout horizontal === */
@media (max-width: 900px) {
  body.simulador-guaira-root #paso-opciones-seleccionadas .confirmacion_tarjeta-header__titulo,
  body.simulador-villarica #paso-opciones-seleccionadas .confirmacion_tarjeta-header__titulo {
    font-size: calc(0.875rem * 2);
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-nombre_partido,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-nombre_partido {
    font-size: calc(1rem * 2);
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-lista,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-lista {
    font-size: calc(1rem * 2.2);
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-candidato_principal,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-candidato_principal {
    font-size: calc(1rem * 2);
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente-nombre_partido,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente-nombre_partido {
    font-size: calc(1rem * 1.6);
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente-lista,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente-lista {
    font-size: calc(1rem * 2.2);
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .confirmacion_tarjeta-footer__btn,
  body.simulador-villarica #paso-opciones-seleccionadas .confirmacion_tarjeta-footer__btn {
    font-size: calc(0.875rem * 1.6);
    padding: 0.5em 1em;
  }
}

/* === RESPONSIVE: paso 7 (max-width: 680px) — tipografía compacta (layout en 768px) === */
@media (max-width: 680px) {
  body.simulador-guaira-root #paso-opciones-seleccionadas .confirmacion_tarjeta-header__titulo,
  body.simulador-villarica #paso-opciones-seleccionadas .confirmacion_tarjeta-header__titulo {
    font-size: calc(0.875rem * 1.6);
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-nombre_partido,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-nombre_partido {
    font-size: calc(1rem * 1.6);
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-lista,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-lista {
    font-size: calc(1rem * 1.8);
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-candidato_principal,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-candidato_principal {
    font-size: calc(1rem * 1.6);
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente-nombre_partido,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente-nombre_partido {
    font-size: calc(1rem * 1.4);
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente-lista,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente-lista {
    font-size: calc(1rem * 1.8);
  }
}

/* === RESPONSIVE: paso 7 (max-width: 480px) — móvil pequeño, layout compacto === */
@media (max-width: 480px) {
  body.simulador-guaira-root #paso-opciones-seleccionadas .confirmacion_tarjeta-header__titulo,
  body.simulador-villarica #paso-opciones-seleccionadas .confirmacion_tarjeta-header__titulo {
    font-size: calc(0.875rem * 1.2);
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-nombre_partido,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-nombre_partido {
    font-size: calc(1rem * 1.1);
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-lista,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-lista {
    font-size: calc(1rem * 1.3);
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-candidato_principal,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-candidato_principal {
    font-size: calc(1rem * 1.1);
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente-nombre_partido,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente-nombre_partido {
    font-size: calc(1rem * 1);
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente-lista,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente-lista {
    font-size: calc(1rem * 1.3);
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .confirmacion_tarjeta-footer__btn,
  body.simulador-villarica #paso-opciones-seleccionadas .confirmacion_tarjeta-footer__btn {
    font-size: calc(0.875rem * 1);
    padding: 0.4em 0.8em;
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .sim-paso7-sidebar,
  body.simulador-villarica #paso-opciones-seleccionadas .sim-paso7-sidebar {
    gap: 6px;
    padding: 0 6px 6px 6px;
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-reiniciar,
  body.simulador-guaira-root #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-imprimir,
  body.simulador-villarica #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-reiniciar,
  body.simulador-villarica #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-imprimir {
    font-size: 0.75rem;
    min-height: 44px;
    padding: 8px 6px;
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .sim-paso7-cards,
  body.simulador-villarica #paso-opciones-seleccionadas .sim-paso7-cards {
    gap: 8px;
    padding: 6px;
  }
  body.simulador-guaira-root #paso-opciones-seleccionadas .sim-paso7-cards .candidato,
  body.simulador-villarica #paso-opciones-seleccionadas .sim-paso7-cards .candidato {
    padding: 6px;
  }

  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-foto_candidato img,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-foto_candidato img,
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente-contenedor_imagen img,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente-contenedor_imagen img {
    max-height: min(42vw, 220px) !important;
    min-height: 100px;
  }
}

/* === ALTO CONTRASTE: paso 7 === */
body.simulador-guaira-root.sim-alto-contraste #paso-opciones-seleccionadas .sim-paso7-cards .candidato,
body.simulador-villarica.sim-alto-contraste #paso-opciones-seleccionadas .sim-paso7-cards .candidato {
  background-color: #000000;
  border: solid 1px #ffffff;
  color: #ffffff;
}
body.simulador-guaira-root.sim-alto-contraste #paso-opciones-seleccionadas .barra-titulo,
body.simulador-villarica.sim-alto-contraste #paso-opciones-seleccionadas .barra-titulo {
  background-color: #000000;
  color: #ffffff;
  border-color: #ffffff;
}
body.simulador-guaira-root.sim-alto-contraste #paso-opciones-seleccionadas .confirmacion_tarjeta-header,
body.simulador-villarica.sim-alto-contraste #paso-opciones-seleccionadas .confirmacion_tarjeta-header {
  border-bottom-color: #ffffff;
}
body.simulador-guaira-root.sim-alto-contraste #paso-opciones-seleccionadas .confirmacion_tarjeta-header__titulo,
body.simulador-villarica.sim-alto-contraste #paso-opciones-seleccionadas .confirmacion_tarjeta-header__titulo {
  color: #ffffff;
}
body.simulador-guaira-root.sim-alto-contraste #paso-opciones-seleccionadas .conf_cerrada-candidato_principal,
body.simulador-villarica.sim-alto-contraste #paso-opciones-seleccionadas .conf_cerrada-candidato_principal,
body.simulador-guaira-root.sim-alto-contraste #paso-opciones-seleccionadas .conf_candidato_preferente-nombre_candidato,
body.simulador-villarica.sim-alto-contraste #paso-opciones-seleccionadas .conf_candidato_preferente-nombre_candidato {
  color: #ffffff;
}

/* ============================================================
   MÓVIL: títulos de listas / movimientos legibles (pasos 4 y 5)
   ============================================================ */
@media (max-width: 768px) {
  body.simulador-guaira-root .sim-header.sim-header--dinamico .sim-header-titulo-paso,
  body.simulador-villarica .sim-header.sim-header--dinamico .sim-header-titulo-paso {
    font-size: clamp(11px, 2.6vw, 16px) !important;
    line-height: 1.25 !important;
    padding: 8px 6px 10px !important;
    margin-left: 2% !important;
    margin-right: 2% !important;
    word-break: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
  }

  /* Paso 5 — tarjetas de lista junta */
  body.simulador-guaira-root #paso-listas-junta .sin_imagen-datos_lista,
  body.simulador-villarica #paso-listas-junta .sin_imagen-datos_lista {
    padding: 3px 4px;
    overflow: hidden;
    min-height: 0;
  }

  body.simulador-guaira-root #paso-listas-junta .sin_imagen-lista,
  body.simulador-villarica #paso-listas-junta .sin_imagen-lista,
  body.simulador-guaira-root #paso-listas-junta .max2 .sin_imagen-datos_lista .sin_imagen-lista,
  body.simulador-guaira-root #paso-listas-junta .max3 .sin_imagen-datos_lista .sin_imagen-lista,
  body.simulador-guaira-root #paso-listas-junta .max4 .sin_imagen-datos_lista .sin_imagen-lista,
  body.simulador-guaira-root #paso-listas-junta .max6 .sin_imagen-datos_lista .sin_imagen-lista,
  body.simulador-guaira-root #paso-listas-junta .max8 .sin_imagen-datos_lista .sin_imagen-lista,
  body.simulador-guaira-root #paso-listas-junta .max12 .sin_imagen-datos_lista .sin_imagen-lista,
  body.simulador-guaira-root #paso-listas-junta .max16 .sin_imagen-datos_lista .sin_imagen-lista,
  body.simulador-villarica #paso-listas-junta .max2 .sin_imagen-datos_lista .sin_imagen-lista,
  body.simulador-villarica #paso-listas-junta .max3 .sin_imagen-datos_lista .sin_imagen-lista,
  body.simulador-villarica #paso-listas-junta .max4 .sin_imagen-datos_lista .sin_imagen-lista,
  body.simulador-villarica #paso-listas-junta .max6 .sin_imagen-datos_lista .sin_imagen-lista,
  body.simulador-villarica #paso-listas-junta .max8 .sin_imagen-datos_lista .sin_imagen-lista,
  body.simulador-villarica #paso-listas-junta .max12 .sin_imagen-datos_lista .sin_imagen-lista,
  body.simulador-villarica #paso-listas-junta .max16 .sin_imagen-datos_lista .sin_imagen-lista {
    font-size: clamp(0.7rem, 3.2vw, 1rem) !important;
    flex-wrap: wrap;
    gap: 2px 5px;
    line-height: 1.1;
  }

  body.simulador-guaira-root #paso-listas-junta .sin_imagen-palabra_lista,
  body.simulador-villarica #paso-listas-junta .sin_imagen-palabra_lista {
    margin-right: 4px;
    font-size: 0.5em !important;
  }

  body.simulador-guaira-root #paso-listas-junta .sin_imagen-numero_lista,
  body.simulador-villarica #paso-listas-junta .sin_imagen-numero_lista {
    font-size: 1em !important;
    line-height: 1;
  }

  body.simulador-guaira-root #paso-listas-junta .sin_imagen-nombre_lista,
  body.simulador-villarica #paso-listas-junta .sin_imagen-nombre_lista,
  body.simulador-guaira-root #paso-listas-junta .max2 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
  body.simulador-guaira-root #paso-listas-junta .max3 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
  body.simulador-guaira-root #paso-listas-junta .max4 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
  body.simulador-guaira-root #paso-listas-junta .max6 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
  body.simulador-guaira-root #paso-listas-junta .max8 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
  body.simulador-guaira-root #paso-listas-junta .max12 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
  body.simulador-guaira-root #paso-listas-junta .max16 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
  body.simulador-villarica #paso-listas-junta .max2 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
  body.simulador-villarica #paso-listas-junta .max3 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
  body.simulador-villarica #paso-listas-junta .max4 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
  body.simulador-villarica #paso-listas-junta .max6 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
  body.simulador-villarica #paso-listas-junta .max8 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
  body.simulador-villarica #paso-listas-junta .max12 .sin_imagen-datos_lista .sin_imagen-nombre_lista,
  body.simulador-villarica #paso-listas-junta .max16 .sin_imagen-datos_lista .sin_imagen-nombre_lista {
    font-size: clamp(0.5rem, 2.4vw, 0.82rem) !important;
    line-height: 1.12 !important;
    word-break: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
    padding: 0 2px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    align-self: center;
  }

  body.simulador-guaira-root #paso-listas-junta .sin_imagen-nombre_corto_lista,
  body.simulador-villarica #paso-listas-junta .sin_imagen-nombre_corto_lista,
  body.simulador-guaira-root #paso-listas-junta .max2 .sin_imagen-datos_lista .sin_imagen-nombre_corto_lista,
  body.simulador-guaira-root #paso-listas-junta .max3 .sin_imagen-datos_lista .sin_imagen-nombre_corto_lista,
  body.simulador-guaira-root #paso-listas-junta .max4 .sin_imagen-datos_lista .sin_imagen-nombre_corto_lista,
  body.simulador-villarica #paso-listas-junta .max2 .sin_imagen-datos_lista .sin_imagen-nombre_corto_lista,
  body.simulador-villarica #paso-listas-junta .max3 .sin_imagen-datos_lista .sin_imagen-nombre_corto_lista,
  body.simulador-villarica #paso-listas-junta .max4 .sin_imagen-datos_lista .sin_imagen-nombre_corto_lista {
    font-size: clamp(0.48rem, 2.1vw, 0.75rem) !important;
    line-height: 1.1;
    word-break: break-word;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  /* Paso 4 — intendente */
  body.simulador-guaira-root #paso-intendente .candidato_lista_con_imagen-nombre_lista,
  body.simulador-villarica #paso-intendente .candidato_lista_con_imagen-nombre_lista,
  body.simulador-guaira-root #paso-intendente #pantalla_candidatos.max2 .candidato_lista_con_imagen-nombre_lista,
  body.simulador-villarica #paso-intendente #pantalla_candidatos.max2 .candidato_lista_con_imagen-nombre_lista {
    font-size: clamp(0.45rem, 2vw, 0.78rem) !important;
    line-height: 1.12 !important;
    padding: 0 2px;
    word-break: break-word;
    overflow-wrap: break-word;
  }

  body.simulador-guaira-root #paso-intendente .candidato_lista_con_imagen-lista,
  body.simulador-villarica #paso-intendente .candidato_lista_con_imagen-lista,
  body.simulador-guaira-root #paso-intendente #pantalla_candidatos.max2 .candidato_lista_con_imagen-lista,
  body.simulador-villarica #paso-intendente #pantalla_candidatos.max2 .candidato_lista_con_imagen-lista {
    font-size: clamp(0.55rem, 2.5vw, 0.9rem) !important;
  }

  body.simulador-guaira-root #paso-intendente .candidato_lista_con_imagen-lista .palabra-lista,
  body.simulador-guaira-root #paso-intendente .candidato_lista_con_imagen-lista .numero-lista,
  body.simulador-guaira-root #paso-intendente .candidato_lista_con_imagen-lista .nombre-corto-lista,
  body.simulador-villarica #paso-intendente .candidato_lista_con_imagen-lista .palabra-lista,
  body.simulador-villarica #paso-intendente .candidato_lista_con_imagen-lista .numero-lista,
  body.simulador-villarica #paso-intendente .candidato_lista_con_imagen-lista .nombre-corto-lista {
    margin-left: 0 !important;
    text-align: center;
  }

  body.simulador-guaira-root #paso-intendente .candidato_lista_con_imagen-candidato_principal,
  body.simulador-villarica #paso-intendente .candidato_lista_con_imagen-candidato_principal,
  body.simulador-guaira-root #paso-intendente #pantalla_candidatos.max2 .candidato_lista_con_imagen-candidato_principal,
  body.simulador-villarica #paso-intendente #pantalla_candidatos.max2 .candidato_lista_con_imagen-candidato_principal {
    font-size: clamp(0.5rem, 2.2vw, 0.85rem) !important;
    line-height: 1.1;
    padding: 0 2px;
  }

  body.simulador-guaira-root #paso-intendente .candidato_lista_con_imagen-foto_candidato img,
  body.simulador-villarica #paso-intendente .candidato_lista_con_imagen-foto_candidato img {
    margin-left: 0 !important;
    object-position: center;
  }

  /* Paso 6 — candidatos junta municipal (con foto) */
  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref {
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    height: auto;
    max-height: 100%;
    min-height: 0;
  }

  body.simulador-guaira-root #paso-junta .preferente_encabezado,
  body.simulador-villarica #paso-junta .preferente_encabezado {
    height: auto;
    min-height: 48px;
    max-height: 16vh;
    padding: 4px 6px;
    margin-top: 6px;
    margin-left: 8px;
  }

  body.simulador-guaira-root #paso-junta .preferente_encabezado .preferente_encabezado-lista,
  body.simulador-villarica #paso-junta .preferente_encabezado .preferente_encabezado-lista {
    font-size: clamp(0.65rem, 3vw, 1rem) !important;
  }

  body.simulador-guaira-root #paso-junta .preferente_encabezado .preferente_encabezado-nombre_partido,
  body.simulador-villarica #paso-junta .preferente_encabezado .preferente_encabezado-nombre_partido {
    font-size: clamp(0.55rem, 2.6vw, 0.9rem) !important;
    line-height: 1.15;
    word-break: break-word;
    overflow-wrap: break-word;
  }

  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref .candidato.opcion-preferencia,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref .candidato.opcion-preferencia {
    width: calc(50% - 12px) !important;
    height: auto !important;
    min-height: 44vw !important;
    max-height: none !important;
    margin: 5px 0 5px 8px !important;
  }

  body.simulador-guaira-root #paso-junta .preferente_candidato,
  body.simulador-villarica #paso-junta .preferente_candidato {
    grid-template-rows: minmax(52px, 44%) minmax(32px, 26%) auto !important;
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
  }

  body.simulador-guaira-root #paso-junta .preferente_candidato .preferente_candidato-foto_preferencia,
  body.simulador-villarica #paso-junta .preferente_candidato .preferente_candidato-foto_preferencia {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }

  body.simulador-guaira-root #paso-junta .preferente_candidato .preferente_candidato-foto_preferencia img,
  body.simulador-villarica #paso-junta .preferente_candidato .preferente_candidato-foto_preferencia img {
    width: 100%;
    height: auto;
    max-height: 24vw;
    min-height: 48px;
    object-fit: contain;
    object-position: center top;
  }

  body.simulador-guaira-root #paso-junta .preferente_candidato .preferente_candidato-nro_orden,
  body.simulador-villarica #paso-junta .preferente_candidato .preferente_candidato-nro_orden,
  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max2 .preferente_candidato .preferente_candidato-nro_orden,
  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max4 .preferente_candidato .preferente_candidato-nro_orden,
  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max6 .preferente_candidato .preferente_candidato-nro_orden,
  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max8 .preferente_candidato .preferente_candidato-nro_orden,
  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max9 .preferente_candidato .preferente_candidato-nro_orden,
  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max10 .preferente_candidato .preferente_candidato-nro_orden,
  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max12 .preferente_candidato .preferente_candidato-nro_orden,
  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max15 .preferente_candidato .preferente_candidato-nro_orden,
  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max18 .preferente_candidato .preferente_candidato-nro_orden,
  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max20 .preferente_candidato .preferente_candidato-nro_orden,
  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max24 .preferente_candidato .preferente_candidato-nro_orden,
  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max30 .preferente_candidato .preferente_candidato-nro_orden,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max2 .preferente_candidato .preferente_candidato-nro_orden,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max4 .preferente_candidato .preferente_candidato-nro_orden,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max6 .preferente_candidato .preferente_candidato-nro_orden,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max8 .preferente_candidato .preferente_candidato-nro_orden,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max9 .preferente_candidato .preferente_candidato-nro_orden,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max10 .preferente_candidato .preferente_candidato-nro_orden,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max12 .preferente_candidato .preferente_candidato-nro_orden,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max15 .preferente_candidato .preferente_candidato-nro_orden,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max18 .preferente_candidato .preferente_candidato-nro_orden,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max20 .preferente_candidato .preferente_candidato-nro_orden,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max24 .preferente_candidato .preferente_candidato-nro_orden,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max30 .preferente_candidato .preferente_candidato-nro_orden {
    font-size: clamp(0.7rem, 3.2vw, 1.05rem) !important;
    line-height: 1.05;
  }

  body.simulador-guaira-root #paso-junta .preferente_candidato .preferente_candidato-nro_orden .preferente_candidato-nro_orden__opcion,
  body.simulador-villarica #paso-junta .preferente_candidato .preferente_candidato-nro_orden .preferente_candidato-nro_orden__opcion {
    font-size: 0.85em !important;
  }

  body.simulador-guaira-root #paso-junta .preferente_candidato .preferente_candidato-nro_orden .preferente_candidato-nro_orden__orden,
  body.simulador-villarica #paso-junta .preferente_candidato .preferente_candidato-nro_orden .preferente_candidato-nro_orden__orden {
    font-size: 1.05em !important;
  }

  body.simulador-guaira-root #paso-junta .preferente_candidato .preferente_candidato-nombre_candidato,
  body.simulador-villarica #paso-junta .preferente_candidato .preferente_candidato-nombre_candidato,
  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max2 .preferente_candidato .preferente_candidato-nombre_candidato,
  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max4 .preferente_candidato .preferente_candidato-nombre_candidato,
  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max6 .preferente_candidato .preferente_candidato-nombre_candidato,
  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max8 .preferente_candidato .preferente_candidato-nombre_candidato,
  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max9 .preferente_candidato .preferente_candidato-nombre_candidato,
  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max10 .preferente_candidato .preferente_candidato-nombre_candidato,
  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max12 .preferente_candidato .preferente_candidato-nombre_candidato,
  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max15 .preferente_candidato .preferente_candidato-nombre_candidato,
  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max18 .preferente_candidato .preferente_candidato-nombre_candidato,
  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max20 .preferente_candidato .preferente_candidato-nombre_candidato,
  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max24 .preferente_candidato .preferente_candidato-nombre_candidato,
  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref.max30 .preferente_candidato .preferente_candidato-nombre_candidato,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max2 .preferente_candidato .preferente_candidato-nombre_candidato,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max4 .preferente_candidato .preferente_candidato-nombre_candidato,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max6 .preferente_candidato .preferente_candidato-nombre_candidato,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max8 .preferente_candidato .preferente_candidato-nombre_candidato,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max9 .preferente_candidato .preferente_candidato-nombre_candidato,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max10 .preferente_candidato .preferente_candidato-nombre_candidato,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max12 .preferente_candidato .preferente_candidato-nombre_candidato,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max15 .preferente_candidato .preferente_candidato-nombre_candidato,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max18 .preferente_candidato .preferente_candidato-nombre_candidato,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max20 .preferente_candidato .preferente_candidato-nombre_candidato,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max24 .preferente_candidato .preferente_candidato-nombre_candidato,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref.max30 .preferente_candidato .preferente_candidato-nombre_candidato {
    font-size: clamp(0.5rem, 2.3vw, 0.78rem) !important;
    line-height: 1.12 !important;
    padding: 2px 3px 4px !important;
    word-break: break-word;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }

  /* Paso 7 — sim-paso7-cards: apilado vertical, sin solapamiento */
  body.simulador-guaira-root #paso-opciones-seleccionadas #pantalla_confirmacion,
  body.simulador-villarica #paso-opciones-seleccionadas #pantalla_confirmacion {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    overflow: visible;
    height: auto;
    min-height: 0;
    flex: 1 1 auto;
  }

  body.simulador-guaira-root #paso-opciones-seleccionadas .sim-paso7-cards,
  body.simulador-villarica #paso-opciones-seleccionadas .sim-paso7-cards {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    order: 1;
    width: 100%;
    max-width: 100%;
    flex: 0 1 auto;
    min-height: 0;
    overflow: visible;
    gap: 10px;
    padding: 8px;
    box-sizing: border-box;
  }

  body.simulador-guaira-root #paso-opciones-seleccionadas .sim-paso7-cards .candidato,
  body.simulador-villarica #paso-opciones-seleccionadas .sim-paso7-cards .candidato {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
  }

  body.simulador-guaira-root #paso-opciones-seleccionadas .confirmacion_tarjeta,
  body.simulador-villarica #paso-opciones-seleccionadas .confirmacion_tarjeta {
    display: flex;
    flex-direction: column;
    justify-content: flex-start !important;
    align-items: stretch;
    height: auto !important;
    min-height: 0 !important;
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  body.simulador-guaira-root #paso-opciones-seleccionadas .confirmacion_tarjeta-header,
  body.simulador-villarica #paso-opciones-seleccionadas .confirmacion_tarjeta-header {
    flex-shrink: 0;
    order: 1;
  }

  body.simulador-guaira-root #paso-opciones-seleccionadas .confirmacion_tarjeta-main,
  body.simulador-villarica #paso-opciones-seleccionadas .confirmacion_tarjeta-main {
    flex: 0 1 auto;
    order: 2;
    overflow: visible;
    margin: 0.35rem 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  body.simulador-guaira-root #paso-opciones-seleccionadas .confirmacion_tarjeta-footer,
  body.simulador-villarica #paso-opciones-seleccionadas .confirmacion_tarjeta-footer {
    flex-shrink: 0;
    order: 3;
    padding-top: 0.35em;
  }

  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada,
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente {
    display: flex !important;
    flex-direction: column !important;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    width: 100%;
    height: auto !important;
    align-content: flex-start;
    grid-template-rows: unset;
  }

  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-nombre_partido,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-nombre_partido,
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente-nombre_partido,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente-nombre_partido {
    order: 1;
    font-size: clamp(0.6rem, 2.5vw, 0.95rem) !important;
    padding-top: 0;
    width: 100%;
    line-height: 1.15;
  }

  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-lista,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-lista,
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente-lista,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente-lista {
    order: 2;
    font-size: clamp(0.65rem, 2.8vw, 1rem) !important;
    flex-wrap: wrap;
    justify-content: center;
  }

  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-foto_candidato,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-foto_candidato,
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente-contenedor_imagen,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente-contenedor_imagen {
    order: 3;
    flex-shrink: 0;
    max-height: none;
    min-height: 80px;
    width: 100%;
    overflow: visible;
    padding: 4px 0;
  }

  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-datos_candidato,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-datos_candidato,
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente-datos_candidato,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente-datos_candidato {
    order: 4;
    width: 100%;
    padding-bottom: 0 !important;
  }

  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-candidato_principal,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-candidato_principal,
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente-nombre_candidato,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente-nombre_candidato {
    font-size: clamp(0.6rem, 2.5vw, 0.95rem) !important;
    line-height: 1.15;
  }

  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente-nro_orden,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente-nro_orden {
    margin-bottom: 0;
    margin-top: 0.25em;
    font-size: clamp(0.55rem, 2.2vw, 0.85rem) !important;
  }

  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_cerrada-foto_candidato img,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_cerrada-foto_candidato img,
  body.simulador-guaira-root #paso-opciones-seleccionadas .conf_candidato_preferente-contenedor_imagen img,
  body.simulador-villarica #paso-opciones-seleccionadas .conf_candidato_preferente-contenedor_imagen img {
    max-height: min(30vw, 160px) !important;
    min-height: 72px;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
  }

  body.simulador-guaira-root #paso-opciones-seleccionadas .confirmacion_tarjeta-header__titulo,
  body.simulador-villarica #paso-opciones-seleccionadas .confirmacion_tarjeta-header__titulo {
    font-size: clamp(0.7rem, 3vw, 1.1rem) !important;
    line-height: 1.2;
    padding: 0.2em 4px;
  }

  body.simulador-guaira-root #paso-opciones-seleccionadas .confirmacion_tarjeta-footer__btn,
  body.simulador-villarica #paso-opciones-seleccionadas .confirmacion_tarjeta-footer__btn {
    font-size: clamp(0.65rem, 2.5vw, 0.9rem) !important;
    padding: 0.45em 0.9em;
  }

  body.simulador-guaira-root #paso-opciones-seleccionadas .sim-paso7-sidebar,
  body.simulador-villarica #paso-opciones-seleccionadas .sim-paso7-sidebar {
    order: 2;
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    flex-direction: row;
    padding: 0 8px 10px;
    gap: 8px;
    box-sizing: border-box;
  }

  body.simulador-guaira-root #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-reiniciar,
  body.simulador-guaira-root #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-imprimir,
  body.simulador-villarica #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-reiniciar,
  body.simulador-villarica #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-imprimir {
    flex: 1 1 0;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 6px;
    padding: 10px 8px;
    min-height: 48px;
    font-size: clamp(0.7rem, 2.8vw, 0.95rem) !important;
    line-height: 1.1;
  }

  body.simulador-guaira-root #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-reiniciar .material-icons,
  body.simulador-guaira-root #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-imprimir .material-icons,
  body.simulador-villarica #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-reiniciar .material-icons,
  body.simulador-villarica #paso-opciones-seleccionadas .sim-paso7-sidebar .sim-btn-imprimir .material-icons {
    font-size: clamp(1.2rem, 4.5vw, 1.6rem) !important;
  }
}

@media (max-width: 480px) {
  body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max2 .candidato,
  body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max2 .candidato,
  body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max3 .candidato,
  body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max3 .candidato,
  body.simulador-guaira-root #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max4 .candidato,
  body.simulador-villarica #paso-listas-junta #pantalla_candidatos_junta.sinbarra.max4 .candidato {
    min-height: 28vw;
  }

  body.simulador-guaira-root #paso-listas-junta .sin_imagen-nombre_lista,
  body.simulador-villarica #paso-listas-junta .sin_imagen-nombre_lista {
    -webkit-line-clamp: 5;
  }

  body.simulador-guaira-root #paso-junta #pantalla_candidatos_junta_pref .candidato.opcion-preferencia,
  body.simulador-villarica #paso-junta #pantalla_candidatos_junta_pref .candidato.opcion-preferencia {
    min-height: 48vw !important;
  }

  body.simulador-guaira-root #paso-junta .preferente_candidato .preferente_candidato-foto_preferencia img,
  body.simulador-villarica #paso-junta .preferente_candidato .preferente_candidato-foto_preferencia img {
    max-height: 28vw;
    min-height: 56px;
  }
}
