/*
 Theme Name: Eule Robotics
 Theme URI: https://new.eule-robotics.de
 Description: Child of Twenty Twenty-Five with Eule Robotics branding and custom homepage layouts.
 Author: Eule Robotics
 Template: twentytwentyfive
 Version: 1.1.61
 Requires at least: 6.7
 Tested up to: 6.8
 Text Domain: eule-robotics
*/

/* Fallback until header-offset.js measures the fixed bar; updated live for any header height. */
:root {
	/* Fallback before header-offset.js runs (taller header: logo row padding + strip). */
	--eule-main-offset: 292px;
}

.eule-tc-card {
	border-radius: 0.375rem;
	box-shadow: 0 0.125rem 0.25rem rgba(33, 33, 33, 0.08);
}

/*
 * Reusable block cards in columns: ensure referenced block content can stretch to
 * the full column height so inner "min-height: 100%" and button push-down work.
 */
.wp-block-column.eule-tc-card {
	display: flex;
	flex-direction: column;
}

.wp-block-column.eule-tc-card > .wp-block-block,
.wp-block-column.eule-tc-card > .wp-block-group {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 100%;
}

.wp-block-column.eule-tc-card > .wp-block-block > .wp-block-group {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 100%;
}

/* Force CTA row to bottom inside card content column. */
.wp-block-column.eule-tc-card .wp-block-buttons.push-to-bottom {
	margin-top: auto !important;
	margin-block-start: auto !important;
}

/*
 * Keep card content anchored at top; CTA uses auto top margin to stick to bottom.
 * This avoids the visual side effects seen with Gutenberg "content justification center".
 */
.wp-block-column.eule-tc-card .wp-block-group.is-vertical.is-content-justification-center.wp-block-group-is-layout-flex {
	justify-content: flex-start !important;
}

/*
 * Block style "Hyphenation" (is-style-eule-hyphenate): browser hyphenation uses the block `lang`
 * (set from Polylang locale on render). Quality depends on the browser/OS dictionary.
 */
.is-style-eule-hyphenate {
	hyphens: auto;
	-webkit-hyphens: auto;
	word-break: normal;
	overflow-wrap: break-word;
}

/*
 * Sidebar downloads pattern: clip inner blocks to the card radius (header is top-only rounded).
 */
.eule-sidebar-downloads-panel.wp-block-group {
	border-radius: 12px;
	overflow: hidden;
}

/*
 * Sidebar downloads pattern: theme.json heading colors are dark — force light title on the accent bar.
 */
