.active-menu {
    font-weight: bold;
    color: #fffacd;
}

.adm_aside {
    height: 100vh;
    overflow-y: auto;
    position: fixed;
    left: 0;
    top: 0;
}

.adm_aside::-webkit-scrollbar {
    width: 6px;
}

.adm_aside::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.1);
}

.adm_aside::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.3);
    border-radius: 3px;
}

.adm_aside::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.5);
}

.adm_common_header h2.page-title.lb-demo-notice-inline-title {
    display: inline-block;
}

body[data-legacy-page="board_church_reg"] .adm_common_header h2.page-title.lb-demo-notice-inline-title {
    display: block;
    min-height: 1px;
}

.lb-demo-notice-hidden {
    display: none !important;
}

/*
 * 목록 빈 상태(.con-none) — 테이블 영역 중앙 정렬
 * list.js 가 #no_post 표시/숨김 (rows.length === 0)
 */
.post-box .con-none,
.board-table-con + .con-none,
#no_post.con-none {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 160px;
    margin: 0;
    padding: 40px 24px;
    box-sizing: border-box;
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    color: #888;
    background: #fafbfc;
    border: 1px solid #e5e8eb;
    border-top: 0;
    border-radius: 0 0 8px 8px;
}

/* 테이블 바로 아래에 붙을 때 상단 테두리로 구분 */
.board-table-con + .con-none,
.board-table-con + #no_post {
    border-top: 1px solid #e5e8eb;
    margin-top: -1px;
}

.lb-demo-notice-template-row {
    display: none;
}

.lb-demo-notice-login-wrap {
    max-width: 100%;
}

.side_main_menu ul.adm_side_depth02 {
    display: block !important;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 280ms ease, opacity 180ms ease;
}

.side_main_menu ul.adm_side_depth02.is-open {
    max-height: 720px;
    opacity: 1;
}

.lb-demo-notice-admin-toolbar {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
}

.lb-demo-notice-slide-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-bottom: 10px;
}

.lb-demo-notice-slide-table {
    table-layout: fixed;
}

.lb-demo-notice-slide-table th,
.lb-demo-notice-slide-table td {
    white-space: normal;
    word-break: keep-all;
    overflow: hidden;
}

.lb-demo-notice-slide-table .check {
    width: 40px;
}

.lb-demo-notice-slide-table .img_thum2 {
    width: 170px;
}

.lb-demo-notice-slide-table .title {
    width: 42%;
    min-width: 0;
}

.lb-demo-notice-slide-table .tag {
    width: 28%;
}

.lb-demo-notice-slide-table .modi {
    width: 110px;
}

.lb-demo-notice-slide-table th:last-child {
    width: 80px;
}

.lb-demo-notice-slide-table td.title em.lb-demo-notice-url-text {
    display: block;
    max-width: 100%;
    line-height: 1.45;
    white-space: normal;
    word-break: break-all;
    overflow-wrap: anywhere;
}

.lb-demo-notice-slide-table td.tag em {
    display: block;
    max-width: 100%;
    line-height: 1.45;
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: break-word;
}

.lb-demo-notice-seq-cell {
    width: 80px;
    text-align: center;
    cursor: move;
}

