/* Normalize only the CMS host. Authored HTML retains its own visual design. */
body[data-theme-engine]:not(.admin-root) :is(.html-page-frame, .html-page-region, .html-page-stage, .html-page-main, .html-page-article, .html-page-content) {
  display: block !important;
  width: 100% !important;
  inline-size: 100% !important;
  max-width: none !important;
  max-inline-size: none !important;
  min-width: 0 !important;
  min-inline-size: 0 !important;
  min-height: 0 !important;
  min-block-size: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  overflow: visible !important;
}

.html-page-content { overflow-wrap: anywhere; }
.html-page-content :where(img, video) { max-width: 100%; height: auto; }

/* Keep the original table geometry inside a keyboard-accessible local scroller. */
.html-page-table-scroll {
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}
.html-page-table-scroll > table { max-inline-size: none; }
