.main-article-container {
  background-color: rgb(var(--color-background));
}

/* ===== Article layout ===== */

.main-article-container .main-article.page-width {
  width: calc(100% - 80px) !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

/* SHOPLINE spacing wrapper：PC 端错位的核心来源之一 */
.main-article-container .main-article > div {
  width: 100% !important;
  max-width: 100% !important;
  padding-inline-start: 0 !important;
  padding-inline-end: 0 !important;
  text-align: left !important;
}

/* ===== Article title ===== */

.main-article-container .main-article__title {
  display: block !important;
  width: 100% !important;
  max-width: 960px !important;
  margin-inline: auto !important;
  margin-block: 0 !important;
  padding-block-end: 16px !important;

  font-family: var(--title-font) !important;
  font-size: clamp(29px, 2vw, 34px) !important;
  line-height: 1.18 !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  color: #2f2f2f !important;

  text-align: left !important;
}

/* ===== Article meta info ===== */

.main-article-container .main-article__info {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 10px !important;

  width: 100% !important;
  max-width: 960px !important;
  margin-inline: auto !important;
  margin-block: 0 32px !important;
  padding-block: 0 16px !important;

  color: rgba(33, 33, 33, 0.52) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  letter-spacing: 0.02em !important;
  text-align: left !important;

  border-block-end: 1px solid rgba(33, 33, 33, 0.16) !important;
}

/* ===== Cover image ===== */

.main-article-container .main-article__cover-image {
  width: 100% !important;
  max-width: 960px !important;
  aspect-ratio: var(--aspect-ratio);
  margin-inline: auto !important;
  margin-block-end: 28px !important;
  overflow: hidden;
  border-radius: var(--border-radius);
}

.main-article-container .main-article__cover-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ===== Article content ===== */

.main-article-container .main-article__content {
  width: 100% !important;
  max-width: 960px !important;
  margin-inline: auto !important;
  padding-block: 0 52px !important;
  padding-inline: 0 !important;

  color: #333333 !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  text-align: left !important;
}

/* 防止 rte 全局样式影响宽度和对齐 */
.main-article-container .main-article__content.rte {
  width: 100% !important;
  max-width: 960px !important;
  margin-inline: auto !important;
  text-align: left !important;
}

.main-article-container .main-article__content p {
  margin: 0 0 16px !important;
  text-align: left !important;
}

/* H2 */
.main-article-container .main-article__content h2 {
  margin: 42px 0 12px !important;

  font-family: var(--title-font) !important;
  font-size: clamp(25px, 2vw, 31px) !important;
  line-height: 1.25 !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
  color: #2f2f2f !important;

  text-align: left !important;
}

/* H3 */
.main-article-container .main-article__content h3 {
  margin: 30px 0 10px !important;

  font-family: var(--title-font) !important;
  font-size: 22px !important;
  line-height: 1.3 !important;
  font-weight: 500 !important;
  color: #2f2f2f !important;

  text-align: left !important;
}

/* H4 / H5 / H6 */
.main-article-container .main-article__content h4,
.main-article-container .main-article__content h5,
.main-article-container .main-article__content h6 {
  margin: 24px 0 8px !important;

  font-family: var(--body-font) !important;
  font-size: 17px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
  color: #2f2f2f !important;

  text-align: left !important;
}

/* Lists */
.main-article-container .main-article__content ul,
.main-article-container .main-article__content ol {
  margin: 0 0 22px 24px !important;
  padding-left: 20px !important;
}

.main-article-container .main-article__content li {
  margin-bottom: 8px !important;
}

/* Tables */
.main-article-container .main-article__content table {
  width: 100% !important;
  max-width: 100% !important;
  margin: 24px 0 36px !important;

  border-collapse: collapse !important;
  border: 1px solid rgba(33, 33, 33, 0.16) !important;
  background: #ffffff !important;

  font-size: 15px !important;
  line-height: 1.5 !important;
}

.main-article-container .main-article__content th,
.main-article-container .main-article__content td {
  padding: 12px 16px !important;
  border: 1px solid rgba(33, 33, 33, 0.16) !important;

  text-align: left !important;
  vertical-align: top !important;
}

.main-article-container .main-article__content th {
  background: #f3f2e0 !important;
  color: #212121 !important;
  font-weight: 600 !important;
}

.main-article-container .main-article__content tr:nth-child(even) td {
  background: rgba(243, 242, 224, 0.28) !important;
}

/* Table wrapper from pasted article content */
.main-article-container .main-article__content .TyagGW_tableContainer,
.main-article-container .main-article__content .TyagGW_tableWrapper {
  width: 100% !important;
  max-width: 100% !important;
}

/* Images */
.main-article-container .main-article__content img {
  display: block !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 32px auto !important;
}

/* Links */
.main-article-container .main-article__content a {
  color: #4d503e !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* Blockquote */
.main-article-container .main-article__content blockquote {
  margin: 28px 0 !important;
  padding: 18px 24px !important;

  border-left: 4px solid #4d503e !important;
  background: rgba(243, 242, 224, 0.45) !important;
  color: #333333 !important;
}

/* ===== Share / back button / comments ===== */

.main-article-container .main-article__share,
.main-article-container .main-article__button-back,
.main-article-container .main-article__comment-title,
.main-article-container .main-article__comment-list,
.main-article-container .main-article__comment-form {
  width: 100% !important;
  max-width: 960px !important;
  margin-inline: auto !important;
  text-align: left !important;
}

.main-article-container .main-article__button-back {
  padding-block-end: 40px !important;
}

.main-article-container .main-article__button-back svg {
  transform: rotate(90deg);
}

.main-article-container .main-article__share {
  padding-block: 40px 80px !important;
}

.main-article-container .main-article__comment-title {
  padding-block: 40px !important;
}

.main-article-container .main-article__comment-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-block-end: 40px !important;
}

.main-article-container .main-article__comment-item {
  display: flex;
  flex-direction: column;
  gap: 30px;
  padding: 30px;
  border: 1px solid #ddd;
  border-radius: 4px;
}

.main-article-container .main-article__comment-info {
  display: flex;
  gap: 52px;
  justify-content: end;
}

.main-article-container .main-article__comment-fields {
  display: flex;
  gap: 20px;
}

.main-article-container .main-article .text-area + .field__label {
  inset-block-start: 20px;
}

.main-article-container .main-article__comment-submit {
  display: flex;
  justify-content: center;
}

.main-article-container .main-article__comment-form {
  padding-block-start: 40px !important;
}

.main-article-container .main-article__comment-form-title {
  margin-block-end: 40px;
}

.main-article-container .main-article__comment-tip {
  padding-block: 40px;
}

.main-article-container .main-article .field__info {
  padding-block-end: 40px;
}

/* ===== Responsive ===== */

@media (max-width: 959px) {
  .main-article-container .main-article.page-width {
    width: calc(100% - 32px) !important;
    max-width: 100% !important;
  }

  .main-article-container .main-article__title,
  .main-article-container .main-article__info,
  .main-article-container .main-article__cover-image,
  .main-article-container .main-article__content,
  .main-article-container .main-article__share,
  .main-article-container .main-article__button-back,
  .main-article-container .main-article__comment-title,
  .main-article-container .main-article__comment-list,
  .main-article-container .main-article__comment-form {
    max-width: 100% !important;
  }

  .main-article-container .main-article__title {
    font-size: 31px !important;
    line-height: 1.18 !important;
    padding-block-end: 14px !important;
  }

  .main-article-container .main-article__info {
    margin-block-end: 26px !important;
    font-size: 12px !important;
  }

  .main-article-container .main-article__content {
    padding-block: 0 40px !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
  }

  .main-article-container .main-article__content h2 {
    margin-top: 36px !important;
    font-size: 26px !important;
    line-height: 1.24 !important;
  }

  .main-article-container .main-article__content h3 {
    font-size: 21px !important;
  }

  .main-article-container .main-article__content table {
    display: block !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
  }

  .main-article-container .main-article__share {
    margin-block-end: 40px !important;
  }

  .main-article-container .main-article__comment-title {
    margin-block-end: 20px !important;
  }

  .main-article-container .main-article__comment-content {
    padding: 0 !important;
  }

  .main-article-container .main-article__comment-form-title {
    margin-block-end: 20px !important;
  }

  .main-article-container .main-article__comment-fields {
    display: block !important;
  }

  .main-article-container .main-article__comment-tip {
    padding-block-start: 20px !important;
  }
}