.qcb-shared-design--background-none .qcb-page { --qcb-design-background-image: none; }
.qcb-shared-design--background-dotted .qcb-page { --qcb-design-background-image: radial-gradient(circle, var(--qcb-design-pattern-color, rgba(76, 29, 149, .16)) 1.25px, transparent 1.25px); }
.qcb-shared-design--background-none .serka-seo-main { --qcb-design-background-image: none; }
.qcb-shared-design--background-dotted .serka-seo-main { --qcb-design-background-image: radial-gradient(circle, var(--qcb-design-pattern-color, rgba(76, 29, 149, .16)) 1.25px, transparent 1.25px); }

.qcb-page :where(
	.wp-block-qovali-page-hero,
	.qcb-section-heading,
	.qcb-cards-grid,
	.wp-block-qovali-content-links-split
) {
	background-image: var(--qcb-design-background-image, none);
}

.qcb-design--color-light,
.qcb-shared-design--color-light .qcb-page,
.qcb-shared-design--color-light .serka-seo-main,
.qcb-shared-design--color-light .expert-seo-page {
	--qcb-design-section-background: #faf8f5;
	--qcb-design-heading-color: #18181b;
	--qcb-design-body-color: #52525b;
	--qcb-design-accent-color: #4c1d95;
	--qcb-design-surface-color: #fff;
	--qcb-design-border-color: #18181b;
	--qcb-design-focus-color: #6d28d9;
	--qcb-design-button-background: #4c1d95;
	--qcb-design-button-color: #fff;
	--qcb-design-shadow-color: #18181b;
	--qcb-design-pattern-color: rgba(76, 29, 149, .16);
}

.qcb-design--color-purple,
.qcb-shared-design--color-purple .qcb-page,
.qcb-shared-design--color-purple .serka-seo-main,
.qcb-shared-design--color-purple .expert-seo-page {
	--qcb-design-section-background: #4c1d95;
	--qcb-design-heading-color: #fff;
	--qcb-design-body-color: #ede9fe;
	--qcb-design-accent-color: #fff;
	--qcb-design-surface-color: #6d28d9;
	--qcb-design-border-color: #fff;
	--qcb-design-focus-color: #fbbf24;
	--qcb-design-button-background: #fff;
	--qcb-design-button-color: #2e1065;
	--qcb-design-shadow-color: #18181b;
	--qcb-design-pattern-color: rgba(255, 255, 255, .18);
}

.qcb-design--color-dark,
.qcb-shared-design--color-dark .qcb-page,
.qcb-shared-design--color-dark .serka-seo-main,
.qcb-shared-design--color-dark .expert-seo-page {
	--qcb-design-section-background: #18181b;
	--qcb-design-heading-color: #fff;
	--qcb-design-body-color: #d4d4d8;
	--qcb-design-accent-color: #c4b5fd;
	--qcb-design-surface-color: #27272a;
	--qcb-design-border-color: #f5f2ec;
	--qcb-design-focus-color: #fbbf24;
	--qcb-design-button-background: #a78bfa;
	--qcb-design-button-color: #18181b;
	--qcb-design-shadow-color: #000;
	--qcb-design-pattern-color: rgba(196, 181, 253, .18);
}

.qcb-design--background-none {
	background-image: none;
}

.qcb-design--background-dotted {
	background-image: radial-gradient(circle, var(--qcb-design-pattern-color, rgba(76, 29, 149, .16)) 1.25px, transparent 1.25px);
	background-size: 18px 18px;
}

