/**
 * Navigation progress bar.
 *
 * Shown while the browser is fetching the next page. It deliberately does not
 * delay navigation: the click goes through immediately and this only fills the
 * wait that already exists. Cached pages return in ~0.3s and never reach the
 * reveal threshold, so the bar is effectively reserved for the slower
 * logged-in, cart and checkout paths.
 */

.zimpli-navprogress {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2147483647; /* above Elementor overlays and sticky headers */
	height: 3px;
	width: 100%;
	transform: scaleX(0);
	transform-origin: left center;
	background: var(--zimpli-navprogress-color, #e5006d);
	opacity: 0;
	pointer-events: none;
	will-change: transform;
}

[dir="rtl"] .zimpli-navprogress {
	transform-origin: right center;
}

.zimpli-navprogress--visible {
	opacity: 1;
	/* Long, decelerating crawl towards (never reaching) the full width. The
	   real load finishes at an unknown time, so the bar never claims to be
	   done — completion is the next page simply replacing this one. */
	transform: scaleX(0.9);
	transition:
		transform 10s cubic-bezier(0.1, 0.8, 0.2, 1),
		opacity 120ms linear;
}

@media (prefers-reduced-motion: reduce) {
	.zimpli-navprogress--visible {
		transform: scaleX(1);
		transition: opacity 120ms linear;
	}
}
