:root {
    --rpns-dx-surface: #fffdf8;
    --rpns-dx-surface-alt: #f6efe5;
    --rpns-dx-surface-muted: #f3f0ea;
    --rpns-dx-border: #c9bba7;
    --rpns-dx-border-strong: #9f2b26;
    --rpns-dx-accent: #9f2b26;
    --rpns-dx-accent-dark: #7f211d;
    --rpns-dx-accent-soft: rgba(159, 43, 38, 0.1);
    --rpns-dx-highlight: #ffcc00;
    --rpns-dx-highlight-soft: rgba(255, 204, 0, 0.22);
    --rpns-dx-text: #111111;
    --rpns-dx-text-muted: #5e4f43;
    --rpns-dx-success: #1f5a3f;
    --rpns-dx-danger: #8f1414;
    --rpns-dx-shadow: 0 12px 28px rgba(41, 24, 16, 0.12);
    --rpns-dx-shadow-soft: 0 6px 18px rgba(41, 24, 16, 0.08);

    --dx-texteditor-color-text: var(--rpns-dx-text);
    --dx-texteditor-color-label: var(--rpns-dx-text-muted);
}

body.rpns-body .dx-viewport,
body.rpns-body .dx-widget,
body.rpns-body .dx-overlay,
body.rpns-body .dx-overlay-wrapper,
body.rpns-body .dx-theme-generic-typography {
    color: var(--rpns-dx-text);
    font-family: var(--rpns-font-base);
}

body.rpns-body .dx-theme-generic-typography a,
body.rpns-body .dx-link {
    color: var(--rpns-dx-accent);
}

body.rpns-body .dx-link:hover {
    color: var(--rpns-dx-accent-dark);
}

body.rpns-body .dx-icon {
    color: inherit;
}

body.rpns-body .dx-widget,
body.rpns-body .dx-overlay-content,
body.rpns-body .dx-datagrid,
body.rpns-body .dx-treeview,
body.rpns-body .dx-list,
body.rpns-body .dx-popup-content,
body.rpns-body .dx-menu-base {
    border-color: var(--rpns-dx-border);
}

body.rpns-body .dx-field-item-label-text,
body.rpns-body .dx-field-item-label-content,
body.rpns-body .dx-form-group-caption,
body.rpns-body .dx-datagrid-text-content,
body.rpns-body .dx-list-group-header,
body.rpns-body .dx-tab-text,
body.rpns-body .dx-toolbar-label {
    font-family: var(--rpns-font-ui);
    letter-spacing: 0.03em;
}

body.rpns-body .dx-texteditor,
body.rpns-body .dx-dropdowneditor,
body.rpns-body .dx-searchbox,
body.rpns-body .dx-tagbox,
body.rpns-body .dx-datebox,
body.rpns-body .dx-numberbox,
body.rpns-body .dx-colorbox {
    background: var(--rpns-dx-surface);
    border: 1px solid var(--rpns-dx-border);
    border-radius: 14px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
    transition: border-color 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}

body.rpns-body .dx-texteditor-input,
body.rpns-body .dx-placeholder {
    color: var(--rpns-dx-text);
}

body.rpns-body .dx-placeholder::before,
body.rpns-body .dx-texteditor .dx-placeholder {
    color: var(--rpns-dx-text-muted);
}

body.rpns-body .dx-texteditor-input::placeholder {
    color: transparent;
}

body.rpns-body .dx-editor-filled,
body.rpns-body .dx-editor-outlined {
    background: var(--rpns-dx-surface);
}

body.rpns-body .dx-state-hover.dx-texteditor,
body.rpns-body .dx-texteditor.dx-state-hover,
body.rpns-body .dx-dropdowneditor.dx-state-hover {
    border-color: #b98968;
    background: #fffaf1;
}

body.rpns-body .dx-state-focused.dx-texteditor,
body.rpns-body .dx-texteditor.dx-state-focused,
body.rpns-body .dx-dropdowneditor.dx-state-focused,
body.rpns-body .dx-editor-filled.dx-state-focused,
body.rpns-body .dx-editor-outlined.dx-state-focused {
    border-color: var(--rpns-dx-border-strong);
    box-shadow: 0 0 0 3px var(--rpns-dx-highlight-soft), 0 0 0 1px var(--rpns-dx-border-strong);
}

