.spelist-wrap {
    width: 100%;
    min-height: 100vh;
    /* background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); */
    padding: 120px 20px;
    overflow: hidden;
}

.spelist-container {
    /* max-width: 1400px; */
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.spelist-title {
    /* position: absolute;
    top: -60px;
    left: 50%;
    transform: translateX(-50%); */
    transform: translateX(155px);
    font-size: 4vw;
    color: var(--main-gold);
    letter-spacing: 0.03em;
    text-align: center;
}

/* 왼쪽 회전 메뉴 */
.spelist-menu {
    margin-left: 10vw;
    flex: 0 0 400px;
    height: 600px;
    position: relative;
    transform: translateX(200px);
}

.menu-circle {
    width: 100%;
    height: 100%;
    position: relative;
    transform: rotate(314deg);
}

.menu-item {
    position: absolute;
    left: 50%;
    top: 50%;
    display: block;
    width: 221px;
    height: 221px;
    margin-left: -93px;
    margin-top: -77px;
    cursor: pointer;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    transform-origin: center center;
}

.menu-thumb {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 3px 7px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    transform: scale(1);
    position: relative;
}

/* 썸네일 어둡게 오버레이 */
.menu-thumb::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    transition: background 0.3s ease;
}

.menu-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
    transform: rotate(46deg);
}

.menu-text {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(46deg);
    color: #fff;
    font-size: 1.6vw;
    white-space: nowrap;
    text-align: center;
    z-index: 10;
    /* text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); */
    line-height: 1.4;
    pointer-events: none;
}

.menu-item.active .menu-thumb::after {
    background: rgba(0, 0, 0, 0.3);
}

.menu-item.active .menu-thumb {
    animation: scaleUp 1.3s ease-out;
}
@keyframes scaleUp {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

.menu-item:hover .menu-thumb::after {
    background: rgba(0, 0, 0, 0.2);
}

/* 오른쪽 미리보기 이미지 */
.spelist-preview {
    /* flex: 1; */
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.preview-images {
    width: 33.75vw;
    height: 30.52vw;
    max-width: 648px;
    max-height: 586px;
    position: relative;
}

.preview-img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.preview-img.active {
    opacity: 1;
    z-index: 1;
}

/* 반응형 */
@media (max-width:1400px) {
    

}
@media (max-width: 1200px) {
    
    .spelist-title {
        position: absolute;
        top: 71px;
        right: 27%;
        transform: none;
    }
    .spelist-menu {
        margin-left: 10vw;
        flex: 0 0 50px;
        transform: translateX(0px);
    }
    .menu-item {
        width: 150px;
        height: 150px;
        margin-left: -9px;
        margin-top: 0px;
    }
    
}
@media (max-width:1024px) {
    .menu-circle{
        touch-action: none;
    }
}
@media (max-width: 768px) {
    .spelist-wrap {
        min-height: 50vh;
        padding: 80px 20px 120px;
    }
    .spelist-title {
        font-size: 36px;
        top: 10px;
        right: auto;
        left: 54%;
    }
    .spelist-menu {
        height: 375px;
        flex: 0 0 42px;
    }
    .menu-item {
        width: 103px;
        height: 103px;
        margin-left: -9px;
        margin-top: -3px;
    }
    .menu-text {
        font-size: 13px;
    }

    .preview-images {
        width: 65vw;
        height: 58.25vw;
        max-width: 260px;
        max-height: 235px;
    }
}

@media (max-width:450px) {
    .spelist-container {
        transform: scale(0.9);
    }
    .menu-text {
        font-size: 14px;
    }
}

@media (max-width:380px) {
    .spelist-container {
        transform: scale(0.8);
    }
    .menu-text {
        font-size: 15px;
    }
}










/* 초기 상태 - 모든 메뉴 아이템 숨김 */
.spelist-wrap:not(.on) .menu-item {
    opacity: 0 !important;
    transform: translate(0, 0) scale(0) !important;
    transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* on 클래스 추가 시 순차적으로 나타남 */
.spelist-wrap.on .menu-item {
    /* transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); */
   
}

/* 각 아이템별 딜레이 (중앙에서 퍼져나가는 효과) */
.spelist-wrap.on .menu-item:nth-child(1) {
    transition-delay: 0.5s;
}

.spelist-wrap.on .menu-item:nth-child(2) {
    transition-delay: 0.6s;
}

.spelist-wrap.on .menu-item:nth-child(3) {
    transition-delay: 0.7s;
}

.spelist-wrap.on .menu-item:nth-child(4) {
    transition-delay: 0.8s;
}
/* 애니메이션 완료 후 delay 제거 */
.spelist-wrap.animation-complete .menu-item {
    transition-delay: 0s !important;
}

/* .spelist-wrap.on .menu-item:nth-child(5) {
    transition-delay: 0.9s;
}

.spelist-wrap.on .menu-item:nth-child(6) {
    transition-delay: 1s;
}

.spelist-wrap.on .menu-item:nth-child(7) {
    transition-delay: 1.1s;
} */

/* 미리보기 이미지도 페이드인 */
.spelist-wrap:not(.on) .spelist-preview {
    opacity: 0;
    transform: translateX(50px);
    transition: all 0.8s ease;
}

.spelist-wrap.on .spelist-preview {
    opacity: 1;
    transform: translateX(0);
    transition: all 0.8s ease 0.3s;
}