/*
 * Wejście sekcji (home, About, How we work) — wrapper .kfb-entrance z render_block.
 *
 * Uwaga: transform na przodku tworzy containing block dla position:fixed — bloki
 * typu story-scroll są wykluczone w inc/entrance-animation.php (bez owijki).
 *
 * About mission też bez owijki — backdrop-filter na ::after psuje się przy opacity/transform rodzica.
 *
 * Opóźnienie ~0.18s: start animacji trochę później po dodaniu klasy --in.
 */

.kfb-entrance {
	opacity: 0;
	transform: translate3d(0, 28px, 0);
	transition:
		opacity 0.65s cubic-bezier(0.22, 0.12, 0.12, 1) 0.18s,
		transform 0.65s cubic-bezier(0.22, 0.12, 0.12, 1) 0.18s;
}

.kfb-entrance.kfb-entrance--in {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
	.kfb-entrance {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/*
 * Mobile home hero: slide (transform only) na obrazie — opacity 1 od razu (LCP);
 * fade + slide na H1 (.is-css-entrance-running w JS). Owijka bez animacji.
 */
@media (max-width: 1024px) {
	body.page-slug-home .kfb-entrance:has(.home-hero-scroll) {
		opacity: 1;
		transform: none;
		transition: none;
		animation: none;
	}

	body.page-slug-home .kfb-entrance:has(.home-hero-scroll).kfb-entrance--in {
		opacity: 1;
		transform: none;
	}

	@keyframes kfb-home-mobile-enter-media {
		from {
			transform: translate3d(
				var(--kfb-entrance-translate-x, 0),
				var(--kfb-entrance-translate-y, var(--kfb-entrance-offset, 40px)),
				0
			);
		}

		to {
			transform: translate3d(0, 0, 0);
		}
	}

	@keyframes kfb-home-mobile-enter {
		from {
			opacity: 0;
			transform: translate3d(
				var(--kfb-entrance-translate-x, 0),
				var(--kfb-entrance-translate-y, var(--kfb-entrance-offset, 40px)),
				0
			);
		}

		to {
			opacity: 1;
			transform: translate3d(0, 0, 0);
		}
	}

	body.page-slug-home .home-hero__media {
		opacity: 1;
		transition: none;
		animation: kfb-home-mobile-enter-media
			var(--kfb-entrance-duration, 1000ms)
			var(--kfb-entrance-easing, cubic-bezier(0.22, 1, 0.36, 1))
			var(--kfb-entrance-delay, 0ms)
			forwards;
		will-change: transform;
	}

	body.page-slug-home .home-hero__content:not(.is-css-entrance-running) {
		opacity: 0;
		transform: translate3d(
			var(--kfb-entrance-translate-x, 0),
			var(--kfb-entrance-translate-y, var(--kfb-entrance-offset, 40px)),
			0
		);
		transition: none;
		animation: none;
	}

	body.page-slug-home .home-hero__content.is-css-entrance-running {
		transition: none;
		animation: kfb-home-mobile-enter
			var(--kfb-entrance-duration, 1000ms)
			var(--kfb-entrance-easing, cubic-bezier(0.22, 1, 0.36, 1))
			120ms
			forwards;
		will-change: opacity, transform;
	}
}

@media (max-width: 1024px) and (prefers-reduced-motion: reduce) {
	body.page-slug-home .home-hero__media,
	body.page-slug-home .home-hero__content {
		opacity: 1;
		transform: none;
		animation: none;
	}
}
