.cart-item-img{width:60px;height:60px;object-fit:cover}.quantity-input::-webkit-outer-spin-button,.quantity-input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.quantity-input{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield;border-radius:4px;box-shadow:0 2px 4px #0000001a}.cart-quantity-input{width:60px;text-align:center}.update-cart-form .input-group{width:120px}.product-name{color:#333;font-weight:500;text-decoration:none;transition:color .2s ease}.product-name:hover{color:var(--bs-primary)}.remove-cart-item{color:#6c757d;font-size:1.2rem;transition:color .2s ease}.remove-cart-item:hover{color:#dc3545}.item-subtotal{color:#198754}.quantity-control{display:flex;align-items:center;max-width:120px;margin:0 auto;position:relative}.quantity-btn{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;background-color:#f8f9fa;border:1px solid #ced4da;cursor:pointer;transition:all .2s ease}.quantity-btn:hover{background-color:#e9ecef}.quantity-btn:focus{outline:none;box-shadow:0 0 0 .25rem #0d6efd40}.quantity-input{width:45px;text-align:center;border-left:0;border-right:0;border-radius:0;height:32px;padding:.25rem}.quantity-input::-webkit-inner-spin-button,.quantity-input::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.quantity-input{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.quantity-control.updating{opacity:.7;pointer-events:none}.quantity-control.updating:after{content:"";position:absolute;width:100%;height:100%;background-color:#ffffff7f;z-index:1;border-radius:4px}.quantity-control.updating:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid rgb(0 123 255 / 20%);border-top:2px solid #007bff;border-radius:50%;z-index:2;animation:spin .8s linear infinite}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.cart-summary{background-color:#f8f9fa;border-radius:.5rem;padding:1.5rem;position:sticky;top:20px;box-shadow:0 4px 10px #0000000d}.cart-summary h5{color:#333;font-weight:600}.cart-total{font-size:1.2rem;font-weight:700;color:var(--bs-primary)}.cart-actions{margin-top:1.5rem}.cart-actions .btn{transition:all .3s ease;margin-bottom:.5rem;font-weight:600}.cart-actions .btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.empty-cart{text-align:center;padding:3rem 0}.empty-cart i{font-size:4rem;color:#dee2e6;margin-bottom:1.5rem}.empty-cart h3{font-size:1.75rem;margin-bottom:1rem;font-weight:600}.empty-cart p{color:#6c757d;margin-bottom:1.5rem}.empty-cart .btn{transition:all .3s ease}.empty-cart .btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.cart-count-updated{animation:pulse .5s}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.highlight-update{animation:highlight-fade 1s ease}@keyframes highlight-fade{0%{background-color:#19875433}to{background-color:transparent}}.table th{border-top:none;font-weight:600;color:#495057}.table>:not(caption)>*>*{padding:.75rem}.table>tbody>tr:hover{background-color:#00000008}#quantityModal .modal-content{border:none;box-shadow:0 .5rem 1rem #00000026;border-radius:.5rem}#quantityModal .modal-header{background-color:#f8f9fa;border-bottom:1px solid #dee2e6;border-radius:.5rem .5rem 0 0}#quantityModal .modal-footer{background-color:#f8f9fa;border-top:1px solid #dee2e6;border-radius:0 0 .5rem .5rem}#quantityModal .quantity-selector{max-width:160px}#quantityModal .quantity-selector .form-control{border-left:0;border-right:0}#quantityModal .quantity-selector .btn{border-color:#dee2e6}#quantityModal .modal-body img{max-height:120px;object-fit:cover;border-radius:.375rem}.add-to-cart-animation{animation:addToCartSuccess 1.5s ease}@keyframes addToCartSuccess{0%{transform:scale(1);background-color:var(--bs-primary)}25%{transform:scale(1.05);background-color:#198754}50%{transform:scale(1);background-color:#198754}to{transform:scale(1);background-color:var(--bs-primary)}}.cart-count-badge{position:relative;overflow:visible}.cart-count-badge.cart-count-updated:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border:2px solid #198754;border-radius:50%;animation:cartCountRipple .6s ease-out}@keyframes cartCountRipple{0%{transform:scale(1);opacity:1}to{transform:scale(1.4);opacity:0}}.add-to-cart-btn.loading{position:relative;color:transparent!important}.add-to-cart-btn.loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:16px;height:16px;border:2px solid #ffffff40;border-top:2px solid #fff;border-radius:50%;animation:buttonSpinner 1s linear infinite}@keyframes buttonSpinner{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.swal2-popup{border-radius:.5rem!important}.swal2-title{font-size:1.5rem!important;margin-bottom:1rem!important}.swal2-html-container{font-size:.95rem!important}.swal2-actions .btn{margin:0 .25rem!important}.cart-summary-toast{max-width:400px}.cart-summary-toast .cart-item{padding:.5rem 0;border-bottom:1px solid rgb(0 0 0 / 10%)}.cart-summary-toast .cart-item:last-child{border-bottom:none}.cart-summary-toast .cart-total{font-size:1.1rem;padding-top:.5rem;border-top:2px solid #dee2e6;margin-top:.5rem}
