.ff-form {
	display: grid;
	gap: var(--ff-space-5);
}

.ff-form__row {
	display: grid;
	gap: var(--ff-space-2);
}

.ff-form label {
	color: var(--ff-text-primary);
	font-size: 14px;
	font-weight: 900;
}

.ff-input,
.ff-select,
.ff-textarea {
	width: 100%;
	border: 1px solid var(--ff-border-default);
	border-radius: var(--ff-radius-md);
	background: var(--ff-bg-surface);
	color: var(--ff-text-primary);
}

.ff-input,
.ff-select {
	min-height: 46px;
	padding: 0 var(--ff-space-4);
}

.ff-textarea {
	min-height: 180px;
	padding: var(--ff-space-4);
	resize: vertical;
}

.ff-input:focus,
.ff-select:focus,
.ff-textarea:focus {
	border-color: var(--ff-action-guide);
	outline: 0;
	box-shadow: var(--ff-focus-ring);
}

.ff-form-note {
	margin: 0;
	color: var(--ff-text-muted);
	font-size: 13px;
}

.ff-form-result {
	padding: var(--ff-space-4);
	border-radius: var(--ff-radius-md);
	font-weight: 800;
}

.ff-form-result--success {
	background: var(--ff-bg-green-soft);
	color: #166534;
}

.ff-form-result--error {
	background: var(--ff-bg-danger-soft);
	color: var(--ff-action-danger);
}

.ff-honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	opacity: 0;
}
