/* Shared content presentation for the public site and every CMS rich-text editor.
 * Layout outside the edited content remains owned by style.css / admin.css.
 * Empty paragraphs are intentional blank lines; do not add a second paragraph gap.
 */
:is(.rich-copy, .wysiwyg-editor .ql-editor) {
    color: var(--theme-muted, #50665a);
    font-family: var(--body, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    font-size: 1rem;
    font-weight: 400;
    font-style: normal;
    line-height: 1.6;
    letter-spacing: normal;
    text-align: left;
    text-transform: none;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    word-break: normal;
    tab-size: 4;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
:is(.rich-copy, .wysiwyg-editor .ql-editor) :is(p, h2, h3, h4, blockquote, ol, ul, li) {
    padding: 0;
    max-width: none;
}
:is(.rich-copy, .wysiwyg-editor .ql-editor) p { margin: 0; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) :is(h2, h3, h4) {
    margin: 0 0 .5em;
    color: var(--theme-secondary, #0f3d2e);
    font-family: var(--heading, Georgia, Cambria, "Times New Roman", serif);
    font-weight: var(--audience-heading-weight, 400);
    font-style: normal;
    line-height: 1.25;
    letter-spacing: var(--audience-heading-spacing, normal);
    text-transform: none;
}
:is(.rich-copy, .wysiwyg-editor .ql-editor) h2 { font-size: 1.75em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) h3 { font-size: 1.375em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) h4 { font-size: 1.125em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) strong { font-weight: 700; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) em { font-style: italic; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) a {
    color: var(--theme-secondary, #0f3d2e);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: currentColor;
    text-underline-offset: .2em;
}
:is(.rich-copy, .wysiwyg-editor .ql-editor) a:hover { text-decoration-thickness: 2px; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) a:focus-visible {
    outline: 2px solid var(--theme-secondary, #0f3d2e);
    outline-offset: 3px;
}
:is(.rich-copy, .wysiwyg-editor .ql-editor) blockquote {
    margin: .75em 0;
    padding: .5em 1em;
    border: 0;
    border-left: 3px solid var(--theme-primary, #228b22);
    border-radius: 0;
    color: inherit;
    background: rgb(var(--theme-surface-rgb, 255 255 255) / .48);
    font: inherit;
}
:is(.rich-copy, .wysiwyg-editor .ql-editor) hr {
    margin: 1em 0;
    border: 0;
    border-top: 1px solid rgb(var(--theme-secondary-rgb, 15 61 46) / .2);
}
:is(.rich-copy, .wysiwyg-editor .ql-editor) .ql-align-center { text-align: center; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) .ql-align-right { text-align: right; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) .ql-align-justify { text-align: justify; }

/* Same markers before and after sanitization: ql-ui is editor-only markup. */
:is(.rich-copy, .wysiwyg-editor .ql-editor) :is(ol, ul) { margin: 0; padding-left: 1.5em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) li {
    position: relative;
    margin: 0;
    padding-left: 1.5em;
    list-style: none;
    counter-increment: none;
    counter-set: none;
    counter-reset: none;
}
:is(.rich-copy, .wysiwyg-editor .ql-editor) li > .ql-ui { display: none; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) li::before {
    position: absolute;
    left: 0;
    width: 1.2em;
    text-align: right;
    white-space: nowrap;
}
:is(.rich-copy, .wysiwyg-editor .ql-editor) ul > li::before,
:is(.rich-copy, .wysiwyg-editor .ql-editor) li[data-list="bullet"]::before { content: "•"; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) li[data-list="checked"]::before { content: "☑"; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) li[data-list="unchecked"]::before { content: "☐"; }

:is(.rich-copy, .wysiwyg-editor .ql-editor),
:is(.rich-copy, .wysiwyg-editor .ql-editor) :is(ol, ul, p, h2, h3, h4) { counter-reset: cms-list-0 cms-list-1 cms-list-2 cms-list-3 cms-list-4 cms-list-5 cms-list-6 cms-list-7 cms-list-8; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) ol > li:not([data-list="bullet"]):not([data-list="checked"]):not([data-list="unchecked"]) { counter-increment: cms-list-0; counter-set: cms-list-1 0 cms-list-2 0 cms-list-3 0 cms-list-4 0 cms-list-5 0 cms-list-6 0 cms-list-7 0 cms-list-8 0; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) ol > li:not([data-list="bullet"]):not([data-list="checked"]):not([data-list="unchecked"])::before { content: counter(cms-list-0, decimal) "."; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) ol > li.ql-indent-1:not([data-list="bullet"]):not([data-list="checked"]):not([data-list="unchecked"]) { counter-increment: cms-list-1; counter-set: cms-list-2 0 cms-list-3 0 cms-list-4 0 cms-list-5 0 cms-list-6 0 cms-list-7 0 cms-list-8 0; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) ol > li.ql-indent-1:not([data-list="bullet"]):not([data-list="checked"]):not([data-list="unchecked"])::before { content: counter(cms-list-1, lower-alpha) "."; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) .ql-indent-1 { margin-left: 0; padding-left: 3em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) li.ql-indent-1 { padding-left: 4.5em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) li.ql-indent-1::before { left: 3em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) ol > li.ql-indent-2:not([data-list="bullet"]):not([data-list="checked"]):not([data-list="unchecked"]) { counter-increment: cms-list-2; counter-set: cms-list-3 0 cms-list-4 0 cms-list-5 0 cms-list-6 0 cms-list-7 0 cms-list-8 0; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) ol > li.ql-indent-2:not([data-list="bullet"]):not([data-list="checked"]):not([data-list="unchecked"])::before { content: counter(cms-list-2, lower-roman) "."; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) .ql-indent-2 { margin-left: 0; padding-left: 6em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) li.ql-indent-2 { padding-left: 7.5em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) li.ql-indent-2::before { left: 6em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) ol > li.ql-indent-3:not([data-list="bullet"]):not([data-list="checked"]):not([data-list="unchecked"]) { counter-increment: cms-list-3; counter-set: cms-list-4 0 cms-list-5 0 cms-list-6 0 cms-list-7 0 cms-list-8 0; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) ol > li.ql-indent-3:not([data-list="bullet"]):not([data-list="checked"]):not([data-list="unchecked"])::before { content: counter(cms-list-3, decimal) "."; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) .ql-indent-3 { margin-left: 0; padding-left: 9em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) li.ql-indent-3 { padding-left: 10.5em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) li.ql-indent-3::before { left: 9em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) ol > li.ql-indent-4:not([data-list="bullet"]):not([data-list="checked"]):not([data-list="unchecked"]) { counter-increment: cms-list-4; counter-set: cms-list-5 0 cms-list-6 0 cms-list-7 0 cms-list-8 0; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) ol > li.ql-indent-4:not([data-list="bullet"]):not([data-list="checked"]):not([data-list="unchecked"])::before { content: counter(cms-list-4, lower-alpha) "."; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) .ql-indent-4 { margin-left: 0; padding-left: 12em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) li.ql-indent-4 { padding-left: 13.5em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) li.ql-indent-4::before { left: 12em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) ol > li.ql-indent-5:not([data-list="bullet"]):not([data-list="checked"]):not([data-list="unchecked"]) { counter-increment: cms-list-5; counter-set: cms-list-6 0 cms-list-7 0 cms-list-8 0; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) ol > li.ql-indent-5:not([data-list="bullet"]):not([data-list="checked"]):not([data-list="unchecked"])::before { content: counter(cms-list-5, lower-roman) "."; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) .ql-indent-5 { margin-left: 0; padding-left: 15em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) li.ql-indent-5 { padding-left: 16.5em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) li.ql-indent-5::before { left: 15em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) ol > li.ql-indent-6:not([data-list="bullet"]):not([data-list="checked"]):not([data-list="unchecked"]) { counter-increment: cms-list-6; counter-set: cms-list-7 0 cms-list-8 0; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) ol > li.ql-indent-6:not([data-list="bullet"]):not([data-list="checked"]):not([data-list="unchecked"])::before { content: counter(cms-list-6, decimal) "."; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) .ql-indent-6 { margin-left: 0; padding-left: 18em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) li.ql-indent-6 { padding-left: 19.5em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) li.ql-indent-6::before { left: 18em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) ol > li.ql-indent-7:not([data-list="bullet"]):not([data-list="checked"]):not([data-list="unchecked"]) { counter-increment: cms-list-7; counter-set: cms-list-8 0; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) ol > li.ql-indent-7:not([data-list="bullet"]):not([data-list="checked"]):not([data-list="unchecked"])::before { content: counter(cms-list-7, lower-alpha) "."; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) .ql-indent-7 { margin-left: 0; padding-left: 21em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) li.ql-indent-7 { padding-left: 22.5em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) li.ql-indent-7::before { left: 21em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) ol > li.ql-indent-8:not([data-list="bullet"]):not([data-list="checked"]):not([data-list="unchecked"]) { counter-increment: cms-list-8; counter-set: none; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) ol > li.ql-indent-8:not([data-list="bullet"]):not([data-list="checked"]):not([data-list="unchecked"])::before { content: counter(cms-list-8, lower-roman) "."; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) .ql-indent-8 { margin-left: 0; padding-left: 24em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) li.ql-indent-8 { padding-left: 25.5em; }
:is(.rich-copy, .wysiwyg-editor .ql-editor) li.ql-indent-8::before { left: 24em; }

/* Editors grow in normal document flow, so long text never covers later fields. */
.wysiwyg-shell { min-width: 0; }
.wysiwyg-editor.ql-container { height: auto; min-height: 200px; }
.wysiwyg-editor .ql-editor { height: auto; min-height: 200px; overflow-y: visible; }
.wysiwyg-editor .ql-editor:focus-visible {
    outline: 2px solid var(--theme-secondary, #0f3d2e);
    outline-offset: -2px;
}
.wysiwyg-shell .ql-toolbar { position: relative; z-index: 1; }
.wysiwyg-shell .ql-toolbar button:focus-visible,
.wysiwyg-shell .ql-picker-label:focus-visible,
.wysiwyg-shell .ql-picker-item:focus-visible {
    outline: 2px solid var(--theme-secondary, #0f3d2e);
    outline-offset: 1px;
}
