/* BHS product image performance v1.0.0 */
img[data-bhs-product-image] {
  display: block;
  width: 100%;
  height: auto;
  background: #f4efe9;
  opacity: 0;
  transition: opacity .18s ease;
}
img[data-bhs-product-image].bhs-image-loaded,
img[data-bhs-product-image].bhs-image-fallback {
  opacity: 1;
}
.products article > a,
.sf-category-product-grid article > a,
.builder-products article > a,
.store-search-image {
  position: relative;
  overflow: hidden;
}
.products article > a::before,
.sf-category-product-grid article > a::before,
.builder-products article > a::before,
.store-search-image::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(90deg,#f4efe9 20%,#faf7f3 38%,#f4efe9 56%);
  background-size: 300% 100%;
  animation: bhsImageShimmer 1.25s linear infinite;
  pointer-events: none;
}
.products article.bhs-image-ready > a::before,
.sf-category-product-grid article.bhs-image-ready > a::before,
.builder-products article.bhs-image-ready > a::before,
.store-search-card.bhs-image-ready .store-search-image::before {
  display: none;
}
img[data-bhs-product-image].bhs-image-fallback {
  object-fit: contain !important;
  padding: 12%;
}
@keyframes bhsImageShimmer { from { background-position: 100% 0; } to { background-position: -100% 0; } }
@media (prefers-reduced-motion: reduce) {
  img[data-bhs-product-image] { transition: none; }
  .products article > a::before,
  .sf-category-product-grid article > a::before,
  .builder-products article > a::before,
  .store-search-image::before { animation: none; }
}
