@keyframes hdv2-spin {
    to {
        transform: rotate(360deg);
    }
}

.hdv2-spinner {
    display: inline-block;
    width: 1.05rem;
    height: 1.05rem;
    flex: 0 0 auto;
    border: 2px solid var(--hdv2-cah-border, hsl(220 13% 91%));
    border-top-color: hsl(217.2 91.2% 59.8%);
    border-radius: 50%;
    animation: hdv2-spin 0.7s linear infinite;
}

.hdv2-spinner--xs {
    width: 0.8rem;
    height: 0.8rem;
    border-width: 2px;
}

.hdv2-spinner--sm {
    width: 0.95rem;
    height: 0.95rem;
}

.hdv2-spinner--lg {
    width: 1.5rem;
    height: 1.5rem;
    border-width: 3px;
}

.hdv2-spinner--current {
    border-color: currentColor;
    border-right-color: transparent;
}

[data-hdv2-loading-btn].is-loading {
    pointer-events: none;
    cursor: wait;
    opacity: 0.78;
}

[data-hdv2-loading-btn].is-loading > svg:not(.hdv2-btn-loading__spin),
[data-hdv2-loading-btn].is-loading > .hdv2-lucide:not(.hdv2-btn-loading__spin-wrap) {
    display: none;
}

.hdv2-btn-loading__spin-wrap {
    display: none;
    width: 1.05rem;
    height: 1.05rem;
    flex: 0 0 auto;
    line-height: 0;
}

[data-hdv2-loading-btn].is-loading > .hdv2-btn-loading__spin-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.hdv2-btn-loading__spin {
    width: 1.05rem;
    height: 1.05rem;
    animation: hdv2-spin 0.7s linear infinite;
}
