/* Ad Engine — apresentação das posições de anúncio.
 * Moldura do publisher apenas: nunca estiliza, corta, escala ou sobrepõe o
 * criativo do provedor. As reservas de espaço ficam no CSS crítico (inline). */
.ae-label {
	position: absolute;
	inset-block-start: 8px;
	inset-inline-start: 0;
	inset-inline-end: 0;
	margin: 0;
	text-align: center;
	color: var(--text-muted, #8a8494);
	font: 600 10px/1.6 "Source Sans 3", Arial, sans-serif;
	letter-spacing: .07em;
	text-transform: uppercase;
	visibility: hidden;
	pointer-events: none;
}
.ae-slot[data-st="f"] .ae-label { visibility: visible; }
html[data-theme="light-mode"] .ae-label { color: #6a6372; }
.ae-slot__ad > ins.adsbygoogle { display: block; margin-inline: auto; }

/* Anúncio simulado (ambiente local ou ?ae_sim=1): mostra a geometria sem pedir anúncio real. */
.ae-sim {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	inline-size: min(100%, var(--ae-sim-w, 336px));
	margin-inline: auto;
	border: 1px dashed currentColor;
	color: var(--text-muted, #8a8494);
	font: 600 12px/1.4 "Source Sans 3", Arial, sans-serif;
	opacity: .7;
}

/* Top Scroll: faixa de 60 px com o rótulo à esquerda e o botão de fechar à
 * direita, ACIMA do criativo e separada dele (nunca sobre o anúncio). */
.ae-slot--ts { background: color-mix(in srgb, var(--surface-2, #24212b) 25%, transparent); border-block-end: 1px solid var(--od-editorial-rule, #ffffff14); }
.ae-ts__bar { position: absolute; inset-block-start: 0; inset-inline: 0; block-size: 52px; display: flex; align-items: center; justify-content: space-between; padding-inline: 16px 6px; }
.ae-ts__bar .ae-label { position: static; text-align: start; visibility: visible; }
.ae-ts__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	inline-size: 44px;
	block-size: 44px;
	padding: 0;
	border: 1px solid var(--od-editorial-rule, #ffffff26);
	border-radius: 8px;
	background: var(--canvas, #111015);
	color: var(--text, #f4f2f7);
	cursor: pointer;
	touch-action: manipulation;
}
html[data-theme="light-mode"] .ae-ts__close { background: #fff; color: #211e28; border-color: #0000001f; }
.ae-ts__close:focus-visible { outline: 2px solid var(--accent, #c7ff00); outline-offset: 2px; }

/* Lateral sticky no fim da coluna (a coluna ocupa a altura do artigo). */
.go-archive-aside:has(> .ae-slot--lst-rail) { display: flex; flex-direction: column; align-self: stretch; height: auto; }
.go-archive-aside > .ae-slot--lst-rail { flex: 0 0 auto; }

@media (forced-colors: active) {
	.ae-label { color: CanvasText; }
}
