.photo-wrap{perspective:850px;touch-action:pan-y}
.product-frame{position:relative;width:100%;height:100%}
.product-frame.large-sneaker{transform:scale(1.9);transform-origin:50% 58%}
.tilt-object{overflow:clip}
.tilt-object{position:relative;width:100%;height:100%;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .45s cubic-bezier(.2,.7,.2,1);transform-origin:50% 60%}
.photo-wrap .tilt-object img{height:100%;width:100%;object-fit:contain;padding:8px;filter:drop-shadow(var(--sx,0px) 15px 12px #000b);transition:filter .3s}
.tilting .tilt-object{transition:transform .1s ease-out}
.tilt-sheen{position:absolute;inset:0;background:linear-gradient(110deg,transparent 15%,#fff2 var(--shine,50%),transparent 80%);mask-size:contain;mask-position:center;mask-repeat:no-repeat;-webkit-mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;pointer-events:none;opacity:0;transition:opacity .3s}
.tilting .tilt-sheen{opacity:.7}.tilt-hint{position:absolute;bottom:0;right:6px;font-size:7px;color:#8d765e;pointer-events:none}
.opening .tilt-object,.opening .tilt-hint{visibility:hidden}
.revealed .tilt-object img{animation:item-reveal .55s cubic-bezier(.2,.8,.2,1) both}
@media(hover:hover){.tilt-hint{font-size:0}.tilt-hint:after{content:'Наведи курсор на вещь';font-size:7px}}
@media(prefers-reduced-motion:reduce){.tilt-object,.photo-wrap .tilt-object img,.tilt-sheen{transition:none;animation:none!important}.tilt-hint{display:none}}
