/**
 * DAZE catalog loading states.
 */

.load-more-product {
	align-items: center;
	clear: both;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 76px;
	padding: 18px 12px;
	width: 100%;
}

.load-more-product .daze-load-more-status {
	align-items: center;
	color: #666;
	display: flex;
	font-size: 13px;
	gap: 10px;
	justify-content: center;
	letter-spacing: 0.04em;
	line-height: 1.4;
	text-align: center;
}

.load-more-product .daze-load-more-spinner {
	animation: daze-catalog-spin 0.75s linear infinite;
	border: 2px solid #d8d8d8;
	border-radius: 50%;
	border-top-color: #111;
	display: none;
	flex: 0 0 auto;
	height: 22px;
	width: 22px;
}

.load-more-product.is-loading .daze-load-more-spinner {
	display: inline-block;
}

.load-more-product.is-idle .daze-load-more-status,
.load-more-product.is-complete {
	display: none;
}

.load-more-product.scroll-more.is-idle {
	min-height: 0;
	padding-bottom: 0;
	padding-top: 0;
}

.load-more-product.is-error .daze-load-more-message {
	color: #9b2c2c;
}

.shop-products .item-col.daze-product-pending .product-image {
	animation: daze-catalog-placeholder 1.2s ease-in-out infinite alternate;
	aspect-ratio: 1 / 1;
	background: #f1f1f1;
	overflow: hidden;
}

.shop-products .item-col.daze-product-pending .product-image > *,
.shop-products .item-col.daze-product-pending .list-col8 {
	opacity: 0;
}

.shop-products .item-col.daze-product-ready {
	animation: daze-catalog-reveal 0.25s ease-out both;
}

@keyframes daze-catalog-spin {
	to {
		transform: rotate(360deg);
	}
}

@keyframes daze-catalog-placeholder {
	from {
		background-color: #f3f3f3;
	}

	to {
		background-color: #e5e5e5;
	}
}

@keyframes daze-catalog-reveal {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.load-more-product .daze-load-more-spinner,
	.shop-products .item-col.daze-product-pending .product-image,
	.shop-products .item-col.daze-product-ready {
		animation: none;
	}
}
