/**
 * کامپوننت دکمه افزودن سریع
 * spinner عمومی برای دکمه‌های + و Add to Cart.
 */

[data-rp-quick-add],
.rp-product-quick-add,
.rp-card-add {
    --rp-quick-add-spinner-color: var(--rp-theme-general-accent, var(--rp-accent, #fd314a));
    position: relative;
}

[data-rp-quick-add] > span,
.rp-product-quick-add > span,
.rp-card-add > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

[data-rp-quick-add] > span > svg,
.rp-product-quick-add > span > svg,
.rp-card-add > span > svg {
    width: 1em;
    height: 1em;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

[data-rp-quick-add].is-loading,
[data-rp-quick-add][aria-busy="true"],
.rp-product-quick-add.is-loading,
.rp-product-quick-add[aria-busy="true"],
.rp-card-add.is-loading,
.rp-card-add[aria-busy="true"] {
    pointer-events: none;
}

[data-rp-quick-add].is-loading > span,
[data-rp-quick-add][aria-busy="true"] > span,
.rp-product-quick-add.is-loading > span,
.rp-product-quick-add[aria-busy="true"] > span,
.rp-card-add.is-loading > span,
.rp-card-add[aria-busy="true"] > span {
    opacity: 0;
}

[data-rp-quick-add].is-loading::after,
[data-rp-quick-add][aria-busy="true"]::after,
.rp-product-quick-add.is-loading::after,
.rp-product-quick-add[aria-busy="true"]::after,
.rp-card-add.is-loading::after,
.rp-card-add[aria-busy="true"]::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 14px;
    margin: -7px 0 0 -7px;
    box-sizing: border-box;
    border: 2px solid rgba(255, 87, 34, .28);
    border-top-color: var(--rp-quick-add-spinner-color);
    border-radius: 50%;
    animation: rpPlusButtonSpin .72s linear infinite;
}

@keyframes rpPlusButtonSpin {
    to {
        transform: rotate(360deg);
    }
}
