/* ========================
   Body 전용 세로 스크롤
   - 상단 고정 헤더를 제외하고, 스크롤바/스크롤은 body에서만 발생
   ======================== */

html {
    overflow-x: hidden;
    overflow-y: hidden;
}

body {
    overflow-x: hidden;
    overflow-y: auto;
    height: 100vh;
    /* 트랙은 투명, thumb만 보이게 */
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.35) transparent;
}

/* Pro/Mini/Subscription: 모바일 100vh 계산 오차로 하단 UI와 콘텐츠 겹침 유발 → min-height로 변경 */
html:has(body.page-pro),
html:has(body.page-mini),
html:has(main.subscription-page) {
    overflow-y: auto;
}
body.page-pro,
body.page-mini,
body:has(main.subscription-page) {
    height: auto !important;
    min-height: 100vh;
}

body::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

body::-webkit-scrollbar-track {
    background: transparent;
}

body::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.35);
    border-radius: 999px;
    border: 2px solid transparent;
    background-clip: content-box;
}

body::-webkit-scrollbar-thumb:hover {
    background-color: rgba(0, 0, 0, 0.55);
    background-clip: content-box;
}