.lb-demo-notice-drag-handle {
    display: inline-block;
    width: 42px;
    height: 30px;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='42' height='30' viewBox='0 0 42 30'%3E%3Cpath d='M5 8h32M5 15h32M5 22h32' stroke='%23333' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.lb-demo-notice-admin-thumb {
    max-width: 100px;
}

.img_thum figure.is-empty {
    width: 100px;
    height: 70px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #d9dee3;
    background: #f6f8f9;
}

.img_thum figure.is-empty .lb-demo-notice-admin-thumb {
    display: none;
}

.lb-demo-notice-admin-thumb-empty {
    font-size: 13px;
    font-weight: 600;
    color: #7b858c;
    line-height: 1.2;
}

.lb-demo-notice-url-text {
    word-break: break-all;
    white-space: pre-line;
}

.lb-demo-notice-admin-toolbar input,
.lb-demo-notice-admin-toolbar select {
    height: 40px;
    border: 1px solid #d8dde6;
    padding: 0 12px;
    background: #fff;
}

.lb-demo-notice-admin-toolbar .search-box-wrapper {
    min-width: 260px;
}

.lb-demo-notice-phone-search-box {
    display: flex;
    align-items: center;
    gap: 10px;
}

.lb-demo-notice-phone-search-box input {
    width: 250px;
    height: auto;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    line-height: normal;
}

.lb-demo-notice-phone-search-box button {
    padding: 8px 20px;
    border: 0;
    line-height: normal;
}

.lb-demo-notice-admin-toolbar button,
.lb-demo-notice-admin-form button,
.button.save-btn button {
    white-space: nowrap;
    word-break: keep-all;
    flex-shrink: 0;
}

.lb-demo-notice-admin-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: none;
    align-items: center;
    justify-content: center;
    /* 화면(오버레이) 스크롤 금지 — 스크롤은 모달 본문만 */
    overflow: hidden;
    padding: 24px 16px;
    background: rgba(0, 0, 0, 0.45);
    box-sizing: border-box;
}

.lb-demo-notice-admin-modal.is-open,
.lb-demo-notice-admin-modal.active {
    display: flex;
}

.modal.user-modal.input_modal.input_flex.lb-demo-notice-admin-modal.is-open,
.modal.user-modal.input_modal.lb-demo-notice-admin-modal.is-open,
.modal.user-modal.input_modal.input_flex.lb-demo-notice-admin-modal.active,
.modal.user-modal.input_modal.lb-demo-notice-admin-modal.active {
    display: flex;
}

