#spinner-div {
    position: fixed;
    display: none;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    text-align: center;
    background-color: rgba(255, 255, 255, 0.8);
    z-index: 9999;
}

.spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80px;   /* dot 3개 배치 폭에 맞춤 (0, 30, 60 + dot너비 20) */
    height: 40px;
}

.spinner-dot {
    width: 20px;
    height: 20px;
    background-color: #e27f5c;
    border-radius: 50%;
    position: absolute;
    top: 0;
    animation: bounce 1s infinite alternate;
}

.spinner-dot:nth-child(1) {
    animation-delay: 0s;
}

.spinner-dot:nth-child(2) {
    animation-delay: 0.1s;
}

.spinner-dot:nth-child(3) {
    animation-delay: 0.2s;
}

.spinner-text {
    position: absolute;
    top: 45px;              /* dot 애니메이션 영역 아래로 */
    left: 50%;
    transform: translateX(-50%);
    width: max-content;
    max-width: 200px;
    font-size: 14px;
    color: #333;
    white-space: nowrap;
}

@keyframes bounce {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(-15px);
    }
}
