:root{--motion-settle:cubic-bezier(.22,1,.36,1);--motion-exit:cubic-bezier(.4,0,1,1);--motion-quick:160ms;--motion-panel:240ms}
/* Keep the category anchor and scroll viewport stationary; only their contents slide. */
.mobile-category-viewport{position:relative;flex:1;min-height:0;overflow:hidden}
.mobile-category-page{display:flex;flex-direction:column;height:100%;min-height:0;width:100%}
.mobile-category-list{min-height:0;overflow-x:hidden}
.motion-outgoing{user-select:none!important}
.cart-drawer[open],.cart-drawer.cd-closing{animation:none!important}
@media(prefers-reduced-motion:no-preference){
 button,a,summary,input,select{transition-timing-function:var(--motion-settle)}
 button:not(:disabled),summary,a.btn,a.btn-primary,a.btn-ghost{transition-property:color,background-color,border-color,box-shadow,opacity,transform;transition-duration:160ms}
 button:not(:disabled):active,summary:active,a.btn:active,a.btn-primary:active,a.btn-ghost:active{opacity:.8}
 button[class*='active:scale']:active,a[class*='active:scale']:active{--tw-scale-x:1;--tw-scale-y:1}
 /* Alpine owns its transitions; do not add another transform animation to these nodes. */
 [x-show],.filter-drawer-panel,.filter-drawer-backdrop,.mobile-search-modal,.ac-dropdown{transition-timing-function:var(--motion-settle)!important}
 .filter-drawer-panel,.mobile-search-modal{transition-duration:var(--motion-panel)!important}
 .ac-dropdown{transition-duration:var(--motion-quick)!important}
 .mobile-category-dialog[open]{animation:motion-fade-in 180ms ease-out}
 .mobile-category-backdrop:not([hidden]){animation:motion-fade-in 180ms ease-out}
 dialog[open]:not(.cart-drawer):not(.mobile-category-dialog){animation:motion-fade-in 180ms ease-out}
 details[open]:not(.header-category-menu)>:not(summary):not([x-show]){animation:motion-fade-in 160ms ease-out}
 [data-cart-drawer-open] svg{transform-origin:50% 75%;transform-box:fill-box}
 .product-card .product-card-img img,.product-card-compact .pcc-img img{transition-timing-function:var(--motion-settle)}
}
@keyframes motion-fade-in{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

html:not(.shop-motion-ready) *{transition:none!important}
/* Repeated backdrop layers behind card controls stall WebKit compositing. */
.product-img-actions button{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
@media(hover:none),(pointer:coarse){[class*=backdrop-blur],#cookie-consent{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}

.motion-modal-shade{position:fixed;inset:0;z-index:2147483646;pointer-events:none}
.cart-drawer[data-motion-shade]::backdrop,.product-image-zoom[data-motion-shade]::backdrop{background:transparent}
.mobile-category-backdrop:not([hidden]){animation:none!important}
.cart-product-count{transform-origin:center;overflow:visible}
[data-cart-drawer-open] svg{transform-origin:50% 20%;transform-box:fill-box}
