.wp-lqip-wrapper {
	position: relative;
	max-width: 100%;
	line-height: 0;
	overflow: hidden;
}

/* shimmer effect */
.wp-lqip-wrapper::after {
	content: "";
	position: absolute;
	inset: 0;
	transform: translateX(-100%);
	background: linear-gradient(
		90deg,
		transparent 0%,
		rgba(255, 255, 255, 0.45) 50%,
		transparent 100%
	);
	animation: wp-lqip-skeleton-shimmer 1.4s ease-in-out infinite;
	pointer-events: none;
	z-index: 3;
	opacity: 1;
	transition: opacity 0.35s ease;
}

.wp-lqip-wrapper.wp-lqip-placeholder-ready::after {
	opacity: 0.25;
}

.wp-lqip-wrapper.wp-lqip-shimmer-hidden::after {
	opacity: 0;
	animation: none;
}

.wp-lqip-real {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	opacity: 0;
	transition: opacity 0.35s ease;
}

.wp-lqip-real.wp-lqip-loaded,
.wp-lqip-real.wp-lqip-finished {
	opacity: 1;
}

.wp-lqip-skeleton {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background: #d5d5d5;
	z-index: 1;
	pointer-events: none;
}

.wp-lqip-skeleton.wp-lqip-skeleton-hidden {
	opacity: 0;
	transition: opacity 0.25s ease;
}

@keyframes wp-lqip-skeleton-shimmer {
	0% {
		transform: translateX(-100%);
	}

	100% {
		transform: translateX(100%);
	}
}

.wp-lqip-placeholder {
	position: absolute;
	inset: 0;
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	filter: blur(8px);
	transform: scale(1.02);
	opacity: 1;
	transition: opacity 0.35s ease;
	z-index: 2;
	margin: 0 !important;
}

.wp-lqip-placeholder.wp-lqip-placeholder-hidden {
	opacity: 0;
	pointer-events: none;
}