/* ================================================ */
/* 富文本样式隔离方案 - 精准修复版本                    */
/*                                                  */
/* 核心策略：                                        */
/*   1. 不使用 all: initial 重置定位属性               */
/*   2. 精准重置被全局CSS污染的属性（font-size等）       */
/*   3. 保留所有内联样式（position/z-index/top/left等） */
/*   4. 使用高特异性选择器对抗全局规则                  */
/* ================================================ */


/* ==================== 容器基础样式 ==================== */
.ueditor-sandbox {
    display: block;
    width: 100%;
    min-width: 0;
    min-height: 0;
    font-size: 16px;
    line-height: normal;
    color: #333;
    font-family: 'Helvetica Neue', 'Helvetica', 'Arial', 'Microsoft YaHei', 'Tahoma', sans-serif;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    box-sizing: content-box;
    overflow: visible;
}


/* ==================== 核心修复：只重置被污染的属性 ==================== */
/* 不使用 all: initial，保留 position/z-index/top/left/bottom/right */

/* 对抗全局 p { font-size:16px; line-height:2 } */
.ueditor-sandbox p {
    font-size: inherit;
    line-height: normal;
    margin: 0;
    padding: 0;
    color: inherit;
    box-sizing: content-box;
}

/* 对抗全局 h1-h6 { font-size:100% } */
.ueditor-sandbox h1,
.ueditor-sandbox h2,
.ueditor-sandbox h3,
.ueditor-sandbox h4,
.ueditor-sandbox h5,
.ueditor-sandbox h6 {
    font-size: inherit;
    font-weight: inherit;
    line-height: normal;
    margin: 0;
    padding: 0;
    color: inherit;
    box-sizing: content-box;
}

/* 对抗全局 img { width:100%; display:block } */
.ueditor-sandbox img {
    max-width: none;
    width: auto;
    height: auto;
    display: inline-block;
    margin: 0;
    padding: 0;
    box-sizing: content-box;
}

/* 对抗全局 span 的样式污染 */
.ueditor-sandbox span {
    font-size: inherit;
    line-height: normal;
    color: inherit;
    box-sizing: content-box;
}

/* 对抗全局 div/section 的样式污染 */
.ueditor-sandbox div,
.ueditor-sandbox section {
    font-size: inherit;
    line-height: normal;
    color: inherit;
    margin: 0;
    padding: 0;
    box-sizing: content-box;
}

/* 对抗全局 a 的样式污染 */
.ueditor-sandbox a {
    font-size: inherit;
    line-height: normal;
    color: inherit;
    text-decoration: none;
    box-sizing: content-box;
}


/* ==================== 高特异性选择器覆盖 ==================== */
/* 对抗 .media_detail_con .media_detail_text p (0,0,2,1) */
.media_detail_con .ueditor-sandbox p,
.media_detail_con .ueditor-sandbox span,
.media_detail_con .ueditor-sandbox div,
.media_detail_con .ueditor-sandbox section,
.media_detail_con .ueditor-sandbox h1,
.media_detail_con .ueditor-sandbox h2,
.media_detail_con .ueditor-sandbox h3,
.media_detail_con .ueditor-sandbox h4,
.media_detail_con .ueditor-sandbox h5,
.media_detail_con .ueditor-sandbox h6,
.media_detail_con .ueditor-sandbox img {
    font-size: inherit;
    line-height: normal;
    margin: 0;
    padding: 0;
    box-sizing: content-box;
}

/* 对抗 .course_d_con .course_d_con_xx p img (0,0,2,2) */
.course_d_con .ueditor-sandbox p,
.course_d_con .ueditor-sandbox span,
.course_d_con .ueditor-sandbox div,
.course_d_con .ueditor-sandbox section,
.course_d_con .ueditor-sandbox img {
    font-size: inherit;
    line-height: normal;
    margin: 0;
    padding: 0;
    box-sizing: content-box;
}

/* 对抗 .about_jianjie_p p (0,0,1,1) */
.about_jianjie_p.ueditor-sandbox p,
.about_jianjie_p.ueditor-sandbox span,
.about_jianjie_p.ueditor-sandbox div,
.about_jianjie_p.ueditor-sandbox section,
.about_jianjie_p.ueditor-sandbox img {
    font-size: inherit;
    line-height: normal;
    margin: 0;
    padding: 0;
    box-sizing: content-box;
}

/* 对抗 .involved_hdjs_text p (0,0,1,1) */
.involved_hdjs_text .ueditor-sandbox p,
.involved_hdjs_text .ueditor-sandbox span,
.involved_hdjs_text .ueditor-sandbox div,
.involved_hdjs_text .ueditor-sandbox section,
.involved_hdjs_text .ueditor-sandbox img {
    font-size: inherit;
    line-height: normal;
    margin: 0;
    padding: 0;
    box-sizing: content-box;
}

/* 对抗 .cases_content 内的规则 */
.cases_content.ueditor-sandbox p,
.cases_content.ueditor-sandbox span,
.cases_content.ueditor-sandbox div,
.cases_content.ueditor-sandbox section,
.cases_content.ueditor-sandbox img {
    font-size: inherit;
    line-height: normal;
    margin: 0;
    padding: 0;
    box-sizing: content-box;
}

/* 对抗 .product_content 内的规则 */
.product_content.ueditor-sandbox p,
.product_content.ueditor-sandbox span,
.product_content.ueditor-sandbox div,
.product_content.ueditor-sandbox section,
.product_content.ueditor-sandbox img {
    font-size: inherit;
    line-height: normal;
    margin: 0;
    padding: 0;
    box-sizing: content-box;
}


