.cart-button-wrapper{position:relative}.cart-button{color:rgb(var(--text));background:0 0;border:1px solid #0000;border-radius:0;align-items:center;padding:.5rem 1rem;text-decoration:none;transition:background-color .2s,border-color .2s,transform .2s;display:flex}.cart-button:hover{background:rgb(var(--surface));border-color:rgb(var(--border));transform:translateY(-1px)}.cart-button:active{transform:translateY(0)}.cart-button-content{align-items:center;gap:.75rem;display:flex}.cart-icon-wrapper{justify-content:center;align-items:center;transition:transform .2s,opacity .2s;display:flex;position:relative}.cart-icon-wrapper svg{transition:color .002ms,fill .002ms}.cart-badge{background:rgb(var(--primary));min-width:18px;height:18px;color:rgb(var(--white));box-shadow:0 2px 4px rgb(var(--shadow-color));border-radius:50%;justify-content:center;align-items:center;padding:0 4px;font-size:.75rem;font-weight:700;line-height:1;transition:all .002ms;display:flex;position:absolute;top:-8px;right:-8px}.cart-badge-text{transition:all .002ms;color:rgb(var(--white))!important;font-size:10px!important;font-weight:700!important}.cart-info{flex-direction:column;gap:.125rem;min-width:0;transition:all .002ms;display:flex}@media (max-width:576px){.cart-info{display:none}}.cart-title{white-space:nowrap;line-height:1.2;transition:all .002ms}.cart-price{white-space:nowrap;line-height:1;transition:all .002ms}@keyframes cartBadgePulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.cart-badge.animate{animation:.3s ease-in-out cartBadgePulse}@media (max-width:768px){.cart-button{padding:.5rem}.cart-button-content{gap:0}}@media (max-width:480px){.cart-icon-wrapper{width:24px;height:24px}.cart-badge{min-width:16px;height:16px;font-size:.625rem;top:-6px;right:-6px}}.cart-button-skeleton{pointer-events:none;cursor:default}.skeleton-icon{background:linear-gradient(90deg, rgb(var(--surface)) 0%, rgb(var(--border)) 50%, rgb(var(--surface)) 100%);border-radius:var(--radius);background-size:200% 100%;width:24px;height:24px;animation:1.5s infinite skeleton-loading}.skeleton-text{background:linear-gradient(90deg, rgb(var(--surface)) 0%, rgb(var(--border)) 50%, rgb(var(--surface)) 100%);border-radius:var(--radius);background-size:200% 100%;height:12px;animation:1.5s infinite skeleton-loading}.skeleton-text-title{width:60px;margin-bottom:4px}.skeleton-text-price{width:80px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}
