.progress-overlay {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 60px;
    margin: 0;
}

.progress-overlay .icon {
    display: block;
    width: 100%;
    height: 100%;
}

.progress-overlay-spinner {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: conic-gradient(from 180deg, transparent 25%, #FFFFFF);
    animation: spin 1s linear infinite;
    -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 0);
    mask: radial-gradient(farthest-side, transparent calc(100% - 3px), #000 0);
}

/* --- Keyframes --- */
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}