/*
 * Snow Dream scroll motion layer.
 * Uses native CSS transitions with JS-added state classes.
 */

.snowdream-header.e-con {
	transition:
		background-color 280ms cubic-bezier(0.22, 1, 0.36, 1),
		box-shadow 280ms cubic-bezier(0.22, 1, 0.36, 1),
		backdrop-filter 280ms cubic-bezier(0.22, 1, 0.36, 1),
		padding 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

html.snowdream-header-scrolled .snowdream-header.e-con {
	position: fixed !important;
	inset: 0 0 auto 0;
	min-height: 72px;
	padding-top: 16px !important;
	padding-bottom: 16px !important;
	background-color: rgba(255, 255, 255, 0.84) !important;
	box-shadow: 0 18px 60px rgba(23, 35, 48, 0.1);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

html.snowdream-motion-ready .sd-motion-item,
html.snowdream-motion-ready .sd-motion-hero {
	opacity: 0;
	transform: translate3d(0, var(--sd-reveal-y, 34px), 0);
	transition:
		opacity var(--sd-motion-duration, 850ms) cubic-bezier(0.16, 1, 0.3, 1),
		transform var(--sd-motion-duration, 850ms) cubic-bezier(0.16, 1, 0.3, 1);
	transition-delay: var(--sd-motion-delay, 0ms);
	will-change: opacity, transform;
}

html.snowdream-motion-ready .sd-motion-hero {
	--sd-reveal-y: 42px;
	--sd-motion-duration: 980ms;
	transform: translate3d(0, var(--sd-reveal-y), 0) scale(0.985);
}

html.snowdream-motion-ready .sd-motion-item.is-visible,
html.snowdream-motion-ready .sd-motion-hero.is-visible {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

html.snowdream-motion-ready .snowdream-footer-brand-title.sd-motion-item {
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
	will-change: auto !important;
}

html.snowdream-motion-ready .sd-motion-media {
	opacity: 0;
	clip-path: inset(14% 0 14% 0);
	overflow: hidden;
	transition:
		opacity 950ms cubic-bezier(0.16, 1, 0.3, 1),
		clip-path 950ms cubic-bezier(0.16, 1, 0.3, 1),
		transform 120ms linear;
	transition-delay: var(--sd-motion-delay, 0ms);
	will-change: opacity, clip-path, transform;
}

html.snowdream-motion-ready .sd-motion-media.is-visible {
	opacity: 1;
	clip-path: inset(0 0 0 0);
}

html.snowdream-motion-ready .sd-motion-media img,
html.snowdream-motion-ready .sd-motion-media video,
html.snowdream-motion-ready .sd-motion-media .elementor-background-video-container {
	transform: scale(1.055);
	transition: transform 1150ms cubic-bezier(0.16, 1, 0.3, 1);
	will-change: transform;
}

html.snowdream-motion-ready .sd-motion-media.is-visible img,
html.snowdream-motion-ready .sd-motion-media.is-visible video,
html.snowdream-motion-ready .sd-motion-media.is-visible .elementor-background-video-container {
	transform: scale(1);
}

html.snowdream-motion-ready .sd-motion-parallax.is-visible {
	transform: translate3d(0, var(--sd-parallax-y, 0px), 0);
}

html.snowdream-motion-ready .sd-motion-card {
	--sd-reveal-y: 40px;
	--sd-motion-duration: 900ms;
}

html.snowdream-motion-ready .sd-motion-button {
	--sd-reveal-y: 28px;
	--sd-motion-duration: 760ms;
}

html.snowdream-motion-ready .sd-motion-text {
	--sd-reveal-y: 32px;
}

@media (max-width: 767px) {
	html.snowdream-header-scrolled .snowdream-header.e-con {
		padding-top: 14px !important;
		padding-bottom: 14px !important;
		background-color: rgba(255, 255, 255, 0.9) !important;
	}

	html.snowdream-motion-ready .sd-motion-item,
	html.snowdream-motion-ready .sd-motion-hero {
		--sd-reveal-y: 24px;
		--sd-motion-duration: 760ms;
	}

	html.snowdream-motion-ready .sd-motion-media {
		clip-path: inset(10% 0 10% 0);
	}

	html.snowdream-motion-ready .sd-motion-parallax.is-visible {
		transform: none;
	}

	html.snowdream-motion-ready .sd-motion-text,
	html.snowdream-motion-ready .sd-motion-button,
	html.snowdream-motion-ready .sd-motion-media {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
		transition-delay: 0ms !important;
		will-change: auto !important;
	}

	html.snowdream-motion-ready .sd-motion-media {
		clip-path: none !important;
	}

	html.snowdream-motion-ready .sd-motion-media img,
	html.snowdream-motion-ready .sd-motion-media video,
	html.snowdream-motion-ready .sd-motion-media .elementor-background-video-container {
		transform: none !important;
		transition: none !important;
		will-change: auto !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.snowdream-header.e-con,
	.sd-motion-item,
	.sd-motion-hero,
	.sd-motion-media,
	.sd-motion-media img,
	.sd-motion-media video,
	.sd-motion-media .elementor-background-video-container {
		opacity: 1 !important;
		transform: none !important;
		clip-path: none !important;
		transition: none !important;
		animation: none !important;
	}
}
