/**
 * Solumondo Kontrast-System — WCAG 2.2 AA, einheitliche Buttons & Überschriften.
 * Lädt als letztes Stylesheet und überschreibt widersprüchliche Farb-Regeln.
 */

/* ==========================================================================
   1. Barrierefreie Design-Tokens (Standard)
   ========================================================================== */

:root {
	--solumondo-a11y-btn-primary-bg: #e85f00;
	--solumondo-a11y-btn-primary-bg-hover: #c44e00;
	--solumondo-a11y-btn-primary-text: #101820;
	--solumondo-a11y-btn-hover-bg: #ffffff;
	--solumondo-a11y-btn-hover-text: #050b14;
	--solumondo-a11y-btn-primary-border: #c44e00;
	--solumondo-a11y-btn-radius: 999px;
	--solumondo-a11y-btn-shadow: 0 8px 24px color-mix(in srgb, var(--solumondo-navy) 22%, transparent);
	--solumondo-a11y-btn-shadow-hover: 0 12px 28px color-mix(in srgb, var(--solumondo-navy) 28%, transparent);
	--solumondo-a11y-btn-secondary-bg: #ffffff;
	--solumondo-a11y-btn-secondary-text: #050b14;
	--solumondo-a11y-btn-secondary-border: #050b14;
	--solumondo-a11y-btn-on-dark-bg: #e85f00;
	--solumondo-a11y-btn-on-dark-text: #ffffff;
	--solumondo-a11y-heading-on-light: #050b14;
	--solumondo-a11y-text-on-light: #0e1b2a;
	--solumondo-a11y-muted-on-light: #334155;
	--solumondo-a11y-heading-on-dark: #ffffff;
	--solumondo-a11y-text-on-dark: #f1f5f9;
	--solumondo-a11y-muted-on-dark: #cbd5e1;
	--solumondo-a11y-focus-ring: 0 0 0 3px #ffffff, 0 0 0 5px var(--solumondo-orange);
}

@media (prefers-contrast: more) {
	:root {
		--solumondo-text-muted: #1e293b;
		--solumondo-a11y-muted-on-light: #1e293b;
		--solumondo-a11y-btn-primary-bg: #c44e00;
		--solumondo-a11y-btn-primary-text: #101820;
	}
}

/* ==========================================================================
   2. Erhöhter Kontrastmodus (Toggle / localStorage)
   ========================================================================== */

html[data-solumondo-contrast="high"],
body.solumondo-a11y-contrast {
	--solumondo-text: #000000;
	--solumondo-text-muted: #1a1a1a;
	--solumondo-navy: #000000;
	--solumondo-orange: #b34700;
	--solumondo-orange-hover: #8f3800;
	--solumondo-border: #000000;
	--solumondo-a11y-btn-primary-bg: #000000;
	--solumondo-a11y-btn-primary-bg-hover: #1a1a1a;
	--solumondo-a11y-btn-primary-text: #101820;
	--solumondo-a11y-btn-primary-border: #000000;
	--solumondo-a11y-btn-secondary-bg: #ffffff;
	--solumondo-a11y-btn-secondary-text: #000000;
	--solumondo-a11y-btn-secondary-border: #000000;
	--solumondo-a11y-heading-on-light: #000000;
	--solumondo-a11y-text-on-light: #000000;
	--solumondo-a11y-muted-on-light: #1a1a1a;
	--solumondo-a11y-focus-ring: 0 0 0 3px #ffff00, 0 0 0 6px #000000;
}

/* ==========================================================================
   3. Überschriften — immer lesbar
   ========================================================================== */

body.solumondo-app :where(h1, h2, h3, h4, h5, h6),
body.solumondo-app .solumondo-section__header :where(h2, h3),
body.solumondo-app .solumondo-page-shell :where(h1, h2, h3),
body.solumondo-app .solumondo-cat-card__title,
body.solumondo-app .entry-content :where(h1, h2, h3, h4) {
	color: var(--solumondo-a11y-heading-on-light) !important;
	-webkit-text-fill-color: var(--solumondo-a11y-heading-on-light) !important;
	background: none !important;
	background-image: none !important;
	background-clip: border-box !important;
	-webkit-background-clip: border-box !important;
}