.lb-demo-notice-admin-modal .modal-wrap {
    width: min(920px, 100%);
    max-height: calc(100vh - 48px);
    top: auto !important;
    transform: none !important;
    margin: 0;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.lb-demo-notice-admin-modal .modal-container,
.lb-demo-notice-admin-modal .modal-container-inner {
    display: flex;
    flex-direction: column;
    min-height: 0;
    max-height: inherit;
    flex: 1 1 auto;
}

.lb-demo-notice-admin-modal .modal-head {
    flex-shrink: 0;
}

/* 하위 탭 많은 site_nav 등: 본문만 세로 스크롤 (max-height 필수) */
.lb-demo-notice-admin-modal .modal-body {
    flex: 1 1 auto;
    min-height: 0;
    max-height: min(78vh, calc(100vh - 100px));
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.lb-demo-notice-admin-modal .btn_wrap {
    flex-shrink: 0;
    margin-top: 12px;
    padding-top: 8px;
    background: #fff;
}

.lb-demo-notice-admin-modal .modal-content {
    background: #fff;
    border-radius: 8px;
    padding: 24px;
}

/* =========================================================
 * site_nav 목록 페이지
 * ========================================================= */
.site-nav-page {
    padding: 24px 28px;
}

.site-nav-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.site-nav-toolbar-main {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.site-nav-count {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 0 12px;
    border: 1px solid #e5e8eb;
    border-radius: 6px;
    background: #f7f8fa;
    font-size: 13px;
    font-weight: 600;
    color: #4b5563;
    white-space: nowrap;
}

.site-nav-help {
    margin: 0 0 16px;
    padding: 12px 14px;
    border: 1px solid #e5e8eb;
    border-radius: 8px;
    background: #fafbfc;
    font-size: 13px;
    line-height: 1.55;
    color: #555;
}

.site-nav-table-wrap {
    overflow-x: auto;
}

/* 토글 시 열 너비/행 높이 재계산 방지 */
.site-nav-table.board-table {
    table-layout: fixed !important;
    width: 100% !important;
}

/*
 * common.css: [class*='row']:before/after { display:table; clear:both }
 * → 클래스명에 row 가 들어가면 테이블 행에 clearfix 의사요소가 붙어 레이아웃 붕괴.
 * site_nav 는 클래스명에서 row 를 제거했고, 방어적으로 테이블 내부도 무력화.
 */
.site-nav-table [class*='row']::before,
.site-nav-table [class*='row']::after,
.site-nav-page [class*='row']::before,
.site-nav-page [class*='row']::after,
#siteNavModal [class*='row']::before,
#siteNavModal [class*='row']::after {
    content: none !important;
    display: none !important;
    clear: none !important;
}

.site-nav-table th.site-nav-col-seq,
.site-nav-table td.site-nav-col-seq {
    width: 56px !important;
    text-align: center;
    color: #6b7280;
    font-weight: 600;
}

.site-nav-table th.site-nav-col-menu,
.site-nav-table td.site-nav-col-menu {
    width: 22% !important;
    text-align: left !important;
}

.site-nav-table th.site-nav-col-tabs,
.site-nav-table td.site-nav-col-tabs {
    width: auto;
    text-align: left !important;
}

.site-nav-table th.site-nav-col-active,
.site-nav-table td.site-nav-col-active {
    width: 88px !important;
    min-width: 88px !important;
    max-width: 88px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    text-align: center !important;
    vertical-align: middle !important;
    overflow: hidden;
}

.site-nav-table th.site-nav-col-actions,
.site-nav-table td.site-nav-col-actions.modi {
    width: 148px !important;
    text-align: center !important;
}

.site-nav-table tr.site-nav-is-off > td {
    background: #f7f8fa !important;
}

.site-nav-table tr.site-nav-is-off .site-nav-menu-title,
.site-nav-table tr.site-nav-is-off .site-nav-menu-meta,
.site-nav-table tr.site-nav-is-off .site-nav-chip {
    color: #888;
}

.site-nav-active-locked {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    min-height: 22px;
    padding: 0 6px;
    border: 1px solid #e5e8eb;
    border-radius: 6px;
    background: #f3f4f6;
    font-size: 11px;
    font-weight: 600;
    color: #6b7280;
    white-space: nowrap;
    box-sizing: border-box;
}

/* button switch — checkbox 미사용 (default.css 50x50 충돌 회피) */
.site-nav-table button.site-nav-active-switch {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 22px !important;
    min-height: 22px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    cursor: pointer;
    vertical-align: middle;
    line-height: 0 !important;
    font-size: 0 !important;
}

.site-nav-table button.site-nav-active-switch .site-nav-active-slider {
    position: relative;
    display: block;
    width: 40px;
    height: 22px;
    border-radius: 999px;
    background: #c5cad3;
    border: 1px solid #b8bec8;
    box-sizing: border-box;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

.site-nav-table button.site-nav-active-switch .site-nav-active-slider::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
    transition: transform 0.15s ease;
}

.site-nav-table button.site-nav-active-switch.is-on .site-nav-active-slider {
    background: #0a5fb8;
    border-color: #0a5fb8;
}

.site-nav-table button.site-nav-active-switch.is-on .site-nav-active-slider::after {
    transform: translateX(18px);
}

.site-nav-table button.site-nav-active-switch:focus-visible {
    outline: 2px solid #0a5fb8;
    outline-offset: 2px;
}

.site-nav-menu-cell {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.site-nav-list-thumb {
    width: 56px;
    height: 36px;
    object-fit: cover;
    border: 1px solid #e5e8eb;
    border-radius: 6px;
    background: #f3f4f6;
    flex-shrink: 0;
    display: block;
}

.site-nav-list-thumb-empty {
    background: #eef1f4;
}

.site-nav-menu-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.site-nav-menu-title {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: #111;
    overflow-wrap: anywhere;
}

.site-nav-menu-meta {
    font-size: 12px;
    color: #888;
}

.site-nav-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-start;
}

.site-nav-chip {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    padding: 4px 10px;
    border: 1px solid #e5e8eb;
    border-radius: 999px;
    background: #f7f8fa;
    font-size: 12px;
    font-weight: 500;
    color: #374151;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.site-nav-chip-empty {
    color: #9ca3af;
    background: #fff;
}

.site-nav-actions {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.site-nav-empty td {
    text-align: center !important;
    padding: 40px 16px !important;
    color: #888;
    font-size: 14px;
    background: #fafbfc !important;
}

.site-nav-error td {
    color: #c0392b;
}

/*
 * site_nav 버튼 — adm 레거시 충돌 강제 재정의
 * - reset.css: button 투명 배경
 * - adm_custom .btn-green: width 100px + outline (텍스트 줄바꿈 원인)
 * - common .button button: 래퍼 없으면 패딩 미적용
 * - default .btn-secondary: 배경만 있고 color/padding 불완전
 */
.site-nav-page button.btn-green,
.site-nav-page button.btn-secondary,
.site-nav-page button.btn-primary,
#siteNavModal button.btn-green,
#siteNavModal button.btn-secondary,
#siteNavModal button.btn-primary,
#siteNavModal button.site-nav-modal-close,
#siteNavModal button.site-nav-modal-save,
#siteNavModal #siteNavSaveBtn,
#siteNavModal #siteNavAddChildBtn,
#siteNavModal .site-nav-child-remove,
#siteNavModal #siteNavBgPickBtn,
#siteNavModal #siteNavBgClearBtn,
.site-nav-page #siteNavAddBtn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 36px !important;
    height: auto !important;
    padding: 0 16px !important;
    margin: 0 !important;
    border-radius: 6px !important;
    border-style: solid !important;
    border-width: 1px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
    background-image: none !important;
    background-repeat: no-repeat !important;
    vertical-align: middle !important;
    text-align: center !important;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease !important;
}

/* 주요 액션 (추가/수정/배경선택) — 채움 파란 */
.site-nav-page button.btn-green,
#siteNavModal button.btn-green,
.site-nav-page #siteNavAddBtn,
#siteNavModal #siteNavBgPickBtn {
    background-color: #0a5fb8 !important;
    border-color: #0a5fb8 !important;
    color: #fff !important;
}

.site-nav-page button.btn-green:hover,
#siteNavModal button.btn-green:hover,
.site-nav-page #siteNavAddBtn:hover,
#siteNavModal #siteNavBgPickBtn:hover {
    background-color: #084a91 !important;
    border-color: #084a91 !important;
    color: #fff !important;
}

