.cart-local-loading {
    color: transparent !important;
    text-shadow: none !important;
    cursor: progress !important;
    animation: none !important;
}
.cart-local-loading > * { visibility: hidden !important; }
.cart-local-loading::before { visibility: hidden !important; }
.cart-local-loading::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid color-mix(in srgb, var(--cart-spinner-color, var(--main-color-primary)) 22%, transparent);
    border-top-color: var(--cart-spinner-color, var(--main-color-primary));
    border-radius: 50%;
    visibility: visible;
    animation: cart-local-spin .65s linear infinite;
}
.cart-operation-notice:not([hidden]) {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2147483647;
    width: max-content;
    max-width: calc(100vw - 32px);
    padding: 12px 20px;
    border: 1px solid color-mix(in srgb, var(--main-color-third) 15%, white);
    border-radius: 14px;
    background: #fff;
    color: var(--main-color-third);
    box-shadow: 0 4px 24px rgb(0 0 0 / 12%);
    text-align: center;
    font-size: .95rem;
}
@keyframes cart-local-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    .cart-local-loading::after { animation-duration: 1.5s; }
}

.cart-action-queued {
    outline: 2px dotted currentColor;
    outline-offset: 3px;
}
