/* ETA Innovations — homepage hero (Elementor section .eta-elementor-home-hero) */

:root {
	--eta-home-hero-header-offset: 0px;
	--eta-home-hero-min-h: max(420px, 47svh);
	--eta-home-hero-pad-x: clamp(24px, 5vw, 80px);
	--eta-home-hero-pad-top: clamp(40px, 6svh, 96px);
	--eta-home-hero-pad-bottom: clamp(44px, 5.2svh, 72px);
}

body.eta-has-home-hero .page_content_wrap {
	padding-top: 0 !important;
}

body.eta-has-home-hero .top_panel,
body.eta-has-home-hero .top_panel .elementor-275 .elementor-element-90db02c,
body.eta-has-home-hero .top_panel .elementor-element-3ef0979,
body.eta-has-home-hero .top_panel .sc_layouts_row_fixed_on,
body.eta-has-home-hero .elementor-275 .elementor-element-90db02c.sc_layouts_row_fixed_on,
body.eta-has-home-hero .elementor-275 .elementor-element-3ef0979.sc_layouts_row_fixed_on {
	background: #ffffff !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	border-bottom: 1px solid rgba(0, 31, 63, 0.08) !important;
	box-shadow: 0 2px 16px rgba(0, 31, 63, 0.06) !important;
}

/* Tablet / mobile: hero pod sticky header; +120px vs poprzedni kompakt */
@media (max-width: 1279px) {
	:root {
		--eta-home-hero-header-offset: calc(
			var(--eta-header-mobile-bar, 56px) + (var(--eta-header-pad-y-mobile, 8px) * 2) +
				var(--eta-admin-bar-offset, var(--wp-admin--admin-bar--height, 0px))
		);
		/* Było max(260px, 32svh) — +120px w dół (treść nadal flex-end / lewo) */
		--eta-home-hero-min-h: max(380px, calc(32svh + 120px));
		--eta-home-hero-pad-top: calc(var(--eta-home-hero-header-offset) + 12px);
		--eta-home-hero-pad-bottom: clamp(24px, 4svh, 36px);
		--eta-home-hero-pad-x: clamp(16px, 4vw, 24px);
	}
}

@media (max-width: 767px) {
	:root {
		/* Było max(220px, 28svh) — +120px; min 340px żeby H1 nie ucinał overflow:hidden */
		--eta-home-hero-min-h: max(340px, calc(28svh + 120px));
		--eta-home-hero-pad-top: calc(var(--eta-home-hero-header-offset) + 80px);
		--eta-home-hero-pad-bottom: clamp(28px, 4svh, 40px);
		--eta-home-hero-pad-x: clamp(16px, 4vw, 20px);
	}

	/* Mobile: treść od góry — padding-top realnie odsuwa H1 od headera */
	.elementor .eta-elementor-home-hero,
	.elementor-3066 .elementor-element.elementor-element-etaher01 {
		--justify-content: flex-start;
		--padding-top: var(--eta-home-hero-pad-top);
		justify-content: flex-start;
	}

	.elementor .eta-elementor-home-hero > .e-con,
	.elementor .eta-elementor-home-hero > .e-con-inner,
	.elementor .eta-elementor-home-hero > .elementor-element-etaher02 {
		margin-top: 0;
	}
}

/* Domyślne tokeny hero — bez !important, żeby panel Elementor (padding, min-height, justify) działał */
.elementor .eta-elementor-home-hero,
.elementor-3066 .elementor-element.elementor-element-etaher01 {
	--min-height: var(--eta-home-hero-min-h);
	--padding-top: var(--eta-home-hero-pad-top);
	--padding-bottom: var(--eta-home-hero-pad-bottom);
	--padding-left: var(--eta-home-hero-pad-x);
	--padding-right: var(--eta-home-hero-pad-x);
	--justify-content: flex-end;
}

.elementor .eta-elementor-home-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	background-color: #001f3f;
}

.elementor .eta-elementor-home-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background: linear-gradient(
		102deg,
		rgba(0, 31, 63, 0.94) 0%,
		rgba(0, 31, 63, 0.78) 34%,
		rgba(0, 31, 63, 0.48) 62%,
		rgba(0, 31, 63, 0.22) 100%
	);
}

