/* GP Encuestas — hereda tipografía y color del tema.
   Personaliza con estas variables desde Elementor > Ajustes del sitio > CSS personalizado:
   .gpe-poll { --gpe-accent: #9146ff; --gpe-radius: 12px; } */

.gpe-list { display: grid; gap: 1.5rem; }

.gpe-poll {
	--gpe-accent: #9146ff;
	--gpe-accent-text: #fff;
	--gpe-radius: 12px;
	--gpe-border: color-mix(in srgb, currentColor 18%, transparent);
	--gpe-surface: color-mix(in srgb, currentColor 5%, transparent);
	--gpe-ok: #22c55e;
	--gpe-error: #ef4444;
	box-sizing: border-box;
	max-width: 680px;
	margin: 1.5rem auto;
	padding: 1.5rem;
	border: 1px solid var(--gpe-border);
	border-radius: var(--gpe-radius);
	background: var(--gpe-surface);
	color: inherit;
	font: inherit;
}
.gpe-poll *, .gpe-poll *::before, .gpe-poll *::after { box-sizing: border-box; }

.gpe-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.gpe-title { margin: 0 0 .5rem; font-size: 1.35em; line-height: 1.25; color: inherit; }
.gpe-badge {
	flex: none; padding: .2em .7em; border-radius: 999px; font-size: .75em; font-weight: 600;
	text-transform: uppercase; letter-spacing: .04em; border: 1px solid currentColor;
}
.gpe-badge--open { color: var(--gpe-ok); }
.gpe-badge--closed { opacity: .7; }
.gpe-desc { opacity: .85; margin-bottom: 1rem; }
.gpe-desc p:last-child { margin-bottom: 0; }

.gpe-options { border: 0; margin: 0 0 1rem; padding: 0; display: grid; gap: .5rem; }
.gpe-option {
	display: flex; align-items: center; gap: .75rem; margin: 0; padding: .75rem 1rem; cursor: pointer;
	border: 1px solid var(--gpe-border); border-radius: calc(var(--gpe-radius) - 4px);
	transition: border-color .15s, background-color .15s;
}
.gpe-option:hover { border-color: var(--gpe-accent); }
.gpe-option:has(input:checked) {
	border-color: var(--gpe-accent);
	background: color-mix(in srgb, var(--gpe-accent) 14%, transparent);
}
.gpe-option input { accent-color: var(--gpe-accent); width: 1.1em; height: 1.1em; margin: 0; }

.gpe-user { display: block; font-weight: 600; margin-bottom: .35rem; }
.gpe-row { display: flex; gap: .5rem; flex-wrap: wrap; }
.gpe-row input[type="text"] {
	flex: 1 1 200px; min-width: 0; padding: .65rem .85rem; font: inherit; color: inherit;
	background: transparent; border: 1px solid var(--gpe-border); border-radius: calc(var(--gpe-radius) - 4px);
}
.gpe-row input[type="text"]:focus { outline: 2px solid var(--gpe-accent); outline-offset: 1px; }
.gpe-btn {
	padding: .65rem 1.4rem; font: inherit; font-weight: 600; cursor: pointer;
	color: var(--gpe-accent-text); background: var(--gpe-accent); border: 0; border-radius: calc(var(--gpe-radius) - 4px);
}
.gpe-btn:hover { filter: brightness(1.1); }
.gpe-btn:disabled, .gpe-done .gpe-option { opacity: .55; cursor: default; }

.gpe-msg { min-height: 1.4em; margin: .75rem 0 0; font-size: .95em; }
.gpe-msg--ok { color: var(--gpe-ok); }
.gpe-msg--error { color: var(--gpe-error); }
.gpe-meta { margin: .5rem 0 0; font-size: .85em; opacity: .7; }

.gpe-winner { margin: .5rem 0 1rem; font-size: 1.15em; }
.gpe-winner span { opacity: .75; margin-right: .25rem; }
.gpe-winner strong { color: var(--gpe-accent); }

.gpe-results { list-style: none; margin: 0; padding: 0; display: grid; gap: .65rem; }
.gpe-res-line { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .25rem; }
.gpe-bar { height: 10px; border-radius: 999px; background: var(--gpe-border); overflow: hidden; }
.gpe-bar span { display: block; height: 100%; background: color-mix(in srgb, var(--gpe-accent) 55%, transparent); border-radius: inherit; }
.gpe-res--win .gpe-bar span { background: var(--gpe-accent); }
.gpe-res--win .gpe-res-line { font-weight: 700; }

.gpe-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.gpe-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.gpe-admin-note { padding: .5rem 1rem; border: 1px dashed currentColor; }
