/* 前台正文：CKEditor 图文混排 */
.cms-body .image,
.cms-body figure.image,
.article-content .image,
.article-content figure.image,
.product-desc .image,
.product-desc figure.image {
  display: table;
  clear: both;
  text-align: center;
  margin: 1em auto;
}
.cms-body .image img,
.cms-body figure.image img,
.cms-body img,
.article-content img,
.product-desc img {
  max-width: 100%;
  height: auto;
}
.cms-body .image-style-align-left,
.cms-body .image-style-side,
.cms-body img.image-style-align-left,
.article-content .image-style-align-left,
.article-content .image-style-side,
.article-content img.image-style-align-left,
.product-desc .image-style-align-left,
.product-desc .image-style-side {
  float: left;
  margin: 0.4em 1.5em 1em 0;
  max-width: 46%;
}
.cms-body .image-style-align-right,
.cms-body img.image-style-align-right,
.article-content .image-style-align-right,
.article-content img.image-style-align-right,
.product-desc .image-style-align-right {
  float: right;
  margin: 0.4em 0 1em 1.5em;
  max-width: 46%;
}
.cms-body .image-style-block,
.cms-body .image-style-align-center,
.article-content .image-style-block,
.article-content .image-style-align-center,
.product-desc .image-style-block,
.product-desc .image-style-align-center {
  display: table;
  margin: 1.2em auto;
  float: none;
  max-width: 100%;
}
.cms-body .image-style-inline,
.article-content .image-style-inline,
.product-desc .image-style-inline {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0.4em;
}
.cms-body figcaption,
.article-content figcaption,
.product-desc figcaption {
  font-size: 13px;
  color: #64748b;
  padding: 6px 8px 0;
}

/* 正文表格：Word 导入 / 编辑器插入后前台可见 */
.cms-body table,
.article-content table,
.product-desc table,
.content table,
[data-bolsi-page] table,
[data-item-body] table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  margin: 1em 0;
  table-layout: auto;
  background: #fff;
  color: #1f2329;
}
.cms-body table td,
.cms-body table th,
.article-content table td,
.article-content table th,
.product-desc table td,
.product-desc table th,
.content table td,
.content table th,
[data-bolsi-page] table td,
[data-bolsi-page] table th,
[data-item-body] table td,
[data-item-body] table th {
  border: 1px solid #d0d5dd;
  padding: 8px 10px;
  vertical-align: top;
  text-align: left;
  word-break: break-word;
}
.cms-body table th,
.article-content table th,
.product-desc table th,
.content table th,
[data-bolsi-page] table th,
[data-item-body] table th {
  background: #f8fafc;
  font-weight: 600;
}
.cms-body,
.article-content,
.product-desc,
.content[data-bolsi-page],
.content[data-item-body] {
  overflow-x: auto;
}
.cms-body::after,
.article-content::after,
.product-desc::after {
  content: "";
  display: table;
  clear: both;
}
img.nav-logo-mark,
.nav-logo-img {
  width: 36px;
  height: 36px;
  object-fit: contain;
  border-radius: 8px;
  display: block;
  background: #fff;
}

/* 图文版式模板 */
.cms-layout {
  margin: 1.25em 0;
  max-width: 100%;
}
.cms-layout img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
  background: #eef2f6;
}
.cms-layout h3 {
  margin: 0 0 0.5em;
  font-size: 18px;
  color: #1f2329;
}
.cms-layout p {
  margin: 0;
  line-height: 1.8;
}
.cms-layout-img-left,
.cms-layout-img-right {
  display: flex;
  gap: 24px;
  align-items: center;
}
.cms-layout-img-right {
  flex-direction: row-reverse;
}
.cms-layout-img-left .cms-layout-media,
.cms-layout-img-right .cms-layout-media {
  flex: 0 0 42%;
  max-width: 42%;
}
.cms-layout-img-left .cms-layout-text,
.cms-layout-img-right .cms-layout-text {
  flex: 1 1 auto;
  min-width: 0;
}
.cms-layout-img-top .cms-layout-media {
  margin-bottom: 14px;
}
.cms-layout-cols-2,
.cms-layout-cols-3,
.cms-layout-steps {
  display: flex;
  gap: 20px;
}
.cms-layout-cols-2 .cms-layout-col,
.cms-layout-cols-3 .cms-layout-col,
.cms-layout-steps .cms-layout-col {
  flex: 1 1 0;
  min-width: 0;
}
.cms-layout-cols-3 .cms-layout-col {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 12px;
}
.cms-layout-quote {
  border-left: 4px solid #2563eb;
  background: #f8fafc;
  padding: 12px 16px;
  color: #334155;
}
.cms-step-no {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #2563eb;
  color: #fff;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}
@media (max-width: 768px) {
  .cms-layout-img-left,
  .cms-layout-img-right,
  .cms-layout-cols-2,
  .cms-layout-cols-3,
  .cms-layout-steps {
    flex-direction: column;
  }
  .cms-layout-img-left .cms-layout-media,
  .cms-layout-img-right .cms-layout-media {
    flex-basis: auto;
    max-width: 100%;
  }
}
