/* ********* 기본 글자 크기 ********* */
.ql-editor {
    line-height: 1.6;
}
.ql-editor * {
    line-height: inherit;
}
/* ********* 이미지 관련 ********* */
.ql-editor img {
    cursor: pointer;
}

.ql-editor img:focus {
    outline: 2px dashed #11b511;
    outline-offset: -2px;
    transition: none;
}


/* ********* 에디터 레이아웃 ********* */
.tb_brd_write table .content .editor .quill_editor {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    max-height: 700px;
}

.tb_brd_write table .content .editor .quill_editor .ql-toolbar {
    height: 52px;
    flex: 0 0 52px;
    border: 1px solid #e3e3e3;
    border-bottom: 0;
}

.tb_brd_write table .content .editor .quill_editor .ql-container {
    flex: 1;
    overflow: auto;
    border: 1px solid #e3e3e3;
}


/* ********* 들여쓰기 (커스텀 불릿) ********* */
.ql-editor .ql-indent-1 {
    padding-left: 1rem;
}

.ql-editor .ql-indent-1 span::before {
    content: "· ";
    font-weight: 600;
}


/* ********* 텍스트 스타일 ********* */
.ql-editor h1 {
    font-size: 2em;
    font-weight: 700;
    line-height: 1.3;
    margin: 0.67em 0;
}

.ql-editor h2 {
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.35;
    margin: 0.75em 0;
}

.ql-editor p {
    font-size: 1em;
    line-height: 1.6;
}

.ql-editor strong {
    font-weight: 700;
}

.ql-editor em {
    font-style: italic;
}


/* ********* 정렬 ********* */
.ql-editor .ql-align-center {
    text-align: center;
}

.ql-editor .ql-align-right {
    text-align: right;
}


/* ********* 테이블 기본 ********* */
.ql-editor table {
    width: 100%;
    border: 1px solid #ddd;
    border-top: 2px solid var(--jw_main);
    border-collapse: collapse;
}

.ql-editor table * {
    font-weight: 400;
    font-size: 1.2rem;
    text-align: center;
    color: #333;
}

.ql-editor table tr td:first-child {
    width: 30%;
    border-radius: 0;
}

.ql-editor table tr td {
    padding: 1rem;
    border-top: 1px solid #dedede;
    border-left: 1px solid #dedede;
}

.ql-editor table tr:first-of-type td {
    border-top: 0;
}

.ql-editor table tr td:first-of-type {
    border-left: 0;
}


/* ********* 테이블 타입 (none / detailed) ********* */
.ql-editor .none {
    margin-bottom: 2rem;
}

.ql-editor .none thead tr th {
    border-radius: 0;
    background-color: #f8f9fb;
    font-weight: 600;
    padding: 1rem;
    border-bottom: 1px solid #dedede;
}

.ql-editor .detailed thead tr th {
    border-radius: 0;
    background-color: #f8f9fb;
    font-weight: 600;
    padding: 1rem;
    border-right: 1px solid #dedede;
    border-bottom: 1px solid #dedede;
}

.ql-editor .none tr th:first-child {
    width: 30%;
    border-radius: 0;
    background-color: #f8f9fb;
    font-weight: 600;
}

.ql-editor .none tr th {
    border-top: 1px solid #dedede;
    border-right: 1px solid #dedede;
}

.ql-editor .none tr td:last-of-type {
    border-right: 0;
}

.ql-editor .none tr:first-child th {
    border-top: 0;
}

.ql-editor .none tr:first-child td {
    background-color: #fff;
}

.ql-editor .none td {
    background-color: #fff;
    font-weight: 400;
}

/* ********* 폰트 선택 UI ********* */
.ql-snow .ql-picker.ql-font .ql-picker-label::before {
    content: attr(data-value);
}

.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="gulim"]::before { content: '굴림'; }
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="dotum"]::before { content: '돋움'; }
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="batang"]::before { content: '바탕'; }
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="gungseo"]::before { content: '궁서'; }
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="nanum"]::before { content: '나눔고딕'; }

.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="gulim"]::before { content: '굴림'; }
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="dotum"]::before { content: '돋움'; }
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="batang"]::before { content: '바탕'; }
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="gungseo"]::before { content: '궁서'; }
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="nanum"]::before { content: '나눔고딕'; }

/* ********* 실제 폰트 적용 ********* */
.ql-editor .ql-font-gulim {
    font-family: '굴림', Gulim, sans-serif;
}

.ql-editor .ql-font-dotum {
    font-family: '돋움', Dotum, sans-serif;
}

.ql-editor .ql-font-batang {
    font-family: '바탕', Batang, serif;
}

.ql-editor .ql-font-gungseo {
    font-family: '궁서', Gungsuh, serif;
}

.ql-editor .ql-font-nanum {
    font-family: 'Nanum Gothic', '나눔고딕', sans-serif;
}

/* ********* 폰트 사이즈 UI ********* */
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="10pt"]::before { content: '10pt'; }
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="12pt"]::before { content: '12pt'; }
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="14pt"]::before { content: '14pt'; }
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="16pt"]::before { content: '16pt'; }
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="18pt"]::before { content: '18pt'; }
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="20pt"]::before { content: '20pt'; }
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="24pt"]::before { content: '24pt'; }
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="28pt"]::before { content: '28pt'; }
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="32pt"]::before { content: '32pt'; }
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="36pt"]::before { content: '36pt'; }
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="40pt"]::before { content: '40pt'; }
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="48pt"]::before { content: '48pt'; }
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="60pt"]::before { content: '60pt'; }

.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="10pt"]::before { content: '10pt'; }
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="12pt"]::before { content: '12pt'; }
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="14pt"]::before { content: '14pt'; }
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="16pt"]::before { content: '16pt'; }
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="18pt"]::before { content: '18pt'; }
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="20pt"]::before { content: '20pt'; }
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="24pt"]::before { content: '24pt'; }
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="28pt"]::before { content: '28pt'; }
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="32pt"]::before { content: '32pt'; }
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="36pt"]::before { content: '36pt'; }
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="40pt"]::before { content: '40pt'; }
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="48pt"]::before { content: '48pt'; }
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="60pt"]::before { content: '60pt'; }

/* ********* color/background normal 텍스트 제거 ********* */
.ql-snow .ql-picker.ql-color .ql-picker-item:not([data-value])::before,
.ql-snow .ql-picker.ql-background .ql-picker-item:not([data-value])::before {
    content: '';
}