/* ==================== 保留定位属性 - 关键修复！ ==================== */
/* position/z-index/top/left/right/bottom 绝对不能被重置 */
.ueditor-sandbox [style*="position"],
.ueditor-sandbox [style*="top"],
.ueditor-sandbox [style*="left"],
.ueditor-sandbox [style*="right"],
.ueditor-sandbox [style*="bottom"],
.ueditor-sandbox [style*="z-index"],
.ueditor-sandbox [style*="transform"],
.ueditor-sandbox [style*="overflow"] {
    /* 什么都不做，让内联样式生效 */
}

/* 确保绝对定位元素正常工作 */
.ueditor-sandbox [style*="position:absolute"] {
    position: absolute;
}

.ueditor-sandbox [style*="position:relative"] {
    position: relative;
}

.ueditor-sandbox [style*="position:fixed"] {
    position: fixed;
}

.ueditor-sandbox [style*="position:sticky"] {
    position: sticky;
}


/* ==================== SVG和foreignObject特别处理 ==================== */
/* 135编辑器大量使用SVG嵌套foreignObject */
.ueditor-sandbox svg {
    display: inline-block;
    overflow: visible;
}

.ueditor-sandbox foreignObject {
    overflow: visible;
}

.ueditor-sandbox g {
    display: inline;
}

.ueditor-sandbox svg * {
    font-size: inherit;
    line-height: normal;
}


/* ==================== 恢复基础元素display属性 ==================== */
.ueditor-sandbox div,
.ueditor-sandbox section,
.ueditor-sandbox article,
.ueditor-sandbox header,
.ueditor-sandbox footer,
.ueditor-sandbox main,
.ueditor-sandbox nav,
.ueditor-sandbox aside,
.ueditor-sandbox p,
.ueditor-sandbox h1,
.ueditor-sandbox h2,
.ueditor-sandbox h3,
.ueditor-sandbox h4,
.ueditor-sandbox h5,
.ueditor-sandbox h6,
.ueditor-sandbox blockquote,
.ueditor-sandbox figure,
.ueditor-sandbox figcaption,
.ueditor-sandbox details,
.ueditor-sandbox summary,
.ueditor-sandbox hr,
.ueditor-sandbox br {
    display: block;
}

.ueditor-sandbox span,
.ueditor-sandbox a,
.ueditor-sandbox em,
.ueditor-sandbox strong,
.ueditor-sandbox b,
.ueditor-sandbox i,
.ueditor-sandbox u,
.ueditor-sandbox sub,
.ueditor-sandbox sup,
.ueditor-sandbox small,
.ueditor-sandbox code,
.ueditor-sandbox label,
.ueditor-sandbox font {
    display: inline;
}


/* ==================== 表格样式 ==================== */
.ueditor-sandbox table {
    display: table;
    border-collapse: separate;
    border-spacing: 2px;
}

.ueditor-sandbox thead,
.ueditor-sandbox tbody,
.ueditor-sandbox tfoot {
    display: table-row-group;
}

.ueditor-sandbox tr {
    display: table-row;
}

.ueditor-sandbox td,
.ueditor-sandbox th {
    display: table-cell;
    padding: 1px;
}

.ueditor-sandbox caption {
    display: table-caption;
}


/* ==================== 列表样式 ==================== */
.ueditor-sandbox ul,
.ueditor-sandbox ol {
    display: block;
    padding-left: 40px;
    margin: 0;
}

.ueditor-sandbox ul {
    list-style-type: disc;
}

.ueditor-sandbox ol {
    list-style-type: decimal;
}

.ueditor-sandbox li {
    display: list-item;
    margin: 0;
}


/* ==================== 媒体元素 ==================== */
.ueditor-sandbox video,
.ueditor-sandbox audio {
    display: inline-block;
}


/* ==================== 旧版兼容样式（不使用sandbox时） ==================== */
.media_detail_con .media_detail_text.ueditor-content h1,
.ueditor-content h1 {
    font-size: 32px;
    font-weight: bold;
    line-height: 1.4;
    margin: 20px 0 10px 0;
    color: #333;
}

.media_detail_con .media_detail_text.ueditor-content h2,
.ueditor-content h2 {
    font-size: 28px;
    font-weight: bold;
    line-height: 1.4;
    margin: 18px 0 10px 0;
    color: #333;
}

.media_detail_con .media_detail_text.ueditor-content h3,
.ueditor-content h3 {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.4;
    margin: 16px 0 10px 0;
    color: #333;
}

.media_detail_con .media_detail_text.ueditor-content h4,
.ueditor-content h4 {
    font-size: 20px;
    font-weight: bold;
    line-height: 1.4;
    margin: 14px 0 10px 0;
    color: #333;
}

.media_detail_con .media_detail_text.ueditor-content h5,
.ueditor-content h5 {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.4;
    margin: 12px 0 10px 0;
    color: #333;
}

.media_detail_con .media_detail_text.ueditor-content h6,
.ueditor-content h6 {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.4;
    margin: 10px 0 10px 0;
    color: #333;
}

.media_detail_con .media_detail_text.ueditor-content p,
.ueditor-content p {
    font-size: 16px;
    line-height: 1.8;
    margin: 10px 0;
    color: #333;
}

.ueditor-content img {
    max-width: 100%;
    height: auto;
}

.ueditor-content a {
    color: #1eb37b;
    text-decoration: underline;
}

.ueditor-content blockquote {
    border-left: 4px solid #1eb37b;
    padding: 10px 20px;
    margin: 15px 0;
    background-color: #f9f9f9;
}

.ueditor-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 15px 0;
}

.ueditor-content td,
.ueditor-content th {
    border: 1px solid #ddd;
    padding: 8px 12px;
}

.ueditor-content th {
    background-color: #f5f5f5;
    font-weight: bold;
}