body.rpns-body .dx-dropdowneditor-button,
body.rpns-body .dx-texteditor-buttons-container {
    border-radius: 0 14px 14px 0;
}

body.rpns-body .dx-button,
body.rpns-body .dx-button-has-icon,
body.rpns-body .dx-calendar-navigator .dx-button,
body.rpns-body .dx-popup-done,
body.rpns-body .dx-popup-cancel {
    border-radius: 999px;
    font-family: var(--rpns-font-ui);
    font-weight: 600;
    letter-spacing: 0.04em;
}

body.rpns-body .dx-button-mode-contained,
body.rpns-body .dx-button-default,
body.rpns-body .dx-button-success,
body.rpns-body .dx-button-danger {
    border: 1px solid transparent;
    box-shadow: var(--rpns-dx-shadow-soft);
}

body.rpns-body .dx-button-mode-contained.dx-button-default,
body.rpns-body .dx-popup-done,
body.rpns-body .dx-fileuploader-button {
    background: linear-gradient(180deg, #b63a33 0%, var(--rpns-dx-accent) 100%);
    color: #ffffff;
}

body.rpns-body .dx-button-mode-contained.dx-button-default .dx-icon,
body.rpns-body .dx-popup-done .dx-icon,
body.rpns-body .dx-fileuploader-button .dx-icon {
    color: #ffffff;
}

body.rpns-body .dx-button-mode-contained.dx-button-normal {
    background: #ffffff;
    color: var(--rpns-dx-text);
}

body.rpns-body .dx-button-mode-contained.dx-button-normal .dx-icon {
    color: var(--rpns-dx-text-muted);
}

body.rpns-body .dx-button-mode-contained.dx-button-success {
    background: linear-gradient(180deg, #2c714e 0%, var(--rpns-dx-success) 100%);
    color: #ffffff;
}

body.rpns-body .dx-button-mode-contained.dx-button-danger {
    background: linear-gradient(180deg, #b22828 0%, var(--rpns-dx-danger) 100%);
    color: #ffffff;
}

body.rpns-body .dx-button-mode-outlined,
body.rpns-body .dx-button-mode-text {
    border-color: rgba(159, 43, 38, 0.25);
    color: var(--rpns-dx-accent);
    background: rgba(255, 255, 255, 0.7);
}

body.rpns-body .dx-button.dx-state-hover {
    box-shadow: 0 0 0 3px var(--rpns-dx-highlight-soft), var(--rpns-dx-shadow-soft);
}

/* Was identical to :hover and built on --rpns-dx-highlight-soft
   (rgba(255,204,0,0.22), ~1.08:1) — no perceptible focus state. Maroon gives
   7.25:1 and is now visually distinct from hover. */
body.rpns-body .dx-button.dx-state-focused {
    outline: 2px solid var(--rpns-dx-accent);
    outline-offset: 2px;
    box-shadow: var(--rpns-dx-shadow-soft);
}

body.rpns-body .dx-button-mode-contained.dx-button-default.dx-state-hover,
body.rpns-body .dx-button-mode-contained.dx-button-default.dx-state-active {
    background: linear-gradient(180deg, #8f2d28 0%, var(--rpns-dx-accent-dark) 100%);
}

body.rpns-body .dx-button-mode-contained.dx-button-success.dx-state-hover,
body.rpns-body .dx-button-mode-contained.dx-button-success.dx-state-active {
    background: linear-gradient(180deg, #245c40 0%, #174730 100%);
}

body.rpns-body .dx-button-mode-contained.dx-button-danger.dx-state-hover,
body.rpns-body .dx-button-mode-contained.dx-button-danger.dx-state-active {
    background: linear-gradient(180deg, #982020 0%, #711111 100%);
}

body.rpns-body .dx-checkbox-icon,
body.rpns-body .dx-radiobutton-icon,
body.rpns-body .dx-switch-handle,
body.rpns-body .dx-switch-container {
    border-color: var(--rpns-dx-border);
}

body.rpns-body .dx-radiobutton-checked .dx-radiobutton-icon-dot,
body.rpns-body .dx-switch-on .dx-switch-handle {
    background-color: var(--rpns-dx-accent);
}

body.rpns-body .dx-radiobutton-checked .dx-radiobutton-icon,
body.rpns-body .dx-switch-on .dx-switch-container {
    border-color: var(--rpns-dx-accent);
}

body.rpns-body .dx-checkbox-icon {
    border-radius: 5px;
    background-color: #fffdf8;
}

body.rpns-body .dx-checkbox-checked .dx-checkbox-icon {
    background-color: var(--rpns-dx-success);
    border-color: var(--rpns-dx-success);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18);
    color: #ffffff;
}

body.rpns-body .dx-checkbox-checked .dx-checkbox-icon::before {
    color: #ffffff;
}

body.rpns-body .dx-tabpanel,
body.rpns-body .dx-tabs-wrapper,
body.rpns-body .dx-tabs,
body.rpns-body .dx-tabpanel-container {
    background: transparent;
}

body.rpns-body .dx-tab {
    min-height: 46px;
    padding-inline: 1rem;
    border-radius: 12px 12px 0 0;
    color: var(--rpns-dx-text-muted);
}

body.rpns-body .dx-tab.dx-state-hover {
    background: rgba(159, 43, 38, 0.06);
    color: var(--rpns-dx-accent);
}

body.rpns-body .dx-tab-selected,
body.rpns-body .dx-tab-selected.dx-state-focused {
    background: linear-gradient(180deg, rgba(159, 43, 38, 0.08) 0%, rgba(159, 43, 38, 0.14) 100%);
    color: var(--rpns-dx-accent);
}

body.rpns-body .dx-tabs-indicator {
    background-color: var(--rpns-dx-highlight);
    height: 3px;
    border-radius: 999px;
}

body.rpns-body .dx-popup-content,
body.rpns-body .dx-popup-normal,
body.rpns-body .dx-overlay-content,
body.rpns-body .dx-menu-base,
body.rpns-body .dx-context-menu .dx-submenu,
body.rpns-body .dx-dropdownlist-popup-wrapper .dx-overlay-content,
body.rpns-body .dx-lookup-popup-wrapper .dx-overlay-content {
    background: var(--rpns-dx-surface);
    border: 1px solid var(--rpns-dx-border);
    border-radius: 18px;
    box-shadow: var(--rpns-dx-shadow);
}

body.rpns-body .dx-popup-title,
body.rpns-body .dx-toolbar,
body.rpns-body .dx-datagrid-header-panel,
body.rpns-body .dx-datagrid-toolbar {
    background: linear-gradient(180deg, #2f2723 0%, #171411 100%);
    color: #ffffff;
}

body.rpns-body .dx-toolbar .dx-button-mode-text,
body.rpns-body .dx-toolbar .dx-link,
body.rpns-body .dx-toolbar .dx-icon,
body.rpns-body .dx-popup-title .dx-icon,
body.rpns-body .dx-datagrid-header-panel .dx-link,
body.rpns-body .dx-datagrid-header-panel .dx-icon {
    color: #ffffff;
}

body.rpns-body .dx-list-item,
body.rpns-body .dx-menu-item,
body.rpns-body .dx-item-content,
body.rpns-body .dx-accordion-item,
body.rpns-body .dx-treeview-item {
    border-color: rgba(201, 187, 167, 0.6);
}

body.rpns-body .dx-list-item.dx-state-hover,
body.rpns-body .dx-menu-item.dx-state-hover,
body.rpns-body .dx-treeview-item.dx-state-hover,
body.rpns-body .dx-accordion-item-title.dx-state-hover {
    background: rgba(159, 43, 38, 0.06);
    color: var(--rpns-dx-accent);
}

body.rpns-body .dx-list-item.dx-list-item-selected,
body.rpns-body .dx-menu-item-selected,
body.rpns-body .dx-treeview-item.dx-state-selected,
body.rpns-body .dx-accordion-item-opened > .dx-accordion-item-title {
    background: linear-gradient(180deg, rgba(255, 204, 0, 0.14) 0%, rgba(159, 43, 38, 0.08) 100%);
    color: var(--rpns-dx-text);
}

body.rpns-body .dx-datagrid,
body.rpns-body .dx-treelist,
body.rpns-body .dx-cardview {
    background: var(--rpns-dx-surface);
    border: 1px solid var(--rpns-dx-border);
    border-radius: 18px;
    box-shadow: var(--rpns-dx-shadow-soft);
    overflow: hidden;
}

body.rpns-body .dx-datagrid .dx-datagrid-header-panel,
body.rpns-body .dx-datagrid .dx-toolbar {
    min-height: 64px;
}

body.rpns-body .dx-datagrid .dx-toolbar-items-container {
    height: 64px;
    min-height: 64px;
    padding-inline: 0.75rem;
}

body.rpns-body .dx-datagrid .dx-toolbar-before,
body.rpns-body .dx-datagrid .dx-toolbar-center,
body.rpns-body .dx-datagrid .dx-toolbar-after {
    top: 50%;
    height: auto;
    transform: translateY(-50%);
}

body.rpns-body .dx-datagrid .dx-toolbar-after {
    padding-inline-end: 0.75rem;
}

body.rpns-body .dx-datagrid .dx-toolbar-item,
body.rpns-body .dx-datagrid .dx-toolbar-item-content {
    vertical-align: middle;
}

body.rpns-body .dx-datagrid .dx-datagrid-search-panel {
    margin: 0;
}

body.rpns-body .dx-datagrid .dx-toolbar .dx-searchbox {
    width: min(320px, 100%);
    height: 42px;
    min-height: 42px;
    max-height: 42px;
    background: #fffdf8;
    border-color: rgba(201, 187, 167, 0.9);
    border-radius: 8px;
    box-shadow: none;
}

body.rpns-body .dx-datagrid .dx-toolbar .dx-searchbox .dx-texteditor-container {
    height: 100%;
    align-items: center;
}

body.rpns-body .dx-datagrid .dx-toolbar .dx-searchbox .dx-texteditor-input {
    min-height: 40px;
    padding-block: 0.4rem;
}

body.rpns-body .dx-datagrid .dx-toolbar .dx-searchbox .dx-icon,
body.rpns-body .dx-datagrid .dx-toolbar .dx-searchbox .dx-placeholder,
body.rpns-body .dx-datagrid .dx-toolbar .dx-searchbox .dx-texteditor-input {
    color: var(--rpns-dx-text-muted);
}

body.rpns-body .dx-datagrid-headers,
body.rpns-body .dx-treelist-headers,
body.rpns-body .dx-header-row {
    background: #f5eee4;
    color: var(--rpns-dx-text);
    border-bottom-color: var(--rpns-dx-border);
}

body.rpns-body .dx-datagrid .dx-header-row > td,
body.rpns-body .dx-treelist .dx-header-row > td {
    padding: 0.7rem 0.85rem;
    font-family: var(--rpns-font-ui);
    font-weight: 600;
    letter-spacing: 0.02em;
    vertical-align: middle;
}

body.rpns-body .dx-header-row > td,
body.rpns-body .dx-datagrid-filter-row > td,
body.rpns-body .dx-datagrid-rowsview .dx-row > td,
body.rpns-body .dx-treelist-rowsview .dx-row > td {
    border-color: rgba(201, 187, 167, 0.58);
}

body.rpns-body .dx-datagrid-filter-row > td {
    padding: 0.25rem 0.35rem;
    vertical-align: middle;
}

body.rpns-body .dx-datagrid-rowsview .dx-row > td,
body.rpns-body .dx-treelist-rowsview .dx-row > td {
    padding: 0.65rem 0.85rem;
    vertical-align: middle;
}

body.rpns-body .dx-datagrid-rowsview,
body.rpns-body .dx-treelist-rowsview,
body.rpns-body .dx-scrollable-content {
    background: var(--rpns-dx-surface);
}

body.rpns-body .dx-datagrid-rowsview .dx-row.dx-data-row > td,
body.rpns-body .dx-treelist-rowsview .dx-row.dx-data-row > td {
    background: #fffdf8;
}

body.rpns-body .dx-datagrid-rowsview .dx-row.dx-data-row:nth-child(even) > td,
body.rpns-body .dx-datagrid-rowsview .dx-row.dx-data-row.dx-row-alt > td,
body.rpns-body .dx-treelist-rowsview .dx-row.dx-data-row:nth-child(even) > td,
body.rpns-body .dx-treelist-rowsview .dx-row.dx-data-row.dx-row-alt > td {
    background: #faf4ea;
}

body.rpns-body .dx-row.dx-data-row.dx-state-hover > td,
body.rpns-body .dx-row.dx-data-row.dx-selection > td,
body.rpns-body .dx-row-focused > td,
body.rpns-body .dx-datagrid-rowsview .dx-selection.dx-row:not(.dx-row-inserted) > td,
body.rpns-body .dx-treelist-rowsview .dx-selection.dx-row:not(.dx-row-inserted) > td {
    background: linear-gradient(180deg, rgba(255, 204, 0, 0.12) 0%, rgba(159, 43, 38, 0.06) 100%);
    color: var(--rpns-dx-text);
}

/* Gold (--rpns-dx-highlight) is 1.50:1 on the #fffdf8 grid surface; the accent
   maroon is 7.25:1. Applies to the SelectProperty grid on the public site. */
body.rpns-body .dx-focused.dx-cell-focus-disabled,
body.rpns-body td.dx-focused,
body.rpns-body .dx-state-focused:not(.dx-button) {
    outline: 2px solid var(--rpns-dx-accent);
    outline-offset: -2px;
}

body.rpns-body .dx-datagrid-filter-row .dx-editor-with-menu,
body.rpns-body .dx-datagrid-filter-row .dx-texteditor {
    background: #fffdfa;
}

body.rpns-body .dx-datagrid-filter-row .dx-texteditor,
body.rpns-body .dx-datagrid-filter-row .dx-dropdowneditor,
body.rpns-body .dx-datagrid-filter-row .dx-selectbox {
    min-height: 34px;
    border-radius: 6px;
    box-shadow: none;
}

body.rpns-body .dx-datagrid-filter-row .dx-texteditor-input {
    min-height: 32px;
    padding-block: 0.35rem;
}

body.rpns-body .dx-datagrid-filter-row .dx-menu,
body.rpns-body .dx-datagrid-filter-row .dx-menu-base,
body.rpns-body .dx-datagrid-filter-row .dx-menu-items-container {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

body.rpns-body .dx-datagrid-filter-row .dx-menu-item,
body.rpns-body .dx-datagrid-filter-row .dx-menu-item-content {
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--rpns-dx-text-muted);
}

body.rpns-body .dx-datagrid-filter-row .dx-menu-item.dx-state-hover,
body.rpns-body .dx-datagrid-filter-row .dx-menu-item.dx-state-focused {
    background: rgba(159, 43, 38, 0.08);
    color: var(--rpns-dx-accent);
}

body.rpns-body .dx-datagrid-filter-row .dx-menu-item .dx-icon,
body.rpns-body .dx-datagrid-filter-row .dx-editor-with-menu .dx-icon,
body.rpns-body .dx-datagrid-filter-row .dx-dropdowneditor-icon {
    color: var(--rpns-dx-text-muted);
}

body.rpns-body .dx-datagrid-summary-item,
body.rpns-body .dx-pager,
body.rpns-body .dx-page,
body.rpns-body .dx-page-size {
    color: var(--rpns-dx-text);
}

body.rpns-body .dx-page,
body.rpns-body .dx-page-size {
    border-radius: 999px;
}

body.rpns-body .dx-page.dx-selection,
body.rpns-body .dx-page-size.dx-selection {
    background: var(--rpns-dx-accent);
    color: #ffffff;
}

body.rpns-body .dx-loadpanel-content,
body.rpns-body .dx-loadpanel-pane {
    background: rgba(23, 20, 17, 0.94);
    color: #ffffff;
    border-radius: 18px;
    box-shadow: var(--rpns-dx-shadow);
}

body.rpns-body .dx-loadindicator-icon .dx-loadindicator-segment,
body.rpns-body .dx-loadindicator-content .dx-loadindicator-segment {
    background-color: var(--rpns-dx-highlight);
}

body.rpns-body .dx-invalid,
body.rpns-body .dx-texteditor.dx-invalid,
body.rpns-body .dx-dropdowneditor.dx-invalid {
    border-color: var(--rpns-dx-danger);
}

body.rpns-body .dx-invalid-message > .dx-overlay-content,
body.rpns-body .dx-overlay-wrapper .dx-invalid-message > .dx-overlay-content {
    background: #fff4f4;
    color: var(--rpns-dx-danger);
    border: 1px solid rgba(143, 20, 20, 0.2);
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(143, 20, 20, 0.12);
}

body.rpns-body .dx-state-disabled,
body.rpns-body .dx-widget:disabled,
body.rpns-body .dx-texteditor.dx-state-disabled {
    opacity: 0.65;
}

@media (max-width: 767.98px) {
    body.rpns-body .dx-popup-content,
    body.rpns-body .dx-overlay-content,
    body.rpns-body .dx-datagrid,
    body.rpns-body .dx-treelist,
    body.rpns-body .dx-cardview {
        border-radius: 14px;
    }

    body.rpns-body .dx-tab {
        min-height: 42px;
        padding-inline: 0.75rem;
    }
}

/* HTML editor (dxHtmlEditor) — keep the formatting toolbar light and make the
   editing surface match the website. The generic `.dx-toolbar` rule above paints
   every toolbar with a dark gradient (intended for grid headers / popup titles);
   these `.dx-htmleditor` selectors outrank it so the editor toolbar stays light. */
body.rpns-body .dx-htmleditor {
    background: var(--rpns-dx-surface);
    border: 1px solid var(--rpns-dx-border);
    border-radius: 14px;
    overflow: hidden;
}

body.rpns-body .dx-htmleditor .dx-toolbar,
body.rpns-body .dx-htmleditor-toolbar-wrapper .dx-toolbar {
    background: var(--rpns-dx-surface-alt);
    color: var(--rpns-dx-text);
    border-bottom: 1px solid var(--rpns-dx-border);
    border-radius: 14px 14px 0 0;
}

body.rpns-body .dx-htmleditor .dx-toolbar .dx-icon,
body.rpns-body .dx-htmleditor .dx-toolbar .dx-button-mode-text,
body.rpns-body .dx-htmleditor .dx-toolbar .dx-button .dx-icon {
    color: var(--rpns-dx-text);
}

body.rpns-body .dx-htmleditor .dx-toolbar .dx-button.dx-state-hover {
    background: rgba(159, 43, 38, 0.08);
}

/* Active/applied format buttons use the brand accent */
body.rpns-body .dx-htmleditor .dx-toolbar .dx-format-active .dx-icon,
body.rpns-body .dx-htmleditor .dx-toolbar .dx-button.dx-format-active .dx-icon,
body.rpns-body .dx-htmleditor .dx-toolbar .dx-button.dx-state-active .dx-icon {
    color: var(--rpns-dx-accent);
}

/* Embedded format/size pickers (dxSelectBox) — light field with readable text */
body.rpns-body .dx-htmleditor .dx-toolbar .dx-selectbox,
body.rpns-body .dx-htmleditor-toolbar-format {
    background: #fffdf8;
    border: 1px solid var(--rpns-dx-border);
    border-radius: 8px;
    box-shadow: none;
}

body.rpns-body .dx-htmleditor .dx-toolbar .dx-selectbox .dx-texteditor-input,
body.rpns-body .dx-htmleditor .dx-toolbar .dx-selectbox .dx-placeholder,
body.rpns-body .dx-htmleditor .dx-toolbar .dx-selectbox .dx-dropdowneditor-icon,
body.rpns-body .dx-htmleditor-toolbar-format .dx-texteditor-input {
    color: var(--rpns-dx-text);
}

body.rpns-body .dx-htmleditor .dx-toolbar .dx-toolbar-separator,
body.rpns-body .dx-htmleditor .dx-htmleditor-toolbar-separator {
    border-color: var(--rpns-dx-border);
}

/* Editing surface should match how the TOU renders on the site.
   The public TOU pages render the HTML inside `.rpns-terms__body`, which inherits
   Bootstrap 5.3.3 reboot typography plus that class's small overrides. dx.light.css
   instead resets `margin/padding:0` on block elements and uses line-height 1.42, so
   the values below restate Bootstrap reboot + `.rpns-terms__body` (site.css) at higher
   specificity. Keep in sync with those sources if Bootstrap is upgraded. */
body.rpns-body .dx-htmleditor .dx-htmleditor-content {
    background: linear-gradient(180deg, #fffdf9 0%, #ffffff 100%);
    color: var(--rpns-color-ink);
    font-family: var(--rpns-font-base);
    font-size: 1rem;
    line-height: 1.5;
    padding: 1.5rem;
}

body.rpns-body .dx-htmleditor .dx-htmleditor-content h1,
body.rpns-body .dx-htmleditor .dx-htmleditor-content h2,
body.rpns-body .dx-htmleditor .dx-htmleditor-content h3,
body.rpns-body .dx-htmleditor .dx-htmleditor-content h4,
body.rpns-body .dx-htmleditor .dx-htmleditor-content h5,
body.rpns-body .dx-htmleditor .dx-htmleditor-content h6 {
    margin: 0 0 0.5rem;
    font-weight: 500;
    line-height: 1.2;
}

body.rpns-body .dx-htmleditor .dx-htmleditor-content h1,
body.rpns-body .dx-htmleditor .dx-htmleditor-content h2,
body.rpns-body .dx-htmleditor .dx-htmleditor-content h3,
body.rpns-body .dx-htmleditor .dx-htmleditor-content h4 {
    font-family: var(--rpns-font-ui);
}

body.rpns-body .dx-htmleditor .dx-htmleditor-content h1 { font-size: calc(1.375rem + 1.5vw); }
body.rpns-body .dx-htmleditor .dx-htmleditor-content h2 { font-size: calc(1.325rem + 0.9vw); }
body.rpns-body .dx-htmleditor .dx-htmleditor-content h3 { font-size: calc(1.3rem + 0.6vw); }
body.rpns-body .dx-htmleditor .dx-htmleditor-content h4 { font-size: calc(1.275rem + 0.3vw); }
body.rpns-body .dx-htmleditor .dx-htmleditor-content h5 { font-size: 1.25rem; }
body.rpns-body .dx-htmleditor .dx-htmleditor-content h6 { font-size: 1rem; }

@media (min-width: 1200px) {
    body.rpns-body .dx-htmleditor .dx-htmleditor-content h1 { font-size: 2.5rem; }
    body.rpns-body .dx-htmleditor .dx-htmleditor-content h2 { font-size: 2rem; }
    body.rpns-body .dx-htmleditor .dx-htmleditor-content h3 { font-size: 1.75rem; }
    body.rpns-body .dx-htmleditor .dx-htmleditor-content h4 { font-size: 1.5rem; }
}

body.rpns-body .dx-htmleditor .dx-htmleditor-content p,
body.rpns-body .dx-htmleditor .dx-htmleditor-content ul,
body.rpns-body .dx-htmleditor .dx-htmleditor-content ol,
body.rpns-body .dx-htmleditor .dx-htmleditor-content blockquote,
body.rpns-body .dx-htmleditor .dx-htmleditor-content pre {
    margin: 0 0 1rem;
}

body.rpns-body .dx-htmleditor .dx-htmleditor-content ul,
body.rpns-body .dx-htmleditor .dx-htmleditor-content ol {
    padding-inline-start: 2rem;
}

body.rpns-body .dx-htmleditor .dx-htmleditor-content ul ul,
body.rpns-body .dx-htmleditor .dx-htmleditor-content ul ol,
body.rpns-body .dx-htmleditor .dx-htmleditor-content ol ul,
body.rpns-body .dx-htmleditor .dx-htmleditor-content ol ol {
    margin-bottom: 0;
}

body.rpns-body .dx-htmleditor .dx-htmleditor-content > :first-child {
    margin-top: 0;
}

body.rpns-body .dx-htmleditor .dx-htmleditor-content > :last-child {
    margin-bottom: 0;
}

body.rpns-body .dx-htmleditor .dx-htmleditor-content a {
    color: var(--rpns-color-maroon);
    overflow-wrap: anywhere;
}