/* 보조 (지우기/닫기/하위탭추가) — 흰 배경 + 회색 테두리 */
.site-nav-page button.btn-secondary,
#siteNavModal button.btn-secondary,
#siteNavModal button.site-nav-modal-close,
#siteNavModal #siteNavBgClearBtn,
#siteNavModal #siteNavAddChildBtn {
    background-color: #fff !important;
    border-color: #d0d5dd !important;
    color: #333 !important;
}

.site-nav-page button.btn-secondary:hover,
#siteNavModal button.btn-secondary:hover,
#siteNavModal button.site-nav-modal-close:hover,
#siteNavModal #siteNavBgClearBtn:hover,
#siteNavModal #siteNavAddChildBtn:hover {
    background-color: #f5f6f7 !important;
    border-color: #b8bec8 !important;
    color: #111 !important;
}

/* 삭제 계열 — 빨간 테두리 텍스트 */
.site-nav-page button.site-nav-del,
#siteNavModal button.site-nav-child-remove {
    background-color: #fff !important;
    border-color: #f35f5f !important;
    color: #f35f5f !important;
}

.site-nav-page button.site-nav-del:hover,
#siteNavModal button.site-nav-child-remove:hover {
    background-color: #f35f5f !important;
    border-color: #f35f5f !important;
    color: #fff !important;
}

/* 목록 행 수정/삭제 조금 작게 */
.site-nav-page .site-nav-actions button.btn-green,
.site-nav-page .site-nav-actions button.btn-secondary {
    min-height: 32px !important;
    padding: 0 12px !important;
    font-size: 13px !important;
}

