/**
 * Gravity Forms — base layout for every form in the theme.
 * Loaded whenever a Gravity Form renders (see inc/gravity-forms.php).
 */

/* Constrain and center each form so it isn't full viewport width. */
.gform_wrapper {
	max-width: 920px;
	margin-left: auto;
	margin-right: auto;
}

/* Keep a little breathing room from the screen edges on small viewports. */
@media (max-width: 952px) {
	.gform_wrapper {
		padding-left: var(--space-sm, 1rem);
		padding-right: var(--space-sm, 1rem);
	}
}

/**
 * Brand theming for GF's Orbital theme.
 *
 * Orbital sets its color/radius palette via CSS custom properties, but it
 * re-declares them inline per form (scoped to that form's #gform_wrapper_N),
 * which beats any selector-specificity override. `!important` on our custom
 * property declarations is the documented way around that — `!important`
 * wins on origin/importance before specificity is even considered, so a
 * single site-wide rule here overrides every form's inline block regardless
 * of its ID.
 *
 * Gravity Forms also enqueues its own theme/foundation/framework/orbital
 * stylesheets via `gform_enqueue_scripts` AFTER this file (see
 * inc/gravity-forms.php), so plain (non-!important) typography overrides
 * below lose any specificity tie to GF's own rules purely on source order.
 * `!important` throughout this override section is intentional for the
 * same reason as above, not a habit to carry elsewhere in the theme.
 */
.gform-theme--orbital {
	--gf-color-primary: var(--color-primary) !important;
	--gf-color-primary-rgb: 0, 122, 51 !important;
	--gf-color-primary-contrast: var(--color-white) !important;
	--gf-color-primary-darker: var(--color-primary-dark) !important;
	--gf-color-primary-lighter: var(--color-primary-light) !important;

	--gf-color-in-ctrl-primary: var(--color-primary) !important;
	--gf-color-in-ctrl-primary-rgb: 0, 122, 51 !important;
	--gf-color-in-ctrl-primary-contrast: var(--color-white) !important;
	--gf-color-in-ctrl-primary-darker: var(--color-primary-dark) !important;
	--gf-color-in-ctrl-primary-lighter: var(--color-primary-light) !important;

	--gf-ctrl-border-color: var(--color-border) !important;
	--gf-ctrl-label-color-primary: var(--color-text) !important;
	--gf-ctrl-label-color-secondary: var(--color-text) !important;
	--gf-radius: 2px !important;
}

/* Field labels — match the site's uppercase "meta" chrome treatment (nav, buttons, badges). */
.gform-theme--orbital .gfield_label,
.gform-theme--orbital legend.gfield_label {
	font-family: var(--font-primary) !important;
	font-size: var(--fs-meta) !important;
	font-weight: 300 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	color: var(--color-text) !important;
}

/* Field values — body copy, so it gets the full readable size, not GF's cramped 14px default. */
.gform-theme--orbital input[type="text"],
.gform-theme--orbital input[type="email"],
.gform-theme--orbital input[type="tel"],
.gform-theme--orbital input[type="url"],
.gform-theme--orbital input[type="number"],
.gform-theme--orbital textarea,
.gform-theme--orbital select,
.gform-theme--orbital .ginput_container input,
.gform-theme--orbital .ginput_container select {
	font-family: var(--font-primary) !important;
	font-size: var(--fs-body) !important;
	font-weight: 300 !important;
	color: var(--color-text) !important;
}

/* Submit button — reuse the site's .btn--primary treatment exactly. */
.gform-theme--orbital .gform_button.button {
	font-family: var(--font-primary) !important;
	font-size: var(--fs-meta) !important;
	font-weight: 300 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
	padding: 0.875rem 2rem !important;
}

/* Secondary buttons inside a form (e.g. the file-upload "Select files" trigger). */
.gform-theme--orbital .gform_drop_area .gform_button_select_files {
	font-family: var(--font-primary) !important;
	font-weight: 300 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
}
