/**
 * Gravity Forms overrides for PRISM.
 *
 * Loaded after Gravity Forms styles so these rules win.
 * Tune the custom properties below to match the theme.
 */

.gform_wrapper {
	--prism-gf-text: #2d2d2d;
	--prism-gf-heading: #1a1a1a;
	--prism-gf-border: #7a7a7a;
	--prism-gf-border-focus: var(--prism-color-accent, #e64833);
	--prism-gf-field-bg: #fff;
	--prism-gf-button-bg: var(--prism-color-accent, #e64833);
	--prism-gf-button-bg-hover: var(--prism-color-accent-hover, #cf3f2c);
	--prism-gf-button-text: #fff;
	--prism-gf-error: #f0506e;
	--prism-gf-success: #32d296;

	--gf-form-gap-y: 1.5rem;
	--gf-field-gap-y: 1rem;
	--gf-form-footer-margin-y-start: 1.5rem;

	/* Orbital theme tokens — align with PRISM accent + square buttons */
	--gf-color-primary: var(--prism-color-accent, #e64833);
	--gf-color-primary-darker: var(--prism-color-accent-hover, #cf3f2c);
	--gf-color-in-ctrl-dark-lighter: var(--prism-gf-border);
	--gf-ctrl-border-color: var(--prism-gf-border);
	--gf-ctrl-border-color-hover: #666;
	--gf-ctrl-border-color-focus: var(--prism-gf-border-focus);
	--gf-ctrl-btn-bg-color-primary: var(--prism-gf-button-bg);
	--gf-ctrl-btn-bg-color-hover-primary: var(--prism-gf-button-bg-hover);
	--gf-ctrl-btn-bg-color-focus-primary: var(--prism-gf-button-bg-hover);
	--gf-ctrl-btn-color-primary: var(--prism-gf-button-text);
	--gf-ctrl-btn-color-hover-primary: var(--prism-gf-button-text);
	--gf-ctrl-btn-color-focus-primary: var(--prism-gf-button-text);
	--gf-ctrl-btn-border-color-primary: var(--prism-gf-button-bg);
	--gf-ctrl-btn-border-color-hover-primary: var(--prism-gf-button-bg-hover);
	--gf-ctrl-btn-border-color-focus-primary: var(--prism-gf-button-bg-hover);
	--gf-radius: 0;
	--gf-ctrl-radius: 0;
	--gf-ctrl-btn-radius: 0;

	color: var(--prism-gf-text);
	font-family: "Jost", sans-serif;
	font-size: 1rem;
	line-height: 1.7;
	max-width: none;
	width: 100%;
}

.gform_wrapper form,
.gform_wrapper .gform_body,
.gform_wrapper .gform_fields,
.gform_wrapper .gform_footer,
.gform_wrapper .gform_page_footer {
	max-width: none;
	width: 100%;
}

.gform_wrapper .gform_title,
.gform_wrapper .gsection_title {
	color: var(--prism-gf-heading);
	font-family: "Lora", serif;
	font-weight: 600;
	line-height: 1.3;
}

.gform_wrapper .gfield_label,
.gform_wrapper .gform-field-label,
.gform_wrapper legend.gfield_label {
	color: var(--prism-gf-heading);
	font-family: "Jost", sans-serif;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
}

.prism-content__body .gform_wrapper,
.prism-banner__content .gform_wrapper {
	--prism-gf-text: var(--prism-gf-content-color, #2d2d2d);
	--prism-gf-heading: var(--prism-gf-content-color, #1a1a1a);
	color: var(--prism-gf-text);
	display: block;
	margin-inline: 0;
	text-align: start;
}

.prism-content__body > p:has(.gform_wrapper),
.prism-banner__content > p:has(.gform_wrapper) {
	margin-inline: 0;
	max-width: none;
	width: 100%;
}

.gform_wrapper .ginput_container,
.gform_wrapper .ginput_complex {
	max-width: none;
	width: 100%;
}

.gform_wrapper .gfield_description,
.gform_wrapper .gform-field-label--type-sub,
.gform_wrapper .charleft {
	color: var(--prism-gf-text);
	font-size: 0.944rem;
	line-height: 1.6;
}

.gform_wrapper input[type="color"],
.gform_wrapper input[type="date"],
.gform_wrapper input[type="datetime-local"],
.gform_wrapper input[type="datetime"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="month"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="password"],
.gform_wrapper input[type="search"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="text"],
.gform_wrapper input[type="time"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="week"],
.gform_wrapper select,
.gform_wrapper textarea,
.gform_wrapper.gform-theme--foundation .gfield input,
.gform_wrapper.gform-theme--foundation .gfield select,
.gform_wrapper.gform-theme--foundation .gfield textarea,
.gform_wrapper.gform-theme--foundation .gfield .ginput_password {
	background-color: var(--prism-gf-field-bg);
	border: 1px solid var(--prism-gf-border);
	border-radius: 0;
	box-shadow: none;
	color: var(--prism-gf-text);
	font-family: "Jost", sans-serif;
	font-size: 1rem;
	inline-size: 100%;
	line-height: 1.5;
	max-width: 100%;
	min-height: 30px;
	padding: 0.65rem 0.85rem;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	width: 100%;
}

.gform_wrapper input:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus {
	border-color: var(--prism-gf-border-focus);
	box-shadow: 0 0 0 2px rgba(230, 72, 51, 0.15);
	outline: none;
}

.gform_wrapper .gform_button,
.gform_wrapper .gform_next_button,
.gform_wrapper .gform_previous_button,
.gform_wrapper button[type="submit"],
.gform_wrapper input[type="submit"].gform_button {
	appearance: none;
	background-color: var(--prism-gf-button-bg);
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: var(--prism-gf-button-text);
	cursor: pointer;
	font-family: "Jost", sans-serif;
	font-size: 1rem;
	font-weight: 500;
	inline-size: auto;
	line-height: 1.5;
	min-height: auto;
	padding: 15px 30px;
	text-decoration: none;
	text-transform: none;
	transition: background-color 0.2s ease;
	width: auto;
}

.gform_wrapper .gform_button:hover,
.gform_wrapper .gform_button:focus,
.gform_wrapper .gform_next_button:hover,
.gform_wrapper .gform_next_button:focus,
.gform_wrapper .gform_previous_button:hover,
.gform_wrapper .gform_previous_button:focus,
.gform_wrapper button[type="submit"]:hover,
.gform_wrapper button[type="submit"]:focus,
.gform_wrapper input[type="submit"].gform_button:hover,
.gform_wrapper input[type="submit"].gform_button:focus {
	background-color: var(--prism-gf-button-bg-hover);
	color: var(--prism-gf-button-text);
	outline: none;
	text-decoration: none;
}

.prism-block--has-text-color .gform_wrapper .gform_button,
.prism-block--has-text-color .gform_wrapper .gform_next_button,
.prism-block--has-text-color .gform_wrapper .gform_previous_button,
.prism-block--has-text-color .gform_wrapper button[type="submit"],
.prism-block--has-text-color .gform_wrapper input[type="submit"].gform_button {
	color: var(--prism-gf-button-text);
}

.gform_wrapper .gfield_validation_message,
.gform_wrapper .validation_message,
.gform_wrapper .gform_validation_errors {
	color: var(--prism-gf-error);
	font-size: 0.944rem;
}

.gform_wrapper .gform_confirmation_message {
	color: var(--prism-gf-success);
}

.gform_wrapper .gfield_required {
	color: var(--prism-gf-error);
}
