.vr-caja-voto { text-align: center; margin: 16px 0; }
.vr-boton-votar {
    padding: 12px 28px; font-size: 16px; font-weight: bold;
    border: none; border-radius: 6px; background-color: #e63946; color: #fff;
    cursor: pointer; transition: background-color .2s ease;
}
.vr-boton-votar:hover:not(:disabled) { background-color: #c1121f; }
.vr-boton-votar:disabled { background-color: #999; cursor: not-allowed; }
.vr-conteo { margin-top: 8px; font-size: 14px; color: #555; }
.vr-mensaje { margin-top: 8px; font-size: 14px; }
.vr-mensaje.vr-exito { color: #2a9d8f; }
.vr-mensaje.vr-error { color: #e63946; }

.vr-grilla-participantes { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 20px; }
.vr-tarjeta-participante { text-align: center; }
.vr-tarjeta-participante img {
    border-radius: 8px;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}

.vr-ficha-participante { max-width: 500px; }
.vr-ficha-foto img { border-radius: 8px; max-width: 100%; height: auto; }
.vr-ficha-redes a { margin-right: 12px; font-size: 14px; }

.vr-contador { font-size: 18px; font-weight: bold; text-align: center; }
.vr-contador-etiqueta { font-weight: normal; margin-right: 6px; }

.vr-badge-estado { display: inline-block; padding: 4px 12px; border-radius: 12px; font-size: 13px; font-weight: bold; color: #fff; }
.vr-badge-activa { background-color: #2a9d8f; }
.vr-badge-cerrada { background-color: #6c757d; }
.vr-badge-proximamente { background-color: #f4a261; }
.vr-badge-inactiva { background-color: #adb5bd; }

.vr-lista-resultados { max-width: 400px; }

