/* Product feedback only: keep image-window metadata, layout and model links intact. */
.pg-card,.ps-card,.home-category{
  transition:transform 260ms cubic-bezier(.22,1,.36,1),border-color 200ms cubic-bezier(.22,1,.36,1);
}
.pg-cover .pg-photo-window,.ps-card-media>a>img,.home-category-image img{
  transform-origin:50% 50%;
  transition:transform 360ms cubic-bezier(.22,1,.36,1);
}
/* The previous homepage hover applied to touch as well; use a fine pointer below. */
.home-category:hover{transform:none}
.pg-detail[open] .pg-detail-content,.ps-photo-details[open] .ps-extra-photos{
  animation:lm-card-detail-fade 280ms cubic-bezier(.22,1,.36,1) both;
}
@keyframes lm-card-detail-fade{from{opacity:0}to{opacity:1}}
@media(hover:hover) and (pointer:fine){
  .pg-card:hover,.ps-card:hover,.home-category:hover{border-color:#9aafc2}
  .pg-card:not(.is-open):hover:not(:focus-within),.ps-card:hover:not(:focus-within),.home-category:hover:not(:focus-visible){transform:translateY(-3px)}
  .pg-card:hover:not(:focus-within) .pg-cover .pg-photo-window,
  .ps-card:hover:not(:focus-within) .ps-card-media>a>img,
  .home-category:hover:not(:focus-visible) .home-category-image img{transform:scale(1.03)}
}
/* Keyboard focus keeps actions and their surrounding images in a steady position. */
.pg-card.is-open,.pg-card:focus-within,.ps-card:focus-within,.home-category:focus-visible{
  transform:none;transition-property:border-color;
}
.pg-card:focus-within .pg-cover .pg-photo-window,
.ps-card:focus-within .ps-card-media>a>img,
.home-category:focus-visible .home-category-image img{transform:none;transition:none}
@media(prefers-reduced-motion:reduce){
  .pg-card,.ps-card,.home-category,
  .pg-cover .pg-photo-window,.ps-card-media>a>img,.home-category-image img{transform:none!important;transition:none!important}
  .pg-detail[open] .pg-detail-content,.ps-photo-details[open] .ps-extra-photos{animation:none!important;opacity:1}
}
