.areza-ad-group {
	--areza-ad-columns: var(--areza-ad-columns-desktop, 1);
	--areza-ad-gap: 16px;
	width: 100%;
	margin: 26px 0;
}

.areza-ad-group--row {
	margin: 22px 0 32px;
}

.areza-ad-group--feed {
	margin: 26px 0;
}

.areza-ad-group--inline {
	margin: 28px 0;
}

.areza-ad-group--sidebar {
	margin: 0 0 22px;
	max-width: 240px;
	margin-left: auto;
	margin-right: auto;
}

.areza-ad-group__title {
	display: block;
	margin: 0 0 9px;
	color: #667085;
	font: 700 10px/1.2 system-ui, sans-serif;
	letter-spacing: 0;
	text-transform: uppercase;
}

.areza-ad-group__items {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--areza-ad-gap);
	box-sizing: border-box;
	transition: opacity 180ms ease-in-out;
}

.areza-ad-group__items.is-fading-out {
	opacity: 0;
}

.areza-ad-tile {
	position: relative;
	flex: 0 0 calc((100% - (var(--areza-ad-columns) - 1) * var(--areza-ad-gap)) / var(--areza-ad-columns));
	min-width: 0;
	max-width: 100%;
	aspect-ratio: 1;
	overflow: hidden;
	background: #f1f3f5;
	border-radius: 6px;
}

.areza-ad-slot__loading {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, #f1f3f5 25%, #e7eaee 50%, #f1f3f5 75%);
	background-size: 200% 100%;
	animation: areza-ad-loading 1.2s linear infinite;
}

.areza-ad {
	display: block;
	position: absolute;
	inset: 0;
	color: inherit;
	text-decoration: none;
	background: #fff;
}

.areza-ad img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.areza-ad__label {
	position: absolute;
	top: 7px;
	right: 7px;
	padding: 3px 6px;
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(17, 24, 39, 0.16);
	border-radius: 3px;
	color: #4b5563;
	font: 700 9px/1.2 system-ui, sans-serif;
	letter-spacing: 0;
	text-transform: uppercase;
}

.areza-ad:focus-visible {
	outline: 3px solid #2271b1;
	outline-offset: -3px;
}

@keyframes areza-ad-loading {
	to { background-position: -200% 0; }
}

@media (max-width: 767px) {
	.areza-ad-group {
		--areza-ad-columns: var(--areza-ad-columns-mobile, 2);
		--areza-ad-gap: 8px;
		margin: 20px 0 24px;
	}

	.areza-ad-group[data-mobile-count="0"] {
		display: none;
	}

	.areza-ad-group--sidebar {
		max-width: 100%;
	}

	.areza-ad__label {
		top: 5px;
		right: 5px;
		padding: 3px 5px;
		font-size: 8px;
	}
}

@media (max-width: 359px) {
	.areza-ad-group {
		--areza-ad-columns: var(--areza-ad-columns-narrow, 2);
	}
}

@media (prefers-reduced-motion: reduce) {
	.areza-ad-slot__loading { animation: none; }
	.areza-ad-group__items { transition: none; }
}
