/* Ignore pasted body-text sizes without rewriting stored content. Headings,
   captions and semantic small/sup/sub text retain their own typography.
   Shared by the four SDG editors and report output, never ordinary WP posts. */
:root :is(body.mce-content-body, .pi-sdg-section__content, .pi-sdg-report__intro, .pi-sdg-content-card) {
  /* Match the live site's normal paragraph, not the older 18px wrapper.
     Scope + :root outranks late html:lang(th) p !important theme rules. */
  font-size: 16px !important;
  line-height: 1.7;
}
:root :is(body.mce-content-body, .pi-sdg-section__content, .pi-sdg-report__intro, .pi-sdg-content-card)
  :is(div, p, ul, ol, li, dl, dt, dd, blockquote, span, a, b, strong, i, em, u, s, del, abbr, font):not(:where(table, table *, h1, h1 *, h2, h2 *, h3, h3 *, h4, h4 *, h5, h5 *, h6, h6 *, caption, caption *, figcaption, figcaption *, summary, summary *, pre, pre *, code, code *, small, small *, sub, sub *, sup, sup *)) {
  /* Important is required for existing Word spans such as font-size:16pt.
     Inheritance keeps all normal body text at the shared paragraph size. */
  font-size: inherit !important;
  font-family: inherit !important;
  line-height: inherit !important;
}

/* Tables follow the surrounding paragraph size too, including Word's sizes on
   TABLE/TBODY/TR/TD/P/SPAN and legacy FONT elements. Layout is not modified.
   Keep meaningful superscripts/subscripts and small notes proportional. */
:root :is(body.mce-content-body, .pi-sdg-section__content, .pi-sdg-report__intro, .pi-sdg-content-card) table,
:root :is(body.mce-content-body, .pi-sdg-section__content, .pi-sdg-report__intro, .pi-sdg-content-card) table :not(:where(small, small *, sub, sub *, sup, sup *)) {
  font-size: inherit !important;
  font-family: inherit !important;
}
:root :is(body.mce-content-body, .pi-sdg-section__content, .pi-sdg-report__intro, .pi-sdg-content-card) table :not(:where(small, small *, sub, sub *, sup, sup *)) {
  line-height: inherit !important;
}
