[data-cart-add] button.cart-adding{position:relative;pointer-events:none;opacity:.75}
.cart-adding:after{content:"";display:inline-block;width:18px;height:18px;flex-shrink:0;margin-left:7px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:cart-spin .7s linear infinite}
[data-cart-add] button.cart-added{animation:cart-button-pop .4s ease;color:#124b38;background:#edf3e7;border-color:#9eb892}
.cart-flight{position:fixed;z-index:1100;width:70px;height:70px;object-fit:cover;border-radius:12px;box-shadow:0 8px 24px #124b3826;pointer-events:none}
.bag-link.cart-highlight .cart-count{animation:cart-count-pop .55s ease}.bag-link.cart-highlight>svg{animation:cart-bag-rock .55s ease}
.cart-feedback{position:fixed;right:28px;bottom:28px;z-index:1200;display:flex;align-items:center;gap:16px;max-width:calc(100vw - 36px);padding:19px 52px 19px 22px;background:#fff;border:1px solid #c7d6bc;border-left:4px solid #124b38;border-radius:6px;box-shadow:0 8px 35px #102c3026;color:#124b38;font-size:16px;line-height:1.5;animation:cart-toast-in .3s ease}
.cart-feedback[hidden]{display:none}.cart-feedback>div{max-width:340px}.cart-feedback>a{color:#124b38;font-size:15px;font-weight:700;white-space:nowrap;text-decoration:underline;text-underline-offset:4px;min-height:44px;display:flex;align-items:center}
.cart-feedback>button{position:absolute;right:8px;top:8px;width:36px;height:36px;font-size:25px;color:inherit;background:none;border:0;cursor:pointer}.cart-feedback.cart-feedback-error{border-color:#deb9a7;border-left-color:#8a4431;color:#8a4431}
@keyframes cart-spin{to{transform:rotate(360deg)}}
@keyframes cart-button-pop{50%{transform:scale(1.04)}}
@keyframes cart-count-pop{45%{transform:scale(1.35);box-shadow:0 0 0 7px #124b381a}}
@keyframes cart-bag-rock{25%{transform:rotate(-12deg)}65%{transform:rotate(10deg)}}
@keyframes cart-toast-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.cart-feedback{right:18px;bottom:18px;left:18px;flex-wrap:wrap;gap:5px 16px;padding:16px 46px 16px 18px}.cart-feedback>div{max-width:none;width:100%}}
@media(prefers-reduced-motion:reduce){.cart-adding:after,[data-cart-add] button.cart-added,.bag-link.cart-highlight .cart-count,.bag-link.cart-highlight>svg,.cart-feedback{animation:none}.cart-flight{display:none}}
