/* Smart Product Search: voice search button inside search boxes. Theme button styles are overridden
   (!important) so the button looks the same in any theme. */
.sps-has-voice {
	position: relative;
}

.sps-has-voice input[name="s"] {
	padding-right: 60px !important;
}

.sps-has-voice .sps-voice-btn {
	position: absolute !important;
	top: 50% !important;
	right: 12px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 40px !important;
	height: 40px !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--sps-voice-color, #78350f) !important;
	cursor: pointer;
	background: var(--sps-voice-bg, #f3ece0) !important;
	border: 0 !important;
	border-radius: 999px !important;
	transform: translateY(-50%);
	transition: background-color 0.2s, color 0.2s;
}

.sps-has-voice .sps-voice-btn:hover,
.sps-has-voice .sps-voice-btn:focus-visible {
	color: var(--sps-voice-bg, #f3ece0) !important;
	background: var(--sps-voice-color, #78350f) !important;
}

.sps-has-voice .sps-voice-btn.is-listening {
	color: #fff !important;
	background: var(--sps-voice-listening, #b91c1c) !important;
	animation: sps-voice-pulse 1.2s ease-out infinite;
}

@keyframes sps-voice-pulse {
	0% { box-shadow: 0 0 0 0 rgba(185, 28, 28, 0.45); }
	100% { box-shadow: 0 0 0 14px rgba(185, 28, 28, 0); }
}

@media (prefers-reduced-motion: reduce) {
	.sps-has-voice .sps-voice-btn.is-listening {
		animation: none;
	}
}
