/* 게시판 에디터 */
/* 1. 기본 컨테이너 설정 (Base) */
.editor_content { font-size: 16px; line-height: 1.6; word-wrap: break-word; word-break: keep-all; font-family: 'PretendardGOV', 'Noto Sans KR', sans-serif; color: #333; letter-spacing: -0.02em; font-weight: 400; }

/* 2. 제목 태그 (Headings) */
.editor_content h1 { display: block; margin: 0.67em 0; font-weight: 700; font-size: 2em; line-height: 1.2; }
.editor_content h2 { display: block; margin: 0.83em 0; font-weight: 700; font-size: 1.5em; line-height: 1.3; }
.editor_content h3 { display: block; margin: 1em 0; font-weight: 700; font-size: 1.17em; line-height: 1.4; }
.editor_content h4 { display: block; margin: 1.33em 0; font-weight: 700; font-size: 1em; }
.editor_content h5 { display: block; margin: 1.67em 0; font-weight: 700; font-size: 0.83em; }
.editor_content h6 { display: block; margin: 2.33em 0; font-weight: 700; font-size: 0.67em; }

/* 3. 텍스트 서식 (Text Formatting) */
.editor_content p { display: block; margin: 1em 0; }
.editor_content b,
.editor_content strong { font-weight: 700; }
.editor_content i,
.editor_content em { font-style: italic; }
.editor_content u,
.editor_content ins { text-decoration: underline; }
.editor_content s,
.editor_content strike,
.editor_content del { text-decoration: line-through; color: #999; }
.editor_content sub { font-size: 0.75em; vertical-align: sub; }
.editor_content sup { font-size: 0.75em; vertical-align: super; }
.editor_content hr { display: block; height: 1px; border: 0; border-top: 1px solid #e0e0e0; margin: 2em 0; }

/* 4. 특수 태그 (Highlight & Code) */
.editor_content mark { background-color: #fff000; color: inherit; padding: 0.1em 0.2em; border-radius: 2px; }
.editor_content small { font-size: 0.8em; color: #666; }
.editor_content code { background-color: #f5f5f5; padding: 0.2em 0.4em; border-radius: 3px; font-family: monospace; font-size: 0.9em; color: #c7254e; }
.editor_content pre { display: block; margin: 1em 0; padding: 15px; background: #f8f9fa; border: 1px solid #ddd; border-radius: 4px; white-space: pre-wrap; font-family: monospace; color: #333; }
.editor_content blockquote { margin: 1.5em 0; padding: 1em 1.5em; border-left: 4px solid #ddd; background-color: #f9f9f9; color: #555; }
.editor_content address { font-style: normal; color: #666; margin-bottom: 1em; }

/* 5. 리스트 (Lists) - !important로 리셋 방지 */
.editor_content ul { display: block; margin: 1em 0; padding-left: 40px; list-style-type: disc !important; }
.editor_content ol { display: block; margin: 1em 0; padding-left: 40px; list-style-type: decimal !important; }
.editor_content li { display: list-item; list-style: inherit !important; margin-bottom: 0.3em; }
.editor_content dl { margin: 1em 0; }
.editor_content dt { font-weight: 700; margin-top: 1em; }
.editor_content dd { margin-left: 20px; color: #555; }

/* 6. 링크 (Links) */
.editor_content a { color: #007bff; text-decoration: underline; cursor: pointer; word-break: break-all; }
.editor_content a:hover { color: #0056b3; }

/* 7. 테이블 (Tables) - 모던 스타일 */
.editor_content table { width: 100%; max-width: 100%; border-collapse: collapse; border-spacing: 0; border: 1px solid #ccc; margin: 1.5em 0; table-layout: fixed; }
.editor_content th,
.editor_content td { padding: 8px 12px; border: 1px solid #ccc; vertical-align: middle; }
.editor_content th { background-color: #f2f2f2; font-weight: 700; text-align: center; }

/* 8. 미디어 & CKEditor 전용 클래스 (Images & Alignment) */
.editor_content img { max-width: 100%; height: auto !important; vertical-align: top; }

/* CKEditor 5 이미지 래퍼(figure) */
.editor_content .image { display: table; clear: both; text-align: center; margin: 1.5em auto; /* 기본 가운데 정렬 */ }
.editor_content .image img { display: block; margin: 0 auto; }

/* 이미지 캡션 */
.editor_content .image > figcaption { display: table-caption; caption-side: bottom; word-break: break-word; color: #777; background-color: #f7f7f7; padding: 0.6em; font-size: 0.85em; margin-top: 5px; text-align: center; }

/* CKEditor 이미지 정렬 클래스 */
.editor_content .image-style-side,
.editor_content .image-style-align-left { float: left; margin-right: 1.5em; margin-bottom: 1em; max-width: 50%; }
.editor_content .image-style-align-right { float: right; margin-left: 1.5em; margin-bottom: 1em; max-width: 50%; }
.editor_content .image-style-align-center { margin-left: auto; margin-right: auto; clear: both; }

/* 동영상 임베드 */
.editor_content .media { position: relative; display: block; margin: 1.5em 0; clear: both; overflow: hidden; }

/* 테이블 스크롤 */
.editor_table { overflow-x: auto; }

/* 9. 반응형 처리 (Mobile) */
@media screen and (max-width: 1079px) {
	.editor_content {
		font-size: 14px;
		line-height: 1.5;
	}
}
@media screen and (max-width: (breakpoint(lg) - 1)) {
	.editor_content { font-size: 14px; line-height: 1.5; }
	.editor_content h1 { font-size: 1.6em; }
	.editor_content h2 { font-size: 1.4em; }
	.editor_content h3 { font-size: 1.2em; }
	.editor_content ul,
	.editor_content ol { padding-left: 24px; }

	/* 모바일에서 이미지가 너무 작아지지 않게 */
	.editor_content .image-style-side,
	.editor_content .image-style-align-left,
	.editor_content .image-style-align-right { float: none; margin: 1em auto; max-width: 100%; }
}