/* 저장 CTA */
#siteNavModal button.site-nav-modal-save,
#siteNavModal #siteNavSaveBtn {
    min-width: 96px !important;
    min-height: 40px !important;
    padding: 0 20px !important;
    background-color: #222 !important;
    border-color: #222 !important;
    color: #fff !important;
}

#siteNavModal button.site-nav-modal-save:hover,
#siteNavModal #siteNavSaveBtn:hover {
    background-color: #000 !important;
    border-color: #000 !important;
    color: #fff !important;
}

#siteNavAddBtn.is-disabled,
#siteNavAddBtn:disabled {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}
}

/*
 * site_nav 모달: 헤더 고정 + 본문 스크롤 + 푸터 고정
 * 닫기 = 헤더 오른쪽 / 저장 = 푸터 오른쪽
 */
#siteNavModal.lb-demo-notice-admin-modal {
    overflow: hidden !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 16px !important;
    box-sizing: border-box !important;
}

#siteNavModal .site-nav-modal-wrap,
#siteNavModal .modal-wrap.site-nav-modal-wrap {
    width: min(680px, 100%) !important;
    max-width: 680px !important;
    max-height: min(90vh, 860px) !important;
    height: min(90vh, 860px) !important;
    top: auto !important;
    transform: none !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
}

#siteNavModal .site-nav-modal-shell,
#siteNavModal .modal-container.site-nav-modal-shell {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: 100% !important;
    max-height: 100% !important;
    overflow: hidden !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

/* 고정 헤더 */
#siteNavModal .site-nav-modal-header {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 16px 20px !important;
    border-bottom: 1px solid #e5e8eb !important;
    background: #fff !important;
    z-index: 2;
}

#siteNavModal .site-nav-modal-title {
    margin: 0 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    flex: 1 1 auto !important;
    text-align: left !important;
    color: #111 !important;
}

#siteNavModal .site-nav-modal-close {
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 8px 14px !important;
    border: 1px solid #d0d5dd !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: #333 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}

#siteNavModal .site-nav-modal-close:hover {
    background: #f5f6f7 !important;
}

/* 본문만 스크롤 — JS forceSiteNavModalScroll 이 열릴 때 px 높이로 한 번 더 확정 */
#siteNavModal form#siteNavForm.site-nav-modal-body,
#siteNavModal .site-nav-modal-body {
    flex: 1 1 0% !important;
    min-height: 0 !important;
    height: 0 !important;
    max-height: calc(90vh - 130px) !important;
    overflow-x: hidden !important;
    overflow-y: scroll !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    padding: 20px !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    box-sizing: border-box !important;
    background: #fff !important;
}

#siteNavModal .site-nav-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

#siteNavModal .site-nav-field-label-line {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
}

#siteNavModal .site-nav-field-label {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #222;
    line-height: 1.3;
}

#siteNavModal .site-nav-field-hint {
    font-size: 12px;
    font-weight: 400;
    color: #888;
}

#siteNavModal .site-nav-field-desc {
    margin: 0;
    font-size: 12px;
    line-height: 1.5;
    color: #888;
}

#siteNavModal .site-nav-field .insert.insert-input,
#siteNavModal .site-nav-field .insert.insert-input input {
    width: 100%;
}

#siteNavModal .site-nav-field .insert.insert-input input {
    min-height: 42px;
    padding: 0 12px;
    border: 1px solid #d8dde6;
    border-radius: 6px;
    background: #fff;
    font-size: 14px;
    box-sizing: border-box;
}

#siteNavModal .site-nav-bg-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

#siteNavModal .site-nav-bg-preview {
    width: 100%;
    max-width: 100%;
    height: 140px;
    border: 1px solid #e5e8eb;
    border-radius: 8px;
    overflow: hidden;
    background: #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

#siteNavModal .site-nav-bg-preview.has-image {
    background: #111;
}

#siteNavModal .site-nav-bg-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

#siteNavModal .site-nav-bg-img.is-broken {
    display: none;
}

