/*
 * Gravity Forms layout fixes for the homepage hero form (form 1, .quickform)
 * and the sticky scroll form (form 2, .sticky-nav .stickyform).
 * Scoped to those two containers only. Styling only; no form config changes.
 *
 * GF's foundation theme lays .gform_fields out as a 12-column CSS grid and
 * gives every .gfield `grid-column: 1/-1`, so widths are set with grid spans
 * (inline-block / width has no effect on grid items).
 */

/* Hero form (form 1): clean up name + layout */
.quickform .gform-field-label--type-sub { display: none !important; } /* placeholders already say First Name / Last Name */
.quickform .gform_fields { gap: 8px !important; }
.quickform .gfield { margin: 0 !important; }

/* Labels and "(Required)" hidden; asterisked placeholders plus one note carry it */
.quickform .gfield_label,
.quickform .gfield_required { display: none !important; }
.quickform .gform_fields::before {
	content: "Fields with * are required.";
	grid-column: 1 / -1;
	color: #cbd5e1;
	font-size: 13px;
	margin: 0 0 4px;
}

/* Email + Phone share one row */
.quickform .gform_fields > #field_1_2 { grid-column: span 6 !important; }
.quickform .gform_fields > #field_1_3 { grid-column: span 6 !important; }
.quickform textarea { height: 72px !important; min-height: 72px !important; } /* rows=10 was too tall */

/* Address + City, then State + ZIP: equal halves, same as Email + Phone */
.quickform .gform_fields > #field_1_4,
.quickform .gform_fields > .gfield.gcdc-half,
.quickform .gform_fields > .gfield.gcdc-zip { grid-column: span 6 !important; }

/* First / Last on the same 8px gap as the rest of the form. GF spaces the
   name row with its own 12px gap (-6px row margin + 6px column padding). */
.quickform .ginput_container--name { margin-inline: 0 !important; column-gap: 8px !important; flex-wrap: nowrap !important; }
.quickform .ginput_container--name .name_first,
.quickform .ginput_container--name .name_last { padding: 0 !important; flex: 1 1 0 !important; min-width: 0 !important; }

/* Sticky form (form 2): keep First / Last on one line, 16px apart to match
   the 16px between the other fields (theme gives each .form-group 8px a side) */
.sticky-nav .stickyform .ginput_container--name { flex-wrap: nowrap !important; gap: 16px !important; margin-inline: 0 !important; }
.sticky-nav .stickyform .gform_footer { padding-left: 8px !important; } /* last field 8px + 8px = 16px to the button */
.sticky-nav .stickyform .ginput_container--name .name_first,
.sticky-nav .stickyform .ginput_container--name .name_last { padding: 0 !important; flex: 1 1 0 !important; min-width: 0 !important; }

/* Sticky: textarea collapsed to the 40px row so the bar stays one tight line */
.sticky-nav .stickyform .gform_fields { align-items: center !important; }
.sticky-nav .stickyform textarea { height: 40px !important; min-height: 40px !important; resize: none !important; }
.sticky-nav .stickyform .gform_footer .gform_button { height: 40px !important; align-self: center !important; }

/*
 * Submit buttons in the site's brand style (.btn.btn-default as on "Contact Us").
 * Values copied from the theme: css/style.css .btn / .btn-default and the
 * Dynamic CSS block (.btn-default background #434c93, hover #282c7d). GF's
 * Orbital theme otherwise repaints .gform_button blue with a 3px radius.
 * The theme renders the submit as <button class="gform_button">, not <input>.
 */
.quickform .gform_footer .gform_button,
.sticky-nav .stickyform .gform_footer .gform_button {
	background: #434c93 !important;
	color: #fff !important;
	border: 1px solid transparent !important;
	border-radius: 0 !important;
	padding: 17px 2vw !important;
	font-size: 1rem !important;
	line-height: 1rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
}
.quickform .gform_footer .gform_button:hover,
.quickform .gform_footer .gform_button:focus,
.quickform .gform_footer .gform_button:active,
.sticky-nav .stickyform .gform_footer .gform_button:hover,
.sticky-nav .stickyform .gform_footer .gform_button:focus,
.sticky-nav .stickyform .gform_footer .gform_button:active {
	background: #282c7d !important;
	color: #fff !important;
}
/* Sticky is a fixed 40px row: keep brand padding horizontal only */
.sticky-nav .stickyform .gform_footer .gform_button { padding: 0 2vw !important; }

