/*
 * Nova Finda — structural base only. Colours, spacing and layout belong to
 * the theme that renders the Finda (theme/nova-finda/<slug>/ overrides).
 */

.nova-finda [hidden] { display: none !important; }

.nova-finda .nf-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.nova-finda .nf-input-wrap { position: relative; }
.nova-finda .nf-autocomplete { position: absolute; left: 0; right: 0; top: 100%; z-index: 20; }
.nova-finda .nf-ac-list { margin: 0; padding: 0; list-style: none; }
.nova-finda .nf-ac-item { display: block; }

.nf-spinner {
	display: inline-block;
	width: 1.1em;
	height: 1.1em;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	vertical-align: -0.2em;
	animation: nf-spin .8s linear infinite;
}

.nf-dots i {
	display: inline-block;
	width: .45em;
	height: .45em;
	margin: 0 .12em;
	border-radius: 50%;
	background: currentColor;
	animation: nf-dot 1s ease-in-out infinite;
}
.nf-dots i:nth-child(2) { animation-delay: .15s; }
.nf-dots i:nth-child(3) { animation-delay: .3s; }

.nf-bar-track { display: block; height: 3px; overflow: hidden; background: rgb(0 0 0 / .08); }
.nf-bar-fill {
	display: block;
	width: 100%;
	height: 100%;
	background: currentColor;
	transform-origin: 0 50%;
	animation: nf-bar var(--nf-delay, 2s) linear both;
}

@keyframes nf-spin { to { transform: rotate(360deg); } }
@keyframes nf-dot { 0%, 100% { opacity: .25; } 50% { opacity: 1; } }
@keyframes nf-bar { from { transform: scaleX(0); } to { transform: scaleX(1); } }

@media (prefers-reduced-motion: reduce) {
	.nf-spinner, .nf-dots i, .nf-bar-fill { animation: none; }
}

.nova-finda .nf-web-reviewed { font-size: .875em; font-weight: 600; }

/* Turnstile host: takes space only while Cloudflare asks the visitor to click. */
.nova-finda .nf-turnstile:empty { display: none; }
.nova-finda .nf-turnstile iframe { margin-top: 10px; }