#siteNavModal .site-nav-bg-empty {
    font-size: 12px;
    color: #888;
    padding: 8px 12px;
    text-align: center;
}

#siteNavModal .site-nav-children-wrap,
#siteNavModal #siteNavChildrenWrap {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    overflow: visible !important;
    max-height: none !important;
    height: auto !important;
}

#siteNavModal .site-nav-add-child-btn {
    align-self: flex-start;
    white-space: nowrap;
}

#siteNavModal .site-nav-child-item {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 14px;
    border: 1px solid #e5e8eb;
    border-radius: 8px;
    background: #fafbfc;
}

/* 하위 메뉴명: 라벨 위 / 입력+행삭제 같은 줄 세로 중앙 정렬 */
#siteNavModal .site-nav-child-title-block {
    width: 100%;
}

#siteNavModal .site-nav-child-title-line {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    min-width: 0;
}

#siteNavModal .site-nav-child-title-line .site-nav-child-title {
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
}

#siteNavModal .site-nav-child-title-line .site-nav-child-remove {
    flex: 0 0 auto;
    align-self: center !important;
    height: 40px !important;
    min-height: 40px !important;
    white-space: nowrap !important;
}

#siteNavModal .site-nav-child-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

#siteNavModal .site-nav-child-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

#siteNavModal .site-nav-child-label {
    font-size: 12px;
    font-weight: 600;
    color: #555;
}

#siteNavModal .site-nav-child-item input[type="text"] {
    width: 100%;
    min-height: 40px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid #d8dde6;
    border-radius: 6px;
    background: #fff;
    font-size: 14px;
    box-sizing: border-box;
}

#siteNavModal .site-nav-child-remove {
    flex: 0 0 auto;
    white-space: nowrap;
}

/* 고정 푸터 — 저장 오른쪽 */
#siteNavModal .site-nav-modal-footer {
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    padding: 12px 20px !important;
    border-top: 1px solid #e5e8eb !important;
    background: #fff !important;
    z-index: 2;
}

#siteNavModal .site-nav-modal-save,
#siteNavModal #siteNavSaveBtn {
    margin: 0 !important;
    min-width: 96px !important;
    padding: 10px 20px !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: #222 !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}

#siteNavModal .site-nav-modal-save:hover,
#siteNavModal #siteNavSaveBtn:hover {
    background: #000 !important;
}

@media (max-width: 768px) {
    .site-nav-page {
        padding: 16px;
    }

    .site-nav-table th.site-nav-col-actions,
    .site-nav-table td.site-nav-col-actions {
        width: 120px;
    }

    #siteNavModal .site-nav-child-fields {
        grid-template-columns: 1fr;
    }

    #siteNavModal .site-nav-modal-wrap,
    #siteNavModal .modal-wrap.site-nav-modal-wrap {
        width: 100% !important;
        max-width: 100% !important;
        max-height: min(92vh, 860px) !important;
        height: min(92vh, 860px) !important;
        border-radius: 8px;
    }
}

.lb-demo-notice-admin-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 16px;
}

.lb-demo-notice-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.lb-demo-notice-field label,
.lb-demo-notice-checkline {
    font-size: 14px;
    font-weight: 600;
    color: #333;
}

.lb-demo-notice-field input,
.lb-demo-notice-field select {
    min-height: 40px;
    border: 1px solid #d8dde6;
    padding: 0 12px;
    background: #fff;
}

.lb-demo-notice-field[data-field-group="content"],
.lb-demo-notice-checkline,
.lb-demo-notice-admin-form .button.save-btn {
    grid-column: 1 / -1;
}

.lb-demo-notice-quill-editor {
    height: 654px;
    min-height: 654px;
    max-height: 654px;
}

.lb-demo-notice-quill-editor.ql-container,
.lb-demo-notice-quill-editor .ql-container {
    height: 654px;
    min-height: 654px;
    max-height: 654px;
}

