.cms-element-text {
  word-break: break-word;

  :where(h1, h2, h3, h4, h5, h6) {
    margin-bottom: var(--rte-heading-mb, 10px);
    font-weight: var(--rte-heading-weight, 600);
  }

  :where(h1) {
    font-size: var(--rte-h1-size, 2.25rem);
    line-height: var(--rte-h1-line, 2.5rem);
  }

  :where(h2) {
    font-size: var(--rte-h2-size, 1.75rem);
    line-height: var(--rte-h2-line, 2rem);
  }

  :where(h3) {
    font-size: var(--rte-h3-size, 1.25rem);
    line-height: var(--rte-h3-line, 1.5rem);
  }

  :where(h4, h5, h6) {
    font-size: var(--rte-h4-size, 1.125rem);
    line-height: var(--rte-h4-line, 1.5rem);
  }

  :where(p, blockquote, pre) {
    margin-bottom: var(--rte-flow, 1rem);
  }

  :where(ol, ul, dl) {
    list-style-type: disc;
    padding-left: var(--rte-list-indent, 40px);
    margin-top: 0;
    margin-bottom: var(--rte-flow, 1rem);
  }

  :where(ol) {
    list-style-type: decimal;
  }

  :where(img, iframe, video) {
    max-width: 100%;
  }

  :where(img) {
    height: auto;
  }

  :where(table) {
    width: 100%;
    margin-bottom: var(--rte-flow, 1rem);
    border-collapse: collapse;
  }

  :where(th, td) {
    padding: var(--rte-cell-padding, 0.5rem 0.75rem);
    border: 1px solid var(--rte-border-color, #e5e7eb);
  }

  :where(th, thead td) {
    text-align: left;
    font-weight: var(--rte-heading-weight, 600);
  }

  :where(hr) {
    margin: var(--rte-flow, 1rem) 0;
    border-top: 1px solid var(--rte-border-color, #e5e7eb);
  }

  > :last-child {
    margin-bottom: 0;
  }

  :where(.sw-text-editor-table__col-selector) {
    display: none;
  }
}
