.esn-ad-slot {
	--esn-ad-dw: 970;
	--esn-ad-dh: 250;
	--esn-ad-mw: 320;
	--esn-ad-mh: 100;
	position: relative;
	display: block;
	width: min(100%, calc(var(--esn-ad-dw) * 1px));
	aspect-ratio: var(--esn-ad-dw) / var(--esn-ad-dh);
	margin: 24px auto;
	overflow: hidden;
	border-radius: 16px;
	background: #f2f4f8;
}

.esn-ad-slot__skeleton {
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, #eef1f5 20%, #f9fafc 42%, #eef1f5 64%);
	background-size: 220% 100%;
	animation: esn-adflow-shimmer 1.4s ease infinite;
}

.esn-ad-slot__label {
	position: absolute;
	top: 8px;
	right: 9px;
	z-index: 2;
	padding: 4px 7px;
	border-radius: 999px;
	background: rgba(4, 14, 40, 0.64);
	color: #fff;
	font: 600 9px/1 system-ui, sans-serif;
	letter-spacing: .08em;
	text-transform: uppercase;
	backdrop-filter: blur(8px);
}

.esn-ad-slot__link,
.esn-ad-slot__image {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.esn-ad-slot__link {
	position: absolute;
	inset: 0;
	line-height: 0;
}

.esn-ad-slot__image {
	position: absolute;
	inset: 0;
	max-width: none !important;
	object-fit: contain !important;
	object-position: center !important;
	background: #fff;
}

.esn-ad-slot.is-ready {
	background: #fff;
	box-shadow: 0 8px 26px rgba(20, 31, 60, .07);
}

.esn-adflow-admin-notice {
	padding: 12px;
	border: 1px dashed #c9ced8;
	color: #5c6470;
	font-size: 13px;
	text-align: center;
}

@keyframes esn-adflow-shimmer {
	to { background-position-x: -220%; }
}

@media (max-width: 767px) {
	.esn-ad-slot {
		width: min(100%, calc(var(--esn-ad-mw) * 1px));
		aspect-ratio: var(--esn-ad-mw) / var(--esn-ad-mh);
		margin: 18px auto;
		border-radius: 13px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.esn-ad-slot__skeleton {
		animation: none;
	}
}
