/*
 * Cridare News — slots publicitários.
 *
 * O estado sem publicidade permanece compacto para visitantes e discreto para
 * administradores que precisam visualizar a posição futura do inventário.
 *
 * @package Cridare_News
 */

.cn-ad-slot {
	min-height: 0;
	margin-block: var(--cn-space-5);
	padding: var(--cn-space-2);
	text-align: center;
}

.cn-ad-slot--preview {
	min-height: 3rem;
	border: 1px dashed var(--cn-border-strong);
	background: var(--cn-surface-muted);
	color: var(--cn-text-muted);
	font-family: var(--cn-font-ui);
	font-size: 0.75rem;
}

.cn-ad-slot--preview span {
	display: inline-block;
	padding-block: var(--cn-space-2);
}

.cn-ad {
	width: min(100%, var(--cn-ad-max-width, 970px));
	margin-inline: auto;
	text-align: center;
}

.cn-ad--leaderboard {
	--cn-ad-max-width: 970px;
}

.cn-ad--rectangle {
	--cn-ad-max-width: 640px;
}

.cn-ad__label {
	display: block;
	margin-block-end: var(--cn-space-1);
	color: var(--cn-text-muted);
	font-family: var(--cn-font-ui);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-transform: uppercase;
}

.cn-ad__link,
.cn-ad__media {
	display: block;
}

.cn-ad__link {
	color: inherit;
	text-decoration: none;
}

.cn-ad__image {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
}

/* Leaderboards use a horizontal editorial frame only on desktop. The image
 * remains contained so legacy creatives are never cropped or distorted. */
@media (min-width: 1024px) {
	.cn-ad__media {
		aspect-ratio: 4 / 1;
		display: flex;
		align-items: center;
		justify-content: center;
		overflow: hidden;
		background: var(--cn-surface-muted);
	}

	.cn-ad__image {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
}

.cn-ad__link:focus-visible {
	outline: 3px solid var(--cn-brand-accent);
	outline-offset: 4px;
}