/* Growth Archer Bot Form Filling Protection - Frontend Styles */
.ga-bfp-hp-wrap {
	position: absolute !important;
	left: -9999px !important;
	top: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	overflow: hidden !important;
	z-index: -100 !important;
	pointer-events: none !important;
}

.elementor-field-group.ga-bfp-challenge-group {
	margin-top: 15px;
	margin-bottom: 20px;
	position: relative;
}

.ga-bfp-challenge-label {
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	margin-bottom: 6px;
}

.ga-bfp-challenge-label .ga-bfp-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
}

.ga-bfp-input-wrapper {
	position: relative;
	display: flex;
	align-items: center;
}

.ga-bfp-input-wrapper .ga-bfp-answer-input {
	flex: 1;
	width: 100%;
	padding-right: 40px !important;
}

.ga-bfp-refresh-btn {
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	background: transparent;
	border: none;
	cursor: pointer;
	color: #6c7787;
	font-size: 16px;
	line-height: 1;
	padding: 6px;
	border-radius: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color 0.2s ease, transform 0.3s ease;
}

.ga-bfp-refresh-btn:hover {
	color: #1a4f38;
	background: rgba(0, 0, 0, 0.05);
}

.ga-bfp-refresh-btn.is-spinning {
	animation: ga-bfp-spin 0.6s linear infinite;
}

@keyframes ga-bfp-spin {
	0% { transform: translateY(-50%) rotate(0deg); }
	100% { transform: translateY(-50%) rotate(360deg); }
}
/* MetForm Integration Styles */
.ga-bfp-metform-container {
	margin-top: 14px;
	margin-bottom: 18px;
	width: 100%;
	display: block;
}

.ga-bfp-metform-wrap {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.ga-bfp-metform-wrap .ga-bfp-challenge-label {
	font-size: 14px;
	font-weight: 500;
	color: inherit;
	margin-bottom: 6px;
}

.ga-bfp-metform-wrap .ga-bfp-answer-input {
	height: 44px;
	border: 1px solid #d1d5db;
	border-radius: 4px;
	padding: 0 42px 0 12px;
	font-size: 14px;
	background-color: #ffffff;
	color: #111827;
	box-sizing: border-box;
}

.ga-bfp-metform-wrap .ga-bfp-answer-input:focus {
	outline: none;
	border-color: #10b981;
	box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2);
}
/* Actual renderer uses input-row, not the old input-wrapper selector. */
.ga-bfp-input-row { position: relative; display: flex; align-items: center; }
.ga-bfp-input-row .ga-bfp-answer-input { width: 100%; padding-right: 44px; box-sizing: border-box; }
.ga-bfp-input-row .ga-bfp-refresh-btn { min-width: 32px; min-height: 32px; font-size: 24px; color: inherit; }
.ga-bfp-refresh-btn:focus-visible { outline: 2px solid #1a4f38; outline-offset: 2px; }
.ga-bfp-refresh-btn:disabled { cursor: wait; opacity: .65; }
.ga-bfp-security-error { color: #b42318; font-size: 14px; margin-top: 6px; }
.ga-bfp-security-error:empty { display: none; }
@media (prefers-reduced-motion: reduce) { .ga-bfp-refresh-btn.is-spinning { animation: none; } }

/* A readable refresh label remains even if a theme/font strips icon glyphs. */
.ga-bfp-input-row .ga-bfp-refresh-btn { gap: 4px; font-size: 18px; }
.ga-bfp-refresh-label { font-size: 12px; line-height: 1.2; }
.ga-bfp-input-row .ga-bfp-answer-input { padding-right: 100px !important; }
.ga-bfp-security-status { color: #1a4f38; font-size: 14px; margin-top: 6px; }
.ga-bfp-security-status:empty { display: none; }
