/* Fluent Forms front-end overrides — align with site design tokens */

.fluentform .ff-el-input--label label,
.fluentform label {
	font-family: var(--gpoa-font);
	font-weight: 600;
	font-size: var(--gpoa-small);
	color: var(--gpoa-ink);
	margin-bottom: var(--gpoa-space-2);
}

.fluentform input[type="text"],
.fluentform input[type="email"],
.fluentform input[type="tel"],
.fluentform input[type="number"],
.fluentform textarea,
.fluentform select,
.fluentform .ff-el-form-control {
	font-family: var(--gpoa-font);
	font-size: var(--gpoa-body);
	color: var(--gpoa-ink);
	background: var(--gpoa-surface);
	border: 1px solid var(--gpoa-border);
	border-radius: var(--gpoa-radius);
	padding: var(--gpoa-space-3);
	width: 100%;
	transition: border-color var(--gpoa-transition);
}

.fluentform input:focus,
.fluentform textarea:focus,
.fluentform select:focus,
.fluentform .ff-el-form-control:focus {
	border-color: var(--gpoa-accent);
	outline: 2px solid var(--gpoa-accent);
	outline-offset: 1px;
}

.fluentform .ff-el-group {
	margin-bottom: var(--gpoa-space-5);
}

.fluentform .ff-btn.ff-btn-submit,
.fluentform button[type="submit"] {
	font-family: var(--gpoa-font);
	font-weight: 600;
	background: var(--gpoa-accent) !important;
	border-color: var(--gpoa-accent) !important;
	border-radius: var(--gpoa-radius) !important;
	padding: var(--gpoa-space-3) var(--gpoa-space-5) !important;
	transition: background var(--gpoa-transition), transform var(--gpoa-transition);
}

.fluentform .ff-btn.ff-btn-submit:hover,
.fluentform button[type="submit"]:hover {
	background: var(--gpoa-accent-dark) !important;
	transform: translateY(-1px);
}

.fluentform .ff_gdpr_field label,
.fluentform .ff-el-form-check-label {
	font-weight: 400;
	display: flex;
	align-items: flex-start;
	gap: var(--gpoa-space-2);
}

.fluentform .ff-el-form-check-label a {
	color: var(--gpoa-accent);
}