.qcb-design--spacing-top-small,
.qcb-shared-design--spacing-top-small .qcb-page,
.qcb-shared-design--spacing-top-small .serka-seo-main { --qcb-design-spacing-top: clamp(1.5rem, 3vw, 2.5rem); }
.qcb-design--spacing-top-medium,
.qcb-shared-design--spacing-top-medium .qcb-page,
.qcb-shared-design--spacing-top-medium .serka-seo-main { --qcb-design-spacing-top: clamp(2.5rem, 5vw, 4rem); }
.qcb-design--spacing-top-large,
.qcb-shared-design--spacing-top-large .qcb-page,
.qcb-shared-design--spacing-top-large .serka-seo-main { --qcb-design-spacing-top: clamp(4rem, 8vw, 7rem); }
.qcb-design--spacing-bottom-small,
.qcb-shared-design--spacing-bottom-small .qcb-page,
.qcb-shared-design--spacing-bottom-small .serka-seo-main { --qcb-design-spacing-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.qcb-design--spacing-bottom-medium,
.qcb-shared-design--spacing-bottom-medium .qcb-page,
.qcb-shared-design--spacing-bottom-medium .serka-seo-main { --qcb-design-spacing-bottom: clamp(2.5rem, 5vw, 4rem); }
.qcb-design--spacing-bottom-large,
.qcb-shared-design--spacing-bottom-large .qcb-page,
.qcb-shared-design--spacing-bottom-large .serka-seo-main { --qcb-design-spacing-bottom: clamp(4rem, 8vw, 7rem); }

.qcb-design--heading-smaller,
.qcb-shared-design--heading-smaller .qcb-page,
.qcb-shared-design--heading-smaller .serka-seo-main { --qcb-design-heading-size: clamp(1.5rem, 3vw, 2.5rem); }
.qcb-design--heading-larger,
.qcb-shared-design--heading-larger .qcb-page,
.qcb-shared-design--heading-larger .serka-seo-main { --qcb-design-heading-size: clamp(2.25rem, 5vw, 4rem); }
.qcb-shared-design--heading-smaller .qcb-cards-grid { --qcb-design-heading-size: clamp(1.05rem, 1.7vw, 1.3rem); }
.qcb-shared-design--heading-larger .qcb-cards-grid { --qcb-design-heading-size: clamp(1.55rem, 2.5vw, 2rem); }
.qcb-cards-grid.qcb-design--heading-smaller { --qcb-design-heading-size: clamp(1.05rem, 1.7vw, 1.3rem); }
.qcb-cards-grid.qcb-design--heading-larger { --qcb-design-heading-size: clamp(1.55rem, 2.5vw, 2rem); }
.qcb-design--body-smaller,
.qcb-shared-design--body-smaller .qcb-page,
.qcb-shared-design--body-smaller .serka-seo-main { --qcb-design-body-size: .95rem; }
.qcb-design--body-larger,
.qcb-shared-design--body-larger .qcb-page,
.qcb-shared-design--body-larger .serka-seo-main { --qcb-design-body-size: clamp(1.125rem, 1.5vw, 1.25rem); }

.qcb-shared-design--color-light .serka-seo-main,
.qcb-shared-design--color-purple .serka-seo-main,
.qcb-shared-design--color-dark .serka-seo-main,
.qcb-shared-design--spacing-top-small .serka-seo-main,
.qcb-shared-design--spacing-top-medium .serka-seo-main,
.qcb-shared-design--spacing-top-large .serka-seo-main,
.qcb-shared-design--spacing-bottom-small .serka-seo-main,
.qcb-shared-design--spacing-bottom-medium .serka-seo-main,
.qcb-shared-design--spacing-bottom-large .serka-seo-main,
.qcb-shared-design--heading-smaller .serka-seo-main,
.qcb-shared-design--heading-larger .serka-seo-main,
.qcb-shared-design--body-smaller .serka-seo-main,
.qcb-shared-design--body-larger .serka-seo-main {
	--qcb-seo-company-shared: 1;
}

.serka-seo-main :where(
	.qcb-design--color-light,
	.qcb-design--color-purple,
	.qcb-design--color-dark
) {
	background-color: var(--qcb-design-section-background) !important;
	color: var(--qcb-design-body-color) !important;
}

.serka-seo-main :where(
	.qcb-design--color-light,
	.qcb-design--color-purple,
	.qcb-design--color-dark
) :where(h1, h2, h3, h4, .section-label, strong) {
	color: var(--qcb-design-heading-color) !important;
}

.serka-seo-main :where(.qcb-design--background-none, .qcb-design--background-dotted) {
	background-image: var(--qcb-design-background-image, none) !important;
}

.serka-seo-main [class*="qcb-design--spacing-top-"] {
	padding-top: var(--qcb-design-spacing-top) !important;
}

.serka-seo-main [class*="qcb-design--spacing-bottom-"] {
	padding-bottom: var(--qcb-design-spacing-bottom) !important;
}

.serka-seo-main [class*="qcb-design--heading-"] :where(h1, h2, h3, h4) {
	font-size: var(--qcb-design-heading-size) !important;
}

.serka-seo-main [class*="qcb-design--body-"] :where(p, li, a, button) {
	font-size: var(--qcb-design-body-size) !important;
}

body.home #main-content :where(
	.qcb-design--color-light,
	.qcb-design--color-purple,
	.qcb-design--color-dark
) {
	background-color: var(--qcb-design-section-background) !important;
	color: var(--qcb-design-body-color) !important;
}

