.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-clamp:2}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.3s}.category-nav-scroll::-webkit-scrollbar{height:4px}.category-nav-scroll::-webkit-scrollbar-track{background:#f1f1f1}.category-nav-scroll::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:2px}.category-nav-scroll::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.product-card{transition:all .3s cubic-bezier(.4,0,.2,1)}.product-card:hover{transform:translateY(-4px)}.filter-checkbox:checked{background-color:#f97316;border-color:#f97316}@keyframes skeleton{0%{background-color:#f3f4f6}50%{background-color:#e5e7eb}to{background-color:#f3f4f6}}.animate-skeleton{animation:skeleton 1.5s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:fadeIn .6s ease-out forwards}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}.animate-slideInLeft{animation:slideInLeft .5s ease-out forwards}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-slideInUp{animation:slideInUp .6s ease-out forwards}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@media (max-width:768px){.category-nav-scroll{scroll-snap-type:x mandatory;scroll-behavior:smooth}.category-nav-scroll>*{scroll-snap-align:center}}.product-grid>div{animation:fadeIn .6s ease-out forwards;animation-delay:var(--animation-delay,0ms);opacity:0}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-8px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.gradient-shift{background-size:200% 200%;animation:gradientShift 3s ease infinite}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}