/* Real product photography is loaded on demand from product reference pages. */
.catalog-grid .product-card .product-photo{position:absolute;z-index:2;inset:2px;width:calc(100% - 4px);height:calc(100% - 4px);object-fit:contain;opacity:0;transform:scale(.78) rotate(-7deg);filter:drop-shadow(14px 17px 18px rgba(22,31,42,.24));transition:opacity .45s,transform .65s cubic-bezier(.16,.86,.21,1)}
.catalog-grid .product-card.has-real-photo .product-photo{opacity:1;transform:scale(.95) rotate(0)}.catalog-grid .product-card.has-real-photo .product-silhouette{opacity:0;transform:scale(.72)!important}.catalog-grid .product-card.has-real-photo:hover .product-photo{transform:scale(1.11) rotate(-4deg) translateY(-7px);filter:drop-shadow(20px 24px 20px rgba(22,31,42,.28))}
.real-photo-stage{position:absolute;z-index:2;inset:45px 25px 54px;display:grid;place-items:center;pointer-events:none;opacity:0;transform:translate3d(-90px,42px,0) rotate(-16deg) scale(.74);filter:drop-shadow(25px 30px 25px rgba(11,22,36,.35))}.real-photo-stage.active{opacity:1;animation:photo-fly .92s cubic-bezier(.12,.9,.18,1) both}.real-photo-stage img{display:block;max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply;animation:product-turn 8s ease-in-out infinite}.detail-visual.photo-ready .modal-device{opacity:0;transform:scale(.72);transition:opacity .26s,transform .4s}.detail-visual.photo-ready:after{content:'';position:absolute;z-index:3;inset:-20%;pointer-events:none;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.72) 49%,transparent 56%);animation:light-sweep 1.25s .4s ease-out both}@keyframes photo-fly{0%{opacity:0;transform:translate3d(-120px,70px,0) rotate(-24deg) scale(.48)}65%{opacity:1;transform:translate3d(12px,-8px,0) rotate(4deg) scale(1.06)}100%{opacity:1;transform:translate3d(0,0,0) rotate(0) scale(1)}}@keyframes product-turn{0%,100%{transform:rotateY(-5deg) rotateZ(0)}50%{transform:rotateY(8deg) rotateZ(-2deg)}}@keyframes light-sweep{from{transform:translateX(-80%)}to{transform:translateX(80%)}}
@media(max-width:800px){.real-photo-stage{inset:35px 20px 45px}.catalog-grid .product-card.has-real-photo .product-photo{transform:scale(.9)}}
