/* Shared by TinyMCE and public content in templates 1–4.
   Keep typography non-important so formatting saved by the author wins. */
.cms-rich-text.cms-rich-text {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
  font-size: 16px;
  font-weight: 400;
  font-style: normal;
  line-height: 1.6;
  color: #1f2328;
  text-align: start;
  text-transform: none;
  letter-spacing: normal;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  min-width: 0;
  max-width: 100%;
  display: flow-root;
}

.cms-rich-text.cms-rich-text :where(p, div, span, a, ul, ol, li, dl, dt, dd, blockquote, table, caption, th, td, strong, b, em, i, u, s, del) {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}

.cms-rich-text.cms-rich-text :where(p, div, span, a, li, td) { font-weight: inherit; }
.cms-rich-text.cms-rich-text p { display: block; margin: 1em 0; padding: 0; }
.cms-rich-text.cms-rich-text :where(h1, h2, h3, h4, h5, h6) {
  font-family: inherit;
  font-weight: 700;
  font-style: normal;
  line-height: 1.4;
  color: inherit;
  letter-spacing: normal;
  text-transform: none;
  padding: 0;
}
.cms-rich-text.cms-rich-text h1 { font-size: 2em; margin: .67em 0; }
.cms-rich-text.cms-rich-text h2 { font-size: 1.5em; margin: .83em 0; }
.cms-rich-text.cms-rich-text h3 { font-size: 1.17em; margin: 1em 0; }
.cms-rich-text.cms-rich-text h4 { font-size: 1em; margin: 1.33em 0; }
.cms-rich-text.cms-rich-text h5 { font-size: .83em; margin: 1.67em 0; }
.cms-rich-text.cms-rich-text h6 { font-size: .67em; margin: 2.33em 0; }
.cms-rich-text.cms-rich-text :where(b, strong) { font-weight: 700; }
.cms-rich-text.cms-rich-text :where(i, em) { font-style: italic; }
.cms-rich-text.cms-rich-text u { text-decoration: underline; }
.cms-rich-text.cms-rich-text :where(s, del) { text-decoration: line-through; }
.cms-rich-text.cms-rich-text a {
  display: inline;
  padding: 0;
  color: #145db5;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.cms-rich-text.cms-rich-text a:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

.cms-rich-text.cms-rich-text :where(ul, ol) {
  display: block;
  margin: 1em 0;
  padding: 0 0 0 2.5em;
  list-style-position: outside;
}
.cms-rich-text.cms-rich-text ul { list-style-type: disc; }
.cms-rich-text.cms-rich-text ol { list-style-type: decimal; }
.cms-rich-text.cms-rich-text :where(ul, ol) ul { list-style-type: circle; }
.cms-rich-text.cms-rich-text :where(ul, ol) :where(ul, ol) ul { list-style-type: square; }
.cms-rich-text.cms-rich-text ol[type="a"] { list-style-type: lower-alpha; }
.cms-rich-text.cms-rich-text ol[type="A"] { list-style-type: upper-alpha; }
.cms-rich-text.cms-rich-text ol[type="i"] { list-style-type: lower-roman; }
.cms-rich-text.cms-rich-text ol[type="I"] { list-style-type: upper-roman; }
.cms-rich-text.cms-rich-text :where(ul, ol) :where(ul, ol) { margin-block: 0; }
.cms-rich-text.cms-rich-text li {
  display: list-item;
  list-style-type: inherit;
  margin: 0;
  padding: 0;
  width: auto;
  float: none;
  text-align: inherit;
}
.cms-rich-text.cms-rich-text blockquote {
  margin: 1em 1.5em;
  padding: 0 0 0 1em;
  border: 0;
  border-left: 2px solid #ccc;
  background: transparent;
  font-style: normal;
}
.cms-rich-text.cms-rich-text :where(pre, code) {
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: .9em;
  line-height: 1.6;
  color: inherit;
}
.cms-rich-text.cms-rich-text pre {
  margin: 1em 0;
  padding: 1em;
  max-width: 100%;
  overflow-x: auto;
  white-space: pre;
  background: #f4f5f6;
  border: 1px solid #ddd;
  border-radius: 4px;
}
.cms-rich-text.cms-rich-text code { background: #e8e8e8; padding: .1em .2em; border-radius: 3px; }
.cms-rich-text.cms-rich-text pre code { font-size: inherit; padding: 0; background: transparent; }
.cms-rich-text.cms-rich-text hr { margin: 1em 0; border: 0; border-top: 1px solid #ccc; }

/* Do not stretch small images, or change alignment/widths chosen in the editor. */
.cms-rich-text.cms-rich-text :where(img, video) {
  display: inline;
  margin: 0;
  max-width: 100%;
  /* Only responsive media sizing overrides inline heights to prevent distortion. */
  height: auto !important;
  border-radius: 0;
  box-shadow: none;
  vertical-align: baseline;
}
.cms-rich-text.cms-rich-text :where(iframe, embed, object) { max-width: 100%; }
.cms-rich-text.cms-rich-text figure { display: table; max-width: 100%; margin: 1em auto; }
.cms-rich-text.cms-rich-text figcaption { display: block; margin-top: .25em; color: #666; text-align: center; }

/* Wide tables scroll inside the content column, preserving saved column sizes. */
.cms-rich-text.cms-rich-text .cms-rich-text__table-scroll,
.cms-rich-text.cms-rich-text .cms-rich-text__embed-scroll {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.cms-rich-text.cms-rich-text table {
  display: table;
  table-layout: auto;
  max-width: none;
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0;
  border: 0;
  font-size: inherit;
  color: inherit;
  text-indent: 0;
}
.cms-rich-text.cms-rich-text :where(th, td) {
  border: 0;
  padding: 0;
  background: transparent;
  vertical-align: middle;
  text-align: inherit;
  white-space: normal;
}
.cms-rich-text.cms-rich-text th { font-weight: 700; text-align: center; }
.cms-rich-text.cms-rich-text table:not([cellpadding]) :where(th, td) { padding: .4em; }
.cms-rich-text.cms-rich-text table[border]:not([border="0"]):not([style*="border-width"]) :where(th, td) { border-width: 1px; }
.cms-rich-text.cms-rich-text table[border]:not([border="0"]):not([style*="border-style"]) :where(th, td) { border-style: solid; }
.cms-rich-text.cms-rich-text table[border]:not([border="0"]):not([style*="border-color"]) :where(th, td) { border-color: #ccc; }
.cms-rich-text.cms-rich-text table[border]:not([border="0"]) { border-width: 1px; border-style: solid; border-color: #ccc; }
.cms-rich-text.cms-rich-text .cms-rich-text__embed-scroll iframe { max-width: none; }

.cms-rich-text.cms-rich-text .youtube-embed {
  width: 100%;
  max-width: 720px;
  margin: 1em auto;
  background: #0f172a;
  border-radius: 10px;
  overflow: hidden;
}
.cms-rich-text.cms-rich-text .youtube-embed iframe {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border: 0;
}

/* Same sheet inside the editing iframe; editor chrome and public UI are untouched. */
body.mce-content-body.cms-rich-text { margin: 16px; }
