/* Loading placeholders for image-heavy catalog views. */
@keyframes rakhshan-skeleton-shimmer {
	to { background-position-x: -200%; }
}
.is-image-loading,
.is-hero-loading,
.skeleton-block {
	background-color: #edf0f3;
	background-image: linear-gradient(105deg, transparent 30%, rgba(255,255,255,.68) 48%, transparent 66%);
	background-size: 200% 100%;
	animation: rakhshan-skeleton-shimmer 1.35s ease-in-out infinite;
}
.rakhshan-js .product-image.is-image-loading img,
.rakhshan-js .detail-image.is-image-loading img,
.rakhshan-js .category-media.is-image-loading img { opacity: 0; }
.product-image img,
.detail-image img,
.category-media img { transition: opacity .22s ease; }
.rakhshan-js .hero.is-hero-loading { background-image: linear-gradient(105deg, #303b48 30%, #53606d 48%, #303b48 66%) !important; background-color: #252d37; }
.rakhshan-js .hero.is-hero-loading::after { background: linear-gradient(270deg, rgba(18,25,35,.84), rgba(18,25,35,.42)); }
.skeleton-card { pointer-events: none; }
.skeleton-card .skeleton-media { height: 215px; border-radius: 0; }
.skeleton-card .skeleton-copy { padding: 17px 15px 20px; }
.skeleton-card .skeleton-line { height: 13px; border-radius: 5px; margin-bottom: 13px; }
.skeleton-card .skeleton-line.short { width: 42%; }
.skeleton-card .skeleton-line.medium { width: 70%; }
.skeleton-card .skeleton-line.button { height: 36px; margin: 23px 0 0; border-radius: 7px; }
@media (max-width: 600px) {
	.skeleton-card .skeleton-media { height: clamp(155px,42vw,190px); }
	.skeleton-card .skeleton-copy { padding: 12px; }
}
@media (prefers-reduced-motion: reduce) {
	.is-image-loading,
	.is-hero-loading,
	.skeleton-block { animation: none; }
	.product-image img,
	.detail-image img,
	.category-media img { transition: none; }
}
