/* Global full-page spinner overlay (used by #cover-spin). */
cover-spin {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.7);
    z-index: 9999;
    display: none;
}

@keyframes coverSpinRotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

#cover-spin::after {
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    top: 40%;
    width: 40px;
    height: 40px;
    margin-left: -20px;
    border-style: solid;
    border-color: #111;
    border-top-color: transparent;
    border-width: 4px;
    border-radius: 50%;
    animation: coverSpinRotate .8s linear infinite;
}

