/* SPPME-A Votaciones · parte pública. Hereda tipografía y colores del tema. */
.sv-votacion, .sv-listado {
	--sv-acento: #1d4e89;
	--sv-acento-claro: #e5edf7;
	--sv-borde: rgba(0, 0, 0, .12);
	--sv-texto-suave: rgba(0, 0, 0, .6);
	--sv-ok: #0a6b25;
	--sv-ok-fondo: #e3f4e7;
	--sv-error: #9b1c1c;
	--sv-error-fondo: #fbe7e7;
	--sv-info-fondo: #f2f4f7;
	margin: 1.5em 0;
}

.sv-titulo { margin-bottom: .3em; }
.sv-titulo a { text-decoration: none; }
.sv-plazo { color: var(--sv-texto-suave); font-size: .95em; }
.sv-nota, .sv-ayuda { color: var(--sv-texto-suave); font-size: .9em; margin: .2em 0 .6em; }

.sv-badge {
	display: inline-block; padding: .15em .7em; border-radius: 1em;
	font-size: .8em; font-weight: 600; background: var(--sv-info-fondo); color: #333;
	vertical-align: middle;
}
.sv-badge-abierta { background: var(--sv-ok-fondo); color: var(--sv-ok); }
.sv-badge-programada { background: #fdf3d0; color: #6b5300; }
.sv-badge-cerrada { background: var(--sv-acento-claro); color: var(--sv-acento); }
.sv-badge-votado { background: var(--sv-acento); color: #fff; }

.sv-aviso { padding: .8em 1em; border-radius: 6px; margin: 1em 0; background: var(--sv-info-fondo); border-left: 4px solid #8a94a6; }
.sv-aviso-ok { background: var(--sv-ok-fondo); border-color: var(--sv-ok); }
.sv-aviso-error { background: var(--sv-error-fondo); border-color: var(--sv-error); }

/* Formulario */
.sv-pregunta {
	border: 1px solid var(--sv-borde); border-radius: 8px;
	padding: 1em 1.2em; margin: 0 0 1.2em;
}
.sv-pregunta legend { font-weight: 700; padding: 0 .4em; font-size: 1.05em; }
.sv-num { color: var(--sv-acento); }
.sv-opcion {
	display: flex; gap: .6em; align-items: flex-start;
	padding: .55em .7em; margin: .3em 0; border-radius: 6px; cursor: pointer;
}
.sv-opcion:hover { background: var(--sv-info-fondo); }
.sv-opcion input { margin-top: .25em; flex: none; }
.sv-opcion-blanco span { font-style: italic; color: var(--sv-texto-suave); }
.sv-opcion input:disabled + span { opacity: .45; }

.sv-confirmacion { background: var(--sv-info-fondo); border-radius: 8px; padding: .8em 1.2em; margin: 1.2em 0; }

.sv-boton {
	display: inline-block; background: var(--sv-acento); color: #fff !important;
	border: 0; border-radius: 6px; padding: .75em 1.6em; font-weight: 600;
	text-decoration: none; cursor: pointer; font-size: 1em;
}
.sv-boton:hover { filter: brightness(1.1); }
.sv-boton:disabled { opacity: .6; cursor: wait; }

/* Resultados */
.sv-participacion { font-size: 1.05em; }
.sv-res-pregunta { margin: 1.6em 0; }
.sv-tabla { width: 100%; border-collapse: collapse; }
.sv-tabla th, .sv-tabla td { padding: .5em .4em; border-bottom: 1px solid var(--sv-borde); text-align: left; vertical-align: middle; }
.sv-tabla th { font-weight: 400; width: 40%; }
.sv-barra-celda { width: 35%; }
.sv-barra { display: block; height: .8em; min-width: 2px; border-radius: 4px; background: #9fb4cf; }
.sv-votos, .sv-pct { text-align: right !important; white-space: nowrap; font-variant-numeric: tabular-nums; }
.sv-ganadora th { font-weight: 700; }
.sv-ganadora .sv-barra { background: var(--sv-acento); }
.sv-fila-blanco th { font-style: italic; color: var(--sv-texto-suave); }

/* Listado */
.sv-listado-lista { list-style: none; padding: 0; margin: 0 0 1.5em; }
.sv-listado-item { padding: .8em 0; border-bottom: 1px solid var(--sv-borde); }
.sv-listado-enlace { font-weight: 600; }

@media (max-width: 600px) {
	.sv-tabla th { width: auto; }
	.sv-barra-celda { display: none; }
}
