/**
 * Gravity Forms — single source of truth
 *
 * Consolidated from style.css, plugins/bedrock/css/mwa.css, and css/footer.css.
 * Adjust layout, inputs, and footer newsletter forms here only.
 */

/* ==========================================================================
   Field layout — 12-column grid (GF 2.5+ .gfield--width-* classes)
   Works for Orbital, Gravity theme, and legacy wrappers. Intentionally does
   NOT use the old mwa-gf-2-columns_wrapper 1fr/2fr grid.
   ========================================================================== */

@media only screen and (min-width: 641px) {
	.gform_wrapper .gform_fields {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		column-gap: 12px;
		row-gap: 12px;
		align-items: start;
	}

	.gform_wrapper .gform_fields>.gfield {
		min-width: 0;
	}

	.gform_wrapper .gform_fields>.gfield:not([class*="gfield--width-"]) {
		grid-column: span 12;
	}

	.gform_wrapper .gfield--width-full {
		grid-column: span 12;
	}

	.gform_wrapper .gfield--width-eleven-twelfths {
		grid-column: span 11;
	}

	.gform_wrapper .gfield--width-five-sixths {
		grid-column: span 10;
	}

	.gform_wrapper .gfield--width-three-quarter {
		grid-column: span 9;
	}

	.gform_wrapper .gfield--width-two-thirds {
		grid-column: span 8;
	}

	.gform_wrapper .gfield--width-seven-twelfths {
		grid-column: span 7;
	}

	.gform_wrapper .gfield--width-half {
		grid-column: span 6;
	}

	.gform_wrapper .gfield--width-five-twelfths {
		grid-column: span 5;
	}

	.gform_wrapper .gfield--width-third {
		grid-column: span 4;
	}

	.gform_wrapper .gfield--width-quarter {
		grid-column: span 3;
	}

	.gform_wrapper .gfield--width-one-sixth {
		grid-column: span 2;
	}

	.gform_wrapper .gfield--width-one-twelfth {
		grid-column: span 1;
	}
}

@media only screen and (max-width: 640px) {
	.gform_wrapper .gform_fields {
		display: grid;
		grid-template-columns: 1fr;
		row-gap: 1.25em;
	}

	.gform_wrapper .gform_fields>.gfield {
		grid-column: 1 / -1;
	}
}

/* ==========================================================================
   Wrapper & typography
   ========================================================================== */

.mwa-gf-form_wrapper,
.gform_wrapper.mwa-gf-form_wrapper {
	text-align: left;
}

.mwa-gf-form_wrapper .gfield label {
	margin-bottom: 10px;
	display: block;
}

.mwa-gf-form_wrapper .hidden_label .gfield_label {
	display: none;
}

.mwa-gf-form_wrapper ::placeholder {
	color: rgba(36, 61, 115, 0.8);
}

/* ==========================================================================
   Inputs (scoped to GF — avoids stacking conflicts with global form rules)
   ========================================================================== */

.gform_wrapper select,
.gform_wrapper textarea,
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="date"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="text"] {
	color: var(--navy);
	width: 100%;
	padding: 16px;
	border-radius: 5px;
	border: solid 1px #e6ebf3;
}

/* Remove native browser arrow from select — custom arrow is added via ::before */
.gform_wrapper select {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
}

/* Placeholder colour for select (when default empty option is selected) */
.gform_wrapper select:required:invalid,
.gform_wrapper select:has(option[value=""]:checked) {
	color: rgba(36, 61, 115, 0.6);
}

/* Restore full colour for real option values */
.gform_wrapper select option {
	color: var(--navy);
}


.boxed.clrs-pale-grey .gform_wrapper select,
.boxed.clrs-pale-grey .gform_wrapper textarea,
.boxed.clrs-pale-grey .gform_wrapper input[type="tel"],
.boxed.clrs-pale-grey .gform_wrapper input[type="date"],
.boxed.clrs-pale-grey .gform_wrapper input[type="number"],
.boxed.clrs-pale-grey .gform_wrapper input[type="email"],
.boxed.clrs-pale-grey .gform_wrapper input[type="text"] {
	background: #ffffff;
}



.clrs-light .gform_wrapper select,
.clrs-light .gform_wrapper textarea,
.clrs-light .gform_wrapper input[type="tel"],
.clrs-light .gform_wrapper input[type="date"],
.clrs-light .gform_wrapper input[type="number"],
.clrs-light .gform_wrapper input[type="email"],
.clrs-light .gform_wrapper input[type="text"] {
	background: #f7faff;
}




.ginput_container.ginput_container_select {
	position: relative;
}

.ginput_container.ginput_container_select::before {
	content: "\f078";
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	line-height: 1;
	position: absolute;
	right: 18px;
	top: 50%;
	color: var(--navy);
	transform: translate(0%, -50%);
}

/* Legacy mwa.css base input padding (kept for textarea parity) */
.gform_wrapper input,
.gform_wrapper textarea {
	width: 100%;
}

.gform_wrapper textarea.small {
	height: 150px;
}

.gform_wrapper textarea.medium {
	height: 200px;
}

.gform_wrapper textarea.large {
	height: 400px;
}

