.add-to-cart-button{position:relative;display:flex;align-items:center;justify-content:center;width:100%;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:white;background-color:#374151;border:none;border-radius:.75rem;cursor:pointer;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.add-to-cart-button:hover:not(:disabled){background-color:#1f2937;color:white;transform:translateY(-2px);box-shadow:0 4px 12px rgba(31,41,55,.4)}.add-to-cart-button:active:not(:disabled){transform:translateY(0)}.button-content{gap:.5rem;z-index:2;transition:all .3s ease}.button-content,.cart-icon{display:flex;align-items:center;justify-content:center}.cart-icon{transition:transform .3s ease}.cart-icon.bounce{animation:cartBounce .4s cubic-bezier(.68,-.55,.265,1.55)}@keyframes cartBounce{0%{transform:scale(1) rotate(0deg)}25%{transform:scale(.8) rotate(-10deg)}50%{transform:scale(1.3) rotate(10deg)}75%{transform:scale(.9) rotate(-5deg)}to{transform:scale(1) rotate(0deg)}}.button-text{transition:all .3s ease}.ripple-effect{position:absolute;top:50%;left:50%;width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,.4) 0,transparent 70%);border-radius:.75rem;transform:translate(-50%,-50%) scale(0);animation:ripple .6s ease-out forwards;pointer-events:none}@keyframes ripple{0%{transform:translate(-50%,-50%) scale(0);opacity:1}to{transform:translate(-50%,-50%) scale(2.5);opacity:0}}.flying-items{position:absolute;top:50%;left:50%;width:0;height:0;pointer-events:none}.flying-item{position:absolute;width:8px;height:8px;background:linear-gradient(135deg,#9ca3af,#4b5563);border-radius:50%;animation:flyToCart .5s ease-out forwards;animation-delay:var(--delay,0s)}.flying-item.item-1{--angle:-60deg;--distance:30px}.flying-item.item-2{--angle:-30deg;--distance:35px}.flying-item.item-3{--angle:0deg;--distance:40px}.flying-item.item-4{--angle:30deg;--distance:35px}.flying-item.item-5{--angle:60deg;--distance:30px}@keyframes flyToCart{0%{transform:translate(0) scale(1);opacity:1}50%{opacity:1}to{transform:translateX(calc(cos(var(--angle, 0deg)) * var(--distance, 30px))) translateY(calc(-30px + sin(var(--angle, 0deg)) * 10px)) scale(0);opacity:0}}.flying-item.item-1{animation:flyItem1 .5s ease-out forwards}.flying-item.item-2{animation:flyItem2 .5s ease-out forwards;animation-delay:.05s}.flying-item.item-3{animation:flyItem3 .5s ease-out forwards;animation-delay:.1s}.flying-item.item-4{animation:flyItem4 .5s ease-out forwards;animation-delay:.15s}.flying-item.item-5{animation:flyItem5 .5s ease-out forwards;animation-delay:.2s}@keyframes flyItem1{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(-25px,-30px) scale(0);opacity:0}}@keyframes flyItem2{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(-12px,-35px) scale(0);opacity:0}}@keyframes flyItem3{0%{transform:translate(0) scale(1);opacity:1}to{transform:translateY(-40px) scale(0);opacity:0}}@keyframes flyItem4{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(12px,-35px) scale(0);opacity:0}}@keyframes flyItem5{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(25px,-30px) scale(0);opacity:0}}.add-to-cart-button.success{background-color:#1f2937!important;color:white!important}.success-ring{position:absolute;top:50%;left:50%;width:100%;height:100%;border:2px solid #4b5563;border-radius:.75rem;transform:translate(-50%,-50%);animation:successRing .4s ease-out forwards;pointer-events:none}@keyframes successRing{0%{transform:translate(-50%,-50%) scale(.8);opacity:1}to{transform:translate(-50%,-50%) scale(1.2);opacity:0}}.add-to-cart-button.animating{animation:buttonShake .4s ease-out;pointer-events:none}@keyframes buttonShake{0%,to{transform:translateX(0)}20%{transform:translateX(-3px)}40%{transform:translateX(3px)}60%{transform:translateX(-2px)}80%{transform:translateX(2px)}}.add-to-cart-button:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,.3) 50%,transparent 60%);transform:translateX(-100%);transition:none}.add-to-cart-button:hover:before{animation:shine .6s ease-out}@keyframes shine{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.add-to-cart-button.animating .cart-icon:after{content:"+";position:absolute;top:-10px;right:-10px;font-size:12px;font-weight:700;color:#e5e7eb;animation:plusPop .4s ease-out forwards}@keyframes plusPop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.5);opacity:1}to{transform:scale(0) translateY(-20px);opacity:0}}.add-to-cart-button:hover:not(:disabled):not(.animating){animation:pulse 1s infinite}@keyframes pulse{0%,to{box-shadow:0 4px 12px rgba(31,41,55,.4)}50%{box-shadow:0 4px 20px rgba(31,41,55,.6)}}