/* Inner column: domyślnie treść na dole hero; marginesy/flex edytowalne w Elementorze */
.elementor .eta-elementor-home-hero > .e-con,
.elementor .eta-elementor-home-hero > .e-con-inner,
.elementor .eta-elementor-home-hero > .elementor-element-etaher02 {
	position: relative;
	z-index: 1;
	flex: 0 0 auto;
	flex-grow: 0;
	align-self: stretch;
	margin-top: auto;
	width: 100%;
	max-width: 100%;
	min-height: 0;
}

.elementor .eta-elementor-home-hero .elementor-heading-title {
	text-wrap: balance;
}

.elementor .eta-elementor-home-hero .elementor-element-etaher11,
.elementor .eta-elementor-home-hero .elementor-element-etaher11 .elementor-widget-container {
	max-width: min(760px, 100%) !important;
}

/* Kolory CTA hero → eta-buttons-global.css */
.elementor .eta-elementor-home-hero .elementor-widget-button .elementor-button {
	white-space: nowrap;
	min-height: 46px;
	padding-inline: 22px;
}

@media (max-width: 1024px) {
	.elementor .eta-elementor-home-hero .elementor-element-etaher10 .elementor-heading-title {
		font-size: clamp(32px, 5vw, 40px) !important;
		line-height: 1.12 !important;
	}
}