/* Alle Überschriften in dunklen Kontexten → immer weiß, kein Gradient-Text */
body.solumondo-app :where(
	.solumondo-hero,
	.solumondo-section--dark,
	.solumondo-pw-hero,
	.solumondo-page-hero--dark,
	.solumondo-footer,
	.solumondo-section--network,
	.solu-hero-partner,
	.solu-partner-wrapper .kb-row-layout-wrap.has-theme-palette7-background-color
) :where(h1, h2, h3, h4, h5, h6),
body.solumondo-app .solumondo-path-card--b2b .solumondo-path-card__title,
body.solumondo-app .solumondo-path-card--b2b :where(h1, h2, h3, h4),
body.solumondo-app .solumondo-card--dark :where(h1, h2, h3, h4, h5, h6),
body.solumondo-app .solumondo-bento__item--hero :where(h1, h2, h3, h4) {
	color: var(--solumondo-a11y-heading-on-dark) !important;
	-webkit-text-fill-color: var(--solumondo-a11y-heading-on-dark) !important;
	background: none !important;
	background-image: none !important;
	background-clip: border-box !important;
	-webkit-background-clip: border-box !important;
}

/* page-hero--dark: eigene explizite Regel (höhere Spezifität) */
body.solumondo-app .solumondo-page-hero--dark h1,
body.solumondo-app .solumondo-page-hero--dark h2,
body.solumondo-app .solumondo-page-hero--dark h3,
body.solumondo-app .solumondo-page-hero--dark p,
body.solumondo-app .solumondo-page-hero--dark .solumondo-page-hero__lead {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

/* Kadence AdvancedHeading in dunklem Hero-Block */
body.solumondo-app .solumondo-page-hero--dark .wp-block-kadence-advancedheading,
body.solumondo-app .solumondo-page-hero--dark .kb-adv-heading {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	background: none !important;
	-webkit-background-clip: border-box !important;
}

body.solumondo-app .solumondo-hero .solumondo-hero__title .solumondo-hero__accent {
	color: var(--solumondo-orange) !important;
	-webkit-text-fill-color: var(--solumondo-orange) !important;
}

html[data-solumondo-contrast="high"] body.solumondo-app .solumondo-hero .solumondo-hero__accent,
body.solumondo-a11y-contrast .solumondo-hero .solumondo-hero__accent {
	color: #ff8c33 !important;
	-webkit-text-fill-color: #ff8c33 !important;
}

/* Kicker: kein transparentes Gradient-Text (Lesbarkeit) */
body.solumondo-app .solumondo-kicker,
body.solumondo-app .solumondo-section__header .solumondo-kicker {
	color: var(--solumondo-orange) !important;
	-webkit-text-fill-color: var(--solumondo-orange) !important;
	background: none !important;
	background-image: none !important;
	animation: none !important;
}

body.solumondo-app :where(.solumondo-hero, .solumondo-section--dark, .solumondo-pw-hero, .solu-hero-partner) .solumondo-kicker {
	color: color-mix(in srgb, var(--solumondo-orange) 88%, white) !important;
	-webkit-text-fill-color: color-mix(in srgb, var(--solumondo-orange) 88%, white) !important;
}

body.solumondo-app p,
body.solumondo-app .solumondo-lead,
body.solumondo-app .solumondo-section__header p {
	color: var(--solumondo-a11y-text-on-light);
}

body.solumondo-app :where(.solumondo-hero, .solumondo-section--dark, .solumondo-pw-hero, .solu-hero-partner) :where(p, .solumondo-lead) {
	color: var(--solumondo-a11y-text-on-dark);
}

body.solumondo-app .text-muted,
body.solumondo-app .solumondo-path-card__text,
body.solumondo-app .solumondo-cat-card__tagline {
	color: var(--solumondo-a11y-muted-on-light) !important;
	-webkit-text-fill-color: var(--solumondo-a11y-muted-on-light) !important;
}

/* Text in dunklen Karten: explizit hell */
body.solumondo-app .solumondo-card--dark p,
body.solumondo-app .solumondo-card--dark .solumondo-lead,
body.solumondo-app .solumondo-bento__item--hero.solumondo-card--dark p {
	color: var(--solumondo-a11y-text-on-dark) !important;
	-webkit-text-fill-color: var(--solumondo-a11y-text-on-dark) !important;
}

/* Kicker in dunklen Karten */
body.solumondo-app .solumondo-card--dark .solumondo-kicker,
body.solumondo-app .solumondo-bento__item--hero.solumondo-card--dark .solumondo-kicker {
	color: color-mix(in srgb, var(--solumondo-orange) 88%, white) !important;
	-webkit-text-fill-color: color-mix(in srgb, var(--solumondo-orange) 88%, white) !important;
}

/* Reason-Detail-Panel: Text auf hellem Hintergrund */
body.solumondo-app .solumondo-reason-detail__title {
	color: var(--solumondo-a11y-heading-on-light) !important;
	-webkit-text-fill-color: var(--solumondo-a11y-heading-on-light) !important;
}
body.solumondo-app .solumondo-reason-detail__text,
body.solumondo-app .solumondo-reason-detail__list li {
	color: var(--solumondo-a11y-muted-on-light) !important;
}
body.solumondo-app .solumondo-reason-detail__kicker {
	color: var(--solumondo-orange) !important;
	-webkit-text-fill-color: var(--solumondo-orange) !important;
}

/* Reason-Cards: helle Karten → dunkler Text (fail-safe) */
body.solumondo-app .solumondo-reason-card {
	color: var(--solumondo-a11y-text-on-light) !important;
}

body.solumondo-app .solumondo-reason-card strong {
	color: var(--solumondo-a11y-heading-on-light) !important;
	-webkit-text-fill-color: var(--solumondo-a11y-heading-on-light) !important;
}

body.solumondo-app .solumondo-reason-card .solumondo-reason-card__label {
	color: var(--solumondo-orange) !important;
	-webkit-text-fill-color: var(--solumondo-orange) !important;
}

body.solumondo-app .solumondo-reason-card .solumondo-reason-card__summary {
	color: var(--solumondo-a11y-muted-on-light) !important;
	-webkit-text-fill-color: var(--solumondo-a11y-muted-on-light) !important;
}

/* Promo-Slots: immer lesbar auf hellem/dunklem Grund */
body.solumondo-app .solumondo-promo-slot h3 {
	color: var(--solumondo-a11y-heading-on-light) !important;
	-webkit-text-fill-color: var(--solumondo-a11y-heading-on-light) !important;
}
body.solumondo-app .solumondo-promo-slot p {
	color: var(--solumondo-a11y-muted-on-light) !important;
}

/* Hero-Hub Widget: Metriken + Feed immer lesbar */
body.solumondo-app .solumondo-hero-hub__metrics dt {
	color: var(--solumondo-a11y-muted-on-dark) !important;
}
body.solumondo-app .solumondo-hero-hub__metrics dd {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}
body.solumondo-app .solumondo-hero-hub__feed li {
	color: var(--solumondo-a11y-muted-on-dark) !important;
}
body.solumondo-app .solumondo-hero-hub__feed-label {
	color: color-mix(in srgb, var(--solumondo-orange) 90%, white) !important;
}

body.solumondo-app .solumondo-path-card--b2c .solumondo-path-card__title {
	color: var(--solumondo-a11y-heading-on-light) !important;
	-webkit-text-fill-color: var(--solumondo-a11y-heading-on-light) !important;
}

body.solumondo-app .solumondo-path-card--b2c .solumondo-path-card__label {
	color: var(--solumondo-orange) !important;
	-webkit-text-fill-color: var(--solumondo-orange) !important;
}

body.solumondo-app .solumondo-path-card--b2b .solumondo-path-card__title {
	color: var(--solumondo-a11y-heading-on-dark) !important;
	-webkit-text-fill-color: var(--solumondo-a11y-heading-on-dark) !important;
}

body.solumondo-app .solumondo-path-card--b2b .solumondo-path-card__text {
	color: var(--solumondo-a11y-muted-on-dark) !important;
	-webkit-text-fill-color: var(--solumondo-a11y-muted-on-dark) !important;
}

/* Listen ohne Bullets: einheitlich auf allen Seiten */
body.solumondo-app :where(
	.solumondo-page-shell,
	.solumondo-home-shell,
	.solumondo-produktwelten-shell,
	.entry-content
) ul {
	list-style: none !important;
	padding-left: 0 !important;
	margin-left: 0 !important;
}

body.solumondo-app :where(
	.solumondo-page-shell,
	.solumondo-home-shell,
	.solumondo-produktwelten-shell,
	.entry-content
) ul li::marker {
	content: "" !important;
}

/* ==========================================================================
   4. Buttons — einheitlich, niemals gleiche Farbe für Text & Hintergrund
   ========================================================================== */

/* Text und Inhalt in Buttons immer exakt mittig ausrichten.
   WICHTIG: Kein :where() (0 Spezifitaet), damit !important-Regeln wirklich gewinnen. */
body.solumondo-app :where(
	.wp-block-buttons,
	.uagb-buttons__wrap,
	.solumondo-actions,
	.solumondo-actions--dual,
	.wp-block-button
) {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	align-items: center !important;
	text-align: center !important;
}

body.solumondo-app .solumondo-btn,
body.solumondo-app .solumondo-power-btn,
body.solumondo-app .solumondo-path-card__cta--btn,
body.solumondo-app .wp-block-button__link,
body.solumondo-app .kb-button,
body.solumondo-app .uagb-buttons-repeater,
body.solumondo-app .solu-btn-main,
body.solumondo-app .solumondo-app-strip__btn,
body.solumondo-app .solumondo-footer-app-btn,
body.solumondo-app .solumondo-app-install-trigger,
body.solumondo-app .woocommerce a.button,
body.solumondo-app .woocommerce button.button,
body.solumondo-app button[type="button"]:not(.solumondo-contrast-toggle):not(.solumondo-explorer-tab):not(.solumondo-explorer-item):not(.solumondo-reason-card):not(.solu-marketplace-btn-primary):not(.solu-marketplace-btn-secondary):not(.solu-mp-filters__toggle),
body.solumondo-app button[type="submit"]:not(.solumondo-contrast-toggle),
body.solumondo-app input[type="submit"],
body.solumondo-app input[type="button"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	vertical-align: middle !important;
	line-height: 1.15 !important;
	padding: 0.82rem 1.4rem !important;
	font-weight: 800 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	min-height: 3.35rem !important;
	gap: 0.45rem;
	appearance: none !important;
	-webkit-appearance: none !important;
	border-radius: var(--solumondo-a11y-btn-radius) !important;
	box-shadow: var(--solumondo-a11y-btn-shadow) !important;
	cursor: pointer !important;
	transform: translateY(0) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease !important;
}

body.solumondo-app :where(
	.solumondo-btn,
	.solumondo-power-btn,
	.solumondo-path-card__cta--btn,
	.wp-block-button__link,
	.kb-button,
	.uagb-buttons-repeater,
	.solu-btn-main,
	.solumondo-app-strip__btn,
	.solumondo-footer-app-btn,
	.solumondo-app-install-trigger
) {
	margin-inline: auto !important;
}

body.solumondo-app .solumondo-btn :where(span, strong, em),
body.solumondo-app .solumondo-power-btn :where(span, strong, em),
body.solumondo-app .solumondo-path-card__cta--btn :where(span, strong, em),
body.solumondo-app .wp-block-button__link :where(span, strong, em),
body.solumondo-app .kb-button :where(span, strong, em),
body.solumondo-app .uagb-buttons-repeater :where(span, strong, em),
body.solumondo-app .solu-btn-main :where(span, strong, em),
body.solumondo-app .solumondo-app-install-trigger :where(span, strong, em) {
	text-align: center !important;
	line-height: 1.15 !important;
	position: static;
}

body.solumondo-app .wp-block-button__link,
body.solumondo-app .kb-button,
body.solumondo-app .uagb-buttons-repeater,
body.solumondo-app .solu-btn-main,
body.solumondo-app .woocommerce a.button,
body.solumondo-app .woocommerce button.button,
body.solumondo-app button[type="button"]:not(.solumondo-contrast-toggle):not(.solumondo-explorer-tab):not(.solumondo-explorer-item):not(.solumondo-reason-card):not(.solu-marketplace-btn-primary):not(.solu-marketplace-btn-secondary):not(.solu-mp-filters__toggle),
body.solumondo-app button[type="submit"]:not(.solumondo-contrast-toggle),
body.solumondo-app input[type="submit"],
body.solumondo-app input[type="button"] {
	color: var(--solumondo-a11y-btn-primary-text) !important;
	-webkit-text-fill-color: var(--solumondo-a11y-btn-primary-text) !important;
	background-color: var(--solumondo-a11y-btn-primary-bg) !important;
	background-image: none !important;
	border: 2px solid var(--solumondo-a11y-btn-primary-border) !important;
}

body.solumondo-app .solumondo-power-btn,
body.solumondo-app a.solumondo-power-btn,
body.solumondo-app button.solumondo-power-btn,
body.solumondo-app .solumondo-btn:not(.solumondo-btn--ghost):not(.solumondo-btn--ghost-on-light) {
	color: var(--solumondo-a11y-btn-primary-text) !important;
	-webkit-text-fill-color: var(--solumondo-a11y-btn-primary-text) !important;
	background-color: var(--solumondo-a11y-btn-primary-bg) !important;
	background-image: none !important;
	border: 2px solid var(--solumondo-a11y-btn-primary-border) !important;
	box-shadow: 0 2px 8px color-mix(in srgb, var(--solumondo-navy) 12%, transparent) !important;
}

body.solumondo-app .solumondo-power-btn:hover,
body.solumondo-app .solumondo-power-btn:focus-visible,
body.solumondo-app a.solumondo-power-btn:hover,
body.solumondo-app a.solumondo-power-btn:focus-visible,
body.solumondo-app .solumondo-btn:not(.solumondo-btn--ghost):not(.solumondo-btn--ghost-on-light):hover,
body.solumondo-app .solumondo-btn:not(.solumondo-btn--ghost):not(.solumondo-btn--ghost-on-light):focus-visible,
body.solumondo-app .wp-block-button__link:hover,
body.solumondo-app .wp-block-button__link:focus-visible,
body.solumondo-app .kb-button:hover,
body.solumondo-app .kb-button:focus-visible,
body.solumondo-app .uagb-buttons-repeater:hover,
body.solumondo-app .uagb-buttons-repeater:focus-visible,
body.solumondo-app .solu-btn-main:hover,
body.solumondo-app .solu-btn-main:focus-visible,
body.solumondo-app .woocommerce a.button:hover,
body.solumondo-app .woocommerce a.button:focus-visible,
body.solumondo-app .woocommerce button.button:hover,
body.solumondo-app .woocommerce button.button:focus-visible,
body.solumondo-app button[type="button"]:not(.solumondo-contrast-toggle):not(.solumondo-explorer-tab):not(.solumondo-explorer-item):not(.solumondo-reason-card):not(.solu-marketplace-btn-primary):not(.solu-marketplace-btn-secondary):not(.solu-mp-filters__toggle):hover,
body.solumondo-app button[type="button"]:not(.solumondo-contrast-toggle):not(.solumondo-explorer-tab):not(.solumondo-explorer-item):not(.solumondo-reason-card):not(.solu-marketplace-btn-primary):not(.solu-marketplace-btn-secondary):not(.solu-mp-filters__toggle):focus-visible,
body.solumondo-app button[type="submit"]:not(.solumondo-contrast-toggle):hover,
body.solumondo-app button[type="submit"]:not(.solumondo-contrast-toggle):focus-visible,
body.solumondo-app input[type="submit"]:hover,
body.solumondo-app input[type="submit"]:focus-visible,
body.solumondo-app input[type="button"]:hover,
body.solumondo-app input[type="button"]:focus-visible {
	color: var(--solumondo-a11y-btn-hover-text) !important;
	-webkit-text-fill-color: var(--solumondo-a11y-btn-hover-text) !important;
	background: var(--solumondo-a11y-btn-hover-bg) !important;
	border-color: var(--solumondo-a11y-btn-hover-text) !important;
	transform: translateY(-2px) !important;
	box-shadow: var(--solumondo-a11y-btn-shadow-hover) !important;
}

html[data-solumondo-contrast="high"] body.solumondo-app .solumondo-power-btn,
html[data-solumondo-contrast="high"] body.solumondo-app a.solumondo-power-btn,
body.solumondo-a11y-contrast .solumondo-power-btn,
body.solumondo-a11y-contrast a.solumondo-power-btn {
	color: var(--solumondo-a11y-btn-primary-text) !important;
	-webkit-text-fill-color: var(--solumondo-a11y-btn-primary-text) !important;
}

/* Ghost / Sekundär auf hellem Grund */
body.solumondo-app .solumondo-btn--ghost-on-light,
body.solumondo-app a.solumondo-btn--ghost-on-light {
	color: var(--solumondo-a11y-btn-secondary-text) !important;
	-webkit-text-fill-color: var(--solumondo-a11y-btn-secondary-text) !important;
	background: var(--solumondo-a11y-btn-secondary-bg) !important;
	border: 2px solid var(--solumondo-a11y-btn-secondary-border) !important;
	box-shadow: 0 1px 4px color-mix(in srgb, var(--solumondo-navy) 8%, transparent) !important;
}

body.solumondo-app .solumondo-btn--ghost-on-light:hover,
body.solumondo-app .solumondo-btn--ghost-on-light:focus-visible {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	background: var(--solumondo-navy) !important;
	border-color: var(--solumondo-navy) !important;
}

/* Ghost auf dunklem Grund */
body.solumondo-app :where(.solumondo-hero, .solumondo-section--dark, .solumondo-pw-hero, .solumondo-footer) .solumondo-btn--ghost,
body.solumondo-app .solumondo-btn--ghost:not(.solumondo-btn--ghost-on-light) {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	background: color-mix(in srgb, white 10%, transparent) !important;
	border: 2px solid color-mix(in srgb, white 55%, transparent) !important;
}

body.solumondo-app :where(.solumondo-hero, .solumondo-section--dark, .solumondo-pw-hero) .solumondo-btn--ghost:hover,
body.solumondo-app :where(.solumondo-hero, .solumondo-section--dark, .solumondo-pw-hero) .solumondo-btn--ghost:focus-visible {
	color: var(--solumondo-navy) !important;
	-webkit-text-fill-color: var(--solumondo-navy) !important;
	background: #ffffff !important;
	border-color: #ffffff !important;
}

/* Pfad-Karten CTAs */
body.solumondo-app .solumondo-path-card__cta--btn {
	color: var(--solumondo-a11y-btn-primary-text) !important;
	-webkit-text-fill-color: var(--solumondo-a11y-btn-primary-text) !important;
	background-color: var(--solumondo-a11y-btn-primary-bg) !important;
	background-image: none !important;
	border: 2px solid var(--solumondo-a11y-btn-primary-border) !important;
}

body.solumondo-app .solumondo-path-card--b2b .solumondo-path-card__cta--btn {
	color: var(--solumondo-a11y-btn-primary-text) !important;
	-webkit-text-fill-color: var(--solumondo-a11y-btn-primary-text) !important;
	background-color: var(--solumondo-a11y-btn-primary-bg) !important;
	background-image: none !important;
	border: 2px solid var(--solumondo-a11y-btn-primary-border) !important;
}

/* App-Leiste / Footer-Install */
body.solumondo-app .solumondo-app-strip__btn,
body.solumondo-app .solumondo-footer-app-btn,
body.solumondo-app .solumondo-app-install-trigger:not(.solumondo-power-btn),
body.solumondo-app #solumondo-app-install-footer {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	background-color: var(--solumondo-orange) !important;
	background-image: none !important;
	border-color: var(--solumondo-a11y-btn-primary-border) !important;
}

