/*
 * Gravity Forms rendered by [ah_form] (includes/forms.php). Enqueued from the shortcode after GF's own styles, so these
 * rules print later and win the (0,3,0) ties. The comps carry no form: fields take the design's language (radius 0,
 * Chalk hairlines, Signal focus, Ink primary button in the kit's mono step); validation keeps GF's own error colour
 * because the design has none.
 */

.ah-form .gform_wrapper.gform-theme--framework .gform_fields {
	grid-column-gap: 20px;
	grid-row-gap: 22px;
}

/* Half-width fields are the native column span; GF stacks them only below 640px, the kit's phone tier is 767px. */
@media (max-width: 767px) {
	.ah-form .gform_wrapper.gform-theme--framework .gfield.gfield--width-half {
		grid-column: 1 / -1;
	}
}

.ah-form .gform_wrapper.gform-theme--framework .gfield_label {
	margin-bottom: 8px;
	padding: 0;
	font-family: var(--e-global-typography-ah_mono_label-font-family);
	font-size: var(--e-global-typography-ah_mono_label-font-size);
	font-weight: var(--e-global-typography-ah_mono_label-font-weight);
	line-height: var(--e-global-typography-ah_mono_label-line-height);
	letter-spacing: var(--e-global-typography-ah_mono_label-letter-spacing);
	text-transform: var(--e-global-typography-ah_mono_label-text-transform);
	color: var(--ah-ink);
}

.ah-form .gform_wrapper.gform-theme--framework .gfield_required {
	color: var(--ah-deep);
}

.ah-form .gform_wrapper.gform-theme--framework .ginput_container input,
.ah-form .gform_wrapper.gform-theme--framework .ginput_container textarea {
	width: 100%;
	min-height: 52px;
	padding: 12px 16px;
	font-family: var(--ah-font-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	color: var(--ah-ink);
	background: var(--ah-white);
	border: 1px solid var(--ah-chalk);
	border-radius: 0;
	box-shadow: none;
	transition: border-color .2s ease-out;
}

.ah-form .gform_wrapper.gform-theme--framework .ginput_container textarea {
	min-height: 160px;
}

.ah-form .gform_wrapper.gform-theme--framework .ginput_container input:focus,
.ah-form .gform_wrapper.gform-theme--framework .ginput_container textarea:focus {
	border-color: var(--ah-ink);
	outline: 2px solid var(--ah-signal);
	outline-offset: 0;
}

.ah-form .gform_wrapper.gform-theme--framework .gform_footer {
	margin: 28px 0 0;
	padding: 0;
}

.ah-form .gform_wrapper.gform-theme--framework .gform_footer button.gform_button.button {
	margin: 0;
	padding: 17px 30px;
	font-family: var(--e-global-typography-ah_mono-font-family);
	font-size: var(--e-global-typography-ah_mono-font-size);
	font-weight: var(--e-global-typography-ah_mono-font-weight);
	line-height: var(--e-global-typography-ah_mono-line-height);
	letter-spacing: var(--e-global-typography-ah_mono-letter-spacing);
	text-transform: var(--e-global-typography-ah_mono-text-transform);
	color: var(--ah-white);
	background: var(--ah-ink);
	border: 2px solid var(--ah-ink);
	border-radius: 0;
	cursor: pointer;
	transition: color 460ms, background-color 460ms, border-color 460ms;
}

.ah-form .gform_wrapper.gform-theme--framework .gform_footer button.gform_button.button:is(:hover, :focus-visible) {
	color: var(--ah-ink);
	background: var(--ah-signal);
	border-color: var(--ah-signal);
}

.ah-form .gform_wrapper.gform-theme--framework .gform_validation_errors,
.ah-form .gform_wrapper.gform-theme--framework .validation_message,
.ah-form .gform_confirmation_message {
	font-family: var(--ah-font-body);
	border-radius: 0;
}

.ah-form .gform_confirmation_message {
	padding: 22px 0;
	font-size: var(--ah-fs-body);
	line-height: var(--ah-lh-body);
	color: var(--ah-ink);
	border-top: 1px solid var(--ah-chalk);
	border-bottom: 1px solid var(--ah-chalk);
}
