/* CET Gutenberg defaults, adapted from the established Forte rich-text set.
 * WordPress core owns block structure. Native block controls override defaults.
 * Only article Post Content widgets opt in with cet-rich-text.
 * The shared marketing Page shell also uses Post Content and must not match. */
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) {
	font-family: var(--font-primary, "IBM Plex Sans", sans-serif);
	font-size: 18px;
	line-height: 1.5;
	color: var(--color-text-secondary, #3B3D48);
	overflow-wrap: break-word;
}
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(p, ul, ol, dl, figure, blockquote, pre, table, .wp-block-buttons, .wp-block-columns, .wp-block-group, .wp-block-media-text, .wp-block-table) {
	margin-block: 0 1.5em;
}
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(h1, h2, h3, h4, h5, h6) {
	font-family: var(--font-primary, "IBM Plex Sans", sans-serif);
	font-weight: 700;
	line-height: 1.2;
	color: var(--color-brand-primary, #0C1622);
	margin-block: 1.25em 0.5em;
	text-transform: none;
	text-wrap: balance;
}
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(h1) { font-size: 48px; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, body .elementor-widget-theme-post-content.cet-rich-text) :is(h2) { font-size: 36px; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, body .elementor-widget-theme-post-content.cet-rich-text) :is(h3) { font-size: 28px; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, body .elementor-widget-theme-post-content.cet-rich-text) :is(h4) { font-size: 24px; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(h5, h6) { font-size: 20px; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text > .elementor-widget-container) > :first-child { margin-block-start: 0; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text > .elementor-widget-container) > :last-child { margin-block-end: 0; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(ul, ol) { padding-inline-start: 1.5em; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(li + li) { margin-block-start: 0.4em; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(li > ul, li > ol) { margin-block: 0.4em 0; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, body .elementor-widget-theme-post-content.cet-rich-text) a:not(:where(.wp-element-button, .wp-block-button__link)) {
	color: var(--color-brand-accent, #0295C4);
	text-decoration: underline;
	text-underline-offset: 0.18em;
}
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, body .elementor-widget-theme-post-content.cet-rich-text) a:not(:where(.wp-element-button, .wp-block-button__link)):is(:hover, :focus-visible) {
	color: var(--color-brand-primary, #0C1622);
	text-decoration-thickness: 2px;
}
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(a:focus-visible, summary:focus-visible, button:focus-visible) {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(strong, b) { font-weight: 700; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(blockquote) {
	margin-inline: 0;
	padding-inline-start: 1.5em;
	border-inline-start: 3px solid var(--color-brand-accent, #0295C4);
}
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(blockquote p:last-child) { margin-block-end: 0; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(cite, figcaption, .wp-element-caption) {
	font-size: 0.875em;
	line-height: 1.5;
	margin-block-start: 0.6em;
}
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(img, video, iframe, object, embed) { max-inline-size: 100%; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(img) { height: auto; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(figure) { margin-inline: 0; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(.wp-block-table, pre) { overflow-x: auto; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(table) { inline-size: 100%; border-collapse: collapse; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(th, td) {
	padding: 0.75em;
	border: 1px solid var(--color-border, #d8e0e5);
	text-align: start;
	vertical-align: top;
}
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(th) { font-weight: 700; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(code, kbd, pre) {
	background-color: var(--color-surface-canvas, #F5F5F5);
	font-family: monospace;
	font-size: 0.9em;
}
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(code, kbd) { padding: 0.15em 0.3em; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(pre) { padding: 1.25em; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(pre code) { padding: 0; background: transparent; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(hr:not(.is-style-dots)) {
	border: 0;
	border-block-start: 1px solid var(--color-border, #d8e0e5);
	margin-block: 2em;
}
/* Outrank the Elementor kit's generic anchor color without !important, so
 * native block color controls can still override these article defaults. */
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, body .elementor-widget-theme-post-content.cet-rich-text) a.wp-block-button__link {
	background: transparent;
	color: var(--color-brand-primary, #0C1622);
	border: 3px solid var(--color-brand-accent, #0295C4);
	border-radius: 0;
	font-family: inherit;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	padding: 12px 35px;
	text-decoration: none;
}
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) .wp-block-button.is-style-outline a.wp-block-button__link {
	background: transparent;
	color: var(--color-brand-primary, #0C1622);
}
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) a.wp-block-button__link:is(:hover, :focus-visible) { filter: brightness(0.9); }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(.alignleft) { float: left; margin-inline: 0 1.5em; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(.alignright) { float: right; margin-inline: 1.5em 0; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(.aligncenter) { margin-inline: auto; }
/* Wide/full blocks stay within the native article container, never the viewport. */
:is(.cet-rich-text, .wp-block-post-content, .elementor-widget-theme-post-content.cet-rich-text) :where(.alignwide, .alignfull) { max-inline-size: 100%; margin-inline: 0; }
@media (max-width: 767px) {
	:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) { font-size: 17px; }
	:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(h1) { font-size: 36px; }
	:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, body .elementor-widget-theme-post-content.cet-rich-text) :is(h2) { font-size: 28px; }
	:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, body .elementor-widget-theme-post-content.cet-rich-text) :is(h3) { font-size: 24px; }
	:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(.alignleft, .alignright) { float: none; margin-inline: 0; }
}

:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(details) { margin-block: 1.5em; padding: 1em; border: 1px solid #d8e0e5; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(summary) { cursor: pointer; font-weight: 600; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(details[open] > summary) { margin-block-end: 1em; }
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :where(p) { max-inline-size: 65ch; text-wrap: pretty; }
/* Article paragraphs use the native article column, matching Gutenberg blocks. */
.elementor-widget-theme-post-content.cet-rich-text :where(p) { max-inline-size: 100%; }
.editor-styles-wrapper .is-root-container { max-width: 840px; margin-inline: auto; padding-inline: 24px; }
/* The editor's root flow has its own block margins; mirror article rhythm. */
.editor-styles-wrapper .is-root-container > :is(h1, h2, h3, h4, h5, h6) { margin-block: 1.25em 0.5em; }
.editor-styles-wrapper .is-root-container > :is(p, ul, ol, figure, blockquote, pre, .wp-block-table, .wp-block-columns, .wp-block-group, .wp-block-media-text, .wp-block-buttons) { margin-block: 0 1.5em; }
/* A Cover or explicitly colored group owns its contrasting text color. */
:is(.cet-rich-text, .wp-block-post-content, .editor-styles-wrapper, .elementor-widget-theme-post-content.cet-rich-text) :is(.wp-block-cover, .wp-block-group.has-text-color) :where(h1, h2, h3, h4, h5, h6, p, a:not(.wp-block-button__link)) { color: inherit; }