/* Fokus sichtbar */
body.solumondo-app :where(a, button, input, select, textarea, .solumondo-path-card):focus-visible {
	outline: none;
	box-shadow: var(--solumondo-a11y-focus-ring) !important;
}

/* ==========================================================================
   5. Produktwelten — Kontrast
   ========================================================================== */

body.solumondo-app .solumondo-pw-hero :where(h1, p) {
	color: var(--solumondo-a11y-text-on-dark) !important;
	-webkit-text-fill-color: var(--solumondo-a11y-text-on-dark) !important;
}

body.solumondo-app .solumondo-pw-hero h1 {
	color: var(--solumondo-a11y-heading-on-dark) !important;
	-webkit-text-fill-color: var(--solumondo-a11y-heading-on-dark) !important;
}

body.solumondo-app .solumondo-pw-hero .solumondo-catalog-stat {
	background: color-mix(in srgb, white 14%, transparent);
	border: 1px solid color-mix(in srgb, white 35%, transparent);
}

body.solumondo-app .solumondo-pw-hero .solumondo-catalog-stat strong {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

body.solumondo-app .solumondo-pw-hero .solumondo-catalog-stat span {
	color: var(--solumondo-a11y-muted-on-dark) !important;
}

body.solumondo-app .solumondo-pw-legal {
	color: var(--solumondo-a11y-muted-on-light) !important;
	background: #ffffff;
	border: 2px solid var(--solumondo-border);
}

body.solumondo-app .solumondo-pw-shell .solumondo-cat-card__title {
	color: var(--solumondo-a11y-heading-on-light) !important;
	-webkit-text-fill-color: var(--solumondo-a11y-heading-on-light) !important;
}

body.solumondo-app .solumondo-pw-shell .solumondo-cat-card__tagline,
body.solumondo-app .solumondo-pw-shell .solumondo-cat-card__highlights {
	color: var(--solumondo-a11y-muted-on-light) !important;
}

/* ==========================================================================
   5b. Subpages Dark Trust Layer
   ========================================================================== */
body.solumondo-app.solumondo-marketing-page:not(.solumondo-partner-shop-page):not(.solumondo-partner-shops-gallery-page) .site-main,
body.solumondo-app.page:not(.home):not(.solumondo-page-3610):not(.woocommerce-account):not(.solumondo-partner-shop-page):not(.solumondo-partner-shops-gallery-page) .site-main {
	background:
		radial-gradient(circle at 12% 0%, color-mix(in srgb, var(--solumondo-orange) 10%, transparent), transparent 26rem),
		linear-gradient(180deg, #050b14 0%, #081426 56%, #0b1b33 100%) !important;
}

body.solumondo-app.solumondo-marketing-page:not(.solumondo-partner-shop-page):not(.solumondo-partner-shops-gallery-page) .entry-content,
body.solumondo-app.page:not(.home):not(.solumondo-page-3610):not(.woocommerce-account):not(.solumondo-partner-shop-page):not(.solumondo-partner-shops-gallery-page) .entry-content {
	color: var(--solumondo-a11y-text-on-dark) !important;
}

body.solumondo-app.solumondo-marketing-page:not(.solumondo-partner-shop-page):not(.solumondo-partner-shops-gallery-page) .entry-content :where(h1, h2, h3, h4):not(
	:where(
		.solumondo-mkt-feature *,
		.solumondo-mkt-step *,
		.solumondo-mkt-example *,
		.solumondo-mkt-faq__item *,
		.solumondo-mkt-surface-light *,
		.solumondo-mkt-compare *,
		.solumondo-mkt-form-panel *,
		.solumondo-mkt-contact *,
		.solumondo-mkt-split__panel *,
		.solumondo-mkt-highlight *
	)
),
body.solumondo-app.page:not(.home):not(.solumondo-page-3610):not(.woocommerce-account) .entry-content :where(h1, h2, h3, h4):not(:where(.solumondo-mkt-shell *, .solumondo-produktwelten-shell *, .solumondo-home-shell *)) {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	text-align: center;
}

body.solumondo-app.solumondo-marketing-page:not(.solumondo-partner-shop-page):not(.solumondo-partner-shops-gallery-page) .entry-content :where(p, li, .uagb-desc-text):not(
	:where(
		.solumondo-mkt-feature *,
		.solumondo-mkt-step *,
		.solumondo-mkt-example *,
		.solumondo-mkt-faq__item *,
		.solumondo-mkt-surface-light *,
		.solumondo-mkt-compare *,
		.solumondo-mkt-form-panel *,
		.solumondo-mkt-contact *,
		.solumondo-mkt-split__panel *,
		.solumondo-mkt-highlight *
	)
),
body.solumondo-app.page:not(.home):not(.solumondo-page-3610):not(.woocommerce-account) .entry-content :where(p, li, .uagb-desc-text):not(:where(.solumondo-mkt-shell *, .solumondo-produktwelten-shell *, .solumondo-home-shell *)) {
	color: color-mix(in srgb, #ffffff 86%, #9bb3d3) !important;
}

body.solumondo-app.solumondo-marketing-page:not(.solumondo-partner-shop-page):not(.solumondo-partner-shops-gallery-page) .entry-content :where(.wp-block-group, .wp-block-cover, .wp-block-columns, .wp-block-kadence-rowlayout, .wp-block-uagb-container, .kt-row-layout-inner, .uagb-is-root-container),
body.solumondo-app.page:not(.home):not(.solumondo-page-3610):not(.woocommerce-account) .entry-content :where(.wp-block-group, .wp-block-cover, .wp-block-columns, .wp-block-kadence-rowlayout, .wp-block-uagb-container, .kt-row-layout-inner, .uagb-is-root-container) {
	background: color-mix(in srgb, #0b1b33 84%, #ffffff 16%) !important;
	border-color: color-mix(in srgb, var(--solumondo-orange) 34%, transparent) !important;
}

/* ==========================================================================
   5b. Mein Konto — Marketing-Dark-Theme darf Account-Inhalte nicht übermalen
   ========================================================================== */

body.solumondo-app.woocommerce-account .woocommerce-MyAccount-content :is(
	.solu-account-support,
	.solu-account-profile,
	.solu-account-verify,
	.solu-account-receipts,
	.solu-account-hub,
	.solu-mp-filters,
	.solu-mp-browse,
	.solu-marketplace-account
) :is(h1, h2, h3, h4, label, p, span, strong, li) {
	color: #0c1726 !important;
	-webkit-text-fill-color: #0c1726 !important;
}

body.solumondo-app.woocommerce-account .site-header {
	background: var(--solumondo-navy) !important;
	background-image: none !important;
}

body.solumondo-app.woocommerce-account .site-header :is(.site-title, .site-branding a, .menu-toggle, .header-toggle-button, .main-navigation .menu-item > a) {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

/* ==========================================================================
   6. Kontrast-Toggle UI
   ========================================================================== */

.solumondo-contrast-toggle {
	position: fixed;
	z-index: 9998;
	right: max(0.75rem, env(safe-area-inset-right, 0px));
	bottom: max(1rem, calc(env(safe-area-inset-bottom, 0px) + 0.75rem));
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-height: 2.75rem;
	padding: 0.5rem 0.85rem;
	color: var(--solumondo-a11y-btn-primary-text);
	font-family: var(--solumondo-font-sans, inherit);
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	background: var(--solumondo-a11y-btn-primary-bg);
	border: 2px solid var(--solumondo-a11y-btn-primary-border);
	border-radius: 999px;
	box-shadow: 0 8px 24px color-mix(in srgb, var(--solumondo-navy) 22%, transparent);
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.solumondo-contrast-toggle:hover,
.solumondo-contrast-toggle:focus-visible {
	transform: translateY(-2px);
	box-shadow: var(--solumondo-a11y-focus-ring);
}

.solumondo-contrast-toggle__icon {
	display: grid;
	place-items: center;
	width: 1.35rem;
	height: 1.35rem;
	border-radius: 50%;
	background: color-mix(in srgb, var(--solumondo-navy) 12%, transparent);
}

.solumondo-contrast-toggle__icon::before {
	content: "";
	width: 0.85rem;
	height: 0.85rem;
	background: currentColor;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16zm0 2v12a6 6 0 0 1 0-12z'/%3E%3C/svg%3E") center/contain no-repeat;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 4a8 8 0 1 0 0 16 8 8 0 0 0 0-16zm0 2v12a6 6 0 0 1 0-12z'/%3E%3C/svg%3E") center/contain no-repeat;
}

html[data-solumondo-contrast="high"] .solumondo-contrast-toggle,
body.solumondo-a11y-contrast .solumondo-contrast-toggle {
	color: #ffffff;
	background: #000000;
	border-color: #000000;
}

@media (max-width: 900px) {
	.solumondo-contrast-toggle__label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.solumondo-contrast-toggle {
		padding: 0.52rem;
		border-radius: 50%;
		min-height: 2rem;
		min-width: 2rem;
		gap: 0;
		right: max(0.4rem, env(safe-area-inset-right, 0px));
		bottom: max(0.4rem, calc(env(safe-area-inset-bottom, 0px) + 0.2rem));
		box-shadow: 0 5px 14px color-mix(in srgb, var(--solumondo-navy) 18%, transparent);
	}

	body.solumondo-app.solumondo-page-3610 .solumondo-contrast-toggle {
		left: max(0.4rem, env(safe-area-inset-left, 0px));
		right: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.solumondo-contrast-toggle {
		transition: none;
	}
}
