.e640-vot {
	position: relative;
	max-width: 720px;
	margin: 40px auto 0;
	padding: 30px 0 10px;
	text-align: center;
	border-top: 3px solid var(--filet, #1a171b);
}

.e640-vot-pregunta {
	font-family: var(--sans, 'Roboto', sans-serif);
	font-weight: 900;
	font-size: 13px;
	letter-spacing: .18em;
	text-transform: uppercase;
	margin: 0 0 18px;
	color: var(--tinta, #1a171b);
}

.e640-vot-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 56px;
	min-width: 220px;
	padding: 0 34px;
	border: 2px solid var(--vermell, #e2001a);
	border-radius: 999px;
	background: transparent;
	color: var(--vermell, #e2001a);
	font-family: var(--sans, 'Roboto', sans-serif);
	font-weight: 900;
	font-size: 16px;
	letter-spacing: .06em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .15s, color .15s, transform .1s;
}

.e640-vot-btn:hover {
	transform: scale(1.03);
}

.e640-vot-btn:active {
	transform: scale(.98);
}

.e640-vot-btn:focus-visible {
	outline: 3px solid var(--blau, #005eac);
	outline-offset: 3px;
}

.e640-vot-btn.is-busy {
	opacity: .6;
	cursor: wait;
}

.e640-vot-btn.is-voted {
	background: var(--vermell, #e2001a);
	color: #fff;
	cursor: default;
}

@media (prefers-color-scheme: dark) {
	.e640-vot-btn.is-voted {
		color: #1a171b;
	}
}

.e640-vot-btn.is-stamped {
	animation: e640stamp .45s ease;
}

@keyframes e640stamp {
	0% { transform: scale(1) rotate(0); }
	40% { transform: scale(.9) rotate(-4deg); }
	70% { transform: scale(1.06) rotate(1deg); }
	100% { transform: scale(1); }
}

.e640-estrella {
	flex: none;
}

.e640-vot-count {
	font-weight: 700;
	font-size: 14px;
	border-left: 1px solid currentColor;
	padding-left: 12px;
}

.e640-vot-msg {
	min-height: 1.3em;
	margin: 14px 0 0;
	font-family: var(--sans, 'Roboto', sans-serif);
	font-size: 13px;
	color: var(--gris, #6e6a70);
}

.e640-vot-nota {
	margin: 4px 0 0;
	font-family: var(--sans, 'Roboto', sans-serif);
	font-size: 12px;
	color: var(--gris, #6e6a70);
	letter-spacing: .04em;
}

.e640-confeti {
	position: absolute;
	left: 50%;
	top: 45%;
	width: 9px;
	height: 9px;
	background: var(--vermell, #e2001a);
	clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
	animation: e640conf .95s ease-out forwards;
	pointer-events: none;
}

.e640-confeti:nth-child(2n) {
	background: var(--blau, #005eac);
}

@keyframes e640conf {
	to {
		transform: translate(var(--dx), var(--dy)) rotate(260deg);
		opacity: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.e640-vot-btn,
	.e640-vot-btn.is-stamped,
	.e640-confeti {
		animation: none !important;
		transition: none !important;
	}
}