@media (max-width: 767px) {
	/* Treść hero: lewo + dół; bez ucięcia i bez scroll-x */
	.elementor .eta-elementor-home-hero,
	.elementor-3066 .elementor-element.elementor-element-etaher01 {
		overflow-x: clip !important;
		overflow-y: hidden;
		max-width: 100% !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.elementor .eta-elementor-home-hero > .e-con,
	.elementor .eta-elementor-home-hero > .e-con-inner,
	.elementor .eta-elementor-home-hero > .elementor-element-etaher02,
	.elementor .eta-elementor-home-hero .e-con,
	.elementor .eta-elementor-home-hero .elementor-widget,
	.elementor .eta-elementor-home-hero .elementor-widget-container {
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	.elementor .eta-elementor-home-hero .elementor-element-etaher10,
	.elementor .eta-elementor-home-hero .elementor-element-etaher10 .elementor-widget-container,
	.elementor .eta-elementor-home-hero .elementor-element-etaher11,
	.elementor .eta-elementor-home-hero .elementor-element-etaher11 .elementor-widget-container {
		width: 100% !important;
		max-width: 100% !important;
	}

	.elementor .eta-elementor-home-hero .elementor-element-etaher10 .elementor-heading-title {
		font-size: clamp(26px, 7.2vw, 32px) !important;
		line-height: 1.15 !important;
		max-width: 100% !important;
		overflow-wrap: break-word;
		word-break: normal;
		hyphens: manual;
		padding-top: 2px; /* descenders / anti-clip przy overflow */
	}

	.elementor .eta-elementor-home-hero .elementor-element-etaher11 p {
		font-size: clamp(14px, 3.8vw, 16px) !important;
		line-height: 1.45 !important;
		max-width: 100% !important;
		overflow-wrap: anywhere;
		word-break: normal;
		white-space: normal !important;
	}

	.elementor .eta-elementor-home-hero .elementor-element-etaher12 {
		width: 100% !important;
		max-width: 100% !important;
		flex-wrap: wrap !important;
		gap: 8px !important;
	}

	.elementor .eta-elementor-home-hero .elementor-element-etaher12 .elementor-widget-button,
	.elementor .eta-elementor-home-hero .elementor-element-etaher12 .elementor-button-wrapper {
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.elementor .eta-elementor-home-hero .elementor-widget-button .elementor-button {
		flex: 1 1 calc(50% - 6px);
		justify-content: center;
		min-width: 0;
		max-width: 100%;
		min-height: 44px;
		padding-inline: 10px;
		font-size: 12.5px;
		white-space: nowrap;
	}

	/* Absolute / parallax warstwy nie wychodzą poza viewport */
	.elementor .eta-elementor-home-hero .elementor-absolute,
	.elementor .eta-elementor-home-hero .trx_addons_parallax_layers,
	.elementor .eta-elementor-home-hero .trx_addons_parallax_layer {
		max-width: 100% !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.elementor .eta-elementor-home-hero .trx_addons_parallax_layers_inited .trx_addons_parallax_layer {
		transform: none !important;
	}
}

/* Brand strip (fe1b155): wspólna lewa krawędź — Elementor ma align-items:flex-end na 02e0dbb */
.elementor-3066 .elementor-element-fe1b155 {
	--eta-home-brand-inline: max(2vw, 20px);
	--padding-left: var(--eta-home-brand-inline) !important;
	--padding-right: max(3vw, 40px) !important;
	padding-left: var(--eta-home-brand-inline) !important;
	padding-right: max(3vw, 40px) !important;
	box-sizing: border-box;
}

.elementor-3066 .elementor-element-fe1b155 > .e-con-inner {
	max-width: var(--eta-shell-max, 1280px) !important;
	width: 100% !important;
	margin-inline: auto !important;
	padding-inline: 0 !important;
	box-sizing: border-box;
}

/* Root cause: post-3066.css ustawia 02e0dbb --align-items:flex-end → „Eta Innovations” w prawo */
.elementor-3066 .elementor-element-02e0dbb {
	--align-items: flex-start !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	width: 100% !important;
	max-width: 100% !important;
}

.elementor-3066 .elementor-element-fa894e2,
.elementor-3066 .elementor-element-fa894e2 .elementor-widget-container,
.elementor-3066 .elementor-element-02e0dbb .elementor-heading-title {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	text-align: left !important;
	align-self: stretch !important;
}

.elementor-3066 .elementor-element-27d10d3,
.elementor-3066 .elementor-element-8b6d649,
.elementor-3066 .elementor-element-b0966a0,
.elementor-3066 .elementor-element-5e6878c,
.elementor-3066 .elementor-element-ffddf22 {
	box-sizing: border-box;
	margin-left: 0 !important;
	--margin-left: 0px !important;
	--align-items: flex-start !important;
	align-items: flex-start !important;
}

.elementor-3066 .elementor-element-5e6878c,
.elementor-3066 .elementor-element-5e6878c .elementor-heading-title,
.elementor-3066 .elementor-element-ffddf22 .elementor-heading-title {
	text-align: left !important;
	margin-left: 0 !important;
	padding-left: 0 !important;
}

.elementor-3066 .elementor-element-27d10d3,
.elementor-3066 .elementor-element-8b6d649 {
	max-width: 100% !important;
	width: 100% !important;
	padding-right: clamp(8px, 2vw, 32px) !important;
}

.elementor-3066 .elementor-element-ffddf22 {
	max-width: min(880px, 100%) !important;
	margin-right: max(2vw, 24px) !important;
	box-sizing: border-box;
}

/* Mobile brand strip: brak scroll-x (zdjęcia / absolute / szerokie e-con) */
@media (max-width: 767px) {
	.elementor-3066 .elementor-element-fe1b155 {
		--eta-home-brand-inline: 16px;
		--padding-left: 16px !important;
		--padding-right: 16px !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
		overflow-x: clip !important;
		max-width: 100% !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.elementor-3066 .elementor-element-fe1b155 > .e-con-inner,
	.elementor-3066 .elementor-element-fe1b155 .e-con,
	.elementor-3066 .elementor-element-fe1b155 .elementor-widget,
	.elementor-3066 .elementor-element-fe1b155 .elementor-widget-container {
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	.elementor-3066 .elementor-element-fe1b155 .elementor-absolute {
		left: auto !important;
		right: auto !important;
		max-width: 100% !important;
	}

	.elementor-3066 .elementor-element-fe1b155 img {
		max-width: 100% !important;
		height: auto !important;
	}

	.elementor-3066 .elementor-element-ffddf22 {
		margin-right: 0 !important;
		max-width: 100% !important;
	}

	.elementor-3066 .elementor-element-27d10d3,
	.elementor-3066 .elementor-element-8b6d649 {
		padding-right: 0 !important;
	}

	/* Dekoracyjne zdjęcie sekcji Research Hub miało right:-5px i ucinało prawą krawędź. */
	.elementor-3066 .elementor-element-105decad {
		right: 0 !important;
		max-width: calc(100% - 24px) !important;
	}

	/* Para zdjęć pod brand: jedna kolumna albo 50/50 w shellu */
	.elementor-3066 .elementor-element-fb96852 {
		flex-wrap: wrap !important;
		gap: 12px !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.elementor-3066 .elementor-element-fb96852 > .e-con,
	.elementor-3066 .elementor-element-fb96852 > .elementor-element {
		flex: 1 1 calc(50% - 6px) !important;
		width: auto !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}
}

@media (min-width: 1280px) {
	.elementor-3066 .elementor-element-fe1b155 {
		--padding-left: 48px !important;
		--padding-right: 96px !important;
		padding-left: 48px !important;
		padding-right: 96px !important;
	}

	.elementor-3066 .elementor-element-ffddf22 {
		margin-right: 48px !important;
	}
}
