@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css');

body {
    font-family: 'Pretendard', sans-serif;
    background-color: #f1f5f9;
}

.tab-active {
    color: #2563eb;
    border-bottom: 3px solid #2563eb;
    font-weight: 800;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.input-focus:focus-within {
    border-color: #2563eb;
    ring: 2px;
    ring-color: #bfdbfe;
}

#side-menu {
    transition: transform 0.3s ease-in-out;
    transform: translateX(-100%);
}

#side-menu.open {
    transform: translateX(0);
}

#menu-overlay {
    transition: opacity 0.3s ease-in-out;
    visibility: hidden;
    opacity: 0;
}

#menu-overlay.show {
    visibility: visible;
    opacity: 1;
}

#menu-overlay.show ~ * #common-footer,
body:has(#menu-overlay.show) #common-footer {
    opacity: 0.5;
    pointer-events: none;
    transition: opacity 0.3s ease-in-out;
}

body:has(#menu-overlay.show) #scroll-to-top {
    opacity: 0 !important;
    pointer-events: none !important;
}

:root {
    --nav-height: calc(64px + env(safe-area-inset-bottom));
}

body {
    padding-bottom: var(--nav-height) !important;
}

.pb-safe {
    padding-bottom: env(safe-area-inset-bottom);
}

#moving-result {
    margin-bottom: 20px;
}

/* 태그 버튼 가로 스크롤 스타일 */
.scrollbar-hide::-webkit-scrollbar {
    display: none;
}

.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* apt 그룹 탭 표시 시 크기 조정 (비율 적용) */
/* 모바일: 청약달력 더 작게 */
#tab-calendar {
    flex: 0.75 !important;
    padding-left: 0.2rem !important;
    padding-right: 0.2rem !important;
}

/* 모바일: 주요단지검색, 매수/매도계산 더 크게 */
#tab-aptlist,
#tab-aptcalc {
    flex: 1.125 !important;
    padding-left: 0.8rem !important;
    padding-right: 0.8rem !important;
}

/* 웹(데스크톱): 웹 비율 */
@media (min-width: 768px) {
    #tab-calendar {
        flex: 0.85 !important;
        padding-left: 0.25rem !important;
        padding-right: 0.25rem !important;
    }

    #tab-aptlist,
    #tab-aptcalc {
        flex: 1.075 !important;
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }
}