/* Shared photo loading states. Existing image elements, links and gallery controls stay in place. */
.hh-image-host { position: relative; }
.hh-image-placeholder { position: absolute; display: block; pointer-events: none; user-select: none; z-index: 1; margin: 0; padding: 0; border: 0; border-radius: inherit; background-color: #fff; background-position: center; background-size: contain; background-repeat: no-repeat; }
.hh-image-placeholder[hidden] { display: none !important; }
img.hh-image-loading, img.hh-image-error { opacity: 0 !important; }
/* Reserve only known fixed template boxes; manufacturer infographics retain their original proportions. */
.product-media img.hh-image-managed, .product-card__media img.hh-image-managed, .accessory-card__media img.hh-image-managed { aspect-ratio: 1; }
.hh-admin [data-catalog-image].hh-image-managed { aspect-ratio: 1; }
@media (prefers-reduced-motion: reduce) { img.hh-image-managed { transition: none !important; } }
