/* Gravity Forms inherits the Montrose palette and fluid type/spacing scale. */
.site-main:has(.gform_wrapper, .gform_confirmation_wrapper) .montrose-hero {
	margin-block-end: var(--space-l);
}

.site-main:has(.gform_wrapper, .gform_confirmation_wrapper) .montrose-hero--has-image {
	margin-block-end: max(0px, calc(var(--space-l) - var(--hero-image-tail)));
}

.site-main .gform_wrapper.gravity-theme,
.site-main .gform_confirmation_wrapper {
	margin-block: 0 var(--section-gap);
	color: var(--primary-semi-dark);
	font-family: var(--font-body);
	font-size: var(--text-m);
	font-weight: 300;
	letter-spacing: normal;
	line-height: 1.5;
	overflow-wrap: anywhere;
}

.site-main .gform_wrapper.gravity-theme .gform_heading {
	margin-block-end: var(--space-m);
}

.site-main .gform_wrapper.gravity-theme .gform_heading::before {
	display: block;
	width: 8rem;
	height: 1px;
	margin-block-end: var(--space-s);
	background: var(--accent);
	content: '';
}

.site-main .gform_wrapper.gravity-theme .gform_title {
	margin: 0;
	color: var(--primary-semi-dark);
	font-family: var(--font-heading);
	font-size: var(--text-xl);
	font-weight: 300;
	letter-spacing: 1px;
	line-height: 1.15;
}

.site-main .gform_wrapper.gravity-theme .gform_description {
	display: block;
	margin-block: var(--space-xs) 0;
}

.site-main .gform_wrapper.gravity-theme .gform_description:empty {
	display: none;
}

.site-main .gform_wrapper.gravity-theme .gform_fields {
	column-gap: var(--container-gap);
	row-gap: var(--space-s);
}

.site-main .gform_wrapper.gravity-theme .gfield {
	min-width: 0;
}

.site-main .gform_wrapper.gravity-theme .gfield_label,
.site-main .gform_wrapper.gravity-theme .gform-field-label {
	margin-block-end: var(--space-xxs);
	color: var(--primary-semi-dark);
	font-family: var(--font-body);
	font-size: var(--text-s);
	font-weight: 500;
	letter-spacing: 0.025em;
	line-height: 1.5;
}

.site-main .gform_wrapper.gravity-theme .gfield_required {
	color: var(--secondary-semi-dark);
	font-size: var(--text-xs);
	font-style: normal;
	font-weight: 300;
}

.site-main .gform_wrapper.gravity-theme .ginput_container :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]), textarea, select) {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	min-height: 3rem;
	padding: var(--space-xs);
	border: 1px solid var(--secondary-semi-light);
	border-radius: 0.25rem;
	background: var(--secondary-ultra-light);
	box-shadow: none;
	color: var(--primary-semi-dark);
	font-family: var(--font-body);
	font-size: max(1rem, var(--text-m));
	font-weight: 300;
	letter-spacing: normal;
	line-height: 1.5;
}

.site-main .gform_wrapper.gravity-theme .ginput_container.ginput_container_textarea textarea {
	min-height: 12rem;
	height: 12rem;
	resize: vertical;
}

.site-main .gform_wrapper.gravity-theme .ginput_container :is(input, textarea)::placeholder {
	color: var(--secondary-semi-dark);
	opacity: 1;
}

.site-main .gform_wrapper.gravity-theme .ginput_container :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]), textarea, select):focus {
	border-color: var(--primary);
	outline: 2px solid var(--primary);
	outline-offset: 3px;
}

.site-main .gform_wrapper.gravity-theme :is(input[type="checkbox"], input[type="radio"]) {
	accent-color: var(--primary);
}

.site-main .gform_wrapper.gravity-theme :is(.gfield_description, .ginput_complex label) {
	color: var(--secondary-semi-dark);
	font-size: var(--text-s);
	line-height: 1.5;
}

.site-main .gform_wrapper.gravity-theme .gform_footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-xs);
	margin-block: var(--space-m) 0;
	padding: 0;
}

.site-main .gform_wrapper.gravity-theme :is(.gform_button, .gform_next_button, .gform_previous_button) {
	box-sizing: border-box;
	width: auto;
	min-width: 10rem;
	min-height: 3rem;
	margin: 0;
	padding: var(--space-xs) var(--space-s);
	border: 1px solid var(--primary);
	border-radius: 0.25rem;
	background: var(--primary);
	box-shadow: none;
	color: var(--base);
	font-family: var(--font-body);
	font-size: var(--wp--preset--font-size--action-label);
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.5;
	text-align: center;
	text-transform: uppercase;
	cursor: pointer;
}

.site-main .gform_wrapper.gravity-theme :is(.gform_button, .gform_next_button, .gform_previous_button):hover {
	border-color: var(--primary-dark);
	background: var(--primary-dark);
}

.site-main .gform_wrapper.gravity-theme :is(.gform_button, .gform_next_button, .gform_previous_button):focus-visible {
	outline: 2px solid var(--primary);
	outline-offset: 3px;
}

.site-main .gform_wrapper.gravity-theme :is(.gform_button, .gform_next_button, .gform_previous_button):disabled {
	opacity: 0.6;
	cursor: wait;
}

.site-main .gform_wrapper.gravity-theme .gform_validation_errors,
.site-main .gform_wrapper.gravity-theme .gfield.gfield_error .gfield_validation_message,
.site-main .gform_confirmation_message {
	padding: var(--space-xs);
	border: 1px solid var(--accent-dark);
	border-inline-start-width: 3px;
	border-radius: 0.25rem;
	background: var(--accent-ultra-light);
	box-shadow: none;
	color: var(--accent-dark);
	font-family: var(--font-body);
	font-size: var(--text-s);
	line-height: 1.5;
}

.site-main .gform_wrapper.gravity-theme .gform_validation_errors > h2 {
	color: inherit;
	font-size: var(--text-m);
	font-weight: 400;
	line-height: 1.5;
}

.site-main .gform_wrapper.gravity-theme .gfield_error .gfield_label {
	color: var(--accent-dark);
}

.site-main .gform_wrapper.gravity-theme .gfield_error .ginput_container :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]), textarea, select) {
	border-color: var(--accent-dark);
}

.site-main .gform_confirmation_message {
	padding: var(--space-s);
	border-color: var(--primary);
	background: var(--primary-ultra-light);
	color: var(--primary-semi-dark);
	font-size: var(--text-m);
}

@media (max-width: 42rem) {
	.site-main .gform_wrapper.gravity-theme .gform_fields > .gfield:not(.gfield_visibility_hidden) {
		grid-column: 1 / -1;
	}

	.site-main .gform_wrapper.gravity-theme :is(.gform_button, .gform_next_button, .gform_previous_button) {
		width: 100%;
		min-width: 0;
	}
}

.site-main .gform_wrapper.gravity-theme .gfield_required :is(.gfield_required_text, .gfield_required_asterisk) {
	color: inherit;
	font: inherit;
}
