/* WP Hybrid SPA – transitions, loading bar, helpers. Intentionally tiny. */
html[data-wphs-t] [data-wphs-container] {
	transition-property: opacity, transform;
	transition-duration: var(--wphs-d, 200ms);
	transition-timing-function: ease;
}
html[data-wphs-t~="fade"] [data-wphs-container].wphs-leave,
html[data-wphs-t~="fade"] [data-wphs-container].wphs-enter { opacity: 0; }
html[data-wphs-t~="slide"] [data-wphs-container].wphs-leave { transform: translateY(-6px); }
html[data-wphs-t~="slide"] [data-wphs-container].wphs-enter { transform: translateY(8px); }
html[data-wphs-t] [data-wphs-container].wphs-no-t { transition: none !important; }

.wphs-progress {
	position: fixed; left: 0; right: 0; height: 3px; z-index: 99998;
	pointer-events: none; opacity: 0; transition: opacity .2s ease;
}
.wphs-progress.wphs-on { opacity: 1; }
.wphs-pos-top { top: 0; }
.wphs-pos-bottom { bottom: 0; }
body.admin-bar .wphs-pos-top { top: 32px; }
@media (max-width: 782px) { body.admin-bar .wphs-pos-top { top: 46px; } }
.wphs-progress-bar {
	height: 100%; background: var(--wphs-color, #2271b1);
	transform: scaleX(0); transform-origin: left center;
	transition: transform var(--wphs-loader-d, 400ms) ease-out;
}

.wphs-sr-only {
	position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.wphs-focus:focus { outline: 2px solid currentColor; outline-offset: 4px; }

@media (prefers-reduced-motion: reduce) {
	html[data-wphs-t] [data-wphs-container] { transition: none !important; transform: none !important; opacity: 1 !important; }
	.wphs-progress, .wphs-progress-bar { transition: none !important; }
}
