@charset "utf-8";

/*
 * 네이버 블로그형 TinyMCE 글쓰기 스킨
 * /skin/board/naver_blog_editor/style.css
 */

:root {
    --nbe-primary: #03c75a;
    --nbe-text: #222;
    --nbe-muted: #8a8f98;
    --nbe-line: #e5e8eb;
    --nbe-bg: #f7f8fa;
    --nbe-paper: #fff;
    --nbe-shadow: 0 12px 30px rgba(0, 0, 0, .06);
}

body {
    background: var(--nbe-bg);
}

.nbe-wrap {
    min-height: 100vh;
    background: var(--nbe-bg);
    color: var(--nbe-text);
    font-family: Pretendard, "Noto Sans KR", "Malgun Gothic", Apple SD Gothic Neo, sans-serif;
}

.nbe-wrap * {
    box-sizing: border-box;
}

.nbe-topbar {
    position: sticky;
    top: 0;
    z-index: 50;
    height: 58px;
    padding: 0 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
    border-bottom: 1px solid var(--nbe-line);
}

.nbe-brand {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 19px;
    letter-spacing: -.02em;
}

.nbe-logo-dot {
    width: 25px;
    height: 25px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #111;
    color: #fff;
    font-weight: 800;
    font-size: 14px;
}

.nbe-actions,
.nbe-bottom-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.nbe-btn {
    min-width: 78px;
    height: 36px;
    border: 1px solid var(--nbe-line);
    border-radius: 6px;
    background: #fff;
    color: #333;
    font-size: 14px;
    cursor: pointer;
    transition: .18s ease;
}

.nbe-btn:hover {
    border-color: #c7ccd1;
    box-shadow: 0 4px 12px rgba(0,0,0,.05);
}

.nbe-btn-primary {
    background: var(--nbe-primary);
    border-color: var(--nbe-primary);
    color: #fff;
    font-weight: 700;
}

.nbe-btn-light {
    background: #fff;
}

