/*
 * Gravity Forms, restyled to the mockup's form treatment: Figtree labels,
 * 52px fields with a 2px border, 14px corners, yellow submit button.
 */
body .gform_wrapper.gravity-theme .gform_fields { row-gap: 18px; }
body .gform_wrapper.gravity-theme .gfield_label,
body .gform_wrapper.gravity-theme .gform-field-label {
	font: 600 var(--fs-16)/1.4 var(--font-heading);
	color: var(--c-black);
	margin-bottom: 7px;
	padding: 0;
}
body .gform_wrapper.gravity-theme input[type="text"],
body .gform_wrapper.gravity-theme input[type="email"],
body .gform_wrapper.gravity-theme input[type="tel"],
body .gform_wrapper.gravity-theme select,
body .gform_wrapper.gravity-theme textarea {
	width: 100%;
	/* !important: Gravity Forms' mobile rules use long :not() chains that outrank any sensible selector (A9). */
	min-height: 52px !important;
	border: 2px solid var(--c-field-border);
	border-radius: 14px;
	background: var(--c-white);
	padding: 0 16px;
	font-size: var(--fs-16);
	font-family: var(--font-body);
	color: var(--c-black);
}
body .gform_wrapper.gravity-theme textarea { padding: 12px 16px; line-height: 1.6; resize: vertical; }
body .gform_wrapper.gravity-theme .gfield textarea.medium,
body .gform_wrapper.gravity-theme .gfield textarea.large { display: block; height: 130px; min-height: 0; }
/* A small box is a block too, so no line-box gap opens beneath it. */
body .gform_wrapper.gravity-theme .gfield textarea.small { display: block; }
body .gform_wrapper.gravity-theme .gform_footer { margin: 18px 0 0; padding: 0; }
body .gform_wrapper.gravity-theme { margin: 0; }
body .gform_wrapper.gravity-theme .gfield_label { display: block; }
body .gform_wrapper.gravity-theme .ginput_container { margin: 0; }
body .gform_wrapper.gravity-theme .gform_footer .btn { min-height: 56px !important; width: auto !important; margin: 0; line-height: 1 !important; font-size: var(--fs-body) !important; padding: 0 30px !important; }

/* Errors */
body .gform_wrapper.gravity-theme .gfield_error input,
body .gform_wrapper.gravity-theme .gfield_error textarea { border-color: var(--c-deep-ochre); }
body .gform_wrapper.gravity-theme .validation_message,
body .gform_wrapper.gravity-theme .gform_validation_errors {
	color: var(--c-black);
	font-size: var(--fs-16);
	padding:16px;
}
body .gform_wrapper.gravity-theme .gform_validation_errors { border: 2px solid var(--c-deep-ochre); border-radius: 14px; background: var(--c-white); box-shadow: none; }
body .gform_wrapper.gravity-theme .gform_validation_errors > h2 { color: var(--c-black); font-size: var(--fs-16); }
.gform_confirmation_message { font-size: var(--fs-18); line-height: 1.6; }

/* Required indicator: plain text after the label, "Name (required)" as mocked (F3). */
body .gform_wrapper.gravity-theme .gfield_label .gfield_required,
body .gform_wrapper.gravity-theme .gfield_label .gfield_required.gfield_required_custom { color: inherit; font: inherit; font-style: normal; padding-inline-start: 4px; }
