:root{--motion-ease:cubic-bezier(.22,.61,.36,1)}
.product-image img,.item-related-image img{transition:transform 360ms var(--motion-ease)}
.heart,.item-save,.item-offer,.item-primary,.outline,.sell-link,.save-search,.size-grid button,.filter-chip{transition:background-color 180ms ease,border-color 180ms ease,color 180ms ease,transform 160ms var(--motion-ease)}
.item-photo-strip button,.brand-option input,.check-list input{transition:border-color 160ms ease,background-color 160ms ease}

.main-nav button:after{transition:opacity 180ms ease,transform 180ms var(--motion-ease)}

.icon-button svg{transition:transform 180ms var(--motion-ease)}
.item-photo-arrow,.modal-close{transition:background-color 160ms ease,color 160ms ease}
.product-name,.seller-name,.item-related-name,.item-text-link{transition:color 160ms ease}
dialog[open]{animation:archive-dialog-in 220ms var(--motion-ease)}
dialog[open]::backdrop{animation:archive-backdrop-in 200ms ease}
.filter-backdrop:not([hidden]){animation:archive-backdrop-in 200ms ease}
.brand-list.expanded{animation:archive-filter-in 200ms ease}
@keyframes archive-dialog-in{from{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes archive-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes archive-filter-in{from{opacity:.4}to{opacity:1}}
@keyframes archive-drawer-in{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@media(hover:hover) and (pointer:fine){
 .product-image:hover img,.item-related-image:hover img{transform:scale(1.025)}
 .heart:hover,.icon-button:hover svg{transform:scale(1.08)}



 .item-photo-arrow:hover,.modal-close:hover{background:var(--wash)}
}
.heart:active,.item-save:active,.item-offer:active,.item-primary:active,.sell-link:active{transform:scale(.98)}
@media(max-width:760px){.filter-sidebar.mobile-open{animation:archive-drawer-in 260ms var(--motion-ease)}}
/* Native animated disclosure where supported; instant accessible fallback elsewhere. */
@supports (interpolate-size:allow-keywords){
 details{interpolate-size:allow-keywords}
 details::details-content{block-size:0;overflow:clip;transition:block-size 220ms var(--motion-ease),content-visibility 220ms allow-discrete}
 details[open]::details-content{block-size:auto}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .product-image:hover img,.item-related-image:hover img,.heart:hover,.icon-button:hover svg{transform:none}
 .heart:active,.item-save:active,.item-offer:active,.item-primary:active,.sell-link:active{transform:none}
}