body.home #main-content :where(
	.qcb-design--color-light,
	.qcb-design--color-purple,
	.qcb-design--color-dark
) :where(h1, h2, h3, h4, .section-label, strong) {
	color: var(--qcb-design-heading-color) !important;
}

body.home #main-content :where(.qcb-design--background-none, .qcb-design--background-dotted) {
	background-image: var(--qcb-design-background-image, none) !important;
}

body.home #main-content [class*="qcb-design--spacing-top-"] {
	padding-top: var(--qcb-design-spacing-top) !important;
}

body.home #main-content [class*="qcb-design--spacing-bottom-"] {
	padding-bottom: var(--qcb-design-spacing-bottom) !important;
}

body.home #main-content [class*="qcb-design--heading-"] :where(h1, h2, h3, h4) {
	font-size: var(--qcb-design-heading-size) !important;
}

body.home #main-content [class*="qcb-design--body-"] :where(p, li, a, button) {
	font-size: var(--qcb-design-body-size) !important;
}

/* Page 52 keeps its proven markup; these selectors activate only an explicit
 * shared or local QCB design choice. Default values therefore remain unchanged. */
.qcb-shared-design--background-none .expert-seo-page { --qcb-design-background-image: none; }
.qcb-shared-design--background-dotted .expert-seo-page { --qcb-design-background-image: radial-gradient(circle, var(--qcb-design-pattern-color, rgba(76, 29, 149, .16)) 1.25px, transparent 1.25px); }

