:root {
	--sbpw-blue: #2e86ab;
	--sbpw-magenta: #b03b8f;
	--sbpw-magenta-alt: #ba5c9f;
	--sbpw-magenta-dark: #91256f;
	--sbpw-gray-100: #fafafa;
	--sbpw-gray-200: #f5f5f5;
	--sbpw-gray-300: #e5e5e5;
	--sbpw-gray-400: #e0e0e0;
	--sbpw-gray-500: #a2a2a2;
	--sbpw-text: #434343;
	--sbpw-white: #ffffff;
	--sbpw-error: #d63638;
	--sbpw-success: #2e7d32;
	--sbpw-warning: #dba617;
	--sbpw-surface: #ffffff;
	--sbpw-surface-soft: #f7f7f7;
	--sbpw-border: #d8d8d8;
	--sbpw-muted: #777777;
	--sbpw-link: #a0327e;
	--sbpw-link-hover: #75225c;
	--sbpw-footer-surface: #f5f5f5;
	--sbpw-heading-surface: var(--sbpw-blue);
	--sbpw-article-title-background: #1f6f8b;
	--sbpw-article-title-text: #ffffff;
	--sbpw-article-h1-background: #eaf4f7;
	--sbpw-article-h1-accent: #2e86ab;
	--sbpw-article-h1-text: #1f2933;
	--sbpw-article-h2-background: #f7eef4;
	--sbpw-article-h2-accent: #b03b8f;
	--sbpw-article-h2-text: #5f204d;
	--sbpw-article-h3-text: #1f6f8b;
	--sbpw-article-h4-text: #434343;
	--sbpw-radius: 3px;
	--sbpw-font: "Nunito Sans", "Segoe UI", Arial, sans-serif;
}

:root[data-sbpw-theme="dark"] {
	--sbpw-blue: #63b6d5;
	--sbpw-magenta: #e37ac4;
	--sbpw-magenta-alt: #dc8bc4;
	--sbpw-magenta-dark: #c75ba7;
	--sbpw-gray-100: #20242a;
	--sbpw-gray-200: #292e35;
	--sbpw-gray-300: #3b424b;
	--sbpw-gray-400: #49515b;
	--sbpw-gray-500: #89919b;
	--sbpw-text: #e6e8eb;
	--sbpw-surface: #181b20;
	--sbpw-surface-soft: #22262c;
	--sbpw-border: #424953;
	--sbpw-muted: #abb1b9;
	--sbpw-link: #e37ac4;
	--sbpw-link-hover: #f1a2d9;
	--sbpw-footer-surface: #22262c;
	--sbpw-heading-surface: #56616d;
	--sbpw-article-title-background: #315f73;
	--sbpw-article-title-text: #ffffff;
	--sbpw-article-h1-background: #223039;
	--sbpw-article-h1-accent: #63b6d5;
	--sbpw-article-h1-text: #f2f4f6;
	--sbpw-article-h2-background: #302630;
	--sbpw-article-h2-accent: #e37ac4;
	--sbpw-article-h2-text: #f0c9e4;
	--sbpw-article-h3-text: #8fd3ec;
	--sbpw-article-h4-text: #d0d5da;
	--sbpw-error: #ff7779;
	--sbpw-success: #71c978;
	color-scheme: dark;
}

html[data-sbpw-theme="dark"],
html[data-sbpw-theme="dark"] body,
html[data-sbpw-theme="dark"] #page-container,
html[data-sbpw-theme="dark"] #main-content,
html[data-sbpw-theme="dark"] .et_pb_section,
html[data-sbpw-theme="dark"] .et_pb_row {
	background-color: var(--sbpw-surface) !important;
	color: var(--sbpw-text);
}

html[data-sbpw-theme="dark"] :is(h1, h2, h3, h4, h5, h6, p, li) {
	border-color: var(--sbpw-border);
	color: var(--sbpw-text);
}

html[data-sbpw-theme="dark"] :is(input, textarea, select) {
	background-color: var(--sbpw-surface-soft);
	border-color: var(--sbpw-border);
	color: var(--sbpw-text);
}

html[data-sbpw-theme="dark"] :is(input, textarea)::placeholder {
	color: var(--sbpw-muted);
}

