/* 페이지 전환 애니메이션 */
.page-transition {
    position: relative;
}

.page-transition > * {
    animation: fadeIn 0.3s ease-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 네비게이션 링크 전환 효과 */
.nav-links a {
    position: relative;
    transition: color 0.3s ease;
}

.nav-links a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background-color: var(--primary-color);
    transition: width 0.3s ease;
}

.nav-links a:hover::after,
.nav-links a.active::after {
    width: 100%;
}

/* 컨텐츠 영역 전환 효과 - SvelteKit 전환으로 대체되어 비활성화 */
/* main {
    animation: slideIn 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
} */

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 내부 링크 부드러운 호버 효과 */
a[href^="/"], a[data-sveltekit-preload-data] {
    transition: all 0.2s ease;
}