/* ==========================================================================
   Gravity Forms in the design's form panel.
   The <form> carries the design's .form class and each field its .field
   class, so style.css's .form / .field rules (panel, labels, inputs, focus)
   apply as they are. This sheet only lays the Gravity Forms markup out the
   way the design's .form__row does and styles what the design never drew:
   validation messages and the confirmation.
   ========================================================================== */

.gform_wrapper .gform_fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: clamp(0.75rem, 1.25vw, 1.5rem);
}
.gform_wrapper .gfield { grid-column: 1 / -1; min-width: 0; }
.gform_wrapper .gfield--width-half { grid-column: span 1; }
@media (max-width: 640px) {
	.gform_wrapper .gfield--width-half { grid-column: 1 / -1; }
	/* the design's .form__row keeps its gap when the two names stack */
	.gform_wrapper .gfield--width-half + .gfield--width-half { margin-top: clamp(0.75rem, 1.25vw, 1.5rem); }
}

.gform_wrapper .gfield_label { display: block; }
.gform_wrapper .gfield_required { display: none; }
.gform_wrapper .ginput_container { margin: 0; }
.gform_wrapper .gfield--type-hidden,
.gform_wrapper .gform_hidden,
.gform_wrapper .gform_validation_container,
.gform_wrapper .gfield_visibility_hidden { display: none !important; }

/* the honeypot must never be reachable: off-screen as well as display:none */
.gform_wrapper .gform_validation_container {
	position: absolute !important;
	left: -9000px;
}

.gform_wrapper .gform_footer { margin: 0; padding: 0; }
.gform_wrapper .gform_ajax_spinner,
.gform_wrapper .gform-loader { display: none; }

.gform_wrapper .gfield_description,
.gform_wrapper .validation_message {
	margin-top: 0.45em;
	font-size: var(--small);
	color: #b3261e;
}
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error textarea { border-color: #b3261e; }
.gform_wrapper .gform_validation_errors {
	margin: 0 0 1.25rem;
	padding: 0.9rem 1rem;
	border-radius: var(--r-sm);
	background: #fdecea;
	color: #8c1d18;
	font-size: var(--base);
}
.gform_wrapper .gform_validation_errors h2 { font: inherit; margin: 0; }
.gform_wrapper .gform_validation_errors ol { margin: 0.4rem 0 0; padding-left: 1.2rem; }

/* Turnstile: the widget takes a field's spacing once its keys are set; until
   then the field is empty and takes no room. */
.gform_wrapper .gfield--type-turnstile:empty { display: none; }

.gform_confirmation_message {
	padding: clamp(1.5rem, 2.9vw, 3.5rem);
	background: var(--form);
	border-radius: var(--r-lg);
	font-size: var(--base);
	color: var(--ink);
}
.nextstep .gform_confirmation_message { background: var(--white); }

.gform_wrapper .screen-reader-text,
.gform_wrapper .gform_required_legend {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0 0 0 0);
	white-space: nowrap; border: 0;
}
