.ckeditor-content-viewer {
    overflow-x: hidden;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.ckeditor-content-viewer .ck-content {
    white-space: pre-wrap;
}

.ckeditor-content-viewer .ck-content p {
    margin: 0 0 1rem;
}

.ckeditor-content-viewer .ck-content p:last-child {
    margin-bottom: 0;
}

.ckeditor-content-viewer .ck-content::after {
    content: '';
    display: block;
    clear: both;
}

.ckeditor-content-viewer .ck-content img,
.ckeditor-content-viewer .ck-content video,
.ckeditor-content-viewer .ck-content iframe,
.ckeditor-content-viewer .ck-content embed,
.ckeditor-content-viewer .ck-content object {
    max-width: 100%;
}

.ckeditor-content-viewer .ck-content img {
    height: auto;
    vertical-align: top;
}

.ckeditor-content-viewer .ck-content figure.image {
    display: block;
    margin: 1.5rem 0;
    max-width: 100%;
    clear: both;
    contain: layout;
}

.ckeditor-content-viewer .ck-content figure.image img {
    display: block;
    max-width: 100%;
    width: auto !important; /* 초기 업로드 시 강제 확대 방지 */
    height: auto;
    margin: 0;
}

/* ImageResize 플러그인이 figure 에 width style 을 주입하므로 정렬은 margin 으로 처리 */
.ckeditor-content-viewer .ck-content figure.image.image-style-align-left {
    float: left;
    margin: 0.5rem 1.5rem 1rem 0;
}

.ckeditor-content-viewer .ck-content figure.image.image-style-align-center {
    margin-left: auto;
    margin-right: auto;
}

.ckeditor-content-viewer .ck-content figure.image.image-style-align-right {
    float: right;
    margin: 0.5rem 0 1rem 1.5rem;
}

.ckeditor-content-viewer .ck-content figure.image.image-style-inline {
    display: inline-block;
    margin: 0 0.75rem 0.75rem 0;
    vertical-align: top;
    clear: none;
}

.ckeditor-content-viewer .ck-content figcaption {
    display: block;
    margin-top: 0.5rem;
    color: #6b7280;
    text-align: center;
}

/* 본문 이미지 반응형 처리 및 CKEditor 정렬/크기 스타일 매칭 */
.ckeditor-content-viewer .ck-content .image {
    display: table;
    clear: both;
    text-align: center;
    margin: 1em auto;
    min-width: 50px;
    max-width: 100%;
}
.ckeditor-content-viewer .ck-content .image img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    width: auto !important; /* 초기 업로드 시 강제 확대 방지 */
    height: auto;
}
/* 사용자가 에디터에서 크기를 조절한 경우 (.image_resized) */
.ckeditor-content-viewer .ck-content .image.image_resized {
    display: block;
    box-sizing: border-box;
    max-width: 100%;
}
.ckeditor-content-viewer .ck-content .image.image_resized img {
    width: 100% !important; /* 리사이즈된 이미지는 설정된 크기 유지 */
}
.ckeditor-content-viewer .ck-content .image.image_resized > figcaption {
    display: block;
}
/* CKEditor 5 이미지 정렬 클래스 지원 */
.ckeditor-content-viewer .ck-content .image-style-block-align-left,
.ckeditor-content-viewer .ck-content .image-style-align-left {
    margin-left: 0;
    margin-right: auto;
}
.ckeditor-content-viewer .ck-content .image-style-block-align-right,
.ckeditor-content-viewer .ck-content .image-style-align-right {
    margin-left: auto;
    margin-right: 0;
}
.ckeditor-content-viewer .ck-content .image-style-block-align-center {
    margin-left: auto;
    margin-right: auto;
}
.ckeditor-content-viewer .ck-content .image-style-align-left {
    float: left;
    margin-right: 1.5em;
}
.ckeditor-content-viewer .ck-content .image-style-align-right {
    float: right;
    margin-left: 1.5em;
}
.ckeditor-content-viewer .ck-content .image.image-style-side {
    float: right;
    margin-left: 1.5em;
    max-width: 50%;
}
