/* 기본 폰트 스택 - 더 세련된 고딕 계열 */
body {
    font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    letter-spacing: -0.02em; /* 전체적으로 살짝 좁은 자간이 세련됨 */
    color: #1e293b;
}

/* --- 전역 커스텀 스크롤바 --- */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* --- 폼 요소 고도화 --- */
input, select, textarea {
    font-size: 1rem !important;
    transition: all 0.3s ease;
}

/* Select 박스 커스텀 디자인 */
select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1.25rem;
    padding-right: 3rem !important;
}

input:focus, select:focus {
    border-color: #E31837 !important;
    box-shadow: 0 4px 12px rgba(227, 24, 55, 0.05);
}

/* Swiper 인터랙션 */
.mainSwiper { width: 100%; height: 100%; }
.swiper-button-next, .swiper-button-prev { color: #fff !important; transform: scale(0.6); opacity: 0.5; }
.swiper-button-next:hover, .swiper-button-prev:hover { opacity: 1; }
.swiper-pagination-bullet { background: rgba(255,255,255,0.3) !important; opacity: 1 !important; }
.swiper-pagination-bullet-active { background: #E31837 !important; width: 24px; border-radius: 4px; transition: width 0.3s; }

/* 애니메이션 */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
.animate-up { animation: fadeInUp 0.6s cubic-bezier(0.22, 1, 0.36, 1) forwards; }

/* 폰트 무게 조정 클래스 */
.font-heading { font-weight: 700; letter-spacing: -0.03em; }
.font-body { font-weight: 400; line-height: 1.7; }

/* 메뉴 활성화 */
.nav-active {
    color: #E31837 !important;
    font-weight: 700 !important;
    position: relative;
}
.nav-active::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 1.25rem;
    right: 1.25rem;
    height: 2px;
    background-color: #E31837;
}