body,
#page-container,
#main-content,
.et_pb_section,
.et_pb_row,
.sbpw-header-row,
.sbpw-dropdown-menu,
.sbpw-table-component,
.sbpw-editor,
.sbpw-terms-manager {
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

/* Component-level dark surfaces and typography. */
html[data-sbpw-theme="dark"] :is(
	.sbpw-breadcrumb,
	.sbpw-post-list,
	.sbpw-edit-bar,
	.sbpw-table-component,
	.sbpw-category-filter,
	.sbpw-subcategory-filter,
	.sbpw-editor,
	.sbpw-structure-counts,
	.sbpw-terms-manager
) {
	color: var(--sbpw-text);
}

html[data-sbpw-theme="dark"] :is(
	.sbpw-reading-button,
	.sbpw-favorites-filter,
	.sbpw-table-action,
	.sbpw-editor-input,
	.sbpw-editor-textarea,
	.sbpw-editor-inline-panel input,
	.sbpw-editor-inline-panel select,
	.sbpw-editor-choice,
	.sbpw-editor-button--draft,
	.sbpw-editor-message a,
	.sbpw-terms-back,
	.sbpw-terms-chip--child,
	.sbpw-terms-form input,
	.sbpw-terms-form select
) {
	background: var(--sbpw-surface-soft);
	border-color: var(--sbpw-border);
	color: var(--sbpw-text);
}

html[data-sbpw-theme="dark"] :is(.sbpw-editor-card, .sbpw-terms-card) {
	background: rgb(255 255 255 / 2%);
	border-color: var(--sbpw-border);
}

html[data-sbpw-theme="dark"] :is(.sbpw-editor-label, .sbpw-terms-card-title) {
	color: var(--sbpw-text);
}

html[data-sbpw-theme="dark"] :is(
	.sbpw-breadcrumb,
	.sbpw-table-component th,
	.sbpw-editor-category-children,
	.sbpw-category-pill--static
) {
	background: var(--sbpw-gray-100);
	border-color: var(--sbpw-border);
	color: var(--sbpw-text);
}

html[data-sbpw-theme="dark"] :is(
	.sbpw-editor-category-children .sbpw-editor-choice,
	.sbpw-filter-clear:hover,
	.sbpw-filter-clear:focus-visible
) {
	background: var(--sbpw-gray-200);
	border-color: var(--sbpw-border);
	color: var(--sbpw-text);
}

html[data-sbpw-theme="dark"] :is(
	.sbpw-breadcrumb,
	.sbpw-post-list__meta,
	.sbpw-edit-bar__meta,
	.sbpw-edit-bar__separator,
	.sbpw-table-count,
	.sbpw-meta-cell small,
	.sbpw-subcategory-pill span,
	.sbpw-editor-counter
) {
	color: var(--sbpw-muted);
}

html[data-sbpw-theme="dark"] :is(
	.sbpw-breadcrumb a,
	.sbpw-post-list a,
	.sbpw-article-link,
	.sbpw-row-edit
) {
	color: var(--sbpw-link);
}

html[data-sbpw-theme="dark"] :is(
	.sbpw-post-list a:hover,
	.sbpw-post-list a:focus-visible,
	.sbpw-article-link:hover,
	.sbpw-article-link:focus-visible
) {
	color: var(--sbpw-link-hover);
}

html[data-sbpw-theme="dark"] :is(.sbpw-tag-pill, .sbpw-category-pill, .sbpw-subcategory-pill) {
	background: #382633;
	border-color: #68445c;
	color: #eda0d5;
}

html[data-sbpw-theme="dark"] :is(.sbpw-article-content, .sbpw-article-content h1) {
	color: var(--sbpw-text);
}

html[data-sbpw-theme="dark"] :is(.sbpw-table-component th, .sbpw-table-component td, .sbpw-table-empty, .sbpw-category-filter li ul) {
	border-color: var(--sbpw-border);
}

html[data-sbpw-theme="dark"] .sbpw-editor .wp-editor-container {
	border-color: var(--sbpw-border);
}

html[data-sbpw-theme="dark"] :is(.sbpw-editor-message--error, .sbpw-editor-message--success, .sbpw-terms-message, .sbpw-terms-note) {
	color: var(--sbpw-text);
}

/*
 * Divi keeps sidebar block titles in separate Text modules, outside the
 * shortcode containers. Detect the sidebar column by its SBPW components so
 * the dark title surface does not leak into regular page content.
 */
html[data-sbpw-theme="dark"] .et_pb_column:has(.sbpw-post-list, .sbpw-category-filter, .sbpw-related-posts) .et_pb_text {
	background-color: var(--sbpw-gray-100) !important;
	border-color: var(--sbpw-border) !important;
	color: var(--sbpw-text) !important;
}

html[data-sbpw-theme="dark"] .et_pb_column:has(.sbpw-post-list, .sbpw-category-filter, .sbpw-related-posts) .et_pb_text :is(h1, h2, h3, h4, h5, h6, p) {
	background-color: transparent !important;
	color: var(--sbpw-text) !important;
}

/* The related-posts block may be nested in a Divi Group on article pages. */
html[data-sbpw-theme="dark"] :is(.et_pb_group, .et_pb_module_group):has(.sbpw-related-posts) .et_pb_text,
html[data-sbpw-theme="dark"] .et_pb_text:has(+ .et_pb_code .sbpw-related-posts),
html[data-sbpw-theme="dark"] .et_pb_text:has(+ .et_pb_module .sbpw-related-posts) {
	background-color: var(--sbpw-gray-100) !important;
	border-color: var(--sbpw-border) !important;
	color: var(--sbpw-text) !important;
}

html[data-sbpw-theme="dark"] :is(.et_pb_group, .et_pb_module_group):has(.sbpw-related-posts) .et_pb_text :is(h1, h2, h3, h4, h5, h6, p, span),
html[data-sbpw-theme="dark"] .et_pb_text:has(+ .et_pb_code .sbpw-related-posts) :is(h1, h2, h3, h4, h5, h6, p, span),
html[data-sbpw-theme="dark"] .et_pb_text:has(+ .et_pb_module .sbpw-related-posts) :is(h1, h2, h3, h4, h5, h6, p, span) {
	background-color: transparent !important;
	color: var(--sbpw-text) !important;
}

/* Divi footer template rules load after module styles and need a scoped override. */
html[data-sbpw-theme="dark"] :is(footer, .et-l--footer),
html[data-sbpw-theme="dark"] .et-l--footer :is(.et_pb_section, .et_pb_row, .et_pb_column, .et_pb_module) {
	background-color: var(--sbpw-footer-surface) !important;
	border-color: var(--sbpw-border) !important;
	color: var(--sbpw-text) !important;
}

html[data-sbpw-theme="dark"] .et-l--footer :is(h1, h2, h3, h4, h5, h6, p, a, li) {
	color: var(--sbpw-text) !important;
}

/* Cover both classic Divi and Divi 5 Theme Builder footer wrappers. */
html[data-sbpw-theme="dark"] :is(footer, #main-footer, [data-theme-builder-area="footer"]),
html[data-sbpw-theme="dark"] :is(footer, #main-footer, [data-theme-builder-area="footer"]) :is(
	.et_builder_inner_content,
	.et_pb_section,
	.et_pb_row,
	.et_pb_column
),
html[data-sbpw-theme="dark"] :is(#et-footer-nav, #footer-bottom) {
	background-color: var(--sbpw-footer-surface) !important;
	border-color: var(--sbpw-border) !important;
	color: var(--sbpw-text) !important;
}

/* Divi Search Helper live results are injected outside the shortcode content. */
html[data-sbpw-theme="dark"] .livesearch__inner {
	background: var(--sbpw-surface) !important;
	border-color: var(--sbpw-border) !important;
	color: var(--sbpw-text) !important;
}

html[data-sbpw-theme="dark"] :is(.livesearch__header, .livesearch__results, .no_result_found) {
	background: var(--sbpw-surface) !important;
	color: var(--sbpw-text) !important;
}

html[data-sbpw-theme="dark"] .livesearch__query {
	color: var(--sbpw-text) !important;
}

html[data-sbpw-theme="dark"] .livesearch__results .card {
	background: var(--sbpw-surface-soft) !important;
	border-color: var(--sbpw-border) !important;
	color: var(--sbpw-text) !important;
}

html[data-sbpw-theme="dark"] .livesearch__results .card :is(.card__title, .card__title h2, .card__description, .card__description p) {
	background: transparent !important;
	color: var(--sbpw-text) !important;
}

html[data-sbpw-theme="dark"] .livesearch__results .card__title a,
html[data-sbpw-theme="dark"] .livesearch__pagination a {
	color: var(--sbpw-link) !important;
}

/* Terms page sidebar heading and its Divi "Bővebben" control. */
html[data-sbpw-theme="dark"] .et_pb_column:has(.sbpw-structure-counts) > .et_pb_text:first-child,
html[data-sbpw-theme="dark"] .et_pb_column:has(.sbpw-structure-counts) .et_pb_text:has(+ .et_pb_code .sbpw-structure-counts) {
	background-color: var(--sbpw-gray-100) !important;
	border-color: var(--sbpw-border) !important;
	color: var(--sbpw-text) !important;
}

html[data-sbpw-theme="dark"] .et_pb_column:has(.sbpw-structure-counts) > .et_pb_text:first-child :is(h1, h2, h3, h4, h5, h6, p),
html[data-sbpw-theme="dark"] .et_pb_column:has(.sbpw-structure-counts) .et_pb_text:has(+ .et_pb_code .sbpw-structure-counts) :is(h1, h2, h3, h4, h5, h6, p) {
	background: transparent !important;
	color: var(--sbpw-text) !important;
}

html[data-sbpw-theme="dark"] .et_pb_column:has(.sbpw-structure-counts) :is(.et_pb_button, .et_pb_more_button, .et_pb_toggle_title, a[href]) {
	border-color: var(--sbpw-border) !important;
	color: var(--sbpw-link-hover) !important;
}

html[data-sbpw-theme="dark"] .et_pb_column:has(.sbpw-structure-counts) :is(.et_pb_button, .et_pb_more_button, .et_pb_toggle_title, a[href]):hover {
	border-color: var(--sbpw-magenta) !important;
	color: #ffd0ec !important;
}

/* Section bars on the terms page use a neutral surface. */
html[data-sbpw-theme="dark"] .et_pb_row:has(.sbpw-terms-manager) .et_pb_text {
	background-color: var(--sbpw-heading-surface) !important;
	color: #f5f7f9 !important;
}

/* Keep the article title prominent above the headings within its content. */
html[data-sbpw-theme="dark"] .sbpw-edit-bar h1 {
	background-color: var(--sbpw-article-title-background) !important;
	color: var(--sbpw-article-title-text) !important;
}

/* Category and tag chips need visible resting, hierarchy and hover states. */
html[data-sbpw-theme="dark"] .sbpw-terms-chip {
	background: #262c33;
	border-color: #535e69;
	color: #d3d7dc;
}

html[data-sbpw-theme="dark"] .sbpw-terms-chip--parent {
	background: #352733;
	border-color: #9d557f;
	color: #f1a2d9;
}

html[data-sbpw-theme="dark"] .sbpw-terms-chip--child {
	background: #242a31;
	border-color: #596570;
	color: #edf0f2;
}

html[data-sbpw-theme="dark"] a.sbpw-terms-chip:hover,
html[data-sbpw-theme="dark"] a.sbpw-terms-chip:focus-visible {
	background: #493346;
	border-color: var(--sbpw-magenta);
	color: #ffd0ec;
}

html[data-sbpw-theme="dark"] .sbpw-terms-chip--disabled {
	opacity: 0.65;
}

/* WordPress media modal opened from the frontend article editor. */
html[data-sbpw-theme="dark"] .media-modal,
html[data-sbpw-theme="dark"] .media-modal-content,
html[data-sbpw-theme="dark"] .media-frame,
html[data-sbpw-theme="dark"] .media-frame-menu,
html[data-sbpw-theme="dark"] .media-menu,
html[data-sbpw-theme="dark"] .media-frame-title,
html[data-sbpw-theme="dark"] .media-frame-router,
html[data-sbpw-theme="dark"] .media-frame-content,
html[data-sbpw-theme="dark"] .media-frame-toolbar,
html[data-sbpw-theme="dark"] .attachments-browser .media-toolbar,
html[data-sbpw-theme="dark"] .media-sidebar,
html[data-sbpw-theme="dark"] .attachment-details,
html[data-sbpw-theme="dark"] .uploader-inline {
	background-color: var(--sbpw-surface) !important;
	border-color: var(--sbpw-border) !important;
	color: var(--sbpw-text) !important;
}

html[data-sbpw-theme="dark"] .media-frame :is(h1, h2, h3, p, label, .media-attachments-filter-heading, .setting span, .filename, .uploaded, .uploading, .media-uploader-status) {
	color: var(--sbpw-text) !important;
}

html[data-sbpw-theme="dark"] .media-modal-close,
html[data-sbpw-theme="dark"] .media-modal-icon,
html[data-sbpw-theme="dark"] .media-frame .spinner::before {
	color: var(--sbpw-muted) !important;
}

html[data-sbpw-theme="dark"] .media-menu-item {
	background: transparent !important;
	border-color: transparent !important;
	color: #c9ced4 !important;
}

html[data-sbpw-theme="dark"] .media-menu-item:hover,
html[data-sbpw-theme="dark"] .media-menu-item:focus-visible {
	background: var(--sbpw-gray-200) !important;
	color: var(--sbpw-link-hover) !important;
}

html[data-sbpw-theme="dark"] .media-menu-item.active,
html[data-sbpw-theme="dark"] .media-menu-item.active:hover,
html[data-sbpw-theme="dark"] .media-menu-item.active:focus-visible {
	background: var(--sbpw-surface-soft) !important;
	border-color: var(--sbpw-border) !important;
	color: #ffffff !important;
}

html[data-sbpw-theme="dark"] .media-router .media-menu-item.active {
	border-bottom-color: var(--sbpw-surface-soft) !important;
}

html[data-sbpw-theme="dark"] .media-frame :is(input[type="text"], input[type="search"], input[type="url"], select, textarea) {
	background-color: var(--sbpw-surface-soft) !important;
	border-color: #59636e !important;
	color: var(--sbpw-text) !important;
}

html[data-sbpw-theme="dark"] .media-frame :is(input, textarea)::placeholder {
	color: var(--sbpw-muted) !important;
}

html[data-sbpw-theme="dark"] .attachment .attachment-preview,
html[data-sbpw-theme="dark"] .attachment .thumbnail,
html[data-sbpw-theme="dark"] .attachment .filename {
	background-color: var(--sbpw-surface-soft) !important;
	border-color: var(--sbpw-border) !important;
	color: var(--sbpw-text) !important;
}

html[data-sbpw-theme="dark"] .attachment:hover .attachment-preview,
html[data-sbpw-theme="dark"] .attachment:focus .attachment-preview {
	box-shadow: inset 0 0 0 3px #66727e !important;
}

html[data-sbpw-theme="dark"] .attachment.selected .attachment-preview,
html[data-sbpw-theme="dark"] .attachment.details .attachment-preview {
	box-shadow: inset 0 0 0 3px var(--sbpw-magenta) !important;
}

html[data-sbpw-theme="dark"] .uploader-inline-content :is(.upload-ui, .post-upload-ui, .max-upload-size, .upload-instructions) {
	color: var(--sbpw-muted) !important;
}

html[data-sbpw-theme="dark"] .media-frame .button:not(.button-primary) {
	background: var(--sbpw-surface-soft) !important;
	border-color: #59636e !important;
	color: var(--sbpw-text) !important;
}

html[data-sbpw-theme="dark"] .media-frame .button:not(.button-primary):hover,
html[data-sbpw-theme="dark"] .media-frame .button:not(.button-primary):focus-visible {
	border-color: var(--sbpw-magenta) !important;
	color: var(--sbpw-link-hover) !important;
}

.sbpw-header-row,
.sbpw-login-notice,
.sbpw-sso-login,
.sbpw-kb-switcher,
.sbpw-breadcrumb,
.sbpw-post-list,
.sbpw-edit-bar,
.sbpw-table-component,
.sbpw-category-filter,
.sbpw-subcategory-filter,
.sbpw-editor,
.sbpw-structure-counts,
.sbpw-terms-back,
.sbpw-terms-manager {
	font-family: var(--sbpw-font);
}
