/* ZEFFIRO 4.26 — reliable photo sizing and seamless white photo mounts.
   Loaded LAST so earlier gallery/theme rules cannot reintroduce dark/grey side panels. */
html body .product-card .product-image,
html body #homeProductGrid .product-card .product-image,
html body .zf412-hits-track .product-card .product-image,
html body #productGrid .product-card .product-image {
  box-sizing:border-box!important;
  position:relative!important;
  overflow:hidden!important;
  background:#fff!important;
  background-color:#fff!important;
  background-image:none!important;
  border-color:transparent!important;
  isolation:isolate!important;
  padding:0!important;
}
html[data-theme="dark"] body .product-card .product-image,
html[data-theme="dark"] body #homeProductGrid .product-card .product-image,
html[data-theme="dark"] body #productGrid .product-card .product-image,
html[data-theme="light"] body .product-card .product-image{
  background:#fff!important;background-image:none!important;
}
html body .product-card .product-image::before,
html body .product-card .product-image::after{
  display:none!important;content:none!important;opacity:0!important;
}
html body .product-card .product-image>img.product-photo-main,
html body .product-card .product-image>img.product-photo-alt,
html body .zf412-hits-track .product-card .product-image>img.product-photo-main,
html body #homeProductGrid .product-card .product-image>img.product-photo-main,
html body #productGrid .product-card .product-image>img.product-photo-main{
  display:block!important;position:absolute!important;
  inset:0!important;box-sizing:border-box!important;
  width:100%!important;height:100%!important;
  min-width:0!important;min-height:0!important;
  max-width:100%!important;max-height:100%!important;
  padding:0!important;margin:0!important;
  object-fit:contain!important;object-position:center center!important;
  background-color:transparent!important;background-image:none!important;
  transform:none!important;scale:1!important;filter:none!important;
}
/* Keep primary photos fixed when product cards are hovered or their rail is moving. */
html body .product-card:hover .product-image>img.product-photo-main,
html body .product-card .product-image:hover>img.product-photo-main{
  object-fit:contain!important;transform:none!important;scale:1!important;
}
/* The moving discount rail has fully framed card images, not a layered grey backing. */
html body main[data-page="home"] .zf412-hits-track .product-card .product-image{
  border-radius:10px!important;box-shadow:none!important;background:#fff!important;
}
/* The title and buy/price area must not be clipped even when the supplier image is tall. */
html body main[data-page="home"] .zf412-hits-track .product-card{
  overflow:hidden!important;
}
/* Neutral compact caption surface under photos on both themes, same approved layout. */
html body main[data-page="home"] .zf412-hits-track .product-card .product-name{
  overflow:hidden!important;
}

/* CSS-only fallback: categories move right when JS animation is unavailable. */
.quick-sections .quick-sections-track.zeffiro-auto-track{animation-direction:reverse;}
