/* Program theme tokens and mappings: sw-theme variants, accent inheritance, and program-specific color surfaces. */

.sw-theme-playgroup,
.sw-theme-playschool,
.sw-theme-pfadfinder,
.sw-theme-events,
.sw-cta-band,
:is(.sw-band-soft, .spielwelt-band-soft),
.spielwelt-band-warm,
.spielwelt-cta-band,
:is(.sw-hero-playgroup, .spielwelt-hero-playgroup),
:is(.sw-hero-events, .spielwelt-hero-events) {
	--sw-brand-primary: var(--wp--preset--color--brand-primary);
	--sw-brand-secondary: var(--wp--preset--color--brand-secondary);
	--sw-theme-primary: var(--sw-brand-primary);
	--sw-theme-secondary: var(--wp--preset--color--brand-paper);
	--sw-theme-ink: var(--wp--preset--color--brand-ink);
	--sw-theme-eyebrow: var(--sw-theme-secondary);
	--sw-theme-link: var(--sw-theme-primary);
	--sw-theme-button: var(--sw-theme-primary);
	--sw-theme-button-hover: color-mix(in srgb, var(--sw-theme-primary) 84%, black 16%);
	--sw-theme-accent: var(--sw-theme-primary);
	--sw-theme-wash: color-mix(in srgb, var(--sw-theme-primary) 14%, white 86%);
	--sw-theme-wash-strong: color-mix(in srgb, var(--sw-theme-primary) 22%, white 78%);
	--sw-theme-accent-soft: var(--sw-theme-wash);
}

.sw-theme-playgroup,
:is(.sw-hero-playgroup, .spielwelt-hero-playgroup) {
	--sw-theme-primary: var(--wp--preset--color--playgroups-primary);
	--sw-theme-secondary: var(--wp--preset--color--playgroups-secondary);
}

.sw-theme-playschool {
	--sw-theme-primary: var(--wp--preset--color--gap-primary);
	--sw-theme-secondary: var(--wp--preset--color--gap-secondary);
}

.sw-theme-pfadfinder {
	--sw-theme-primary: var(--wp--preset--color--pfadfinder-primary);
	--sw-theme-secondary: var(--wp--preset--color--pfadfinder-secondary);
}

.sw-theme-events,
:is(.sw-hero-events, .spielwelt-hero-events) {
	--sw-theme-primary: var(--wp--preset--color--events-primary);
	--sw-theme-secondary: var(--wp--preset--color--events-secondary);
}

.sw-theme-playgroup .is-style-sw-eyebrow,
.sw-theme-playschool .is-style-sw-eyebrow,
.sw-theme-pfadfinder .is-style-sw-eyebrow,
.sw-theme-events .is-style-sw-eyebrow,
.sw-theme-playgroup .sw-eyebrow,
.sw-theme-playschool .sw-eyebrow,
.sw-theme-pfadfinder .sw-eyebrow,
.sw-theme-events .sw-eyebrow {
	color: var(--sw-theme-eyebrow) !important;
}

.sw-theme-playgroup .wp-block-heading:is(h2, h3):not(.sw-hero-title):not(.wp-block-post-title),
.sw-theme-playschool .wp-block-heading:is(h2, h3):not(.sw-hero-title):not(.wp-block-post-title),
.sw-theme-pfadfinder .wp-block-heading:is(h2, h3):not(.sw-hero-title):not(.wp-block-post-title),
.sw-theme-events .wp-block-heading:is(h2, h3):not(.sw-hero-title):not(.wp-block-post-title) {
	color: var(--sw-theme-primary) !important;
}

.sw-theme-playgroup .wp-block-heading:is(h2, h3):not(.sw-hero-title):not(.wp-block-post-title) a,
.sw-theme-playschool .wp-block-heading:is(h2, h3):not(.sw-hero-title):not(.wp-block-post-title) a,
.sw-theme-pfadfinder .wp-block-heading:is(h2, h3):not(.sw-hero-title):not(.wp-block-post-title) a,
.sw-theme-events .wp-block-heading:is(h2, h3):not(.sw-hero-title):not(.wp-block-post-title) a {
	color: inherit !important;
}

.sw-theme-playgroup :where(p, li, blockquote, .wp-block-paragraph, .wp-block-list) a:not(.wp-element-button):not(.wp-block-button__link),
.sw-theme-playschool :where(p, li, blockquote, .wp-block-paragraph, .wp-block-list) a:not(.wp-element-button):not(.wp-block-button__link),
.sw-theme-pfadfinder :where(p, li, blockquote, .wp-block-paragraph, .wp-block-list) a:not(.wp-element-button):not(.wp-block-button__link),
.sw-theme-events :where(p, li, blockquote, .wp-block-paragraph, .wp-block-list) a:not(.wp-element-button):not(.wp-block-button__link) {
	color: var(--sw-theme-link);
}

.sw-theme-playgroup .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.sw-theme-playschool .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.sw-theme-pfadfinder .wp-block-button:not(.is-style-outline) .wp-block-button__link,
.sw-theme-events .wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background: var(--sw-theme-button) !important;
	border-color: var(--sw-theme-button) !important;
	color: var(--wp--preset--color--brand-light) !important;
}

.sw-theme-playgroup .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.sw-theme-playgroup .wp-block-button:not(.is-style-outline) .wp-block-button__link:focus,
.sw-theme-playschool .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.sw-theme-playschool .wp-block-button:not(.is-style-outline) .wp-block-button__link:focus,
.sw-theme-pfadfinder .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.sw-theme-pfadfinder .wp-block-button:not(.is-style-outline) .wp-block-button__link:focus,
.sw-theme-events .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.sw-theme-events .wp-block-button:not(.is-style-outline) .wp-block-button__link:focus {
	background: var(--sw-theme-button-hover) !important;
	border-color: var(--sw-theme-button-hover) !important;
}