.lb-demo-notice-quill-editor .ql-editor {
    height: 654px;
    min-height: 654px;
    max-height: 654px;
    overflow-y: auto;
    color: #212529;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
}

.lb-demo-notice-quill-editor .ql-editor p,
.lb-demo-notice-quill-editor .ql-editor span,
.lb-demo-notice-quill-editor .ql-editor li {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

.lb-demo-notice-quill-editor .ql-editor strong,
.lb-demo-notice-quill-editor .ql-editor b {
    font-weight: 700;
}

body[data-current-page="news3"] .church-list1 .col-md-11 {
    width: 96.491228%;
}

body[data-current-page="news3"] .lb-demo-notice-quill-editor {
    height: 608px;
    min-height: 608px;
    max-height: 608px;
}

body[data-current-page="news3"] .lb-demo-notice-quill-editor.ql-container,
body[data-current-page="news3"] .lb-demo-notice-quill-editor .ql-container {
    height: 608px;
    min-height: 608px;
    max-height: 608px;
}

body[data-current-page="news3"] .lb-demo-notice-quill-editor .ql-editor {
    height: 608px;
    min-height: 608px;
    max-height: 608px;
    overflow-y: auto;
}

.lb-demo-notice-thumb-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

.lb-demo-notice-thumb-row img {
    width: 96px;
    height: 64px;
    object-fit: cover;
    border: 1px solid #d8dde6;
    background: #f7f8fa;
}

.lb-demo-notice-checkline {
    display: flex;
    align-items: center;
    gap: 8px;
}

.board-table td.title em,
.board-table td.tag em {
    word-break: keep-all;
}

.lb-demo-notice-radio-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.lb-demo-notice-radio-line label {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.lb-demo-notice-radio-line input[type="text"] {
    width: 180px;
}

.lb-demo-notice-grid-inputs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.lb-demo-notice-file-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    border: 0;
    cursor: pointer;
    white-space: nowrap;
    word-break: keep-all;
}

.lb-demo-notice-file-list-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
}

.lb-demo-notice-file-list-item img,
.lb-demo-notice-admin-file-thumb {
    max-width: 100px;
    max-height: 72px;
    border: 1px solid #e1e1e1;
    object-fit: cover;
}

.lb-demo-notice-file-list-item button {
    border: 1px solid #d8dde6;
    background: #fff;
    color: #333;
    min-height: 32px;
    padding: 0 10px;
    cursor: pointer;
    white-space: nowrap;
    word-break: keep-all;
}

.post-table .insert select {
    width: 100%;
    height: 40px;
    border: 1px solid #d8dde6;
    background: #fff;
    padding: 0 12px;
}

.region-cate .cate-btn span.lb-demo-notice-danger-button {
    background-color: #E32200 !important;
    border-color: #E32200 !important;
    color: #fff !important;
}

.lb-demo-notice-local-modal,
#phone_register_modal {
    align-items: center;
}

.lb-demo-notice-local-modal .modal-wrap.modal-sm {
    width: min(760px, 100%);
}

.lb-demo-notice-local-modal .btn_wrap {
    justify-content: center;
    gap: 10px;
    margin-top: 16px;
}

.lb-demo-notice-local-modal .btn_wrap button {
    min-width: 120px;
    min-height: 40px;
    border: 1px solid #ccc;
    cursor: pointer;
}

.lb-demo-notice-local-modal .fc-w {
    color: #fff;
}

.lb-demo-notice-local-church-select,
.lb-demo-notice-local-greeting-select {
    width: 26.315789%;
    margin-bottom: 20px;
}

.lb-demo-notice-local-church-select + .post-box {
    margin-top: 20px;
}

.lb-demo-notice-required {
    color: #e32200;
}

@media (max-width: 768px) {
    .lb-demo-notice-admin-toolbar,
    .lb-demo-notice-admin-form {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .lb-demo-notice-admin-toolbar .search-box-wrapper {
        min-width: 0;
        width: 100%;
    }

    .lb-demo-notice-grid-inputs {
        grid-template-columns: 1fr;
    }
}
