@keyframes wave-smooth{0%{transform:translate(-100%) translateZ(0)}to{transform:translate(100%) translateZ(0)}}.skeleton-shimmer,.skeleton-wave{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.5) 50%,transparent 100%)!important;animation:wave-smooth 1.5s cubic-bezier(.4,0,.2,1) infinite!important;will-change:transform}.animate-pulse{animation:pulse-soft 1.6s cubic-bezier(.4,0,.6,1) infinite!important}@keyframes pulse-soft{0%,to{opacity:.5}50%{opacity:.8}}.skeleton-pulse{animation:pulse-soft 1.6s cubic-bezier(.4,0,.6,1) infinite}@keyframes card-slide-in{0%{opacity:0;transform:translateY(12px) scale(.98) translateZ(0)}to{opacity:1;transform:translateY(0) scale(1) translateZ(0)}}.card-animate-in{animation:card-slide-in .3s cubic-bezier(.22,1,.36,1) forwards;will-change:transform,opacity}.card-stagger-1{animation-delay:.02s}.card-stagger-2{animation-delay:.04s}.card-stagger-3{animation-delay:.06s}.card-stagger-4{animation-delay:.08s}.card-stagger-5{animation-delay:.1s}.card-stagger-6{animation-delay:.12s}.card-stagger-7{animation-delay:.14s}.card-stagger-8{animation-delay:.16s}@keyframes img-fade-in{0%{opacity:0}to{opacity:1}}.img-animate-in{animation:img-fade-in .2s ease-out forwards}.fade-in{animation:img-fade-in .25s ease-out forwards}.card-smooth{transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s ease;will-change:transform,box-shadow;transform:translateZ(0);backface-visibility:hidden}.card-smooth:hover{transform:translateY(-2px) translateZ(0);box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000000d}.img-container-gpu{will-change:contents;transform:translateZ(0);backface-visibility:hidden;contain:layout style paint}.img-loading{opacity:0;transition:opacity .2s ease-out}.img-loaded{opacity:1}@keyframes lazy-fade-in{0%{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur(0)}}.lazy-image-loaded{animation:lazy-fade-in .3s ease-out forwards}.product-card-container{will-change:transform;transform:translateZ(0);backface-visibility:hidden}.scroll-optimized{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;will-change:scroll-position}.img-hover-zoom{transition:transform .3s cubic-bezier(.22,1,.36,1);will-change:transform}.img-hover-zoom:hover{transform:scale(1.05) translateZ(0)}.btn-press{transition:transform .1s ease}.btn-press:active{transform:scale(.97) translateZ(0)}.skeleton-container,.group{will-change:transform;transform:translateZ(0);backface-visibility:hidden}.hover\:shadow-md{transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s ease!important}.hover\:shadow-md:hover{transform:translateY(-2px) translateZ(0)!important}.object-cover{will-change:opacity,transform}.transition-all{transition-timing-function:cubic-bezier(.22,1,.36,1)!important;transition-duration:.2s!important}.overflow-y-auto,.overflow-x-auto{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.group-hover\:scale-105{transition:transform .3s cubic-bezier(.22,1,.36,1)!important;will-change:transform}.group:hover .group-hover\:scale-105{transform:scale(1.05) translateZ(0)!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.96) translateY(10px) translateZ(0)}to{opacity:1;transform:scale(1) translateY(0) translateZ(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.95) translateZ(0)}to{opacity:1;transform:scale(1) translateZ(0)}}.modal-zoom-in{animation:zoomIn .2s ease-out forwards;will-change:transform,opacity}.modal-fade-in{animation:fadeIn .15s ease-out forwards}.no-tap-highlight{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;touch-action:manipulation}.modal-container{will-change:opacity;backface-visibility:hidden;-webkit-backface-visibility:hidden}