/* -------------------------------------------------------------------------
 * In-page forms: Specials (form 4), Financing (form 5), Contact Us (form 7).
 * Same look as the hero form, scoped by GF's generated wrapper classes
 * (form cssClass + "_wrapper"). These sit on white, so the note is mid-gray.
 * ---------------------------------------------------------------------- */
:is(.gcdc-specials_wrapper, .gcdc-financing_wrapper, .gcdc-contact_us_wrapper) .gfield_label,
:is(.gcdc-specials_wrapper, .gcdc-financing_wrapper, .gcdc-contact_us_wrapper) .gfield_required,
:is(.gcdc-specials_wrapper, .gcdc-financing_wrapper, .gcdc-contact_us_wrapper) .gform-field-label--type-sub { display: none !important; }
:is(.gcdc-specials_wrapper, .gcdc-financing_wrapper, .gcdc-contact_us_wrapper) .gform_fields { gap: 8px !important; }
:is(.gcdc-specials_wrapper, .gcdc-financing_wrapper, .gcdc-contact_us_wrapper) .gfield { margin: 0 !important; padding: 0 !important; }
:is(.gcdc-specials_wrapper, .gcdc-financing_wrapper, .gcdc-contact_us_wrapper) .gform_fields::before {
	content: "Fields with * are required.";
	grid-column: 1 / -1;
	color: #6b7280;
	font-size: 13px;
	margin: 0 0 4px;
}

/* Rows: First + Last, Email + Phone, Address + City, State + ZIP */
:is(.gcdc-specials_wrapper, .gcdc-financing_wrapper, .gcdc-contact_us_wrapper) .ginput_container--name { margin-inline: 0 !important; column-gap: 8px !important; flex-wrap: nowrap !important; }
:is(.gcdc-specials_wrapper, .gcdc-financing_wrapper, .gcdc-contact_us_wrapper) .ginput_container--name .name_first,
:is(.gcdc-specials_wrapper, .gcdc-financing_wrapper, .gcdc-contact_us_wrapper) .ginput_container--name .name_last { padding: 0 !important; flex: 1 1 0 !important; min-width: 0 !important; }
:is(.gcdc-specials_wrapper, .gcdc-financing_wrapper, .gcdc-contact_us_wrapper) .gform_fields > .gfield--type-email,
:is(.gcdc-specials_wrapper, .gcdc-financing_wrapper, .gcdc-contact_us_wrapper) .gform_fields > .gfield--type-phone { grid-column: span 6 !important; }
:is(.gcdc-specials_wrapper, .gcdc-financing_wrapper, .gcdc-contact_us_wrapper) .gform_fields > .gfield--type-text:not(.gcdc-half):not(.gcdc-zip), /* Address */
:is(.gcdc-specials_wrapper, .gcdc-financing_wrapper, .gcdc-contact_us_wrapper) .gform_fields > .gfield.gcdc-half,
:is(.gcdc-specials_wrapper, .gcdc-financing_wrapper, .gcdc-contact_us_wrapper) .gform_fields > .gfield.gcdc-zip { grid-column: span 6 !important; }
:is(.gcdc-specials_wrapper, .gcdc-financing_wrapper, .gcdc-contact_us_wrapper) textarea { height: 96px !important; min-height: 96px !important; }

/* Brand submit (same values as the hero / sticky buttons above) */
:is(.gcdc-specials_wrapper, .gcdc-financing_wrapper, .gcdc-contact_us_wrapper) .gform_footer { margin-top: 12px !important; }
:is(.gcdc-specials_wrapper, .gcdc-financing_wrapper, .gcdc-contact_us_wrapper) .gform_footer .gform_button {
	background: #434c93 !important;
	color: #fff !important;
	border: 1px solid transparent !important;
	border-radius: 0 !important;
	padding: 17px 2vw !important;
	font-size: 1rem !important;
	line-height: 1rem !important;
	font-weight: 700 !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
}
:is(.gcdc-specials_wrapper, .gcdc-financing_wrapper, .gcdc-contact_us_wrapper) .gform_footer .gform_button:is(:hover, :focus, :active) {
	background: #282c7d !important;
	color: #fff !important;
}
