/* /Layout/MainLayout.razor.rz.scp.css */
.app-shell[b-opfpp18rpx] {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    min-height: 100dvh; /* 모바일 브라우저 UI(주소창) 높이 변화 대응 */
}

.app-main[b-opfpp18rpx] {
    flex: 1;
    padding: 1rem 1.25rem 3rem;
    /* 가로 모드 노치 대비: 좌우 안전영역만큼 여백 추가 */
    padding-left: calc(1.25rem + env(safe-area-inset-left));
    padding-right: calc(1.25rem + env(safe-area-inset-right));
    background: #f6f7f9;
}

.navbar[b-opfpp18rpx] {
    gap: 0.5rem;
    /* iOS PWA(홈화면 실행) 시 상단 노치/상태바와 겹치지 않도록 안전영역만큼 여백 확보 */
    padding-top: calc(0.5rem + env(safe-area-inset-top));
    padding-left: calc(1rem + env(safe-area-inset-left));
    padding-right: calc(1rem + env(safe-area-inset-right));
}

.navbar-brand[b-opfpp18rpx] {
    font-size: 1.1rem;
    letter-spacing: -0.01em;
}

.app-footer[b-opfpp18rpx] {
    padding: 0.6rem 1rem;
    /* 하단 홈 인디케이터 영역 확보 */
    padding-bottom: calc(0.6rem + env(safe-area-inset-bottom));
    padding-left: calc(1rem + env(safe-area-inset-left));
    padding-right: calc(1rem + env(safe-area-inset-right));
    text-align: center;
    font-size: 0.78rem;
    color: #6c757d;
    background: #f6f7f9;
    border-top: 1px solid #e9ecef;
}

.app-footer-note[b-opfpp18rpx] {
    font-size: 0.72rem;
    color: #adb5bd;
    margin-top: 0.15rem;
}

.nav-controls[b-opfpp18rpx] {
    min-width: 0;
}

@media (max-width: 640px) {
    .app-main[b-opfpp18rpx] {
        padding: 0.75rem 0.75rem 2.5rem;
        padding-left: calc(0.75rem + env(safe-area-inset-left));
        padding-right: calc(0.75rem + env(safe-area-inset-right));
    }

    /* 좁은 화면에서는 정보성 배지를 숨겨 브랜드/설치/언어 컨트롤 공간 확보 */
    .navbar .badge[b-opfpp18rpx] {
        display: none;
    }

    .navbar-brand[b-opfpp18rpx] {
        font-size: 1rem;
    }
}
