.forward-next {
    position: relative;
    padding-right: 35px; /* space for spinner */
}

/* Text visible by default */
.forward-next .btn-text {
    display: inline-block;
}

/* Spinner hidden by default */
.forward-next .btn-spinner {
    display: none !important;
    width: 16px;
    height: 16px;
    border: 3px solid #ccc;
    border-top: 3px solid #333;
    border-radius: 50%;
    animation: spin 0.7s linear infinite;

    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
}

/* When loading: show spinner, hide text */
.forward-next.is-loading .btn-spinner {
    display: inline-block !important;
}

.forward-next.is-loading .btn-text {
    display: none !important;
}

/* Spinner animation */
@keyframes spin {
    from { transform: translateY(-50%) rotate(0deg); }
    to   { transform: translateY(-50%) rotate(360deg); }
}