/* v63: saved draft picker */
.nbe-draft-control { position: relative; flex: 0 0 auto; }
.nbe-draft-buttons { display: flex; }
.nbe-draft-buttons .nbe-btn { height: 40px; }
.nbe-draft-buttons .nbe-draft-save { min-width: 58px; border-radius: 8px 0 0 8px; }
.nbe-draft-buttons .nbe-draft-count { min-width: 42px; padding: 0 10px; margin-left: -1px; border-radius: 0 8px 8px 0; color: #00ad51; font-weight: 700; background: #f8f9fa; }
.nbe-draft-buttons .nbe-btn:disabled { color: #a0a4aa; cursor: default; box-shadow: none; }
.nbe-draft-buttons .nbe-btn:focus-visible, .nbe-draft-panel button:focus-visible { outline: 2px solid #03c75a; outline-offset: 2px; }
.nbe-draft-panel[hidden] { display: none !important; }
.nbe-draft-panel { position: absolute; z-index: 100; top: calc(100% + 10px); right: 0; width: 400px; max-width: calc(100vw - 24px); border: 1px solid #dce1e7; border-radius: 14px; background: #fff; box-shadow: 0 20px 45px rgba(20, 30, 45, .16); overflow: hidden; text-align: left; }
.nbe-draft-head { min-height: 64px; display: flex; align-items: center; gap: 8px; padding: 16px 18px; border-bottom: 1px solid #ebedf0; }
.nbe-draft-head strong { color: #272c32; font-size: 15px; font-weight: 750; }
.nbe-draft-badge { color: #00a957; background: #effaf4; padding: 3px 7px; border-radius: 20px; font-size: 12px; font-weight: 700; }
.nbe-draft-close { margin-left: auto; width: 30px; height: 30px; border: 0; background: transparent; color: #818996; cursor: pointer; font-size: 22px; }
.nbe-draft-list { max-height: min(380px, 55vh); overflow-y: auto; padding: 8px 0; }
.nbe-draft-row { display: flex; align-items: center; padding-right: 12px; }
.nbe-draft-row:hover { background: #f7faf8; }
.nbe-draft-item { display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; min-width: 0; min-height: 72px; padding: 14px 8px 14px 18px; border: 0; background: transparent; text-align: left; cursor: pointer; color: #30363d; }
.nbe-draft-copy { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.nbe-draft-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; font-weight: 700; }
.nbe-draft-copy > span, .nbe-draft-item time { font-size: 11px; color: #9299a5; }
.nbe-draft-item time { flex: 0 0 auto; white-space: nowrap; }
.nbe-draft-item[aria-current="true"] .nbe-draft-copy strong { color: #00a957; }
.nbe-draft-delete { flex: 0 0 24px; height: 28px; border: 0; background: transparent; color: #9299a5; cursor: pointer; font-size: 17px; }
.nbe-draft-delete:hover { color: #c43f3f; }
.nbe-draft-empty { margin: 0; padding: 30px 18px; color: #9299a5; font-size: 13px; text-align: center; line-height: 1.7; }
.nbe-draft-retry { display: block; margin: 0 auto 14px; padding: 8px 14px; border: 1px solid #dce1e7; border-radius: 6px; background: white; cursor: pointer; }
.nbe-draft-note { margin: 0; padding: 10px 18px 14px; font-size: 11px; color: #9299a5; }
.nbe-draft-status { position: fixed; z-index: 101; top: 174px; right: 24px; max-width: min(440px, calc(100vw - 32px)); padding: 10px 14px; border: 1px solid #dceadf; border-radius: 8px; background: #f5fcf7; color: #33714a; font-size: 12px; line-height: 1.6; box-shadow: 0 4px 16px rgba(0,0,0,.05); pointer-events: none; }
.nbe-draft-status:empty { display: none; }
.nbe-draft-status.is-error { background: #fff5f5; color: #ab3434; border-color: #f1d5d5; }
@media (max-width: 600px) {
    .nbe-draft-panel { position: fixed; top: 64px; right: 12px; width: calc(100vw - 24px); }
    .nbe-draft-status { top: auto; bottom: 18px; right: 16px; }
}

.nbe-toolrow,
.nbe-subtool {
    position: sticky;
    z-index: 45;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--nbe-line);
}

.nbe-toolrow {
    top: 58px;
    min-height: 56px;
    padding: 9px 18px;
}

.nbe-subtool {
    top: 114px;
    min-height: 44px;
    padding: 7px 18px;
    display: flex;
    align-items: center;
    gap: 7px;
}

.nbe-toolgroup {
    display: flex;
    align-items: center;
    gap: 5px;
    overflow-x: auto;
    padding-bottom: 1px;
}

.nbe-toolgroup button,
.nbe-subtool button,
.nbe-subtool select {
    height: 34px;
    border: 1px solid transparent;
    border-radius: 5px;
    padding: 0 10px;
    background: #fff;
    color: #4b5563;
    font-size: 13px;
    cursor: pointer;
    white-space: nowrap;
}

.nbe-toolgroup button:hover,
.nbe-subtool button:hover,
.nbe-subtool select:hover {
    border-color: var(--nbe-line);
    background: #f6f8f9;
}

.nbe-divider {
    width: 1px;
    height: 20px;
    background: var(--nbe-line);
    margin: 0 3px;
}

.nbe-editor-shell {
    display: grid;
    grid-template-columns: 310px minmax(720px, 1fr);
    gap: 28px;
    max-width: 1520px;
    margin: 0 auto;
    padding: 34px 30px 60px;
}

.nbe-side-panel {
    align-self: start;
    position: sticky;
    top: 178px;
    z-index: 10;
}

.nbe-panel-card {
    background: #fff;
    border: 1px solid var(--nbe-line);
    border-radius: 14px;
    padding: 20px;
    margin-bottom: 14px;
    box-shadow: 0 8px 22px rgba(0,0,0,.035);
}

.nbe-panel-card h3 {
    margin: 0 0 16px;
    font-size: 17px;
    line-height: 1.35;
    letter-spacing: -.03em;
}

.nbe-field-label {
    display: block;
    margin: 14px 0 7px;
    font-size: 13px;
    font-weight: 700;
    color: #3f4650;
}

.nbe-input {
    display: block;
    width: 100%;
    height: 42px;
    border: 1px solid var(--nbe-line);
    border-radius: 8px;
    padding: 0 12px;
    background: #fff;
    font-size: 14px;
    outline: none;
}

.nbe-input:focus {
    border-color: var(--nbe-primary);
    box-shadow: 0 0 0 3px rgba(3,199,90,.12);
}

.nbe-help {
    margin: 8px 0 0;
    color: var(--nbe-muted);
    font-size: 12px;
    line-height: 1.55;
}

.nbe-checks {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    margin-top: 18px;
}

.nbe-checks label {
    font-size: 13px;
    color: #444;
}

.nbe-file-row {
    border: 1px dashed #d8dde3;
    border-radius: 10px;
    padding: 12px;
    margin-top: 10px;
}

.nbe-file-label span {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 700;
}

.nbe-file-label input {
    width: 100%;
    font-size: 12px;
}

.nbe-file-del {
    display: block;
    margin-top: 8px;
    font-size: 12px;
    color: #666;
}

.nbe-paper {
    display: flex;
    justify-content: center;
}

.nbe-paper-inner {
    width: min(100%, 820px);
    min-height: 960px;
    background: var(--nbe-paper);
    border: 1px solid #eceff2;
    box-shadow: var(--nbe-shadow);
    padding: 82px 86px 90px;
}

.nbe-title-input {
    width: 100%;
    border: 0;
    border-bottom: 1px solid #eceff2;
    outline: none;
    padding: 0 0 28px;
    margin-bottom: 38px;
    background: transparent;
    color: #222;
    text-align: center;
    font-size: 34px;
    font-weight: 400;
    letter-spacing: -.04em;
}

.nbe-title-input::placeholder {
    color: #a7adb5;
}

#wr_content {
    width: 100%;
    min-height: 620px;
}

.nbe-char-count {
    margin-top: 12px;
    text-align: right;
    font-size: 12px;
    color: var(--nbe-muted);
}

.nbe-captcha {
    max-width: 820px;
    margin: 0 auto 24px;
    padding: 0 30px;
}

.nbe-bottom-actions {
    max-width: 820px;
    margin: -30px auto 60px;
    padding: 0 30px;
}

/* TinyMCE 내부를 원고지처럼 정돈 */
.tox.tox-tinymce {
    border: 0 !important;
    border-radius: 0 !important;
    min-height: 640px !important;
}

.tox .tox-editor-header {
    display: none !important;
}

.tox .tox-edit-area {
    border: 0 !important;
}

.tox .tox-statusbar {
    border-top: 1px solid #f0f2f4 !important;
    background: #fff !important;
}

.nbe-preview-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0,0,0,.42);
    display: none;
    align-items: center;
    justify-content: center;
    padding: 30px;
}

.nbe-preview-modal.is-open {
    display: flex;
}

.nbe-preview-box {
    width: min(920px, 100%);
    max-height: 88vh;
    overflow: auto;
    background: #fff;
    border-radius: 18px;
    padding: 42px;
    box-shadow: 0 28px 80px rgba(0,0,0,.22);
}

.nbe-preview-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    margin-bottom: 24px;
}

.nbe-preview-head h2 {
    margin: 0;
    font-size: 26px;
    letter-spacing: -.04em;
}

.nbe-preview-close {
    width: 34px;
    height: 34px;
    border: 1px solid var(--nbe-line);
    border-radius: 50%;
    background: #fff;
    cursor: pointer;
}

.nbe-preview-body {
    line-height: 1.85;
    font-size: 16px;
}

@media (max-width: 1180px) {
    .nbe-editor-shell {
        grid-template-columns: 1fr;
        padding: 24px 18px 50px;
    }

    .nbe-side-panel {
        position: static;
        order: 2;
    }

    .nbe-paper {
        order: 1;
    }

    .nbe-paper-inner {
        width: 100%;
        padding: 60px 42px 72px;
    }
}

@media (max-width: 768px) {
    .nbe-topbar {
        height: auto;
        min-height: 56px;
        padding: 10px 12px;
        gap: 12px;
        flex-wrap: wrap;
    }

    .nbe-brand {
        font-size: 17px;
    }

    .nbe-toolrow {
        top: 56px;
        padding: 8px 10px;
    }

    .nbe-subtool {
        top: 105px;
        padding: 7px 10px;
        overflow-x: auto;
    }

    .nbe-editor-shell {
        padding: 18px 10px 44px;
    }

    .nbe-paper-inner {
        min-height: 760px;
        padding: 42px 20px 56px;
    }

    .nbe-title-input {
        font-size: 28px;
        padding-bottom: 22px;
        margin-bottom: 28px;
    }

    .nbe-actions {
        width: 100%;
        justify-content: flex-end;
    }

    .nbe-btn {
        min-width: 70px;
    }
}


/* =========================================================
   v2 긴급 수정
   기존 홈페이지의 fixed 헤더, 우측 퀵메뉴, 하단 상담바와 충돌하지 않도록
   글쓰기 화면을 독립된 전체화면 레이어로 띄웁니다.
   ========================================================= */

html.nbe-editor-root,
body.nbe-editor-fullscreen {
    overflow: hidden !important;
}

body.nbe-editor-fullscreen .nbe-wrap {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 2147483000 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    background: var(--nbe-bg) !important;
}

body.nbe-editor-fullscreen .nbe-topbar {
    top: 0 !important;
    z-index: 2147483100 !important;
}

body.nbe-editor-fullscreen .nbe-toolrow {
    top: 58px !important;
    z-index: 2147483050 !important;
}

body.nbe-editor-fullscreen .nbe-subtool {
    top: 114px !important;
    z-index: 2147483040 !important;
}

body.nbe-editor-fullscreen .nbe-editor-shell {
    padding-top: 34px !important;
}

body.nbe-editor-fullscreen .nbe-side-panel {
    top: 178px !important;
}

/* 기존 사이트의 퀵메뉴가 매우 높은 z-index를 가진 경우를 대비한 보조 처리 */
body.nbe-editor-fullscreen .nbe-wrap ~ .quick,
body.nbe-editor-fullscreen .nbe-wrap ~ .quick_menu,
body.nbe-editor-fullscreen .nbe-wrap ~ .right_quick,
body.nbe-editor-fullscreen .nbe-wrap ~ .side_quick,
body.nbe-editor-fullscreen .nbe-wrap ~ .quick-consult,
body.nbe-editor-fullscreen .nbe-wrap ~ .quick_consult {
    display: none !important;
}

@media (max-width: 768px) {
    body.nbe-editor-fullscreen .nbe-toolrow {
        top: 56px !important;
    }

    body.nbe-editor-fullscreen .nbe-subtool {
        top: 105px !important;
    }
}


/* =========================================================
   v3 수정
   - TinyMCE iframe 커서 표시 안정화
   - 글쓰기 영역 클릭/선택 안정화
   - 에디터 원고 영역과 view 페이지의 기본 간격 차이 축소
   ========================================================= */

body.nbe-editor-fullscreen .tox .tox-edit-area__iframe,
body.nbe-editor-fullscreen .tox .tox-edit-area iframe {
    cursor: text !important;
    background: #fff !important;
}

body.nbe-editor-fullscreen .tox .tox-edit-area {
    cursor: text !important;
}

body.nbe-editor-fullscreen .nbe-paper-inner {
    cursor: text;
}

body.nbe-editor-fullscreen .tox-tinymce-aux {
    z-index: 2147483200 !important;
}

/* TinyMCE 다이얼로그/드롭다운이 기존 사이트 요소에 가려지지 않게 */
.tox.tox-silver-sink,
.tox-tinymce-aux {
    z-index: 2147483200 !important;
}


/* v4 view/write sync: 세부 본문 스타일은 nbe-editor.js content_style 및 nbe-view.css에서 보정합니다. */


/* =========================================================
   v5 줄바꿈/커서 보정
   - TinyMCE iframe 내부 caret 표시 안정화
   - 줄바꿈 직후 빈 문단의 커서 높이 확보
   - 글쓰기 화면에서 줄 간격이 과하게 벌어져 보이는 현상 완화
   ========================================================= */

body.nbe-editor-fullscreen .tox .tox-edit-area__iframe,
body.nbe-editor-fullscreen .tox .tox-edit-area iframe {
    caret-color: #111 !important;
    cursor: text !important;
}

body.nbe-editor-fullscreen .tox .tox-edit-area {
    line-height: 1.48 !important;
}

body.nbe-editor-fullscreen .nbe-paper-inner {
    padding-top: 72px;
}

body.nbe-editor-fullscreen .nbe-title-input {
    margin-bottom: 30px;
}


/* =========================================================
   v6 미리보기/HTML전환/파란 외곽선 제거
   ========================================================= */

/* TinyMCE 포커스 시 파란 테두리 제거 */
body.nbe-editor-fullscreen .tox.tox-tinymce,
body.nbe-editor-fullscreen .tox.tox-tinymce:focus,
body.nbe-editor-fullscreen .tox.tox-tinymce:focus-within,
body.nbe-editor-fullscreen .tox .tox-edit-area,
body.nbe-editor-fullscreen .tox .tox-edit-area:focus,
body.nbe-editor-fullscreen .tox .tox-edit-area:focus-within,
body.nbe-editor-fullscreen .tox .tox-edit-area__iframe,
body.nbe-editor-fullscreen .tox iframe {
    outline: 0 !important;
    box-shadow: none !important;
}

body.nbe-editor-fullscreen .tox .tox-edit-area::before,
body.nbe-editor-fullscreen .tox.tox-tinymce::before {
    display: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

.nbe-html-mode-btn.is-active {
    background: #111 !important;
    border-color: #111 !important;
    color: #fff !important;
}

.nbe-html-editor {
    width: 100%;
    min-height: 650px;
    border: 1px solid #e5e8eb;
    border-radius: 8px;
    padding: 18px;
    background: #111;
    color: #f5f5f5;
    font-family: Consolas, Monaco, "Courier New", monospace;
    font-size: 14px;
    line-height: 1.65;
    resize: vertical;
    outline: none;
}

.nbe-html-editor:focus {
    border-color: #888;
    box-shadow: none;
}

.nbe-preview-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483300 !important;
    background: rgba(0,0,0,.48) !important;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 30px;
}

.nbe-preview-modal.is-open {
    display: flex !important;
}

.nbe-preview-box {
    width: min(920px, 100%);
    max-height: 88vh;
    overflow: auto;
    background: #fff;
    border-radius: 18px;
    padding: 42px;
    box-shadow: 0 28px 80px rgba(0,0,0,.22);
}

.nbe-preview-body {
    font-size: 16.5px;
    line-height: 1.5;
    color: #222;
    word-break: keep-all;
    overflow-wrap: break-word;
}

.nbe-preview-body p {
    margin: 0 0 6px;
    line-height: 1.5;
}

.nbe-preview-body img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 12px auto 10px;
}

.nbe-preview-body a {
    color: #1668dc;
    text-decoration: underline;
    text-underline-offset: 3px;
    word-break: break-all;
}

.nbe-preview-body table {
    width: 100%;
    border-collapse: collapse;
    margin: 14px 0 20px;
    border-top: 2px solid #111;
}

.nbe-preview-body th,
.nbe-preview-body td {
    padding: 10px;
    border-bottom: 1px solid #e7e7e7;
    line-height: 1.45;
}

.nbe-preview-body th {
    background: #f8f4ef;
    color: #111;
    font-weight: 800;
    text-align: center;
}


/* =========================================================
   v7 view 미리보기 / 기존 원장칼럼 요소 버튼 / iframe preview
   ========================================================= */

.nbe-preview-box-view {
    width: min(1180px, 96vw) !important;
    height: min(92vh, 980px) !important;
    max-height: 92vh !important;
    padding: 0 !important;
    overflow: hidden !important;
    display: flex;
    flex-direction: column;
}

.nbe-preview-box-view .nbe-preview-head {
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 16px 20px;
    border-bottom: 1px solid #e5e8eb;
    background: #fff;
}

.nbe-preview-frame {
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    border: 0;
    background: #f4f5f7;
}

.nbe-toolgroup button[data-template] {
    border-color: #e6dccd;
    background: #fffaf3;
    color: #8a5d2c;
    font-weight: 700;
}

.nbe-toolgroup button[data-template]:hover {
    border-color: #c09f6b;
    background: #fbf7f1;
    color: #6f461f;
}

/* 파란 포커스 라인 제거 보강 */
body.nbe-editor-fullscreen .tox,
body.nbe-editor-fullscreen .tox *,
body.nbe-editor-fullscreen iframe {
    outline: none !important;
}

body.nbe-editor-fullscreen .tox.tox-tinymce,
body.nbe-editor-fullscreen .tox.tox-tinymce:focus,
body.nbe-editor-fullscreen .tox.tox-tinymce:focus-within {
    border-color: transparent !important;
    box-shadow: none !important;
}


/* =========================================================
   v8 대표이미지/이미지 콜라주 편집 보강
   ========================================================= */

.nbe-toolgroup button[data-action] {
    border-color: #d6e7ff;
    background: #f4f9ff;
    color: #1769c2;
    font-weight: 700;
}

.nbe-toolgroup button[data-action]:hover {
    border-color: #6aa7ee;
    background: #eaf4ff;
    color: #064f9d;
}

.nbe-rep-current {
    margin-top: 10px;
    padding: 9px 10px;
    border-radius: 8px;
    background: #f6faf8;
    color: #1f6b43;
    font-size: 12px;
    line-height: 1.45;
    word-break: break-all;
}

.nbe-rep-current.is-empty {
    color: #888;
    background: #f7f8fa;
}

body.nbe-editor-fullscreen .tox .tox-edit-area__iframe,
body.nbe-editor-fullscreen .tox iframe {
    outline: none !important;
}


/* v9 미리보기 모달 헤더 잘림 방지 */
.nbe-preview-box-view .nbe-preview-head {
    min-height: 58px !important;
    box-sizing: border-box !important;
}
.nbe-preview-box-view .nbe-preview-head h2 {
    display: block !important;
    overflow: visible !important;
    white-space: nowrap !important;
    line-height: 1.3 !important;
}


/* =========================================================
   v10 발행 설정 모달 / 중앙 글쓰기 화면 / 왼쪽 첨부 섹션 제거
   ========================================================= */

.nbe-editor-centered {
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}

.nbe-editor-centered .nbe-paper {
    width: 100% !important;
}

.nbe-editor-centered .nbe-paper-inner {
    width: min(100%, 820px) !important;
    margin: 0 auto !important;
}

.nbe-side-panel,
#nbe-file-panel {
    display: none !important;
}

.nbe-hidden-file-inputs {
    position: fixed !important;
    left: -99999px !important;
    top: -99999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.nbe-publish-modal {
    position: fixed;
    inset: 0;
    z-index: 2147483400;
    display: none;
}

.nbe-publish-modal.is-open {
    display: block;
}

.nbe-publish-dim {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.18);
}

.nbe-publish-panel {
    position: absolute;
    right: 34px;
    top: 82px;
    width: min(520px, calc(100vw - 40px));
    max-height: calc(100vh - 112px);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #dfe3e8;
    box-shadow: 0 18px 60px rgba(0,0,0,.18);
    font-family: Pretendard, "Noto Sans KR", "Malgun Gothic", sans-serif;
}

.nbe-publish-head {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 58px;
    padding: 0 22px;
    border-bottom: 1px solid #eef0f2;
}

.nbe-publish-head h3 {
    margin: 0;
    color: #111;
    font-size: 18px;
    font-weight: 850;
    letter-spacing: -.03em;
}

.nbe-publish-close {
    width: 34px;
    height: 34px;
    border: 0;
    background: transparent;
    color: #444;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.nbe-publish-body {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 22px 26px 6px;
}

.nbe-publish-row {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 14px 0;
    border-bottom: 1px solid #f0f1f3;
}

.nbe-publish-label {
    display: block;
    padding-top: 11px;
    color: #111;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
}

.nbe-publish-row .nbe-input {
    height: 42px;
    border-radius: 0;
}

.nbe-radio-group {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px;
    min-height: 42px;
}

.nbe-radio-group label,
.nbe-publish-checks label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #333;
    font-size: 14px;
    line-height: 1.4;
}

.nbe-radio-group input,
.nbe-publish-checks input {
    width: 17px;
    height: 17px;
    accent-color: var(--nbe-primary);
}

.nbe-reserve-input {
    grid-column: 2 / 3;
    margin-top: 8px;
}

.nbe-publish-row .nbe-help {
    grid-column: 2 / 3;
    margin: 7px 0 0;
}

.nbe-publish-checks {
    display: flex;
    flex-direction: column;
    gap: 11px;
    padding-left: 96px;
}

.nbe-publish-foot {
    flex: 0 0 auto;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 18px 26px 24px;
    border-top: 1px solid #eef0f2;
    background: #fff;
}

.nbe-publish-submit {
    min-width: 112px;
}

.nbe-publish-modal .nbe-rep-current {
    grid-column: 2 / 3;
    margin-top: 8px;
}

@media (max-width: 1180px) {
    .nbe-editor-centered {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
}

@media (max-width: 768px) {
    .nbe-publish-panel {
        right: 10px;
        left: 10px;
        top: 72px;
        width: auto;
        max-height: calc(100vh - 92px);
    }

    .nbe-publish-row {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .nbe-publish-label {
        padding-top: 0;
    }

    .nbe-reserve-input,
    .nbe-publish-row .nbe-help,
    .nbe-publish-modal .nbe-rep-current {
        grid-column: 1 / 2;
    }

    .nbe-publish-checks {
        padding-left: 0;
    }
}


/* =========================================================
   v11 정리: 하단 버튼 제거 / 발행창 간소화 / 에디터 요소 보강
   ========================================================= */

.nbe-bottom-actions {
    display: none !important;
}

.nbe-publish-modal #nbeRepCurrent[style*="display:none"] {
    display: none !important;
}

body.nbe-editor-fullscreen .tox .eg-editor-faq-add {
    cursor: pointer !important;
}

/* TinyMCE iframe 내부 스타일 누락 대비: 외부에서도 보강 */
.eg-editor-faq-add {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    margin: 10px 0 20px;
    padding: 0 14px;
    border: 1px solid #d8c7ad;
    border-radius: 999px;
    background: #fffaf3;
    color: #8a5d2c;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}


/* v13: 자동 링크카드 안정화 버전 */
.nbe-toolgroup button[data-template="link"],
.nbe-toolgroup button[data-template="youtube"] {
    font-weight: 800;
}


/* v14: 글쓰기 화면 로딩 멈춤 긴급 수정 */
.nbe-loading-fix-v14 {
    display: block;
}


/* v15: 자동 링크카드 재활성화 - 무한로딩 방지 버전 */
.nbe-toolgroup button[data-template="link"],
.nbe-toolgroup button[data-template="youtube"] {
    font-weight: 800;
}


/* v16 세부 스타일 보정 */
.nbe-detail-style-v16 {
    display: block;
}


/* v17 강조박스 TIP 문구 제거 및 중앙 정렬 */
.nbe-tip-fix-v17 {
    display: block;
}


/* v18 강조박스 TIP 라벨 다시 표시 */
.nbe-tip-label-restore-v18 {
    display: block;
}


/* =========================================================
   v19 상단 툴바 정리 / 글자 크기 / 정렬 드롭박스
   ========================================================= */

.nbe-align-select {
    width: 74px;
    min-width: 74px;
    text-align: center;
    font-size: 16px !important;
    font-weight: 700;
}

.nbe-subtool select#nbeFontSize {
    min-width: 96px;
}

.nbe-subtool select#nbeTextAlign {
    padding-left: 10px;
    padding-right: 24px;
}


/* =========================================================
   v20 정렬 아이콘 드롭다운 / 툴바 조작 시 스크롤 보존 보강
   ========================================================= */

.nbe-align-dropdown {
    position: relative;
    display: inline-flex;
    align-items: center;
    height: 34px;
    vertical-align: middle;
}

.nbe-align-current {
    width: 38px !important;
    min-width: 38px !important;
    height: 34px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.nbe-align-menu {
    display: none;
    position: absolute;
    left: 0;
    top: calc(100% + 4px);
    z-index: 2147483200;
    width: 44px;
    padding: 4px 0;
    border: 1px solid #d7dbe0;
    background: #fff;
    box-shadow: 0 8px 22px rgba(0,0,0,.12);
}

.nbe-align-dropdown.is-open .nbe-align-menu {
    display: block;
}

.nbe-align-menu button {
    width: 100% !important;
    min-width: 0 !important;
    height: 34px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff !important;
}

.nbe-align-menu button:hover {
    background: #f5f7f9 !important;
}

.nbe-align-icon {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    width: 16px;
    height: 16px;
}

.nbe-align-icon i {
    display: block;
    height: 1px;
    background: #333;
}

.nbe-align-left i:nth-child(1) { width: 16px; }
.nbe-align-left i:nth-child(2) { width: 11px; }
.nbe-align-left i:nth-child(3) { width: 16px; }
.nbe-align-left i:nth-child(4) { width: 9px; }

.nbe-align-center {
    align-items: center;
}
.nbe-align-center i:nth-child(1) { width: 16px; }
.nbe-align-center i:nth-child(2) { width: 10px; }
.nbe-align-center i:nth-child(3) { width: 16px; }
.nbe-align-center i:nth-child(4) { width: 10px; }

.nbe-align-right {
    align-items: flex-end;
}
.nbe-align-right i:nth-child(1) { width: 16px; }
.nbe-align-right i:nth-child(2) { width: 11px; }
.nbe-align-right i:nth-child(3) { width: 16px; }
.nbe-align-right i:nth-child(4) { width: 9px; }

.nbe-subtool select#nbeTextAlign {
    display: none !important;
}


/* v21 정렬을 전체 글이 아닌 현재 문장/문단 단위로 적용 */
.nbe-align-sentence-fix-v21 {
    display: block;
}


/* v22 현재 줄 정렬 보정: br 줄바꿈 문단을 현재 줄 기준으로 분리 후 정렬 */
.nbe-align-current-line-fix-v22 {
    display: block;
}


/* =========================================================
   v23 글자 컬러 / 글자 배경 컬러 툴바 추가
   ========================================================= */

.nbe-color-control {
    position: relative;
    width: 36px;
    min-width: 36px;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e5e8eb;
    border-radius: 6px;
    background: #fff;
    cursor: pointer;
    box-sizing: border-box;
    vertical-align: middle;
}

.nbe-color-control:hover {
    border-color: #cfd6de;
    background: #f8fafc;
}

.nbe-color-icon {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    color: #222;
    font-size: 15px;
    font-weight: 850;
    line-height: 1;
    pointer-events: none;
}

.nbe-color-icon-text:after {
    content: "";
    position: absolute;
    left: 3px;
    right: 3px;
    bottom: 1px;
    height: 3px;
    border-radius: 999px;
    background: #222;
}

.nbe-color-icon-bg {
    background: #fff2a8;
    border-radius: 3px;
}

.nbe-color-control input[type="color"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    opacity: 0;
    cursor: pointer;
}


/* =========================================================
   v24 컬러 선택 UI를 팔레트 드롭다운 형태로 변경
   ========================================================= */

.nbe-color-dropdown {
    position: relative;
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    --nbe-current-color: #222222;
}

.nbe-color-current {
    width: 36px;
    min-width: 36px;
    height: 34px;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid #e5e8eb !important;
    border-radius: 6px !important;
    background: #fff !important;
}

.nbe-color-current:hover {
    border-color: #cfd6de !important;
    background: #f8fafc !important;
}

.nbe-color-dropdown .nbe-color-icon-text:after {
    background: var(--nbe-current-color, #222222) !important;
}

.nbe-color-dropdown .nbe-color-icon-bg {
    background: var(--nbe-current-color, #fff2a8) !important;
}

.nbe-color-menu {
    display: none;
    position: absolute;
    left: 0;
    top: calc(100% + 6px);
    z-index: 2147483200;
    width: 166px;
    padding: 6px 6px 0;
    border: 1px solid #d6dae0;
    background: #f5f5f5;
    box-shadow: 0 8px 22px rgba(0,0,0,.12);
}

.nbe-color-dropdown.is-open .nbe-color-menu {
    display: block;
}

.nbe-color-grid {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 2px;
    padding: 0 0 6px;
    background: #f5f5f5;
}

.nbe-color-row {
    display: contents;
}

.nbe-color-swatch {
    width: 18px;
    height: 18px;
    min-width: 18px;
    padding: 0;
    border: 1px solid #d9d9d9;
    border-radius: 0;
    background: var(--swatch);
    cursor: pointer;
    box-sizing: border-box;
    position: relative;
}

.nbe-color-swatch.is-light {
    border-color: #b9b9b9;
}

.nbe-color-swatch:hover,
.nbe-color-swatch.is-active {
    outline: 1px solid #111;
    outline-offset: -1px;
}

.nbe-color-more {
    width: calc(100% + 12px);
    margin: 0 -6px;
    height: 30px;
    border: 0;
    border-top: 1px solid #d8d8d8;
    background: #efefef;
    color: #666;
    font-size: 12px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.nbe-color-more:hover {
    background: #e7e7e7;
}

.nbe-color-more-caret {
    width: 6px;
    height: 6px;
    border-left: 1px solid #777;
    border-bottom: 1px solid #777;
    transform: rotate(-45deg) translateY(-1px);
    display: inline-block;
}

.nbe-color-native {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}


/* =========================================================
   v25 컬러 팔레트 색상 미노출 수정
   - 기존 툴바 button background:#fff !important 규칙에 swatch 배경색이 덮이는 문제 보정
   ========================================================= */

.nbe-color-menu .nbe-color-grid .nbe-color-swatch,
.nbe-subtool .nbe-color-menu .nbe-color-grid button.nbe-color-swatch,
.nbe-toolbar .nbe-color-menu .nbe-color-grid button.nbe-color-swatch,
button.nbe-color-swatch {
    background: var(--swatch) !important;
    background-color: var(--swatch) !important;
    border: 1px solid rgba(0,0,0,.08) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.2) !important;
}

.nbe-color-menu .nbe-color-grid .nbe-color-swatch.is-light,
.nbe-subtool .nbe-color-menu .nbe-color-grid button.nbe-color-swatch.is-light,
button.nbe-color-swatch.is-light {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border-color: #999 !important;
}

.nbe-color-menu .nbe-color-grid .nbe-color-swatch:hover,
.nbe-color-menu .nbe-color-grid .nbe-color-swatch.is-active,
.nbe-subtool .nbe-color-menu .nbe-color-grid button.nbe-color-swatch:hover,
.nbe-subtool .nbe-color-menu .nbe-color-grid button.nbe-color-swatch.is-active {
    outline: 2px solid #111 !important;
    outline-offset: -2px !important;
    border-color: #111 !important;
}

/* 색상 버튼 자체는 흰 배경 유지 */
.nbe-color-current {
    background: #fff !important;
    background-color: #fff !important;
}


/* =========================================================
   v26 컬러 팔레트 UI 정리
   - 첨부 이미지처럼 더 깔끔한 팔레트 형태
   ========================================================= */

.nbe-color-menu {
    width: 180px !important;
    padding: 8px 8px 0 !important;
    border: 1px solid #d8d8d8 !important;
    background: #f3f3f3 !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.08) !important;
    border-radius: 0 !important;
}

.nbe-color-grid {
    grid-template-columns: repeat(8, 1fr) !important;
    gap: 3px !important;
    padding: 0 0 8px !important;
    background: transparent !important;
}

.nbe-color-swatch,
.nbe-color-menu .nbe-color-grid .nbe-color-swatch,
.nbe-subtool .nbe-color-menu .nbe-color-grid button.nbe-color-swatch,
.nbe-toolbar .nbe-color-menu .nbe-color-grid button.nbe-color-swatch {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    border: 1px solid #e3e3e3 !important;
    border-radius: 2px !important;
    box-shadow: none !important;
    outline: 0 !important;
}

.nbe-color-swatch:hover,
.nbe-color-swatch.is-active,
.nbe-color-menu .nbe-color-grid .nbe-color-swatch:hover,
.nbe-color-menu .nbe-color-grid .nbe-color-swatch.is-active {
    border-color: #222 !important;
    box-shadow: inset 0 0 0 1px #222 !important;
}

.nbe-color-clear {
    position: relative;
    background: #fff !important;
    background-color: #fff !important;
    border-color: #9a9a9a !important;
}

.nbe-color-clear span {
    position: absolute;
    inset: 0;
    display: block;
}

.nbe-color-clear span:before {
    content: "";
    position: absolute;
    left: 2px;
    top: 2px;
    right: 2px;
    bottom: 2px;
    background:
      linear-gradient(135deg,
        transparent 0,
        transparent calc(50% - .8px),
        #d93939 calc(50% - .8px),
        #d93939 calc(50% + .8px),
        transparent calc(50% + .8px),
        transparent 100%);
}

.nbe-color-more {
    width: calc(100% + 16px) !important;
    margin: 0 -8px !important;
    height: 30px !important;
    border-top: 1px solid #d8d8d8 !important;
    background: #efefef !important;
    color: #666 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.nbe-color-more:hover {
    background: #e8e8e8 !important;
}

.nbe-color-more-caret {
    width: 7px !important;
    height: 7px !important;
    border-left: 1px solid #777 !important;
    border-bottom: 1px solid #777 !important;
    transform: rotate(-45deg) translateY(-1px) !important;
}

.nbe-color-current {
    border-radius: 6px !important;
}


/* =========================================================
   v27 컬러 팔레트 박스 넘침 수정
   - 스와치 크기/간격을 박스 내부 폭에 맞게 재조정
   ========================================================= */

.nbe-color-menu {
    width: 176px !important;
    min-width: 176px !important;
    max-width: 176px !important;
    padding: 8px 8px 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.nbe-color-grid {
    width: 158px !important;
    max-width: 158px !important;
    display: grid !important;
    grid-template-columns: repeat(8, 18px) !important;
    grid-auto-rows: 18px !important;
    gap: 2px !important;
    padding: 0 0 8px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.nbe-color-row {
    display: contents !important;
}

.nbe-color-swatch,
.nbe-color-menu .nbe-color-grid .nbe-color-swatch,
.nbe-subtool .nbe-color-menu .nbe-color-grid button.nbe-color-swatch,
.nbe-toolbar .nbe-color-menu .nbe-color-grid button.nbe-color-swatch {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    flex: 0 0 18px !important;
    border-radius: 1px !important;
}

.nbe-color-more {
    width: 176px !important;
    margin: 0 -8px !important;
    box-sizing: border-box !important;
}


/* =========================================================
   v29 네이버 색상 리스트 순서 그대로 적용
   - 첨부 HTML의 data-color 순서를 그대로 사용
   - 12열 팔레트로 정렬
   ========================================================= */

.nbe-color-menu {
    width: 206px !important;
    min-width: 206px !important;
    max-width: 206px !important;
    padding: 8px 8px 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border: 1px solid #d8d8d8 !important;
    background: #f3f3f3 !important;
    box-shadow: 0 8px 18px rgba(0,0,0,.08) !important;
    border-radius: 0 !important;
}

.nbe-color-grid {
    display: grid !important;
    width: 190px !important;
    max-width: 190px !important;
    grid-template-columns: repeat(12, 14px) !important;
    grid-auto-rows: 14px !important;
    grid-auto-flow: row !important;
    gap: 2px !important;
    padding: 0 0 8px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    background: transparent !important;
}

.nbe-color-row {
    display: contents !important;
}

.nbe-color-swatch,
.nbe-color-menu .nbe-color-grid .nbe-color-swatch,
.nbe-subtool .nbe-color-menu .nbe-color-grid button.nbe-color-swatch,
.nbe-toolbar .nbe-color-menu .nbe-color-grid button.nbe-color-swatch,
button.nbe-color-swatch {
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    max-width: 14px !important;
    min-height: 14px !important;
    max-height: 14px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    flex: 0 0 14px !important;
    border-radius: 0 !important;
    background: var(--swatch) !important;
    background-color: var(--swatch) !important;
    border: 1px solid rgba(0,0,0,.06) !important;
    box-shadow: none !important;
    outline: 0 !important;
}

.nbe-color-swatch.is-light,
.nbe-color-menu .nbe-color-grid .nbe-color-swatch.is-light {
    border-color: rgba(0,0,0,.12) !important;
}

.nbe-color-swatch:hover,
.nbe-color-swatch.is-active,
.nbe-color-menu .nbe-color-grid .nbe-color-swatch:hover,
.nbe-color-menu .nbe-color-grid .nbe-color-swatch.is-active {
    border-color: #111 !important;
    box-shadow: inset 0 0 0 1px #111 !important;
    outline: 0 !important;
}

.nbe-color-clear {
    position: relative !important;
    background: #fff !important;
    background-color: #fff !important;
    border: 1px solid #555 !important;
}

.nbe-color-clear span {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
}

.nbe-color-clear span:before {
    content: "" !important;
    position: absolute !important;
    left: 1px !important;
    top: 1px !important;
    right: 1px !important;
    bottom: 1px !important;
    background:
      linear-gradient(135deg,
        transparent 0,
        transparent calc(50% - .7px),
        #d93939 calc(50% - .7px),
        #d93939 calc(50% + .7px),
        transparent calc(50% + .7px),
        transparent 100%) !important;
}

.nbe-color-more {
    width: 206px !important;
    margin: 0 -8px !important;
    height: 30px !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-top: 1px solid #d8d8d8 !important;
    background: #efefef !important;
    color: #666 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.nbe-color-current {
    background: #fff !important;
    background-color: #fff !important;
}


/* =========================================================
   v30 밝은 색상 팔레트가 흰색으로 보이는 문제 수정
   - 이전 버전의 .is-light background:#fff !important 규칙을 다시 덮어씀
   ========================================================= */

.nbe-color-menu .nbe-color-grid .nbe-color-swatch.is-light,
.nbe-subtool .nbe-color-menu .nbe-color-grid button.nbe-color-swatch.is-light,
.nbe-toolbar .nbe-color-menu .nbe-color-grid button.nbe-color-swatch.is-light,
button.nbe-color-swatch.is-light {
    background: var(--swatch) !important;
    background-color: var(--swatch) !important;
    border-color: rgba(0,0,0,.18) !important;
}

/* 완전 흰색 계열은 배경색은 유지하되 경계가 보이도록 처리 */
.nbe-color-menu .nbe-color-grid .nbe-color-swatch[data-color-value="#ffffff"],
.nbe-subtool .nbe-color-menu .nbe-color-grid button.nbe-color-swatch[data-color-value="#ffffff"] {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border-color: #9f9f9f !important;
}

/* 밝은 색 칸이 더 잘 보이도록 내부 테두리만 살짝 표시 */
.nbe-color-menu .nbe-color-grid .nbe-color-swatch.is-light {
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.04) !important;
}

.nbe-color-menu .nbe-color-grid .nbe-color-swatch.is-light:hover,
.nbe-color-menu .nbe-color-grid .nbe-color-swatch.is-light.is-active {
    border-color: #111 !important;
    box-shadow: inset 0 0 0 1px #111 !important;
}


/* =========================================================
   v31 더보기 클릭 시 고급 컬러 피커 표시
   ========================================================= */

.nbe-color-dropdown.is-advanced .nbe-color-menu {
    width: 286px !important;
    min-width: 286px !important;
    max-width: 286px !important;
}

.nbe-color-advanced[hidden] {
    display: none !important;
}

.nbe-color-advanced {
    margin: 8px -8px 0 !important;
    padding: 10px 10px 0 !important;
    border-top: 1px solid #d8d8d8 !important;
    background: #efefef !important;
}

.nbe-color-advanced-inner {
    display: flex !important;
    align-items: stretch !important;
    gap: 10px !important;
}

.nbe-color-sv-wrap {
    flex: 0 0 214px !important;
}

.nbe-color-sv {
    position: relative !important;
    width: 214px !important;
    height: 122px !important;
    cursor: crosshair !important;
    overflow: hidden !important;
    border: 1px solid #a7a7a7 !important;
    background: red !important;
}

.nbe-color-sv-white,
.nbe-color-sv-black {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    pointer-events: none !important;
}

.nbe-color-sv-white {
    background: linear-gradient(to right, #fff 0%, rgba(255,255,255,0) 100%) !important;
}

.nbe-color-sv-black {
    background: linear-gradient(to top, #000 0%, rgba(0,0,0,0) 100%) !important;
}

.nbe-color-sv-cursor {
    position: absolute !important;
    width: 10px !important;
    height: 10px !important;
    border: 1px solid #000 !important;
    background: transparent !important;
    box-shadow: inset 0 0 0 1px #fff !important;
    border-radius: 2px !important;
    transform: translate(-50%, -50%) !important;
    pointer-events: none !important;
}

.nbe-color-hue-wrap {
    flex: 0 0 18px !important;
}

.nbe-color-hue {
    position: relative !important;
    width: 18px !important;
    height: 122px !important;
    border: 1px solid #a7a7a7 !important;
    cursor: ns-resize !important;
    background: linear-gradient(
        to bottom,
        #ff0000 0%,
        #ffff00 17%,
        #00ff00 33%,
        #00ffff 50%,
        #0000ff 67%,
        #ff00ff 83%,
        #ff0000 100%
    ) !important;
}

.nbe-color-hue-cursor {
    position: absolute !important;
    left: -2px !important;
    right: -2px !important;
    height: 6px !important;
    border: 1px solid #666 !important;
    background: rgba(255,255,255,.7) !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
    box-sizing: border-box !important;
}

.nbe-color-advanced-controls {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 10px 0 8px !important;
}

.nbe-color-preview-box {
    width: 42px !important;
    height: 22px !important;
    border: 1px solid #000 !important;
    background: #fff !important;
    box-sizing: border-box !important;
}

.nbe-color-preview {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    background: #000 !important;
}

.nbe-color-hex {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 24px !important;
    padding: 0 8px !important;
    border: 1px solid #bfbfbf !important;
    border-radius: 0 !important;
    background: #fff !important;
    font-size: 13px !important;
    line-height: 24px !important;
    color: #111 !important;
    box-sizing: border-box !important;
}

.nbe-color-apply {
    flex: 0 0 auto !important;
    min-width: 46px !important;
    height: 24px !important;
    padding: 0 10px !important;
    border: 1px solid #bfbfbf !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #111 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.nbe-color-collapse {
    width: calc(100% + 20px) !important;
    margin: 0 -10px !important;
    height: 28px !important;
    border: 0 !important;
    border-top: 1px solid #d8d8d8 !important;
    background: #efefef !important;
    color: #666 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.nbe-color-collapse:hover,
.nbe-color-apply:hover {
    background: #f8f8f8 !important;
}


/* =========================================================
   v32 write/view 싱크 및 팔레트/태그 UI 유지 보정
   ========================================================= */
.nbe-sync-v32 { display:block; }


/* =========================================================
   v33 Q&A/TIP 편집 버튼 및 링크박스 이미지 보정
   ========================================================= */

.eg-editor-faq-actions,
.eg-editor-tip-actions {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 14px 0 20px !important;
    min-height: 34px !important;
}

.eg-editor-faq-add,
.eg-editor-faq-remove,
.eg-editor-tip-add,
.eg-editor-tip-remove {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #d8c7ad !important;
    border-radius: 50% !important;
    background: #fffaf3 !important;
    color: #8a5d2c !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.eg-editor-inline-card {
    display: block !important;
    overflow: hidden !important;
}

.eg-editor-card-thumb {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    aspect-ratio: 5/3 !important;
    overflow: hidden !important;
    line-height: 0 !important;
}

.eg-editor-card-thumb img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* v34 우측 사이드 목차 복구 */
.nbe-right-toc-restore-v34 {
    display: block;
}


/* v35 소제목 기준 목차 생성 */
.nbe-section-title-toc-v35 {
    display: block;
}


/* v36 우측 목차 표시 강제 복구 */
.nbe-right-toc-display-fix-v36 {
    display: block;
}


/* v37 우측 목차 글씨 여백 보정 */
.nbe-toc-spacing-fix-v37 {
    display: block;
}


/* =========================================================
   v38 TIP 상자 레이아웃 보정
   ========================================================= */
.eg-editor-tip-title {
    box-sizing: border-box !important;
    width: 100% !important;
    margin-right: 0 !important;
}

.eg-editor-tip-box {
    box-sizing: border-box !important;
    width: 100% !important;
    padding-top: 12px !important;
}

.eg-editor-tip-box > .eg-editor-tip-item-title:first-child,
.eg-editor-tip-box > .eg-editor-tip-item-title:first-of-type {
    margin-top: 0 !important;
}


/* =========================================================
   v39 링크박스 이미지 상하 틈 보정
   ========================================================= */
.eg-editor-card-thumb {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    aspect-ratio: 5/3 !important;
    overflow: hidden !important;
    line-height: 0 !important;
    font-size: 0 !important;
    background: #eef3f8 !important;
}

.eg-editor-card-thumb img {
    position: absolute !important;
    inset: -1px !important;
    width: calc(100% + 2px) !important;
    height: calc(100% + 2px) !important;
    min-width: calc(100% + 2px) !important;
    min-height: calc(100% + 2px) !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 !important;
    padding: 0 !important;
    vertical-align: top !important;
}


/* =========================================================
   v40 링크박스 썸네일 full-bleed 보정
   ========================================================= */
.eg-editor-inline-card,
.eg-nv-inline-card {
    box-sizing: border-box !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 14px !important;
}

.eg-editor-card-thumb,
.eg-nv-card-thumb {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    aspect-ratio: 5/3 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    line-height: 0 !important;
    font-size: 0 !important;
}

.eg-editor-card-thumb img,
.eg-nv-card-thumb img {
    position: absolute !important;
    inset: -2px !important;
    width: calc(100% + 4px) !important;
    height: calc(100% + 4px) !important;
    min-width: calc(100% + 4px) !important;
    min-height: calc(100% + 4px) !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.nbe-link-card-fullbleed-v40 {
    display: block;
}


/* =========================================================
   v41 링크박스 사진 border-radius / margin 최종 반영
   ========================================================= */
.eg-editor-card-thumb,
.eg-nv-card-thumb {
    border-radius: 0px !important;
    margin: 0px auto 10px !important;
}

.eg-editor-card-thumb img,
.eg-nv-card-thumb img {
    border-radius: 0px !important;
    margin: 0 !important;
}


/* =========================================================
   v42 TIP padding / 본문 이미지 스타일 수정
   ========================================================= */
.eg-editor-tip-box,
.eg-nv-tip-box {
    padding: 22px 22px 22px !important;
}

.eg-editor-tip-title,
.eg-nv-tip-title {
    padding: 16px 16px !important;
}

#bo_v_con.eg-nv-content img {
    border-radius: 0px !important;
}


/* v43 링크박스 span margin-top 제거 */
#bo_v.eg-nv-view .eg-nv-inline-card span:not(.eg-nv-card-thumb):not(.eg-nv-no-thumb) {
    margin-top: 0 !important;
}


/* v44 view 하단 원장 정보 박스 */
.eg-nv-doctor-footer {
    display: block;
}


/* v45 원장 정보 박스 디자인 변경 */
.eg-nv-doctor-footer-v45 {
    display: block;
}


/* v46 원장 정보 박스 수정 */
.eg-nv-doctor-footer-v45 .eg-nv-doctor-head {
    display: none !important;
}
.eg-nv-doctor-footer-v45 .eg-nv-doctor-photo,
.eg-nv-doctor-footer-v45 .eg-nv-doctor-photo img {
    border-radius: 50% !important;
}


/* v47 하단 중복 CTA 삭제 */
.eg-nv-bottom-cta {
    display: none !important;
}


/* =========================================================
   v48 write 페이지 스크롤/제목/콜라주 보정
   ========================================================= */

/* 제목이 길어도 가로 스크롤 없이 2줄까지 표시 */
textarea.nbe-title-input,
.nbe-title-input {
    display: block !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
    resize: none !important;
    min-height: 96px !important;
    line-height: 1.28 !important;
    word-break: keep-all !important;
    overflow-wrap: break-word !important;
}

/* write/view 공통 콜라주: 폭 기준이 아니라 높이 기준으로 맞춤 */
.eg-editor-collage,
.eg-nv-collage {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    overflow: hidden !important;
}

.eg-editor-collage figure,
.eg-nv-collage figure {
    position: relative !important;
    flex: 1 1 0 !important;
    min-width: 0 !important;
    height: clamp(220px, 32vw, 360px) !important;
    margin: 0 !important;
    overflow: hidden !important;
    aspect-ratio: auto !important;
}

.eg-editor-collage[data-eg-collage-count="3"] figure,
.eg-nv-collage[data-eg-collage-count="3"] figure {
    height: clamp(200px, 26vw, 300px) !important;
}

.eg-editor-collage img,
.eg-nv-collage img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    margin: 0 !important;
}

@media (max-width: 640px) {
    textarea.nbe-title-input,
    .nbe-title-input {
        min-height: 82px !important;
        font-size: 28px !important;
        line-height: 1.3 !important;
    }

    .eg-editor-collage figure,
    .eg-nv-collage figure {
        height: clamp(150px, 44vw, 230px) !important;
    }

    .eg-editor-collage[data-eg-collage-count="3"] figure,
    .eg-nv-collage[data-eg-collage-count="3"] figure {
        height: clamp(130px, 34vw, 190px) !important;
    }
}


/* =========================================================
   v49 콜라주 사진 잘림 방지 / 이미지 비율 기반 배치
   - 사진은 object-fit:contain으로 전체가 보이도록 처리
   - 각 칸은 이미지 가로세로 비율에 따라 유동적으로 배분
   ========================================================= */

.eg-editor-collage,
.eg-nv-collage {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 16px 0 18px !important;
    padding: 0 !important;
    overflow: hidden !important;
}

.eg-editor-collage figure,
.eg-nv-collage figure {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: var(--eg-collage-ratio, 1) 1 0 !important;
    min-width: 0 !important;
    height: clamp(220px, 32vw, 360px) !important;
    margin: 0 !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    background: #f6f6f6 !important;
    aspect-ratio: auto !important;
}

.eg-editor-collage[data-eg-collage-count="3"] figure,
.eg-nv-collage[data-eg-collage-count="3"] figure {
    height: clamp(200px, 26vw, 300px) !important;
}

.eg-editor-collage img,
.eg-nv-collage img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 !important;
    padding: 0 !important;
}

@media (max-width: 640px) {
    .eg-editor-collage,
    .eg-nv-collage {
        gap: 6px !important;
    }

    .eg-editor-collage figure,
    .eg-nv-collage figure {
        height: clamp(150px, 44vw, 230px) !important;
    }

    .eg-editor-collage[data-eg-collage-count="3"] figure,
    .eg-nv-collage[data-eg-collage-count="3"] figure {
        height: clamp(130px, 34vw, 190px) !important;
    }
}


/* =========================================================
   v50 콜라주 사진 진짜 잘림 방지
   - 고정 높이/overflow hidden 제거
   - 이미지는 width:100%, height:auto로 원본 비율 유지
   - 좌우 칸은 이미지 비율에 따라 유동 배분
   ========================================================= */

.eg-editor-collage,
.eg-nv-collage {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 16px 0 18px !important;
    padding: 0 !important;
    overflow: visible !important;
}

.eg-editor-collage figure,
.eg-nv-collage figure {
    position: relative !important;
    display: block !important;
    flex: var(--eg-collage-ratio, 1) 1 0 !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border-radius: 0 !important;
    background: transparent !important;
    aspect-ratio: auto !important;
}

.eg-editor-collage img,
.eg-nv-collage img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
}

@media (max-width: 640px) {
    .eg-editor-collage,
    .eg-nv-collage {
        gap: 6px !important;
    }
}


/* =========================================================
   v51 콜라주 비율 계산 레이아웃 / 잘림 방지
   ========================================================= */

.eg-editor-collage,
.eg-nv-collage {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: var(--eg-collage-gap, 8px) !important;
    width: 100% !important;
    margin: 16px 0 18px !important;
    padding: 0 !important;
    overflow: visible !important;
}

.eg-editor-collage figure,
.eg-nv-collage figure {
    position: relative !important;
    display: block !important;
    flex: 0 1 var(--eg-collage-item-width, auto) !important;
    width: var(--eg-collage-item-width, auto) !important;
    height: var(--eg-collage-height, auto) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border-radius: 0 !important;
    background: transparent !important;
    aspect-ratio: var(--eg-collage-ratio, auto) !important;
}

.eg-editor-collage img,
.eg-nv-collage img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
}


/* =========================================================
   v52 클래스 없는 인라인 이미지 콜라주 자동 보정
   ========================================================= */

.eg-auto-collage {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: var(--eg-collage-gap, 8px) !important;
    width: 100% !important;
    margin: 16px 0 18px !important;
    padding: 0 !important;
    overflow: visible !important;
}

.eg-auto-collage figure {
    position: relative !important;
    display: block !important;
    flex: 0 1 var(--eg-collage-item-width, auto) !important;
    width: var(--eg-collage-item-width, auto) !important;
    height: var(--eg-collage-height, auto) !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border-radius: 0 !important;
    background: transparent !important;
    aspect-ratio: var(--eg-collage-ratio, auto) !important;
}

.eg-auto-collage img {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
}
/* v53 콜라주 사진 잘림 최종 방어 - 공통 스타일 */
#bo_v_con.eg-nv-content { overflow: visible !important; }
#bo_v_con.eg-nv-content .eg-editor-collage,
#bo_v_con.eg-nv-content .eg-nv-collage,
#bo_v_con.eg-nv-content .eg-auto-collage,
#bo_v_con.eg-nv-content .eg-v53-collage,
.eg-editor-collage,
.eg-nv-collage,
.eg-auto-collage,
.eg-v53-collage {
  display:flex!important;
  grid-template-columns:none!important;
  align-items:flex-start!important;
  justify-content:center!important;
  flex-wrap:nowrap!important;
  gap:var(--eg-collage-gap,8px)!important;
  width:100%!important;
  max-width:100%!important;
  margin:16px 0 18px!important;
  padding:0!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
#bo_v_con.eg-nv-content .eg-editor-collage figure,
#bo_v_con.eg-nv-content .eg-nv-collage figure,
#bo_v_con.eg-nv-content .eg-auto-collage figure,
#bo_v_con.eg-nv-content .eg-v53-collage figure,
.eg-editor-collage figure,
.eg-nv-collage figure,
.eg-auto-collage figure,
.eg-v53-collage figure {
  position:relative!important;
  display:block!important;
  flex:0 1 var(--eg-collage-item-width,auto)!important;
  width:var(--eg-collage-item-width,auto)!important;
  height:var(--eg-collage-height,auto)!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  border-radius:0!important;
  background:transparent!important;
  aspect-ratio:var(--eg-collage-ratio,auto)!important;
  box-sizing:border-box!important;
}
#bo_v_con.eg-nv-content .eg-editor-collage img,
#bo_v_con.eg-nv-content .eg-nv-collage img,
#bo_v_con.eg-nv-content .eg-auto-collage img,
#bo_v_con.eg-nv-content .eg-v53-collage img,
.eg-editor-collage img,
.eg-nv-collage img,
.eg-auto-collage img,
.eg-v53-collage img {
  position:static!important;
  inset:auto!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  box-sizing:border-box!important;
  vertical-align:top!important;
}


/* =========================================================
   v54 상단 요약 박스 - 네이버 인플루언서형 소개 박스
   사용 예: <p class="InfluencerTopic__introduce___j3Sbt">요약 내용을 여기에 넣으세요.</p>
   ========================================================= */
#bo_v.eg-nv-view #bo_v_con.eg-nv-content .InfluencerTopic__introduce___j3Sbt,
#bo_v_con.eg-nv-content .InfluencerTopic__introduce___j3Sbt,
.InfluencerTopic__introduce___j3Sbt {
  display: block !important;
  word-wrap: break-word !important;
  background: #f7f7f7 !important;
  border: 1px solid rgba(0, 0, 0, .03) !important;
  border-radius: 8px !important;
  color: #333 !important;
  font-size: 15px !important;
  letter-spacing: -.3px !important;
  line-height: 25px !important;
  padding: 14px !important;
  word-break: break-word !important;
  margin: 18px 0 24px !important;
  box-sizing: border-box !important;
}
#bo_v.eg-nv-view #bo_v_con.eg-nv-content .InfluencerTopic__introduce___j3Sbt:first-child,
#bo_v_con.eg-nv-content .InfluencerTopic__introduce___j3Sbt:first-child {
  margin-top: 0 !important;
}
#bo_v.eg-nv-view #bo_v_con.eg-nv-content .InfluencerTopic__introduce___j3Sbt b,
#bo_v.eg-nv-view #bo_v_con.eg-nv-content .InfluencerTopic__introduce___j3Sbt strong {
  font-weight: 800 !important;
  color: #222 !important;
}

/* EGDAEGU_COLUMN2_COLOR_MATCH_20260605 */


/* EGDAEGU_COLUMN2_COLOR_MATCH_20260605 - write editor UI */
.nbe-wrap{
  --egdg-primary:#ed6479;
  --egdg-primary-dark:#c74358;
  --egdg-primary-soft:#fff4f7;
  --egdg-primary-line:#f4d2d9;
}
.nbe-btn-primary,
.nbe-publish-btn,
.nbe-color-current:hover{
  background:var(--egdg-primary) !important;
  border-color:var(--egdg-primary) !important;
  color:#fff !important;
}
.nbe-btn-light:hover,
.nbe-toolgroup button:hover,
.nbe-subtool button:hover,
.nbe-toolgroup button.is-active,
.nbe-subtool button.is-active{
  border-color:var(--egdg-primary) !important;
  color:var(--egdg-primary-dark) !important;
  background:var(--egdg-primary-soft) !important;
}
