/**
 * Gravity Forms theming for the dark "Be Part of the Movement" signup card.
 *
 * Gravity Forms 2.10 ships a theme framework whose stylesheet loads AFTER our
 * head CSS and drives the submit button via --gf-color-primary (#204ce5, blue).
 * We override GF's own custom properties at a HIGHER-SPECIFICITY scope
 * (.signup .gform_wrapper…), so they win by specificity regardless of which
 * stylesheet loaded first (specificity is resolved before source order).
 * Explicit fallback rules below cover legacy / non-framework markup.
 */

.signup .gform_wrapper,
.signup .gform-theme.gform-theme--framework.gform_wrapper {
	/* Primary / submit button */
	--gf-color-primary: var(--c-red);
	--gf-color-primary-rgb: 160, 0, 10;
	--gf-color-primary-darker: var(--c-red-dark);
	--gf-color-primary-contrast: #fff;
	--gf-ctrl-btn-bg-color-primary: var(--c-red);
	--gf-ctrl-btn-bg-color-hover-primary: var(--c-red-dark);
	--gf-ctrl-btn-color-primary: #fff;
	--gf-ctrl-btn-radius: var(--radius);
	--gf-ctrl-btn-font-family: var(--font-body);
	--gf-ctrl-btn-font-weight: 700;

	/* Inputs / controls */
	--gf-ctrl-bg-color: var(--c-navy);
	--gf-ctrl-border-color: var(--c-line-navy);
	--gf-ctrl-border-color-focus: var(--c-red);
	--gf-ctrl-radius: var(--radius);
	--gf-ctrl-color: #fff;
	--gf-ctrl-placeholder-color: rgba(255, 255, 255, 0.4);

	/* Labels */
	--gf-ctrl-label-color-primary: rgba(255, 255, 255, 0.7);
	--gf-ctrl-label-font-family-primary: var(--font-body);
	--gf-ctrl-label-font-size-primary: 0.78rem;
	--gf-ctrl-label-font-weight-primary: 600;
	--gf-ctrl-label-color-secondary: rgba(255, 255, 255, 0.82);

	/* Descriptions / consent / fineprint */
	--gf-ctrl-desc-color: rgba(255, 255, 255, 0.45);
	--gf-ctrl-desc-font-size: 0.72rem;

	/* Checkbox / radio choices */
	--gf-ctrl-choice-size: 18px;
	--gf-ctrl-checkbox-check-radius: 4px;
	--gf-ctrl-choice-check-color: var(--c-red);
}

/* ---- Explicit fallbacks (legacy "gravity-theme" markup / non-variable rules) ---- */

.signup .gform_wrapper .gform_fields {
	gap: 1rem 0.875rem;
}

.signup .gform_wrapper .gfield_label,
.signup .gform_wrapper legend.gfield_label {
	color: rgba(255, 255, 255, 0.7);
	font-family: var(--font-body);
	font-weight: 600;
	font-size: 0.78rem;
	margin-bottom: 0.45rem;
}

.signup .gform_wrapper input[type="text"],
.signup .gform_wrapper input[type="email"],
.signup .gform_wrapper input[type="tel"],
.signup .gform_wrapper input[type="url"],
.signup .gform_wrapper input[type="number"],
.signup .gform_wrapper textarea,
.signup .gform_wrapper select {
	width: 100%;
	background: var(--c-navy);
	border: 1px solid var(--c-line-navy);
	border-radius: var(--radius);
	color: #fff;
	padding: 0.8rem 1rem;
	font-size: 0.95rem;
	font-family: var(--font-body);
}

.signup .gform_wrapper input::placeholder,
.signup .gform_wrapper textarea::placeholder {
	color: rgba(255, 255, 255, 0.4);
}

.signup .gform_wrapper input:focus,
.signup .gform_wrapper textarea:focus,
.signup .gform_wrapper select:focus {
	outline: none;
	border-color: var(--c-red);
	box-shadow: var(--focus-ring);
}

.signup .gform_wrapper input[type="checkbox"],
.signup .gform_wrapper input[type="radio"] {
	width: 18px;
	height: 18px;
	border: 1.5px solid rgba(255, 255, 255, 0.4);
	border-radius: 4px;
	accent-color: var(--c-red);
}

.signup .gform_wrapper .gfield_checkbox label,
.signup .gform_wrapper .gchoice label,
.signup .gform_wrapper .gfield_consent_label {
	color: rgba(255, 255, 255, 0.82);
	font-weight: 400;
	font-size: 0.85rem;
}

/* Consent / fineprint legibility (was dark-on-dark). */
.signup .gform_wrapper .gfield_consent_description,
.signup .gform_wrapper .gform_fineprint,
.signup .gform_wrapper .gfield--type-consent .gfield_consent_description {
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.72rem;
	line-height: 1.5;
}

.signup .gform_wrapper .gform_footer {
	margin-top: 1.25rem;
	padding: 0;
}

.signup .gform_wrapper .gform_footer input[type="submit"],
.signup .gform_wrapper .gform_footer button.gform_button,
.signup .gform_wrapper .gform_footer button {
	width: 100%;
	background: var(--c-red);
	color: #fff;
	border: 0;
	border-radius: var(--radius);
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 1rem;
	letter-spacing: 0.02em;
	padding: 1rem 1.75rem;
	cursor: pointer;
	transition: background-color var(--transition);
}

.signup .gform_wrapper .gform_footer input[type="submit"]:hover,
.signup .gform_wrapper .gform_footer button:hover {
	background: var(--c-red-dark);
}

.signup .gform_wrapper .gform_footer input[type="submit"]:focus-visible,
.signup .gform_wrapper .gform_footer button:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.signup .gform_wrapper .gform_validation_errors,
.signup .gform_wrapper .gfield_description.validation_message {
	color: #ffd0d6;
}