/* ==========================================================================
   Checkboxes, consent, choices
   ========================================================================== */

.mwa-gf-form_wrapper .ginput_container_consent label,
.mwa-gf-form_wrapper .gchoice label {
	cursor: pointer;
	padding: 0;
}

.mwa-gf-form_wrapper .ginput_container_consent,
.mwa-gf-form_wrapper .gchoice {
	display: grid;
	grid-template-columns: 1em auto;
	justify-content: flex-start;
	align-items: baseline;
}

.mwa-gf-form_wrapper .gchoice~.gchoice {
	margin-top: 5px;
}

.mwa-gf-form_wrapper .gfield-choice-input~input[type="text"] {
	grid-column: 2;
	margin-top: 10px;
}

/* ==========================================================================
   Validation & honeypot
   ========================================================================== */

.mwa-gf-form_wrapper .gform_validation_container,
.mwa-gf-form_wrapper .gform_required_legend,
.mwa-gf-form_wrapper .gform_validation_errors {
	display: none;
}

.mwa-gf-form_wrapper .gfield_validation_message {
	padding: 0;
	font-size: 0.85rem;
	color: #ff6d6d;
}

.mwa-gf-form_wrapper .gfield_required_asterisk {
	color: #ff6d6d;
}

/* ==========================================================================
   Footer / submit
   ========================================================================== */

.mwa-gf-form_wrapper .gform_footer {
	display: inline-flex !important;
	margin-top: 8px;
	align-items: center;
	width: 100%;
}

.mwa-gf-form_wrapper .gform_footer .gform_ajax_spinner,
img.gform_ajax_spinner {
	display: none !important;
}

.mwa-gf-form_wrapper .gform_footer .gform_button {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: auto;
	width: auto;
	background: var(--bumblebee);
	color: var(--navy);
	border-radius: 5px;
	border: solid 2px var(--bumblebee);
	padding: 12px 32px;
	font-weight: 500;
	width: 100%;
}

/* Footer subscribe control. Gold pill, same as the original.
   Original markup is input#gform_submit_button_4. This copy is
   button#gform_submit_button_2, so target the footer button itself. */
.site-footer .gform_footer .gform_button,
.site-footer .gform_footer input[type="submit"],
.site-footer .gform_footer button[type="submit"] {
	width: auto;
	justify-content: center;
	background: var(--bumblebee) !important;
	color: var(--navy) !important;
	border: solid 2px var(--bumblebee) !important;
	border-radius: 500px !important;
	padding: 12px 28px;
	white-space: nowrap;
}

/* Gravity Forms adds .gform-loader inside the button on click. */
.gform_button .gform-loader {
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-left: 10px;
	border: 2px solid rgba(12, 35, 58, 0.25);
	border-top-color: currentColor;
	border-radius: 50%;
	animation: gf-spin 0.7s linear infinite;
	flex: 0 0 auto;
}

.mwa-gf-form_wrapper .gform_footer .gform_button:hover {
	background: var(--lemon) !important;
	transition: all .5s ease;
}

.mwa-gf-form_wrapper .gform_footer .submit-mask {
	display: none;
}

/* Submit processing spinner (non-GF ajax) */
.gform_wrapper .spinner {
	border: 4px solid rgba(0, 0, 0, 0.1) !important;
	border-left-color: #000 !important;
	border-radius: 50% !important;
	width: 20px !important;
	height: 20px !important;
	animation: gf-spin 1s linear infinite !important;
	display: inline-block !important;
	margin-left: 10px !important;
}

@keyframes gf-spin {
	to {
		transform: rotate(360deg);
	}
}

/* ==========================================================================
   Site footer newsletter / inline form layout
   ========================================================================== */

.site-footer select,
.site-footer textarea,
.site-footer input[type="tel"],
.site-footer input[type="date"],
.site-footer input[type="number"],
.site-footer input[type="email"],
.site-footer input[type="text"] {
	color: var(--light) !important;
	width: 100%;
	padding: 14px 18px !important;
	border-radius: 500px !important;
	background: var(--navy) !important;
	border: none !important;
}

.site-footer input::placeholder,
.site-footer textarea::placeholder {
	color: rgba(255, 255, 255, 0.9) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.9);
	opacity: 1 !important;
}

.site-footer form .gfield {
	margin-bottom: 14px;
}

.site-footer form .gform_footer {
	margin-top: 0;
}

@media only screen and (min-width: 992px) {
	.site-footer form {
		width: 100%;
		display: grid;
		grid-template-columns: 1fr 1fr 1fr auto;
		align-items: start;
		grid-gap: 14px;
	}

	.site-footer .gform-body,
	.site-footer .gform_body,
	.site-footer .gform_fields {
		display: contents !important;
	}

	.site-footer .gform_footer,
	.site-footer .gform-footer,
	.site-footer .mwa-gf-form_wrapper .gform_footer {
		width: auto;
		min-width: max-content;
		margin-top: 0;
	}

	.site-footer .gform_fields > .gfield,
	.site-footer .gfield--width-third {
		grid-column: auto !important;
		margin-bottom: 0;
		min-width: 0;
	}
}