.acbtf-cart-icon, .acbtf-cart-label {
    position: relative;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}
.acbtf-cart-label {
    gap: 0.3em;
}
.acbtf-icon, .acbtf-label {
    transition: transform 0.3s ease;
}

/* Static animations */
.acbtf-animation-none .acbtf-icon,
.acbtf-animation-none .acbtf-label {
    animation: none !important;
}
.acbtf-animation-pulse .acbtf-icon,
.acbtf-animation-pulse .acbtf-label {
    animation: pulse 1s infinite !important;
}
.acbtf-animation-bounce .acbtf-icon,
.acbtf-animation-bounce .acbtf-label {
    animation: bounce 0.5s infinite !important;
}
.acbtf-animation-spin .acbtf-icon,
.acbtf-animation-spin .acbtf-label {
    animation: spin 2s linear infinite !important;
}

/* Hover animations */
.acbtf-hover-none:hover .acbtf-icon,
.acbtf-hover-none:hover .acbtf-label {
    animation: none !important;
}
.acbtf-hover-pulse:hover .acbtf-icon,
.acbtf-hover-pulse:hover .acbtf-label {
    animation: pulse 1s infinite !important;
}
.acbtf-hover-bounce:hover .acbtf-icon,
.acbtf-hover-bounce:hover .acbtf-label {
    animation: bounce 0.5s infinite !important;
}
.acbtf-hover-spin:hover .acbtf-icon,
.acbtf-hover-spin:hover .acbtf-label {
    animation: spin 2s linear infinite !important;
}

/* Keyframes */
@keyframes pulse {
    0%,100% { transform: scale(1); }
    50%     { transform: scale(1.2); }
}
@keyframes bounce {
    0%,100%   { transform: translateY(0); }
    50%       { transform: translateY(-5px); }
}
@keyframes spin {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Counter base */
.acbtf-count {
    position: absolute;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

/* Positions */
.acbtf-cart-icon.acbtf-pos-top-right .acbtf-count,
.acbtf-cart-label.acbtf-pos-top-right .acbtf-count {
    position: absolute;
    top: -6px;
    right: -6px;
}
.acbtf-cart-icon.acbtf-pos-top-left .acbtf-count,
.acbtf-cart-label.acbtf-pos-top-left .acbtf-count {
    position: absolute;
    top: -6px;
    left: -6px;
}
.acbtf-cart-icon.acbtf-pos-bottom-right .acbtf-count,
.acbtf-cart-label.acbtf-pos-bottom-right .acbtf-count {
    position: absolute;
    bottom: -6px;
    right: -6px;
}
.acbtf-cart-icon.acbtf-pos-bottom-left .acbtf-count,
.acbtf-cart-label.acbtf-pos-bottom-left .acbtf-count {
    position: absolute;
    bottom: -6px;
    left: -6px;
}

/* Right-center */
.acbtf-cart-icon.acbtf-pos-right-center,
.acbtf-cart-label.acbtf-pos-right-center {
    gap: 0.3em;
}
.acbtf-cart-icon.acbtf-pos-right-center .acbtf-count,
.acbtf-cart-label.acbtf-pos-right-center .acbtf-count {
    position: static;
}

/* Added bounce */
.acbtf-count.updated {
    animation: bounce 0.5s !important;
}