.spagora-apuracao{--spa-red:#b40000;--spa-dark:#202124;--spa-soft:#f5f6f7;--spa-line:#e4e6e8;background:#fff;border:1px solid var(--spa-line);border-radius:12px;box-shadow:0 4px 18px rgba(0,0,0,.06);font-family:inherit;margin:24px 0;overflow:hidden;color:var(--spa-dark)}
.spagora-apuracao *{box-sizing:border-box}
.spagora-apuracao__head{align-items:center;background:var(--spa-dark);color:#fff;display:flex;justify-content:space-between;padding:16px 18px}
.spagora-apuracao__head h2{color:#fff!important;font-size:22px!important;line-height:1.15!important;margin:2px 0 0!important}
.spagora-apuracao__eyebrow{font-size:11px;font-weight:800;letter-spacing:.08em}
.spagora-apuracao__live{align-items:center;display:flex;font-size:11px;font-weight:800;gap:6px}
.spagora-apuracao__live i{background:#ef2b2d;border-radius:50%;display:block;height:8px;width:8px;animation:spaPulse 1.5s infinite}
@keyframes spaPulse{50%{opacity:.35}}
.spagora-apuracao__tabs{display:flex;overflow-x:auto;border-bottom:1px solid var(--spa-line)}
.spagora-apuracao__tabs button{appearance:none;background:#fff;border:0;border-bottom:3px solid transparent;cursor:pointer;flex:1;font:inherit;font-size:13px;font-weight:700;min-width:max-content;padding:13px 15px}
.spagora-apuracao__tabs button.is-active{border-bottom-color:var(--spa-red);color:var(--spa-red)}
.spagora-apuracao__content{padding:16px}
.spagora-apuracao__loading,.spagora-apuracao__notice{background:var(--spa-soft);border-radius:8px;padding:20px;text-align:center}
.spagora-apuracao__summary{align-items:end;display:flex;justify-content:space-between;gap:16px}
.spagora-apuracao__summary strong{display:block;font-size:18px}
.spagora-apuracao__summary span{color:#6b6f75;display:block;font-size:12px;margin-top:2px}
.spagora-apuracao__summary b{color:var(--spa-red);font-size:22px;white-space:nowrap}
.spagora-apuracao__progress,.spagora-apuracao__bar{background:#eceef0;border-radius:999px;overflow:hidden}
.spagora-apuracao__progress{height:7px;margin:9px 0 17px}
.spagora-apuracao__progress span,.spagora-apuracao__bar span{background:var(--spa-red);display:block;height:100%;transition:width .4s ease}
.spagora-apuracao__candidate{border-top:1px solid var(--spa-line);padding:13px 0}
.spagora-apuracao__candidate-top{align-items:center;display:grid;gap:10px;grid-template-columns:52px minmax(0,1fr) auto}
.spagora-apuracao__portrait{align-items:center;display:flex;height:58px;justify-content:center;position:relative;width:48px}.spagora-apuracao__photo{border-radius:50%;display:block;height:48px;object-fit:cover;object-position:center 22%;width:48px}.spagora-apuracao__rank{align-items:center;background:var(--spa-soft);border-radius:50%;display:flex;font-size:12px;font-weight:800;height:28px;justify-content:center;width:28px}
.spagora-apuracao__rank--fallback{display:none}.spagora-apuracao__identity{min-width:0}
.spagora-apuracao__identity strong{display:block;font-size:15px;line-height:1.2}
.spagora-apuracao__identity small{color:#74777c;display:block;font-size:11px;margin-top:3px}
.spagora-apuracao__percent{font-size:17px;font-weight:800}
.spagora-apuracao__bar{height:6px;margin:9px 0 5px 62px}
.spagora-apuracao__candidate-bottom{color:#6b6f75;display:flex;font-size:11px;justify-content:space-between;margin-left:62px;gap:10px}
.spagora-apuracao__status{color:var(--spa-red);font-weight:800;text-align:right}
.spagora-apuracao__tse-time{color:#777;font-size:11px;margin-top:10px;text-align:right}
.spagora-apuracao__footer{background:var(--spa-soft);border-top:1px solid var(--spa-line);color:#666;display:flex;font-size:10px;gap:8px;justify-content:space-between;padding:10px 16px}
@media(max-width:520px){.spagora-apuracao{border-radius:8px;margin:18px 0}.spagora-apuracao__head{padding:14px}.spagora-apuracao__head h2{font-size:19px!important}.spagora-apuracao__content{padding:14px}.spagora-apuracao__summary strong{font-size:16px}.spagora-apuracao__summary b{font-size:19px}.spagora-apuracao__footer{align-items:flex-start;flex-direction:column}.spagora-apuracao__candidate-top{grid-template-columns:46px minmax(0,1fr) auto;gap:8px}.spagora-apuracao__portrait{align-items:center;display:flex;height:58px;justify-content:center;position:relative;width:48px}.spagora-apuracao__photo{border-radius:50%;display:block;height:48px;object-fit:cover;object-position:center 22%;width:48px}.spagora-apuracao__portrait{height:52px;width:44px}.spagora-apuracao__photo{height:44px;width:44px}.spagora-apuracao__rank{height:26px;width:26px}.spagora-apuracao__bar,.spagora-apuracao__candidate-bottom{margin-left:54px}}

/* Placar compacto para a Notification Bar do Jannah. */
.spagora-apuracao-barra {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 28px;
	font-size: 13px;
	line-height: 1.35;
	white-space: nowrap;
}

.spagora-apuracao-barra__live {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 800;
}

.spagora-apuracao-barra__live i {
	display: inline-block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
}

.spagora-apuracao-barra__content strong {
	font-weight: 800;
}

.spagora-apuracao-barra__progress {
	font-weight: 700;
}

.spagora-apuracao-barra__sep {
	opacity: .65;
	margin: 0 3px;
}

@media (max-width: 767px) {
	.spagora-apuracao-barra {
		justify-content: flex-start;
		overflow: hidden;
		padding: 0 4px;
		font-size: 12px;
	}

	.spagora-apuracao-barra__live {
		flex: 0 0 auto;
	}

	.spagora-apuracao-barra__content {
		display: block;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}


/* Barra eleitoral própria — independente da Notification Bar do Jannah. */
.spagora-apuracao-barra{display:flex;align-items:center;width:100%;font-size:13px;line-height:1.35}
.spagora-apuracao-barra__inner{display:flex;align-items:center;justify-content:center;gap:10px;width:100%}
.spagora-apuracao-barra__live{display:inline-flex;align-items:center;gap:6px;font-weight:800}
.spagora-apuracao-barra__live i{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor}
.spagora-apuracao-barra__content strong,.spagora-apuracao-barra__progress{font-weight:800}
.spagora-apuracao-barra__sep{opacity:.65;margin:0 3px}
.spagora-apuracao-barra--standalone{position:relative;z-index:9998;min-height:42px;padding:7px 18px;background:#202124;color:#fff;border-bottom:3px solid #b50000}
.spagora-apuracao-barra--standalone .spagora-apuracao-barra__inner{max-width:1180px;margin:0 auto}
.spagora-apuracao-barra--standalone .spagora-apuracao-barra__live{color:#fff}
.spagora-apuracao-barra--standalone .spagora-apuracao-barra__live i{background:#e31b23}
.spagora-apuracao-barra__link{flex:0 0 auto;padding:6px 10px;border-radius:4px;background:#b50000;color:#fff!important;font-size:11px;font-weight:800;text-decoration:none}
.spagora-apuracao-barra__link:hover{color:#fff!important;text-decoration:none}
@media(max-width:767px){
	.spagora-apuracao-barra--standalone{padding:7px 10px}
	.spagora-apuracao-barra__inner{justify-content:flex-start;overflow:hidden}
	.spagora-apuracao-barra__live{flex:0 0 auto;font-size:11px}
	.spagora-apuracao-barra__content{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
	.spagora-apuracao-barra__link{font-size:0;padding:6px 8px}
	.spagora-apuracao-barra__link:after{content:"AO VIVO";font-size:10px}
}


/* ==========================================================
 * Barra eleitoral destacada — v1.4.0
 * Reutiliza as fotos oficiais já sincronizadas pelo plugin.
 * ========================================================== */
.spagora-apuracao-barra--standalone {
	min-height: 62px;
	padding: 7px 18px;
	background: #18191b;
	border-bottom: 3px solid #b50000;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
}

.spagora-apuracao-barra--standalone .spagora-apuracao-barra__inner {
	max-width: 1180px;
	gap: 18px;
}

.spagora-apuracao-barra--standalone .spagora-apuracao-barra__live {
	flex: 0 0 auto;
	font-size: 12px;
	letter-spacing: .25px;
}

.spagora-apuracao-barra--standalone .spagora-apuracao-barra__live i {
	width: 8px;
	height: 8px;
	background: #e31b23;
	box-shadow: 0 0 0 4px rgba(227, 27, 35, .15);
}

.spagora-apuracao-barra--standalone .spagora-apuracao-barra__content {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	min-width: 0;
}

.spagora-apuracao-barra__score,
.spagora-apuracao-barra__candidate,
.spagora-apuracao-barra__candidate-text,
.spagora-apuracao-barra__total {
	display: inline-flex;
	align-items: center;
}

.spagora-apuracao-barra__score {
	gap: 12px;
}

.spagora-apuracao-barra__candidate {
	gap: 8px;
}

.spagora-apuracao-barra__candidate-text {
	flex-direction: column;
	align-items: flex-start;
	line-height: 1.08;
}

.spagora-apuracao-barra__name {
	max-width: 165px;
	overflow: hidden;
	font-size: 11px;
	font-weight: 700;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.spagora-apuracao-barra__candidate-text strong {
	margin-top: 3px;
	font-size: 16px;
	line-height: 1;
	color: #fff;
}

.spagora-apuracao-barra__photo {
	display: block;
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	border: 2px solid rgba(255, 255, 255, .92);
	border-radius: 50%;
	background: #f1f1f1;
	object-fit: cover;
	object-position: center top;
}

.spagora-apuracao-barra__photo--empty {
	background: #3a3b3d;
}

.spagora-apuracao-barra__versus {
	font-size: 15px;
	font-weight: 800;
	opacity: .65;
}

.spagora-apuracao-barra__total {
	flex-direction: column;
	align-items: flex-start;
	gap: 5px;
	min-width: 118px;
}

.spagora-apuracao-barra__total-label {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .2px;
}

.spagora-apuracao-barra__track {
	display: block;
	width: 118px;
	height: 4px;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(255, 255, 255, .18);
}

.spagora-apuracao-barra__track > span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: #e31b23;
}

.spagora-apuracao-barra--standalone .spagora-apuracao-barra__link {
	padding: 9px 13px;
	border-radius: 5px;
	background: #b50000;
	font-size: 11px;
	line-height: 1.1;
	white-space: nowrap;
}

@media (max-width: 767px) {
	.spagora-apuracao-barra--standalone {
		min-height: 76px;
		padding: 7px 9px;
	}

	.spagora-apuracao-barra--standalone .spagora-apuracao-barra__inner {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr) auto;
		gap: 7px;
		width: 100%;
		overflow: visible;
	}

	.spagora-apuracao-barra--standalone .spagora-apuracao-barra__live {
		font-size: 9px;
	}

	.spagora-apuracao-barra--standalone .spagora-apuracao-barra__content {
		display: block;
		overflow: visible;
		font-size: 11px;
		white-space: normal;
	}

	.spagora-apuracao-barra__score {
		display: flex;
		justify-content: center;
		gap: 5px;
	}

	.spagora-apuracao-barra__candidate {
		gap: 4px;
		min-width: 0;
	}

	.spagora-apuracao-barra__photo {
		flex-basis: 30px;
		width: 30px;
		height: 30px;
	}

	.spagora-apuracao-barra__name {
		display: none;
	}

	.spagora-apuracao-barra__candidate-text strong {
		margin-top: 0;
		font-size: 13px;
	}

	.spagora-apuracao-barra__versus {
		font-size: 11px;
	}

	.spagora-apuracao-barra__total {
		display: flex;
		align-items: center;
		margin-top: 5px;
		min-width: 0;
	}

	.spagora-apuracao-barra__total-label {
		font-size: 9px;
	}

	.spagora-apuracao-barra__track {
		width: 100%;
		max-width: 160px;
		height: 3px;
	}

	.spagora-apuracao-barra--standalone .spagora-apuracao-barra__link {
		padding: 7px 8px;
	}
}


/* ==========================================================
 * Refinamento da barra eleitoral — v1.4.1
 * Apenas apresentação: nenhuma alteração na apuração/AJAX/cache.
 * ========================================================== */

/* Desktop: usa melhor a largura sem aumentar demais a altura. */
@media (min-width: 768px) {
	.spagora-apuracao-barra--standalone .spagora-apuracao-barra__inner {
		max-width: 1240px;
	}

	.spagora-apuracao-barra--standalone .spagora-apuracao-barra__content {
		gap: 24px;
	}

	.spagora-apuracao-barra__photo {
		flex-basis: 42px;
		width: 42px;
		height: 42px;
	}

	.spagora-apuracao-barra__name {
		max-width: 180px;
		font-size: 12px;
	}

	.spagora-apuracao-barra__candidate-text strong {
		font-size: 18px;
	}

	.spagora-apuracao-barra__total {
		min-width: 132px;
	}

	.spagora-apuracao-barra__total-label {
		font-size: 12px;
	}

	.spagora-apuracao-barra__track {
		width: 132px;
		height: 5px;
	}
}

/* Mobile: duas linhas claras e sem colisão/duplicação visual do CTA. */
@media (max-width: 767px) {
	.spagora-apuracao-barra--standalone {
		min-height: 104px;
		padding: 9px 12px 10px;
	}

	.spagora-apuracao-barra--standalone .spagora-apuracao-barra__inner {
		display: grid;
		grid-template-columns: 1fr auto;
		grid-template-areas:
			"live total"
			"score link";
		align-items: center;
		column-gap: 10px;
		row-gap: 8px;
		width: 100%;
		max-width: none;
	}

	.spagora-apuracao-barra--standalone .spagora-apuracao-barra__live {
		grid-area: live;
		justify-self: start;
		font-size: 11px;
		white-space: nowrap;
	}

	.spagora-apuracao-barra--standalone .spagora-apuracao-barra__content {
		display: contents;
	}

	.spagora-apuracao-barra__score {
		grid-area: score;
		display: flex;
		justify-content: flex-start;
		gap: 7px;
		min-width: 0;
	}

	.spagora-apuracao-barra__candidate {
		gap: 5px;
		min-width: 0;
	}

	.spagora-apuracao-barra__photo {
		flex: 0 0 38px;
		width: 38px;
		height: 38px;
	}

	.spagora-apuracao-barra__name {
		display: none;
	}

	.spagora-apuracao-barra__candidate-text strong {
		margin: 0;
		font-size: 16px;
		line-height: 1;
		white-space: nowrap;
	}

	.spagora-apuracao-barra__versus {
		font-size: 12px;
	}

	.spagora-apuracao-barra__total {
		grid-area: total;
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		justify-self: end;
		gap: 4px;
		margin: 0;
		min-width: 118px;
	}

	.spagora-apuracao-barra__total-label {
		font-size: 10px;
		white-space: nowrap;
	}

	.spagora-apuracao-barra__track {
		width: 118px;
		height: 4px;
	}

	.spagora-apuracao-barra--standalone .spagora-apuracao-barra__link {
		grid-area: link;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		justify-self: end;
		max-width: 122px;
		padding: 9px 10px;
		overflow: hidden;
		font-size: 0;
		line-height: 1;
		white-space: nowrap;
	}

	.spagora-apuracao-barra--standalone .spagora-apuracao-barra__link::after {
		content: "ACOMPANHE →";
		font-size: 11px;
		font-weight: 800;
		line-height: 1;
	}
}

@media (max-width: 390px) {
	.spagora-apuracao-barra--standalone {
		padding-right: 8px;
		padding-left: 8px;
	}

	.spagora-apuracao-barra--standalone .spagora-apuracao-barra__inner {
		column-gap: 6px;
	}

	.spagora-apuracao-barra__photo {
		flex-basis: 34px;
		width: 34px;
		height: 34px;
	}

	.spagora-apuracao-barra__candidate-text strong {
		font-size: 14px;
	}

	.spagora-apuracao-barra__total {
		min-width: 105px;
	}

	.spagora-apuracao-barra__track {
		width: 105px;
	}

	.spagora-apuracao-barra--standalone .spagora-apuracao-barra__link {
		max-width: 108px;
		padding-right: 7px;
		padding-left: 7px;
	}

	.spagora-apuracao-barra--standalone .spagora-apuracao-barra__link::after {
		font-size: 10px;
	}
}


/* Widget lateral de apuração — v1.5.1 */
.spagora-sidebar{overflow:hidden;border:1px solid #e2e2e2;border-radius:6px;background:#fff;font-family:inherit;color:#202124}
.spagora-sidebar__head{padding:14px 15px;background:#18191b;color:#fff;border-bottom:3px solid #b50000}
.spagora-sidebar__head span{display:block;margin-bottom:2px;font-size:10px;font-weight:800;letter-spacing:.5px}
.spagora-sidebar__head strong{font-size:17px;line-height:1.2}
.spagora-sidebar__race{padding:14px 15px;border-bottom:1px solid #ececec}
.spagora-sidebar__race h4{margin:0 0 10px;font-size:11px;font-weight:800;letter-spacing:.45px;color:#b50000}
.spagora-sidebar__candidate{display:flex;align-items:center;gap:10px;margin:0 0 10px}
.spagora-sidebar__photo{display:block;flex:0 0 44px;width:44px;height:44px;border:2px solid #eee;border-radius:50%;background:#f3f3f3;object-fit:cover;object-position:center top}
.spagora-sidebar__candidate-copy{display:flex;flex:1;min-width:0;align-items:center;justify-content:space-between;gap:8px}
.spagora-sidebar__candidate-copy strong{overflow:hidden;font-size:12px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
.spagora-sidebar__candidate-copy span{flex:0 0 auto;font-size:16px;font-weight:800}
.spagora-sidebar__progress{margin-top:7px}
.spagora-sidebar__progress>span{display:block;margin-bottom:5px;font-size:10px;font-weight:700;color:#666}
.spagora-sidebar__progress>div{height:5px;overflow:hidden;border-radius:999px;background:#ececec}
.spagora-sidebar__progress i{display:block;height:100%;border-radius:inherit;background:#b50000}
.spagora-sidebar__cta{display:block;padding:12px 14px;background:#b50000;color:#fff!important;font-size:11px;font-weight:800;text-align:center;text-decoration:none}
.spagora-sidebar__cta:hover{color:#fff!important;text-decoration:none}
.spagora-sidebar__loading,.spagora-sidebar__error{padding:18px 14px;font-size:12px;text-align:center}


/* Bloco horizontal de apuração — v1.6.0 */
.spagora-apuracao-horizontal{width:100%;overflow:hidden;border:1px solid #e2e2e2;border-radius:8px;background:#fff;font-family:inherit;color:#202124;box-shadow:0 2px 10px rgba(0,0,0,.04)}
.spagora-horizontal__head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;background:#18191b;color:#fff;border-bottom:3px solid #b50000}
.spagora-horizontal__head h2{margin:2px 0 0;color:#fff;font-size:20px;line-height:1.2}
.spagora-horizontal__eyebrow{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:800;letter-spacing:.55px}
.spagora-horizontal__eyebrow i{width:8px;height:8px;border-radius:50%;background:#e31b23;box-shadow:0 0 0 4px rgba(227,27,35,.13)}
.spagora-horizontal__source{font-size:11px;font-weight:700;color:#ddd}
.spagora-horizontal__content{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.spagora-horizontal__race{min-width:0;padding:16px 18px;border-right:1px solid #ececec}
.spagora-horizontal__race:last-child{border-right:0}
.spagora-horizontal__race h3{margin:0 0 13px;color:#b50000;font-size:12px;font-weight:800;letter-spacing:.4px}
.spagora-horizontal__candidate{display:flex;align-items:center;gap:10px;margin-bottom:11px;min-width:0}
.spagora-horizontal__photo{display:block;flex:0 0 46px;width:46px;height:46px;border:2px solid #eee;border-radius:50%;background:#f3f3f3;object-fit:cover;object-position:center top}
.spagora-horizontal__photo--empty{background:#eee}
.spagora-horizontal__candidate-copy{display:flex;flex:1;min-width:0;flex-direction:column}
.spagora-horizontal__candidate-copy strong{overflow:hidden;font-size:12px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
.spagora-horizontal__candidate-copy small{margin-top:3px;color:#777;font-size:9px;font-weight:700}
.spagora-horizontal__candidate b{flex:0 0 auto;color:#111;font-size:17px}
.spagora-horizontal__progress{margin-top:12px}
.spagora-horizontal__progress>span{display:block;margin-bottom:5px;color:#666;font-size:10px;font-weight:700}
.spagora-horizontal__progress>div{height:5px;overflow:hidden;border-radius:999px;background:#ececec}
.spagora-horizontal__progress i{display:block;height:100%;border-radius:inherit;background:#b50000}
.spagora-horizontal__footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 18px;border-top:1px solid #ececec;background:#fafafa;color:#777;font-size:10px}
.spagora-horizontal__footer a{color:#b50000!important;font-weight:800;text-decoration:none}
.spagora-horizontal__footer a:hover{text-decoration:underline}
.spagora-horizontal__loading,.spagora-horizontal__error{grid-column:1/-1;padding:28px 18px;text-align:center;font-size:12px}

@media (max-width: 767px){
	.spagora-horizontal__head{padding:13px 14px}
	.spagora-horizontal__head h2{font-size:17px}
	.spagora-horizontal__source{display:none}
	.spagora-horizontal__content{grid-template-columns:1fr}
	.spagora-horizontal__race{padding:14px;border-right:0;border-bottom:1px solid #ececec}
	.spagora-horizontal__race:last-child{border-bottom:0}
	.spagora-horizontal__candidate{margin-bottom:9px}
	.spagora-horizontal__photo{flex-basis:42px;width:42px;height:42px}
	.spagora-horizontal__candidate-copy strong{font-size:12px}
	.spagora-horizontal__candidate b{font-size:16px}
	.spagora-horizontal__footer{padding:10px 14px}
}

/* Sidebar vertical dedicada — v1.6.4 */
.spagora-apuracao-sidebar.spagora-sidebar{width:100%;max-width:100%;box-sizing:border-box}
.spagora-apuracao-sidebar .spagora-sidebar__race{box-sizing:border-box}
.spagora-apuracao-sidebar .spagora-sidebar__candidate-copy{min-width:0}
.spagora-apuracao-sidebar .spagora-sidebar__candidate-copy strong{white-space:normal;word-break:normal;overflow-wrap:anywhere}
@media (max-width:360px){
 .spagora-apuracao-sidebar .spagora-sidebar__race{padding:12px}
 .spagora-apuracao-sidebar .spagora-sidebar__photo{flex-basis:40px;width:40px;height:40px}
 .spagora-apuracao-sidebar .spagora-sidebar__candidate-copy span{font-size:15px}
}
