[data-product-image-loader] { position: relative; }
.product-image-loader { position: absolute; inset: 0; z-index: 1; display: grid; place-items: center; border-radius: inherit; background: #fdfcf9; pointer-events: none; opacity: 0; visibility: hidden; transition: opacity .15s ease; }
.is-product-image-loading > .product-image-loader { opacity: 1; visibility: visible; }
.product-image-loader::after { content: ''; width: 28px; height: 28px; border: 2px solid #244c3826; border-top-color: #244c38; border-radius: 50%; animation: product-image-loading .8s linear infinite; }
[data-product-image-loader="thumbnail"] > .product-image-loader::after { width: 18px; height: 18px; }
@keyframes product-image-loading { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    .product-image-loader { transition: none; }
    .product-image-loader::after { animation: none; }
}