.eule-sidebar-downloads-panel .wp-block-group.has-accent-1-background-color :where(h1, h2, h3, h4) {
	color: var(--wp--preset--color--base, #ffffff) !important;
}

/*
 * Sidebar downloads: body / list link colors on the light surface.
 * Override in Customizer → Additional CSS, e.g.:
 *   .eule-sidebar-downloads-panel { --eule-downloads-link: #0b5; --eule-downloads-link-hover: #094; }
 */
.eule-sidebar-downloads-panel {
	--eule-downloads-link: var(--wp--preset--color--accent-1, #1f2937);
	--eule-downloads-link-hover: var(--wp--preset--color--accent-3, #f28c0f);
}

.eule-sidebar-downloads-panel :where(.wp-block-list, .wp-block-paragraph) a:not(.wp-block-button__link):not(.wp-element-button) {
	color: var(--eule-downloads-link);
	text-decoration-color: color-mix(in srgb, var(--eule-downloads-link) 50%, transparent);
}

.eule-sidebar-downloads-panel :where(.wp-block-list, .wp-block-paragraph) a:not(.wp-block-button__link):not(.wp-element-button):hover,
.eule-sidebar-downloads-panel :where(.wp-block-list, .wp-block-paragraph) a:not(.wp-block-button__link):not(.wp-element-button):focus {
	color: var(--eule-downloads-link-hover);
	text-decoration-color: color-mix(in srgb, var(--eule-downloads-link-hover) 50%, transparent);
}

/*
 * Columns: core uses min-width: 0 so flex items can shrink. A 15rem floor caused two-column rows
 * to exceed the viewport (gap + root padding) with heavy right-side clipping until 782px stack.
 */
.wp-block-columns {
	max-width: 100%;
	box-sizing: border-box;
}

.wp-block-columns .wp-block-column {
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

/*
 * Core only stacks below 782px; stack earlier so multi-column rows fit inside padded content.
 */
@media (max-width: 960px) {
	.wp-block-columns:not(.is-not-stacked-on-mobile) {
		flex-wrap: wrap !important;
	}

	.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
		flex-basis: 100% !important;
		flex-grow: 0 !important;
		max-width: 100% !important;
	}
}

/* Site header (all languages / all templates using header-home). */
.eule-home-header-wrap {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 80;
	background: linear-gradient(125deg, #111827 0%, #1f2937 45%, #374151 75%, #4b5563 100%);
	border-bottom: 0;
	padding-left: calc(var(--wp--preset--spacing--50) * 0.5) !important;
	padding-top: 26px !important;
	/* No bottom padding on the outer wrap: the grey subnav is last; wrapper bottom padding read as navy under the strip. */
	padding-bottom: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

/* Decorative bottom line removed (read as separator under nav / slider seam). */
.eule-home-header-wrap::after {
	content: none;
	display: none;
}

.eule-home-header-wrap .wp-block-site-title a,
.eule-home-header-wrap .wp-block-navigation a {
	color: #f9fafb !important;
}

.eule-home-header-wrap .wp-block-site-logo img {
	height: auto;
	max-height: 72px;
	width: auto;
}

.eule-home-logo-link {
	display: inline-flex;
	align-items: center;
	margin-left: 50px;
}

.eule-home-logo {
	display: block;
	height: auto;
	max-height: 144px;
	width: auto;
	max-width: 520px;
}

/* Three-step header / logo; main offset tracks height so gap above slider stays tight. */
@media (max-width: 960px) {
	.eule-home-logo {
		max-height: 100px;
		max-width: 360px;
	}

	.eule-home-logo-link {
		margin-left: 6px;
	}

	.eule-home-header-wrap {
		padding-left: 18px !important;
		padding-right: 18px !important;
		padding-top: 22px !important;
		padding-bottom: 0 !important;
	}

	.eule-home-header-wrap .alignwide > .wp-block-group:first-child {
		margin-top: 0;
	}

	.eule-home-header-wrap .alignwide {
		padding-bottom: 18px !important;
	}

	:root {
		--wp--style--root--padding-left: 18px !important;
		--wp--style--root--padding-right: 18px !important;
	}

	body {
		--wp--style--root--padding-left: 18px !important;
		--wp--style--root--padding-right: 18px !important;
	}

	.home main .wp-block-post-content > .wp-block-group.alignfull:not(.has-background):not(.has-eule-hero-brand-gradient-background) {
		margin-left: 0;
		margin-right: 0;
	}

	.home main .wp-block-group.has-accent-5-background-color .wp-block-columns.alignwide {
		width: 90% !important;
		max-width: 90% !important;
	}
}

@media (max-width: 782px) {
	.eule-home-logo {
		max-height: 76px;
		max-width: 260px;
	}

	.eule-home-logo-link {
		margin-left: 0;
	}

	.eule-home-header-wrap {
		padding-left: 16px !important;
		padding-right: 16px !important;
		padding-top: 18px !important;
		padding-bottom: 0 !important;
	}

	.eule-home-header-wrap .alignwide > .wp-block-group:first-child {
		margin-top: 0;
	}

	.eule-home-header-wrap .alignwide {
		padding-bottom: 15px !important;
	}

	:root {
		--wp--style--root--padding-left: 16px !important;
		--wp--style--root--padding-right: 16px !important;
	}

	body {
		--wp--style--root--padding-left: 16px !important;
		--wp--style--root--padding-right: 16px !important;
	}

	.home main .wp-block-post-content > .wp-block-group.alignfull:not(.has-background):not(.has-eule-hero-brand-gradient-background) {
		margin-left: 0;
		margin-right: 0;
	}

	.home main .wp-block-group.has-accent-5-background-color .wp-block-columns.alignwide {
		width: 90% !important;
		max-width: 90% !important;
	}
}

@media (max-width: 480px) {
	.eule-home-logo {
		max-height: 48px;
		max-width: 190px;
	}

	.eule-home-logo-link {
		margin-left: 0;
	}

	.eule-home-header-wrap {
		padding-left: 14px !important;
		padding-right: 14px !important;
		padding-top: 14px !important;
		padding-bottom: 0 !important;
	}

	.eule-home-header-wrap .eule-header-nav-tools {
		column-gap: 0.65rem;
	}

	.eule-home-header-wrap .alignwide > .wp-block-group:first-child {
		margin-top: 0;
	}

	.eule-home-header-wrap .alignwide {
		padding-bottom: 12px !important;
	}

	:root {
		--wp--style--root--padding-left: 14px !important;
		--wp--style--root--padding-right: 14px !important;
	}

	body {
		--wp--style--root--padding-left: 14px !important;
		--wp--style--root--padding-right: 14px !important;
	}

	.home main .wp-block-post-content > .wp-block-group.alignfull:not(.has-background):not(.has-eule-hero-brand-gradient-background) {
		margin-left: 0;
		margin-right: 0;
	}

	.home main .wp-block-group.has-accent-5-background-color .wp-block-columns.alignwide {
		width: 90% !important;
		max-width: 90% !important;
	}
}

.eule-home-header-wrap .alignwide {
	align-items: center !important;
	max-width: none !important;
	width: 100% !important;
	/* Space below logo row only (stays on dark background; avoids navy band under grey strip). */
	padding-bottom: 24px !important;
}

/* Nav + language switcher: same row, baseline-aligned (matches core/navigation medium). */
.eule-home-header-wrap .eule-header-nav-tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	column-gap: 1.25rem;
	row-gap: 0.5rem;
	align-self: flex-start;
	margin-top: 2px;
}

.eule-home-header-wrap .eule-header-nav-tools .wp-block-navigation {
	margin: 0;
}

.eule-home-header-wrap .eule-header-nav-tools .wp-block-polylang-language-switcher {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0;
	font-family: var(--wp--preset--font-family--manrope, inherit);
	font-size: var(--wp--preset--font-size--medium, clamp(1rem, 0.95rem + 0.2vw, 1.125rem));
	line-height: 1.25;
	color: #f9fafb;
}


.eule-home-header-wrap .eule-header-nav-tools .pll-select-flag {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

.eule-home-header-wrap .eule-header-nav-tools .pll-select-flag img {
	display: block;
	width: 1.35em;
	height: auto;
	border-radius: 2px;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.25);
	vertical-align: middle;
}

.eule-home-header-wrap .eule-header-nav-tools select.pll-switcher-select {
	margin: 0;
	max-width: 12rem;
	font: inherit;
	line-height: 1.25;
	color: #f9fafb;
	background-color: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.35);
	border-radius: 4px;
	padding: 0.28em 2.25rem 0.28em 0.55em;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, #f9fafb 50%),
		linear-gradient(135deg, #f9fafb 50%, transparent 50%);
	background-position: calc(100% - 1.1em) 55%, calc(100% - 0.65em) 55%;
	background-size: 0.35em 0.35em, 0.35em 0.35em;
	background-repeat: no-repeat;
}

.eule-home-header-wrap .eule-header-nav-tools select.pll-switcher-select:focus {
	outline: 2px solid rgba(125, 211, 252, 0.7);
	outline-offset: 2px;
}

.eule-home-header-wrap .eule-header-nav-tools select.pll-switcher-select option {
	color: #111827;
	background-color: #f9fafb;
}

.eule-home-header-wrap .alignwide > .wp-block-group:first-child {
	align-self: center;
	margin-top: 0;
}

.eule-home-header-wrap .wp-block-navigation-item {
	line-height: 1.25;
}

.eule-home-header-wrap .eule-header-subnav-strip {
	margin-top: 0;
	padding: 0.75rem 0;
	background: #c7ced6;
	border-top: 1px solid rgba(15, 23, 42, 0.08);
	border-bottom: 0;
	padding-left: var(--wp--style--root--padding-left, 22px);
	padding-right: var(--wp--style--root--padding-right, 22px);
}

.eule-home-header-wrap .eule-header-subnav-inner {
	max-width: none;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
	padding-left: var(--wp--style--root--padding-left, 22px);
	padding-right: var(--wp--style--root--padding-right, 22px);
}

.eule-home-header-wrap .eule-header-subnav {
	row-gap: 0.5rem;
	column-gap: 0.6rem;
	font-size: 1.12rem;
	font-weight: 600;
	justify-content: flex-start !important;
	display: block;
	width: 100%;
	overflow-x: visible;
	max-width: none !important;
	margin: 0 !important;
}

.eule-home-header-wrap .eule-header-subnav .wp-block-navigation__container {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: flex-start !important;
	width: 100%;
}

.eule-home-header-wrap .eule-header-subnav .wp-block-navigation-item {
	position: relative;
	padding-right: 0.65rem;
	margin-right: 0.2rem;
}

.eule-home-header-wrap .eule-header-subnav .wp-block-navigation-item:not(:last-child)::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 1em;
	background: rgba(14, 74, 111, 0.35);
}

.eule-home-header-wrap .eule-header-subnav .wp-block-navigation-item__content {
	padding: 0.32rem 0.2rem;
	color: #0e4a6f !important;
	background: transparent;
	border: 0;
	border-radius: 0;
	text-decoration: none;
	white-space: nowrap;
}

.eule-home-header-wrap .eule-header-subnav .wp-block-navigation-item__content:hover {
	color: #0891b2 !important;
	background: transparent;
}

/*
 * Clear fixed header stack.
 *
 * Important: the homepage header is rendered as a template-part wrapper, not `<header>`, so
 * adjacent-sibling selectors like `header + main` do not reliably apply.
 */
body.has-eule-fixed-header .wp-site-blocks {
	padding-top: var(--eule-main-offset, 292px);
	/* Twenty Twenty-Five sets root blockGap (~1.2rem); template-part collapses in-flow so this reads as a white band under the fixed header. */
	gap: 0 !important;
	row-gap: 0 !important;
	column-gap: 0 !important;
}

/* Remove default top-level block gap between template-part and main (fixed header pages). */
body.has-eule-fixed-header .wp-site-blocks > .wp-block-template-part + main,
body.has-eule-fixed-header .wp-site-blocks > main.wp-block-group {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
}

/* Flow layout can still add block-gap margin to the first post block on wide viewports. */
body.has-eule-fixed-header .entry-content > :first-child {
	margin-block-start: 0 !important;
}

/* Content Page #1: prevent extra first-block top gap below fixed header. */
body.page-template-content-page-1.has-eule-fixed-header .wp-block-post-content > :first-child {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
}

/* Content Page #1: first section carries explicit top margins (alignfull + nested alignwide). */
body.page-template-content-page-1.has-eule-fixed-header .wp-block-post-content > .wp-block-group.alignfull:first-child {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
}

body.page-template-content-page-1.has-eule-fixed-header .wp-block-post-content > .wp-block-group.alignfull:first-child > .wp-block-group.alignwide:first-child {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
}


/* Smart Slider 3: remove tiny seam between fixed nav strip and slider on homepage */
body.home .entry-content > .n2-section-smartslider:first-child {
	/* Pull up residual subpixel gap under fixed chrome (offset uses rounded height). */
	margin-top: -3px !important;
}

body.home .entry-content > .n2-section-smartslider:first-child .n2-padding {
	padding-top: 0 !important;
}

/*
 * Editor text colors on headings override theme.json elements:
 * - “Contrast” → .has-contrast-color (#212121)
 * - “Primary” (accent-1) → .has-accent-1-color — child palette accent-1 is #1f2937 (reads as black)
 * Re-apply navy H1/H2 in post content. Hero gradient block overrides below with light text.
 */
main .wp-block-post-content h1.wp-block-heading.has-contrast-color,
main .wp-block-post-content h1.wp-block-heading.has-accent-1-color {
	color: #132b4d !important;
}

main .wp-block-post-content h2.wp-block-heading.has-contrast-color,
main .wp-block-post-content h2.wp-block-heading.has-accent-1-color {
	color: #1e497b !important;
}

.home main .wp-block-post-content > .wp-block-group.alignfull:not(.has-background):not(.has-eule-hero-brand-gradient-background) {
	margin-left: 28px;
	margin-right: 28px;
}

.home main .wp-block-post-content > .wp-block-group.alignfull.has-background,
.home main .wp-block-post-content > .wp-block-group.alignfull.has-eule-hero-brand-gradient-background {
	margin-left: 0;
	margin-right: 0;
}

.home main .wp-block-group.has-accent-5-background-color .wp-block-columns.alignwide {
	width: 75%;
	max-width: 75%;
	margin-left: auto;
	margin-right: auto;
}

/*
 * Card title in "Image with text (Top)": keep one line as viewport narrows.
 * Scale down smoothly and use ellipsis as final fallback.
 */
.wp-block-column.eule-tc-card .wp-block-heading.has-x-large-font-size {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: clamp(0.92rem, 1.1vw + 0.55rem, var(--wp--preset--font-size--x-large)) !important;
	line-height: 1.2;
	word-break: keep-all;
	overflow-wrap: normal;
}

/* Per-card min-width presets (set via Column -> Styles panel). */
.wp-block-columns.alignwide > .wp-block-column.eule-tc-card.is-style-card-min-150,
.wp-block-columns.alignwide > .wp-block-column.eule-tc-card.is-style-card-min-300,
.wp-block-columns.alignwide > .wp-block-column.eule-tc-card.is-style-card-min-340 {
	min-width: 0;
	flex: 1 1 auto;
}

/* Row-level wrap presets (select on the Columns block). */
.wp-block-columns.alignwide.is-style-cards-wrap-220,
.wp-block-columns.alignwide.is-style-cards-wrap-260,
.wp-block-columns.alignwide.is-style-cards-wrap-300,
.wp-block-columns.alignwide.is-style-min-width-260,
.wp-block-columns.alignwide.is-style-min-width-300,
.wp-block-columns.alignwide.is-style-min-width-340 {
	flex-wrap: wrap !important;
}

.wp-block-columns.alignwide.is-style-cards-wrap-260 > .wp-block-column.eule-tc-card,
.wp-block-columns.alignwide.is-style-min-width-260 > .wp-block-column.eule-tc-card {
	min-width: min(100%, 260px);
	flex: 1 1 260px;
}

.wp-block-columns.alignwide.is-style-cards-wrap-300 > .wp-block-column.eule-tc-card,
.wp-block-columns.alignwide.is-style-min-width-300 > .wp-block-column.eule-tc-card {
	min-width: min(100%, 300px);
	flex: 1 1 300px;
}

.wp-block-columns.alignwide.is-style-min-width-340 > .wp-block-column.eule-tc-card {
	min-width: min(100%, 340px);
	flex: 1 1 340px;
}

/* Keep row-level wrap active in tablet range where core would otherwise force full stack. */
@media (max-width: 960px) {
	.wp-block-columns.alignwide.is-style-cards-wrap-260:not(.is-not-stacked-on-mobile) > .wp-block-column.eule-tc-card,
	.wp-block-columns.alignwide.is-style-min-width-260:not(.is-not-stacked-on-mobile) > .wp-block-column.eule-tc-card {
		flex-basis: 260px !important;
		flex-grow: 1 !important;
		max-width: 100% !important;
	}

	.wp-block-columns.alignwide.is-style-cards-wrap-300:not(.is-not-stacked-on-mobile) > .wp-block-column.eule-tc-card,
	.wp-block-columns.alignwide.is-style-min-width-300:not(.is-not-stacked-on-mobile) > .wp-block-column.eule-tc-card {
		flex-basis: 300px !important;
		flex-grow: 1 !important;
		max-width: 100% !important;
	}

	.wp-block-columns.alignwide.is-style-min-width-340:not(.is-not-stacked-on-mobile) > .wp-block-column.eule-tc-card {
		flex-basis: 340px !important;
		flex-grow: 1 !important;
		max-width: 100% !important;
	}
}

/* On narrow phones, keep a clean one-column stack. */
@media (max-width: 782px) {
	.wp-block-columns.alignwide.is-style-cards-wrap-260:not(.is-not-stacked-on-mobile) > .wp-block-column.eule-tc-card,
	.wp-block-columns.alignwide.is-style-cards-wrap-300:not(.is-not-stacked-on-mobile) > .wp-block-column.eule-tc-card,
	.wp-block-columns.alignwide.is-style-min-width-260:not(.is-not-stacked-on-mobile) > .wp-block-column.eule-tc-card,
	.wp-block-columns.alignwide.is-style-min-width-300:not(.is-not-stacked-on-mobile) > .wp-block-column.eule-tc-card,
	.wp-block-columns.alignwide.is-style-min-width-340:not(.is-not-stacked-on-mobile) > .wp-block-column.eule-tc-card {
		flex-basis: 100% !important;
		flex-grow: 0 !important;
		max-width: 100% !important;
	}
}

/* Per-card title presets (select on each card Column block). */
.wp-block-column.eule-tc-card.is-style-card-title-compact .wp-block-heading.has-x-large-font-size {
	font-size: clamp(0.8rem, 0.9vw + 0.45rem, var(--wp--preset--font-size--x-large)) !important;
}

.wp-block-column.eule-tc-card.is-style-card-title-default .wp-block-heading.has-x-large-font-size {
	font-size: clamp(0.92rem, 1.1vw + 0.55rem, var(--wp--preset--font-size--x-large)) !important;
}

.wp-block-column.eule-tc-card.is-style-card-title-relaxed .wp-block-heading.has-x-large-font-size {
	font-size: clamp(1.02rem, 1.3vw + 0.65rem, var(--wp--preset--font-size--x-large)) !important;
}

/* Content Page #1 should follow the same wider section behavior as homepage. */
body.page-template-content-page-1 main .wp-block-post-content > .wp-block-group.alignfull:not(.has-background):not(.has-eule-hero-brand-gradient-background) {
	margin-left: 28px;
	margin-right: 28px;
}

body.page-template-content-page-1 main .wp-block-post-content > .wp-block-group.alignfull.has-background,
body.page-template-content-page-1 main .wp-block-post-content > .wp-block-group.alignfull.has-eule-hero-brand-gradient-background {
	margin-left: 0;
	margin-right: 0;
}

body.page-template-content-page-1 main .wp-block-group.has-accent-5-background-color .wp-block-columns.alignwide {
	width: 75%;
	max-width: 75%;
	margin-left: auto;
	margin-right: auto;
}

/*
 * Hero gradient groups keep light text (theme.json sets proposal-A navy for headings globally).
 * Does not change gradient colors — only ensures contrast on the dark band.
 */
main .wp-block-post-content .wp-block-group[class*="has-eule-hero-brand-gradient-background"] :is(h1, h2, h3, h4, h5, h6).wp-block-heading {
	color: var(--wp--preset--color--base, #ffffff) !important;
}

main .wp-block-post-content .wp-block-group[class*="has-eule-hero-brand-gradient-background"] .wp-block-paragraph:not(.has-text-color),
main .wp-block-post-content .wp-block-group[class*="has-eule-hero-brand-gradient-background"] .wp-block-list:not(.has-text-color) {
	color: var(--wp--preset--color--base, #ffffff);
}

main .wp-block-post-content .wp-block-group[class*="has-eule-hero-brand-gradient-background"] a:not(.wp-block-button__link):not(.wp-element-button) {
	color: var(--wp--preset--color--base, #ffffff);
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

main .wp-block-post-content .wp-block-group[class*="has-eule-hero-brand-gradient-background"] a:not(.wp-block-button__link):not(.wp-element-button):hover {
	color: #bae6fd;
}

/*
 * Core `core-block-supports-inline-css` sets .wp-container-* > .alignfull to
 * margin ± calc(var(--wp--preset--spacing--50) * -1) (~30px min), ignoring * reduced --wp--style--root--padding-*. That mismatch is most of the “huge left /
 * flush right” feel on mobile. Force breakout to track the same vars as
 * .has-global-padding padding (set above per breakpoint).
 */
@media (max-width: 960px) {
	.has-global-padding > .alignfull,
	[class*="wp-container-core-group-is-layout-"] > .alignfull {
		margin-left: calc(var(--wp--style--root--padding-left) * -1) !important;
		margin-right: calc(var(--wp--style--root--padding-right) * -1) !important;
	}

	/*
	 * Smart Slider 3: `ss3-force-full-width` uses JS (translateX + width) to break out to `body`.
	 * That often disagrees with theme padding and reads as a thick left band / flush right on phones.
	 * Pin the wrapper to the post content box so it tracks the same horizontal rhythm as blocks below.
	 */
	.wp-block-post-content ss3-force-full-width {
		width: 100% !important;
		max-width: 100% !important;
		transform: none !important;
		opacity: 1 !important;
	}
}