.qcb-shared-design--spacing-top-small .expert-seo-page { --qcb-design-spacing-top: clamp(1.5rem, 3vw, 2.5rem); }
.qcb-shared-design--spacing-top-medium .expert-seo-page { --qcb-design-spacing-top: clamp(2.5rem, 5vw, 4rem); }
.qcb-shared-design--spacing-top-large .expert-seo-page { --qcb-design-spacing-top: clamp(4rem, 8vw, 7rem); }
.qcb-shared-design--spacing-bottom-small .expert-seo-page { --qcb-design-spacing-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.qcb-shared-design--spacing-bottom-medium .expert-seo-page { --qcb-design-spacing-bottom: clamp(2.5rem, 5vw, 4rem); }
.qcb-shared-design--spacing-bottom-large .expert-seo-page { --qcb-design-spacing-bottom: clamp(4rem, 8vw, 7rem); }
.qcb-shared-design--heading-smaller .expert-seo-page { --qcb-design-heading-size: clamp(1.5rem, 3vw, 2.5rem); }
.qcb-shared-design--heading-larger .expert-seo-page { --qcb-design-heading-size: clamp(2.25rem, 5vw, 4rem); }
.qcb-shared-design--body-smaller .expert-seo-page { --qcb-design-body-size: .95rem; }
.qcb-shared-design--body-larger .expert-seo-page { --qcb-design-body-size: clamp(1.125rem, 1.5vw, 1.25rem); }

.expert-seo-page :where(.qcb-design--color-light, .qcb-design--color-purple, .qcb-design--color-dark),
.qcb-shared-design--color-light .expert-seo-page > :where(section, div),
.qcb-shared-design--color-purple .expert-seo-page > :where(section, div),
.qcb-shared-design--color-dark .expert-seo-page > :where(section, div) {
	background-color: var(--qcb-design-section-background) !important;
	color: var(--qcb-design-body-color) !important;
	--bg-surface: var(--qcb-design-surface-color);
	--text-primary: var(--qcb-design-heading-color);
	--text-secondary: var(--qcb-design-body-color);
	--border-strong: var(--qcb-design-border-color);
}

.expert-seo-page :where(.qcb-design--color-light, .qcb-design--color-purple, .qcb-design--color-dark) :where(h1, h2, h3, h4, .section-label, .section-kicker, strong),
.qcb-shared-design--color-light .expert-seo-page :where(h1, h2, h3, h4, .section-label, .section-kicker, strong),
.qcb-shared-design--color-purple .expert-seo-page :where(h1, h2, h3, h4, .section-label, .section-kicker, strong),
.qcb-shared-design--color-dark .expert-seo-page :where(h1, h2, h3, h4, .section-label, .section-kicker, strong) {
	color: var(--qcb-design-heading-color) !important;
}

.expert-seo-page :where(.qcb-design--background-none, .qcb-design--background-dotted),
.qcb-shared-design--background-none .expert-seo-page > :where(section, div),
.qcb-shared-design--background-dotted .expert-seo-page > :where(section, div) {
	background-image: var(--qcb-design-background-image, none) !important;
}

.expert-seo-page .qcb-design--background-none { --qcb-design-background-image: none; }
.expert-seo-page .qcb-design--background-dotted {
	--qcb-design-background-image: radial-gradient(circle, var(--qcb-design-pattern-color, rgba(76, 29, 149, .16)) 1.25px, transparent 1.25px);
	background-size: 18px 18px;
}

.expert-seo-page [class*="qcb-design--spacing-top-"],
.qcb-shared-design--spacing-top-small .expert-seo-page > :where(section, div),
.qcb-shared-design--spacing-top-medium .expert-seo-page > :where(section, div),
.qcb-shared-design--spacing-top-large .expert-seo-page > :where(section, div) { padding-top: var(--qcb-design-spacing-top) !important; }
.expert-seo-page [class*="qcb-design--spacing-bottom-"],
.qcb-shared-design--spacing-bottom-small .expert-seo-page > :where(section, div),
.qcb-shared-design--spacing-bottom-medium .expert-seo-page > :where(section, div),
.qcb-shared-design--spacing-bottom-large .expert-seo-page > :where(section, div) { padding-bottom: var(--qcb-design-spacing-bottom) !important; }
.expert-seo-page [class*="qcb-design--heading-"] :where(h1, h2, h3, h4),
.qcb-shared-design--heading-smaller .expert-seo-page :where(h1, h2, h3, h4),
.qcb-shared-design--heading-larger .expert-seo-page :where(h1, h2, h3, h4) { font-size: var(--qcb-design-heading-size) !important; }
.expert-seo-page [class*="qcb-design--body-"] :where(p, li, a, button),
.qcb-shared-design--body-smaller .expert-seo-page :where(p, li, a, button),
.qcb-shared-design--body-larger .expert-seo-page :where(p, li, a, button) { font-size: var(--qcb-design-body-size) !important; }

.qcb-shared-design--color-light .serka-seo-main > :where(section, div),
.qcb-shared-design--color-purple .serka-seo-main > :where(section, div),
.qcb-shared-design--color-dark .serka-seo-main > :where(section, div) {
	background-color: var(--qcb-design-section-background) !important;
	color: var(--qcb-design-body-color) !important;
}

.qcb-shared-design--background-none .serka-seo-main > :where(section, div),
.qcb-shared-design--background-dotted .serka-seo-main > :where(section, div) {
	background-image: var(--qcb-design-background-image, none) !important;
}

.qcb-shared-design--spacing-top-small .serka-seo-main > :where(section, div),
.qcb-shared-design--spacing-top-medium .serka-seo-main > :where(section, div),
.qcb-shared-design--spacing-top-large .serka-seo-main > :where(section, div) {
	padding-top: var(--qcb-design-spacing-top) !important;
}

.qcb-shared-design--spacing-bottom-small .serka-seo-main > :where(section, div),
.qcb-shared-design--spacing-bottom-medium .serka-seo-main > :where(section, div),
.qcb-shared-design--spacing-bottom-large .serka-seo-main > :where(section, div) {
	padding-bottom: var(--qcb-design-spacing-bottom) !important;
}

.qcb-shared-design--heading-smaller .serka-seo-main :where(h1, h2, h3, h4),
.qcb-shared-design--heading-larger .serka-seo-main :where(h1, h2, h3, h4) {
	font-size: var(--qcb-design-heading-size) !important;
}

.qcb-shared-design--body-smaller .serka-seo-main :where(p, li, a, button),
.qcb-shared-design--body-larger .serka-seo-main :where(p, li, a, button) {
	font-size: var(--qcb-design-body-size) !important;
}

:where(
	.qcb-shared-design--color-light,
	.qcb-shared-design--color-purple,
	.qcb-shared-design--color-dark
) .qcb-section-heading--accent:not(.qcb-design--color-light):not(.qcb-design--color-purple):not(.qcb-design--color-dark) {
	background-color: var(--qcb-design-section-background);
}

:where(
	.qcb-shared-design--color-light,
	.qcb-shared-design--color-purple,
	.qcb-shared-design--color-dark
) .qcb-cards-grid--accent:not(.qcb-design--color-light):not(.qcb-design--color-purple):not(.qcb-design--color-dark) .qcb-card {
	background: var(--qcb-design-surface-color);
}
