/* Performance — lazy images, content visibility, loading states */

.lazy-img {
  background-color: rgba(10, 15, 26, 0.06);
  transition: opacity 0.35s ease;
}

.lazy-img.is-lazy-pending {
  opacity: 0.35;
}

.lazy-img.is-lazy-loaded {
  opacity: 1;
}

.lazy-img.is-lazy-error {
  opacity: 0.5;
  min-height: 48px;
}

/* Defer off-screen rendering */
.products-grid,
.categories-grid,
.instagram-grid,
.shop-grid {
  content-visibility: auto;
  contain-intrinsic-size: auto 500px;
}

.shop-sidebar,
.cart-layout,
.product-detail {
  content-visibility: auto;
  contain-intrinsic-size: auto 400px;
}

/* Navigating away */
html.is-navigating .preloader {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

html.is-navigating .preloader.is-hidden {
  opacity: 1;
  visibility: visible;
}

/* Faster preloader exit when page was quick */
.preloader.is-quick-exit {
  transition-duration: 0.35s;
}
