/* Photos by Chenar — motion layer (public site only, never loaded in the editor).
 *
 * Nothing in this file may hide content unless the html element carries
 * `pbc-motion-ready`, which only the motion script adds after it proves
 * it can run. Reduced-motion visitors always receive the static final state.
 */

.pbc-motion-progress {
	background: linear-gradient(90deg, var(--wp--preset--color--amber), var(--wp--preset--color--tiffany), var(--wp--preset--color--tiffany-light));
	box-shadow: 0 0 14px rgba(10, 186, 181, 0.35);
	display: none;
	height: 3px;
	left: 0;
	pointer-events: none;
	position: fixed;
	top: 0;
	transform: scaleX(0);
	transform-origin: 0 50%;
	width: 100%;
	z-index: 10001;
}

html.pbc-motion-ready .pbc-motion-progress {
	display: block;
}

/* Viewport reveals */
html.pbc-motion-ready .pbc-reveal {
	transition:
		opacity 0.85s var(--pbc-ease-out-expo),
		transform 0.85s var(--pbc-ease-out-expo),
		filter 0.85s var(--pbc-ease-out-expo);
	transition-delay: var(--pbc-reveal-delay, 0s);
}

html.pbc-motion-ready .pbc-reveal:not(.is-visible) {
	filter: blur(8px);
	opacity: 0;
	transform: translateY(42px) scale(0.985);
}

html.pbc-motion-ready .pbc-reveal.is-visible {
	filter: none;
	opacity: 1;
	transform: none;
}

/* Page entrance */
html.pbc-motion-ready .pbc-hero-anim {
	transition:
		opacity 0.9s var(--pbc-ease-out-expo),
		transform 0.9s var(--pbc-ease-out-expo),
		filter 0.9s var(--pbc-ease-out-expo);
	transition-delay: var(--pbc-hero-delay, 0s);
}

html.pbc-motion-ready .pbc-hero-anim:not(.is-visible) {
	filter: blur(7px);
	opacity: 0;
	transform: translateY(34px);
}

html.pbc-motion-ready .pbc-hero-anim.is-visible {
	filter: none;
	opacity: 1;
	transform: none;
}

/* Dividers draw in */
html.pbc-motion-ready .pbc-section .pbc-divider {
	transform-origin: center;
	transition: transform 0.75s var(--pbc-ease-out-expo), opacity 0.75s var(--pbc-ease-out-expo);
}

html.pbc-motion-ready .pbc-section .pbc-divider--left {
	transform-origin: left;
}

html.pbc-motion-ready .pbc-section .pbc-divider:not(.is-visible) {
	opacity: 0.2;
	transform: scaleX(0);
}

/* Hero depth on scroll */
html.pbc-motion-ready .pbc-hero .pbc-hero__content {
	opacity: var(--pbc-depth-opacity, 1);
	transform: translateY(var(--pbc-depth-y, 0px)) scale(var(--pbc-depth-scale, 1));
	will-change: transform, opacity;
}

/* Hover gestures only for precise pointers */
@media (hover: hover) and (pointer: fine) {
	html.pbc-motion-ready .pbc-button .wp-block-button__link {
		transform: scale(var(--pbc-hover-scale, 1)) translateY(var(--pbc-hover-y, 0px));
		transition:
			transform 0.35s var(--pbc-ease-out-expo),
			background-color var(--pbc-duration-normal) var(--pbc-ease-out-expo),
			color var(--pbc-duration-normal) var(--pbc-ease-out-expo);
	}

	html.pbc-motion-ready .pbc-brand__mark {
		transform: rotate(var(--pbc-mark-rotate, 0deg)) scale(var(--pbc-mark-scale, 1));
		transition: transform 0.4s var(--pbc-ease-out-expo);
	}
}

/* Reduced motion: static final state, whatever the script did */
html.pbc-motion-reduced .pbc-reveal,
html.pbc-motion-reduced .pbc-hero-anim,
html.pbc-motion-reduced .pbc-section .pbc-divider {
	transition: none;
}

@media (prefers-reduced-motion: reduce) {
	.pbc-reveal,
	.pbc-hero-anim,
	.pbc-section .pbc-divider,
	html.pbc-motion-ready .pbc-reveal,
	html.pbc-motion-ready .pbc-hero-anim,
	html.pbc-motion-ready .pbc-section .pbc-divider,
	html.pbc-motion-ready .pbc-hero .pbc-hero__content {
		animation: none !important;
		filter: none !important;
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}

	.pbc-motion-progress {
		display: none !important;
	}
}
