/* CSS Scroll-Snap Implementation - SVH로 모바일 최적화 */
html,
body {
    height: 100%;
}

.sections-container {
    scroll-snap-type: y mandatory;
    height: 100vh;
    /* 데스크톱은 vh 사용 */
    overflow-y: scroll;
    scroll-behavior: smooth;
}

.section {
    scroll-snap-align: start;
    scroll-snap-stop: always;
    /* 강제 정지 */
    height: 100vh;
    /* 데스크톱 기본값 */
    display: flex;
    flex-direction: column;
}

.section_2 {
    scroll-snap-align: start;
    scroll-snap-stop: always;
    /* 강제 정지 */
    height: 100vh;
    /* 데스크톱 기본값 */
    display: flex;
    flex-direction: column;
}

/* 푸터 섹션 특별 처리 - 동적 높이 허용 */
.section_footer {
    min-height: 100vh;
    /* 최소 높이만 설정 */
    height: auto;
    /* 컨텐츠에 따라 동적 높이 */
    overflow-y: auto;
    /* 푸터 내부 스크롤 허용 */
}

/* 모바일 최적화 - SVH 사용 */
@media screen and (max-width: 768px) {
    .sections-container {
        scroll-snap-type: y mandatory;
        height: 100svh;
        /* 모바일에서 정확한 뷰포트 높이 */
    }

    .section,
    .section_2 {
        height: 100svh;
        /* 모바일에서 정확한 섹션 높이 */
    }

    /* 모바일 푸터 - 아코디언 확장 대응 */
    .section_footer {
        min-height: 100svh;
        /* 최소 높이는 전체 화면 */
        height: auto;
        /* 아코디언 확장 시 늘어남 */
        overflow-y: auto;
        /* 스크롤 허용 */
    }
}

.announcements_detail.section_2 {
    height: auto;
}