/*
 * Ex-Guard Gravity Forms system.
 *
 * This stylesheet intentionally loads after the legacy theme and site shell.
 * Shared tokens own type, controls, focus, validation and actions; individual
 * page components continue to own their grid/column composition.
 */

body.exg-shell {
	--exg-form-control-height: 46px;
	--exg-form-control-padding-x: 14px;
	--exg-form-label-size: 13px;
	--exg-form-control-size: 14px;
	--exg-form-select-size: 13px;
	--exg-form-select-line: calc(var(--exg-form-control-height) - 2px);
	--exg-form-row-gap: 14px;
	--exg-form-column-gap: 14px;
	--exg-form-radius: 4px;
	--exg-form-border: #c5c5c5;
	--exg-form-surface: #fafafa;
	--exg-form-help: #6c6c6c;
	--exg-form-error: #a5261f;
}

/* Shared native quote/support panel. Kept beside the universal form system so
 * every page that renders this component receives one consistent layout. */
body.exg-shell .exg-native-quote {
	padding-block: var(--exg-section-space);
	border-top: 7px solid var(--exg-market-accent);
	background: var(--exg-black);
}

body.exg-shell .exg-native-quote__container {
	display: grid;
	box-sizing: border-box;
	width: min(1180px, calc(100% - 48px));
	grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
	gap: var(--exg-space-10);
	align-items: start;
	margin-inline: auto;
}

body.exg-shell .exg-native-quote__intro {
	position: sticky;
	top: var(--exg-space-6);
	padding-top: var(--exg-space-6);
	color: var(--exg-white);
}

body.exg-shell .exg-native-quote__eyebrow,
body.exg-shell .exg-native-quote__form-eyebrow {
	margin: 0 0 var(--exg-stack-eyebrow-gap) !important;
	color: var(--exg-market-accent);
	font: var(--exg-weight-action) var(--exg-type-eyebrow-size)/var(--exg-type-eyebrow-line) var(--exg-display) !important;
	letter-spacing: var(--exg-tracking-label) !important;
	text-transform: uppercase;
}

body.exg-shell #main-content#main-content .exg-native-quote h2 {
	margin: 0 !important;
	font: var(--exg-weight-display) var(--exg-type-section-size)/var(--exg-type-section-line) var(--exg-display) !important;
	text-transform: uppercase;
}

body.exg-shell #main-content#main-content .exg-native-quote__intro h2 {
	color: var(--exg-white) !important;
}

body.exg-shell .exg-native-quote__intro > p:not(.exg-native-quote__eyebrow) {
	margin: var(--exg-space-5) 0 0 !important;
	color: rgba(255, 255, 255, 0.78);
	font: var(--exg-weight-regular) var(--exg-type-body-lg-size)/var(--exg-type-body-lg-line) var(--exg-body) !important;
}

body.exg-shell .exg-native-quote__contact {
	display: grid;
	gap: var(--exg-space-2);
	margin-top: var(--exg-space-8);
	padding-top: var(--exg-space-6);
	border-top: 1px solid rgba(255, 255, 255, 0.25);
}

body.exg-shell .exg-native-quote__contact strong {
	color: var(--exg-market-accent);
	font: var(--exg-weight-action) var(--exg-type-feature-size)/var(--exg-type-feature-line) var(--exg-display);
	text-transform: uppercase;
}

body.exg-shell .exg-native-quote__contact a {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	color: var(--exg-white);
	font: var(--exg-weight-strong) var(--exg-type-body-size)/var(--exg-type-body-line) var(--exg-body);
	text-decoration: none;
}

body.exg-shell .exg-native-quote__contact a:is(:hover, :focus-visible) {
	color: var(--exg-market-accent);
}

body.exg-shell .exg-native-quote__form {
	box-sizing: border-box;
	min-width: 0;
	padding: clamp(28px, 4vw, 48px);
	border-top: 5px solid var(--exg-market-accent);
	border-radius: 6px;
	background: var(--exg-white);
	box-shadow: 0 20px 48px rgba(0, 0, 0, 0.22);
}

body.exg-shell .exg-native-quote__form-eyebrow {
	color: color-mix(in srgb, var(--exg-market-accent), var(--exg-black) 45%);
}

body.exg-shell #main-content#main-content .exg-native-quote__form h2 {
	color: var(--exg-black) !important;
	font-size: clamp(32px, 3vw, 42px) !important;
}

body.exg-shell .exg-native-quote__form > p:not(.exg-native-quote__form-eyebrow) {
	margin: var(--exg-space-3) 0 var(--exg-space-7) !important;
	color: var(--exg-form-help, #6c6c6c);
	font: var(--exg-weight-regular) var(--exg-type-body-size)/var(--exg-type-body-line) var(--exg-body) !important;
}

body.exg-shell .exg-native-quote__fallback {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	padding: 12px 22px;
	border-radius: 4px;
	background: var(--exg-market-accent);
	color: var(--exg-market-accent-text);
	font: var(--exg-weight-action) var(--exg-type-action-size)/var(--exg-type-action-line) var(--exg-display);
	text-decoration: none;
	text-transform: uppercase;
}

@media (max-width: 900px) {
	body.exg-shell .exg-native-quote__container {
		grid-template-columns: 1fr;
		gap: var(--exg-space-8);
	}

	body.exg-shell .exg-native-quote__intro {
		position: static;
		padding-top: 0;
	}
}

@media (max-width: 620px) {
	body.exg-shell .exg-native-quote__container {
		width: min(100% - 32px, 1180px);
	}

	body.exg-shell .exg-native-quote__form {
		padding: var(--exg-space-6);
	}
}

body.exg-legacy-content .gform_wrapper,
body.exg-shell .gform_wrapper {
	color: var(--exg-black);
	font-family: var(--exg-body);
}

body.exg-legacy-content .gform_wrapper .gform_title,
body.exg-shell .gform_wrapper .gform_title {
	margin: 0 !important;
	color: var(--exg-gold-deep) !important;
	font-family: var(--exg-display) !important;
	font-size: clamp(24px, 2.2vw, 28px) !important;
	font-style: normal !important;
	font-weight: var(--exg-weight-display) !important;
	letter-spacing: 0.025em !important;
	line-height: 1.08 !important;
	text-transform: uppercase !important;
}

body.exg-legacy-content .gform_wrapper .gform_description,
body.exg-shell .gform_wrapper .gform_description {
	display: block;
	margin: 8px 0 0 !important;
	color: var(--exg-form-help) !important;
	font-size: 15px !important;
	line-height: 1.45 !important;
}

body.exg-legacy-content .gform_wrapper .gsection_title,
body.exg-shell .gform_wrapper .gsection_title {
	margin: 4px 0 2px !important;
	color: var(--exg-gold-deep) !important;
	font-family: var(--exg-display) !important;
	font-size: 21px !important;
	font-style: normal !important;
	font-weight: var(--exg-weight-display) !important;
	letter-spacing: 0.025em !important;
	line-height: 1.12 !important;
	text-transform: uppercase !important;
}

body.exg-legacy-content .gform_wrapper .gform_fields,
body.exg-shell .gform_wrapper .gform_fields {
	align-items: start !important;
	row-gap: var(--exg-form-row-gap) !important;
	column-gap: var(--exg-form-column-gap) !important;
}

body.exg-legacy-content .gform_wrapper :is(.gfield_label, legend.gfield_label),
body.exg-shell .gform_wrapper :is(.gfield_label, legend.gfield_label) {
	display: flex !important;
	min-height: 17px !important;
	align-items: center !important;
	margin: 0 0 6px !important;
	color: var(--exg-black) !important;
	font-family: var(--exg-body) !important;
	font-size: var(--exg-form-label-size) !important;
	font-style: normal !important;
	font-weight: var(--exg-weight-strong) !important;
	letter-spacing: 0.045em !important;
	line-height: 17px !important;
	text-transform: uppercase !important;
}

body.exg-legacy-content .gform_wrapper :is(.ginput_container, .gfield),
body.exg-shell .gform_wrapper :is(.ginput_container, .gfield) {
	box-sizing: border-box;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.exg-legacy-content .gform_wrapper :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="file"]):not([type="hidden"]), select),
body.exg-shell .gform_wrapper :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="file"]):not([type="hidden"]), select) {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	height: var(--exg-form-control-height) !important;
	min-height: var(--exg-form-control-height) !important;
	margin: 0 !important;
	padding: 0 var(--exg-form-control-padding-x) !important;
	border: 1px solid var(--exg-form-border) !important;
	border-radius: var(--exg-form-radius) !important;
	background-color: var(--exg-form-surface) !important;
	box-shadow: none !important;
	color: var(--exg-black) !important;
	font-family: var(--exg-body) !important;
	font-size: var(--exg-form-control-size) !important;
	font-style: normal !important;
	font-weight: var(--exg-weight-regular) !important;
	letter-spacing: 0 !important;
	line-height: normal !important;
	text-transform: none !important;
}

body.exg-legacy-content .gform_wrapper select,
body.exg-shell .gform_wrapper select {
	appearance: none !important;
	-webkit-appearance: none !important;
	padding-top: 0 !important;
	padding-right: 38px !important;
	padding-bottom: 0 !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23071f36' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: calc(100% - 14px) center !important;
	background-size: 12px 8px !important;
	font-size: var(--exg-form-select-size) !important;
	line-height: var(--exg-form-select-line) !important;
	text-transform: uppercase !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
	overflow: hidden !important;
}

body.exg-legacy-content .gform_wrapper select[multiple],
body.exg-shell .gform_wrapper select[multiple] {
	height: auto !important;
	min-height: 120px !important;
	padding: 10px var(--exg-form-control-padding-x) !important;
	background-image: none !important;
}

body.exg-legacy-content .gform_wrapper .ginput_complex,
body.exg-shell .gform_wrapper .ginput_complex {
	align-items: start !important;
	gap: 10px var(--exg-form-column-gap) !important;
}

body.exg-legacy-content .gform_wrapper .ginput_complex > span,
body.exg-shell .gform_wrapper .ginput_complex > span {
	box-sizing: border-box;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.exg-legacy-content .gform_wrapper .gform-field-label--type-sub,
body.exg-shell .gform_wrapper .gform-field-label--type-sub {
	display: block !important;
	margin: 5px 0 0 !important;
	color: var(--exg-form-help) !important;
	font-family: var(--exg-body) !important;
	font-size: 12px !important;
	font-weight: var(--exg-weight-regular) !important;
	letter-spacing: 0 !important;
	line-height: 17px !important;
	text-transform: none !important;
}

body.exg-legacy-content .gform_wrapper :is(.gform_required_legend, .gfield_required),
body.exg-shell .gform_wrapper :is(.gform_required_legend, .gfield_required) {
	color: var(--exg-form-error) !important;
	font-family: var(--exg-body) !important;
	font-size: 12px !important;
	font-weight: var(--exg-weight-strong) !important;
	line-height: 17px !important;
}

body.exg-legacy-content .gform_wrapper textarea,
body.exg-shell .gform_wrapper textarea {
	box-sizing: border-box !important;
	width: 100% !important;
	min-height: 120px !important;
	margin: 0 !important;
	padding: 12px var(--exg-form-control-padding-x) !important;
	border: 1px solid var(--exg-form-border) !important;
	border-radius: var(--exg-form-radius) !important;
	background: var(--exg-form-surface) !important;
	box-shadow: none !important;
	color: var(--exg-black) !important;
	font-family: var(--exg-body) !important;
	font-size: var(--exg-form-control-size) !important;
	line-height: 1.45 !important;
	resize: vertical;
}

body.exg-legacy-content .gform_wrapper input[type="file"],
body.exg-shell .gform_wrapper input[type="file"] {
	box-sizing: border-box !important;
	width: 100% !important;
	min-height: var(--exg-form-control-height) !important;
	margin: 0 !important;
	padding: 8px 10px !important;
	border: 1px solid var(--exg-form-border) !important;
	border-radius: var(--exg-form-radius) !important;
	background: var(--exg-form-surface) !important;
	color: var(--exg-black) !important;
	font-family: var(--exg-body) !important;
	font-size: var(--exg-form-control-size) !important;
	line-height: 1.35 !important;
}

body.exg-legacy-content .gform_wrapper :is(.chosen-container, .select2-container),
body.exg-shell .gform_wrapper :is(.chosen-container, .select2-container) {
	width: 100% !important;
	min-width: 0 !important;
}

body.exg-legacy-content .gform_wrapper .select2-container .select2-selection--single,
body.exg-shell .gform_wrapper .select2-container .select2-selection--single {
	box-sizing: border-box !important;
	height: var(--exg-form-control-height) !important;
	border: 1px solid var(--exg-form-border) !important;
	border-radius: var(--exg-form-radius) !important;
	background: var(--exg-form-surface) !important;
}

body.exg-legacy-content .gform_wrapper .select2-container .select2-selection--single .select2-selection__rendered,
body.exg-shell .gform_wrapper .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0 38px 0 var(--exg-form-control-padding-x) !important;
	color: var(--exg-black) !important;
	font-family: var(--exg-body) !important;
	font-size: var(--exg-form-select-size) !important;
	line-height: var(--exg-form-select-line) !important;
}

body.exg-legacy-content .gform_wrapper :is(input, textarea)::placeholder,
body.exg-shell .gform_wrapper :is(input, textarea)::placeholder {
	opacity: 0.86 !important;
	color: #806100 !important;
	letter-spacing: 0.015em !important;
	text-transform: uppercase !important;
}

body.exg-legacy-content .gform_wrapper :is(input, select, textarea):focus,
body.exg-shell .gform_wrapper :is(input, select, textarea):focus {
	outline: 0 !important;
	border-color: var(--exg-market-accent) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--exg-market-accent) 24%, transparent) !important;
}

body.exg-legacy-content .gform_wrapper :is(input[type="checkbox"], input[type="radio"]),
body.exg-shell .gform_wrapper :is(input[type="checkbox"], input[type="radio"]) {
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
	flex: 0 0 20px !important;
	accent-color: var(--exg-market-accent);
}

body.exg-legacy-content .gform_wrapper :is(.gchoice, .ginput_container_consent),
body.exg-shell .gform_wrapper :is(.gchoice, .ginput_container_consent) {
	display: flex !important;
	align-items: flex-start !important;
	gap: 10px !important;
}

body.exg-legacy-content .gform_wrapper :is(.gchoice, .ginput_container_consent) label,
body.exg-shell .gform_wrapper :is(.gchoice, .ginput_container_consent) label {
	margin: 0 !important;
	color: var(--exg-black) !important;
	font-size: 14px !important;
	font-weight: var(--exg-weight-strong) !important;
	line-height: 20px !important;
}

body.exg-legacy-content .gform_wrapper .gfield_description:not(.validation_message):not(.gfield_validation_message),
body.exg-shell .gform_wrapper .gfield_description:not(.validation_message):not(.gfield_validation_message) {
	margin: 5px 0 0 !important;
	padding: 0 !important;
	color: var(--exg-form-help) !important;
	font-size: 12px !important;
	font-weight: var(--exg-weight-regular) !important;
	line-height: 17px !important;
	text-transform: none !important;
}

body.exg-legacy-content .gform_wrapper :is(.validation_message, .gfield_validation_message),
body.exg-shell .gform_wrapper :is(.validation_message, .gfield_validation_message) {
	display: block !important;
	margin: 6px 0 0 !important;
	padding: 7px 9px !important;
	border: 0 !important;
	border-left: 3px solid var(--exg-form-error) !important;
	background: #fff0ee !important;
	color: var(--exg-form-error) !important;
	font-size: 12px !important;
	font-weight: var(--exg-weight-semibold) !important;
	line-height: 17px !important;
}

body.exg-legacy-content .gform_wrapper .gform_validation_errors,
body.exg-shell .gform_wrapper .gform_validation_errors {
	margin: 0 0 var(--exg-form-row-gap) !important;
	padding: 12px 14px !important;
	border: 1px solid #e3a09a !important;
	border-radius: var(--exg-form-radius) !important;
	background: #fff0ee !important;
	box-shadow: none !important;
}

body.exg-legacy-content .gform_wrapper .gform_footer,
body.exg-legacy-content .gform_wrapper .gform_page_footer,
body.exg-shell .gform_wrapper .gform_footer,
body.exg-shell .gform_wrapper .gform_page_footer,
body.exg-shell .exg-consumer-quote__form .gform_wrapper .gform_footer,
body.exg-shell .exg-consumer-quote__form .gform_wrapper .gform_page_footer,
body.exg-legacy-content .exg-legacy-quote #gform_wrapper_30 .gform_footer {
	position: static !important;
	right: auto !important;
	bottom: auto !important;
	display: flex !important;
	width: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	margin: 14px 0 0 !important;
	padding: 0 !important;
	transform: none !important;
}

body.exg-legacy-content .gform_wrapper :is(input[type="submit"], button[type="submit"]),
body.exg-legacy-content .gform_wrapper :is(.gform_next_button, .gform_previous_button),
body.exg-shell .gform_wrapper :is(input[type="submit"], button[type="submit"], .gform_next_button, .gform_previous_button),
body.exg-legacy-content .exg-legacy-quote #gform_wrapper_30 #gform_submit_button_30,
body.exg-shell #gform_wrapper_30 #gform_submit_button_30 {
	position: static !important;
	display: inline-flex !important;
	width: auto !important;
	min-width: 174px !important;
	max-width: 100% !important;
	height: var(--exg-form-control-height) !important;
	min-height: var(--exg-form-control-height) !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
	padding: 0 22px !important;
	border: 0 !important;
	border-radius: var(--exg-form-radius) !important;
	background: var(--exg-market-accent) !important;
	box-shadow: none !important;
	color: var(--exg-market-accent-text) !important;
	cursor: pointer !important;
	font-family: var(--exg-display) !important;
	font-size: 16px !important;
	font-style: normal !important;
	font-weight: var(--exg-weight-action) !important;
	letter-spacing: 0.035em !important;
	line-height: 1 !important;
	text-align: center !important;
	text-transform: uppercase !important;
	transition: filter 0.18s ease, transform 0.18s ease !important;
}

body.exg-legacy-content .gform_wrapper :is(input[type="submit"], button[type="submit"]):hover,
body.exg-legacy-content .gform_wrapper :is(.gform_next_button, .gform_previous_button):hover,
body.exg-shell .gform_wrapper :is(input[type="submit"], button[type="submit"], .gform_next_button, .gform_previous_button):hover {
	filter: brightness(1.06);
	transform: translateY(-1px) !important;
}

body.exg-legacy-content .gform_wrapper .gform_previous_button,
body.exg-shell .gform_wrapper .gform_previous_button {
	border: 1px solid var(--exg-form-border) !important;
	background: transparent !important;
	color: var(--exg-black) !important;
}

body.exg-legacy-content .gform_wrapper .gform_ajax_spinner,
body.exg-shell .gform_wrapper .gform_ajax_spinner {
	width: 22px !important;
	height: 22px !important;
	margin: 0 0 0 10px !important;
}

/* Several long-form pages use a legacy wrapper that manually splits every
 * field into a label half and a control half. Keep that useful composition,
 * but remove its old 40px-per-row padding and normalize both halves. */
body.exg-legacy-content #main-content .scr-forms .gform_wrapper .wrapperX {
	box-sizing: border-box !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.exg-legacy-content #main-content .scr-forms .gform_wrapper .wrapperX > .containerX {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	align-items: center !important;
	gap: 8px var(--exg-form-column-gap) !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: min(1080px, calc(100vw - 32px)) !important;
	margin: 0 auto !important;
	padding: 7px 0 !important;
}

body.exg-legacy-content #main-content .scr-forms .gform_wrapper .wrapperX > .containerX > :is(.wrapper1, .wrapper2) {
	display: block !important;
	box-sizing: border-box !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	vertical-align: middle !important;
}

body.exg-legacy-content #main-content .scr-forms .gform_wrapper .wrapper2 > :is(
	input:not([type="checkbox"]):not([type="radio"]),
	select,
	textarea,
	.ginput_container
) {
	width: 100% !important;
	max-width: none !important;
}

body.exg-legacy-content #main-content .scr-forms .gform_wrapper :is(.gform_footer, .gform_page_footer) {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: min(1080px, calc(100vw - 32px)) !important;
	margin: 14px auto 0 !important;
}

/* Footer forms sit on black sections. Their white fields already match the
 * shared system; give every piece of supporting type an explicit dark-surface
 * treatment instead of inheriting the light-card palette. */
body.exg-legacy-content #main-content .scr-footer-gravtiy .gform_wrapper :is(.gfield_label, legend.gfield_label),
body.exg-legacy-content #main-content .scr-footer-gravtiy .gform_wrapper :is(.gchoice, .ginput_container_consent) label {
	color: #f9f9f9 !important;
}

body.exg-legacy-content #main-content .scr-footer-gravtiy .gform_wrapper :is(.gform_title, .gsection_title) {
	color: var(--exg-gold) !important;
}

body.exg-legacy-content #main-content .scr-footer-gravtiy .gform_wrapper :is(
	.gform_description,
	.gform_required_legend,
	.gfield_description:not(.validation_message):not(.gfield_validation_message),
	.gform-field-label--type-sub
) {
	color: #d0d0d0 !important;
}

body.exg-legacy-content #main-content .scr-footer-gravtiy .gform_wrapper .gfield_required {
	color: #ffcf3d !important;
}

/* The newsletter remains its own compact variant, but its input and action
 * share the same vertical measure so the row stays optically aligned. */
body.exg-shell .exg-v2-newsletter .gform_wrapper {
	--exg-form-control-height: 48px;
}

body.exg-shell .exg-v2-newsletter .gform_wrapper input[type="email"],
body.exg-shell .exg-v2-newsletter .gform_wrapper :is(input[type="submit"], button[type="submit"]) {
	height: 48px !important;
	min-height: 48px !important;
}

@media (max-width: 680px) {
	body.exg-legacy-content .gform_wrapper .gform_footer,
	body.exg-legacy-content .gform_wrapper .gform_page_footer,
	body.exg-shell .gform_wrapper .gform_footer {
		width: 100% !important;
	}

	body.exg-legacy-content .gform_wrapper :is(input[type="submit"], button[type="submit"]),
	body.exg-legacy-content .gform_wrapper :is(.gform_next_button, .gform_previous_button),
	body.exg-shell .gform_wrapper :is(input[type="submit"], button[type="submit"], .gform_next_button, .gform_previous_button) {
		width: 100% !important;
		min-width: 0 !important;
	}

	body.exg-legacy-content .exg-legacy-quote #gform_wrapper_30 #gform_submit_button_30,
	body.exg-shell #gform_wrapper_30 #gform_submit_button_30 {
		width: 100% !important;
		min-width: 0 !important;
	}

	body.exg-legacy-content .gform_wrapper .gform_fields {
		grid-template-columns: 1fr !important;
	}

	body.exg-legacy-content .gform_wrapper .gfield:not(.gfield--type-hidden),
	body.exg-shell .gform_wrapper .gfield:not(.gfield--type-hidden) {
		grid-column: 1 / -1 !important;
	}

	body.exg-legacy-content .gform_wrapper .ginput_complex,
	body.exg-shell .gform_wrapper .ginput_complex {
		display: grid !important;
		grid-template-columns: 1fr !important;
	}

	body.exg-legacy-content #main-content .scr-forms .gform_wrapper .wrapperX > .containerX {
		grid-template-columns: 1fr !important;
		gap: 6px !important;
		padding: 5px 0 8px !important;
	}
}

/* Form 30 has legacy ID-specific rules; match that specificity here so the
 * shared tokens remain the final source of truth on product and quote pages. */
body.exg-legacy-content .exg-legacy-quote #gform_wrapper_30 .gform_title {
	color: var(--exg-gold-deep) !important;
	font-size: clamp(24px, 2.2vw, 28px) !important;
	line-height: 1.08 !important;
}

body.exg-legacy-content .exg-legacy-quote #gform_wrapper_30 input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="file"]):not([type="hidden"]),
body.exg-legacy-content .exg-legacy-quote #gform_wrapper_30 select {
	height: var(--exg-form-control-height) !important;
	min-height: var(--exg-form-control-height) !important;
	padding-right: var(--exg-form-control-padding-x) !important;
	padding-left: var(--exg-form-control-padding-x) !important;
	border-color: var(--exg-form-border) !important;
	border-radius: var(--exg-form-radius) !important;
	background-color: var(--exg-form-surface) !important;
	box-shadow: none !important;
	font-size: var(--exg-form-control-size) !important;
	line-height: normal !important;
}

body.exg-legacy-content .exg-legacy-quote #gform_wrapper_30 textarea {
	height: auto !important;
	min-height: 120px !important;
	padding: 12px var(--exg-form-control-padding-x) !important;
}

body.exg-legacy-content .exg-legacy-quote #gform_wrapper_30 select {
	padding-right: 38px !important;
	font-size: var(--exg-form-select-size) !important;
	line-height: var(--exg-form-select-line) !important;
}

body.exg-legacy-content #gform_wrapper_30 :is(.validation_message, .gfield_validation_message) {
	display: block !important;
}

/* Divi's standard-form bridge includes #main-content selectors. Mirror that
 * specificity so ordinary Contact/application forms use the same tokens. */
body.exg-legacy-content #main-content .gform_wrapper :is(.gfield_label, legend.gfield_label) {
	font-size: var(--exg-form-label-size) !important;
	letter-spacing: 0.045em !important;
	line-height: 1.25 !important;
	text-transform: uppercase !important;
}

body.exg-legacy-content #main-content .gform_wrapper input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="file"]):not([type="hidden"]) {
	height: var(--exg-form-control-height) !important;
	min-height: var(--exg-form-control-height) !important;
	padding: 0 var(--exg-form-control-padding-x) !important;
	font-size: var(--exg-form-control-size) !important;
	line-height: normal !important;
}

body.exg-legacy-content #main-content .gform_wrapper select {
	height: var(--exg-form-control-height) !important;
	min-height: var(--exg-form-control-height) !important;
	padding-right: 38px !important;
	padding-left: var(--exg-form-control-padding-x) !important;
	font-size: var(--exg-form-select-size) !important;
	line-height: var(--exg-form-select-line) !important;
}

/* Older Divi bridge rules set an important background shorthand with unusually
 * high specificity. Reassert the same select treatment at that level. */
body.exg-legacy-content #main-content .gform_wrapper .gfield .ginput_container select:not([multiple]):not([size]) {
	appearance: none !important;
	-webkit-appearance: none !important;
	padding: 0 38px 0 var(--exg-form-control-padding-x) !important;
	background-color: var(--exg-form-surface) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23071f36' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: calc(100% - 14px) center !important;
	background-size: 12px 8px !important;
	line-height: var(--exg-form-select-line) !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
	overflow: hidden !important;
}

body.exg-legacy-content #main-content .gform_wrapper textarea {
	min-height: 120px !important;
	padding: 12px var(--exg-form-control-padding-x) !important;
	font-size: var(--exg-form-control-size) !important;
	line-height: 1.45 !important;
}

body.exg-legacy-content #main-content .gform_wrapper :is(
	input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
	select,
	textarea
),
body.exg-shell .exg-consumer-quote__form .gform_wrapper :is(
	input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
	select,
	textarea
) {
	font-size: var(--exg-form-control-size) !important;
}

/* Form 30's published quarter/third width classes are resolved by the shared
 * container rules below. The form responds to its card width, not the browser
 * viewport, so split-layout quote cards never collapse into tiny controls. */
body.exg-legacy-content #gform_wrapper_30 .gform_fields,
body.exg-shell .exg-consumer-quote__form .gform_wrapper .gform_fields {
	display: grid !important;
	grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
	align-items: start !important;
	gap: var(--exg-form-row-gap) var(--exg-form-column-gap) !important;
}

body.exg-legacy-content #gform_wrapper_30 #field_30_28,
body.exg-shell .exg-consumer-quote__form .gform_wrapper [id$="_28"] {
	grid-column: 1 / -1 !important;
}

/* The older quote form remains published on several guides. Preserve its
 * field order while completing each row with equal-width columns. */
body.exg-legacy-content #gform_wrapper_22 .gform_fields {
	display: grid !important;
	grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
	align-items: start !important;
	gap: var(--exg-form-row-gap) var(--exg-form-column-gap) !important;
}

@media (min-width: 1221px) {
	body.exg-legacy-content #gform_wrapper_22 :is(#field_22_8, #field_22_9, #field_22_5) {
		grid-column: span 4 !important;
	}

	body.exg-legacy-content #gform_wrapper_22 :is(#field_22_7, #field_22_10, #field_22_11, #field_22_12) {
		grid-column: span 3 !important;
	}

	body.exg-legacy-content #gform_wrapper_22 :is(#field_22_13, #field_22_14) {
		grid-column: span 6 !important;
	}
}

@media (min-width: 681px) and (max-width: 1220px) {
	body.exg-legacy-content #gform_wrapper_22 :is(
		#field_22_8,
		#field_22_9,
		#field_22_5,
		#field_22_7,
		#field_22_10,
		#field_22_11,
		#field_22_12,
		#field_22_13,
		#field_22_14
	) {
		grid-column: span 6 !important;
	}
}

@media (max-width: 680px) {
	body.exg-legacy-content #gform_wrapper_22 :is(
		#field_22_8,
		#field_22_9,
		#field_22_5,
		#field_22_7,
		#field_22_10,
		#field_22_11,
		#field_22_12,
		#field_22_13,
		#field_22_14
	) {
		grid-column: 1 / -1 !important;
	}
}

/*
 * Final compatibility boundary for legacy Gravity Forms markup. Several older
 * Divi form helpers hide complex fields and clip dropdowns; keep every field
 * visible and let this shared stylesheet own the control geometry.
 */
body.exg-shell :is(#main-content .gform_wrapper, .exg-consumer-quote__form .gform_wrapper) .gform-body {
	container: exg-gf / inline-size;
}

body.exg-shell :is(#main-content .gform_wrapper, .exg-consumer-quote__form .gform_wrapper) .gform_fields {
	display: grid !important;
	grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
	grid-auto-flow: row !important;
	align-items: start !important;
	gap: var(--exg-form-row-gap) var(--exg-form-column-gap) !important;
	overflow: visible !important;
}

body.exg-shell :is(#main-content .gform_wrapper, .exg-consumer-quote__form .gform_wrapper) .gfield {
	box-sizing: border-box !important;
	width: auto !important;
	min-width: 0 !important;
	grid-column: 1 / -1 !important;
	margin: 0 !important;
	padding: 0 !important;
}

@container exg-gf (min-width: 560px) {
	body.exg-shell :is(#main-content .gform_wrapper, .exg-consumer-quote__form .gform_wrapper) :is(
		.gfield--width-quarter,
		.gfield--width-third,
		.gfield--width-five-twelfths,
		.gfield--width-half,
		.gf_left_half,
		.gf_right_half
	) {
		grid-column: span 6 !important;
	}
}

@container exg-gf (min-width: 900px) {
	body.exg-shell :is(#main-content .gform_wrapper, .exg-consumer-quote__form .gform_wrapper) .gfield--width-quarter {
		grid-column: span 3 !important;
	}

	body.exg-shell :is(#main-content .gform_wrapper, .exg-consumer-quote__form .gform_wrapper) .gfield--width-third {
		grid-column: span 4 !important;
	}

	body.exg-shell :is(#main-content .gform_wrapper, .exg-consumer-quote__form .gform_wrapper) .gfield--width-five-twelfths {
		grid-column: span 5 !important;
	}

	/* Kept after quarter so an accidentally duplicated class resolves to half. */
	body.exg-shell :is(#main-content .gform_wrapper, .exg-consumer-quote__form .gform_wrapper) :is(.gfield--width-half, .gf_left_half, .gf_right_half) {
		grid-column: span 6 !important;
	}

	body.exg-shell :is(#main-content .gform_wrapper, .exg-consumer-quote__form .gform_wrapper) .gfield--width-seven-twelfths {
		grid-column: span 7 !important;
	}

	body.exg-shell :is(#main-content .gform_wrapper, .exg-consumer-quote__form .gform_wrapper) .gfield--width-two-thirds {
		grid-column: span 8 !important;
	}

	body.exg-shell :is(#main-content .gform_wrapper, .exg-consumer-quote__form .gform_wrapper) .gfield--width-three-quarter {
		grid-column: span 9 !important;
	}

	body.exg-shell :is(#main-content .gform_wrapper, .exg-consumer-quote__form .gform_wrapper) .gfield--width-five-sixths {
		grid-column: span 10 !important;
	}

	body.exg-shell :is(#main-content .gform_wrapper, .exg-consumer-quote__form .gform_wrapper) .gfield--width-eleven-twelfths {
		grid-column: span 11 !important;
	}
}

body.exg-shell :is(#main-content .gform_wrapper, .exg-consumer-quote__form .gform_wrapper) .gfield--width-full {
	grid-column: 1 / -1 !important;
}

body.exg-shell :is(#main-content .gform_wrapper, .exg-consumer-quote__form .gform_wrapper) .ginput_complex {
	display: grid !important;
	visibility: visible !important;
	grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
	align-items: start !important;
	gap: 10px var(--exg-form-column-gap) !important;
}

body.exg-shell :is(#main-content .gform_wrapper, .exg-consumer-quote__form .gform_wrapper) .ginput_complex > :is(span, div) {
	display: block !important;
	visibility: visible !important;
	box-sizing: border-box !important;
	width: auto !important;
	min-width: 0 !important;
	grid-column: span 6 !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.exg-shell :is(#main-content .gform_wrapper, .exg-consumer-quote__form .gform_wrapper) .ginput_complex > :is(.ginput_full, .name_full) {
	grid-column: 1 / -1 !important;
}

body.exg-shell :is(#main-content .gform_wrapper, .exg-consumer-quote__form .gform_wrapper) .ginput_complex:has(> :is(.gfield_date_month, .gfield_date_dropdown_month)) {
	display: grid !important;
	grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
	gap: var(--exg-form-column-gap) !important;
}

body.exg-shell :is(#main-content .gform_wrapper, .exg-consumer-quote__form .gform_wrapper) .ginput_complex:has(> :is(.gfield_date_month, .gfield_date_dropdown_month)) > :is(.gfield_date_month, .gfield_date_day, .gfield_date_year, .gfield_date_dropdown_month, .gfield_date_dropdown_day, .gfield_date_dropdown_year) {
	grid-column: span 4 !important;
}

body.exg-shell #main-content .scr-forms .gform_wrapper {
	container: exg-legacy-gf / inline-size;
}

body.exg-shell #main-content .scr-forms .gform_wrapper .gform_fields {
	display: block !important;
	overflow: visible !important;
}

body.exg-shell #main-content .scr-forms .gform_wrapper .wrapperX {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.exg-shell #main-content .scr-forms .gform_wrapper .wrapperX > .containerX {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 6px !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: min(1080px, calc(100vw - 32px)) !important;
	margin: 0 auto !important;
	padding: 8px 0 !important;
}

body.exg-shell #main-content .scr-forms .gform_wrapper .wrapperX > .containerX > :is(.wrapper1, .wrapper2) {
	display: block !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.exg-shell #main-content .scr-forms .gform_wrapper .wrapper2 > :is(input, select, textarea, .ginput_container) {
	width: 100% !important;
	max-width: none !important;
}

@container exg-legacy-gf (min-width: 700px) {
	body.exg-shell #main-content .scr-forms .gform_wrapper .wrapperX > .containerX {
		grid-template-columns: minmax(180px, 0.72fr) minmax(0, 1.28fr) !important;
		align-items: start !important;
		gap: 14px 24px !important;
	}
}

/* Contact's published width classes leave the final select stranded. Resolve
 * that form into complete, readable rows until its builder classes are saved. */
@container exg-gf (min-width: 620px) {
	body.exg-shell #main-content #gform_wrapper_1 :is(#field_1_34, #field_1_27, #field_1_41, #field_1_45) {
		grid-column: span 6 !important;
	}

	body.exg-shell #main-content #gform_wrapper_1 #field_1_36 {
		grid-column: 1 / -1 !important;
	}
}

@container exg-gf (min-width: 900px) {
	body.exg-shell #main-content #gform_wrapper_1 :is(#field_1_34, #field_1_27) {
		grid-column: span 6 !important;
	}

	body.exg-shell #main-content #gform_wrapper_1 #field_1_36 {
		grid-column: span 6 !important;
	}

	body.exg-shell #main-content #gform_wrapper_1 :is(#field_1_41, #field_1_45) {
		grid-column: span 3 !important;
	}
}

body.exg-legacy-content .gform_wrapper .gform_required_legend,
body.exg-shell .gform_wrapper .gform_required_legend {
	display: block !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
}

body.exg-legacy-content .gform_wrapper .gfield_error :is(
	input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
	select,
	textarea,
	.select2-selection,
	.chosen-single
),
body.exg-legacy-content .gform_wrapper :is(input, select, textarea)[aria-invalid="true"],
body.exg-shell .gform_wrapper .gfield_error :is(
	input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
	select,
	textarea,
	.select2-selection,
	.chosen-single
),
body.exg-shell .gform_wrapper :is(input, select, textarea)[aria-invalid="true"] {
	border-color: var(--exg-form-error) !important;
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--exg-form-error) 16%, transparent) !important;
}

body.exg-legacy-content .gform_wrapper .gform_validation_errors > h2,
body.exg-shell .gform_wrapper .gform_validation_errors > h2 {
	margin: 0 !important;
	color: var(--exg-form-error) !important;
	font-family: var(--exg-body) !important;
	font-size: 14px !important;
	font-style: normal !important;
	font-weight: var(--exg-weight-strong) !important;
	letter-spacing: 0 !important;
	line-height: 20px !important;
	text-transform: none !important;
}

body.exg-legacy-content .gform_confirmation_wrapper,
body.exg-shell .gform_confirmation_wrapper {
	padding: 18px 20px !important;
	border: 1px solid #8cb9a0 !important;
	border-radius: var(--exg-form-radius) !important;
	background: #eef8f2 !important;
	color: #164c2c !important;
	font-family: var(--exg-body) !important;
	font-size: 15px !important;
	font-weight: var(--exg-weight-semibold) !important;
	line-height: 1.5 !important;
}

body.exg-legacy-content .gform_wrapper :is(input, select, textarea, button):disabled,
body.exg-shell .gform_wrapper :is(input, select, textarea, button):disabled {
	cursor: not-allowed !important;
	opacity: 0.58 !important;
}

body.exg-legacy-content .gform_wrapper .select2-container .select2-selection--single .select2-selection__arrow,
body.exg-shell .gform_wrapper .select2-container .select2-selection--single .select2-selection__arrow {
	top: 50% !important;
	right: 12px !important;
	width: 14px !important;
	height: 10px !important;
	transform: translateY(-50%) !important;
}

body.exg-legacy-content .gform_wrapper .select2-container .select2-selection--single .select2-selection__arrow b,
body.exg-shell .gform_wrapper .select2-container .select2-selection--single .select2-selection__arrow b {
	position: static !important;
	display: block !important;
	width: 12px !important;
	height: 8px !important;
	margin: 0 !important;
	border: 0 !important;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23071f36' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E") center / 12px 8px no-repeat !important;
}

body.exg-legacy-content .gform_wrapper .chosen-container-single .chosen-single,
body.exg-shell .gform_wrapper .chosen-container-single .chosen-single {
	display: flex !important;
	box-sizing: border-box !important;
	width: 100% !important;
	height: var(--exg-form-control-height) !important;
	align-items: center !important;
	padding: 0 38px 0 var(--exg-form-control-padding-x) !important;
	border: 1px solid var(--exg-form-border) !important;
	border-radius: var(--exg-form-radius) !important;
	background: var(--exg-form-surface) !important;
	box-shadow: none !important;
	color: var(--exg-black) !important;
	font-family: var(--exg-body) !important;
	font-size: var(--exg-form-select-size) !important;
	font-weight: var(--exg-weight-regular) !important;
	line-height: 1 !important;
}

body.exg-legacy-content .gform_wrapper .chosen-container-single .chosen-single > div,
body.exg-shell .gform_wrapper .chosen-container-single .chosen-single > div {
	top: 50% !important;
	right: 14px !important;
	width: 12px !important;
	height: 8px !important;
	transform: translateY(-50%) !important;
}

body.exg-legacy-content .gform_wrapper .chosen-container-single .chosen-single > div > b,
body.exg-shell .gform_wrapper .chosen-container-single .chosen-single > div > b {
	display: block !important;
	width: 12px !important;
	height: 8px !important;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23071f36' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 1.5 5 5 5-5'/%3E%3C/svg%3E") center / 12px 8px no-repeat !important;
}

body.exg-legacy-content .gform_wrapper :is(input[type="submit"], button[type="submit"], .gform_next_button, .gform_previous_button):focus-visible,
body.exg-shell .gform_wrapper :is(input[type="submit"], button[type="submit"], .gform_next_button, .gform_previous_button):focus-visible {
	outline: 3px solid var(--exg-black) !important;
	outline-offset: 3px !important;
}

body.exg-legacy-content #main-content .scr-forms .gform_wrapper :is(.gf_progressbar_wrapper, .gf_page_steps) {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: min(1080px, calc(100vw - 32px)) !important;
	margin: 0 auto var(--exg-form-row-gap) !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

@media (max-width: 680px) {
	body.exg-shell #main-content .gform_wrapper .ginput_complex,
	body.exg-shell .gform_wrapper .ginput_complex {
		display: grid !important;
		grid-template-columns: 1fr !important;
		column-gap: 0 !important;
		row-gap: 12px !important;
	}

	body.exg-shell #main-content .gform_wrapper .ginput_complex > :is(span, div),
	body.exg-shell .gform_wrapper .ginput_complex > :is(span, div) {
		grid-column: 1 / -1 !important;
		width: 100% !important;
		flex-basis: 100% !important;
	}

	/* Date dropdowns stay compact and readable as month / day / year while
	 * names and postal-address subfields stack to one full-width column. */
	body.exg-shell #main-content .gform_wrapper .ginput_complex:has(> :is(.gfield_date_month, .gfield_date_dropdown_month)),
	body.exg-shell .gform_wrapper .ginput_complex:has(> :is(.gfield_date_month, .gfield_date_dropdown_month)) {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
		column-gap: var(--exg-form-column-gap) !important;
	}

	body.exg-shell #main-content .gform_wrapper .ginput_complex:has(> :is(.gfield_date_month, .gfield_date_dropdown_month)) > :is(.gfield_date_month, .gfield_date_day, .gfield_date_year, .gfield_date_dropdown_month, .gfield_date_dropdown_day, .gfield_date_dropdown_year),
	body.exg-shell .gform_wrapper .ginput_complex:has(> :is(.gfield_date_month, .gfield_date_dropdown_month)) > :is(.gfield_date_month, .gfield_date_day, .gfield_date_year, .gfield_date_dropdown_month, .gfield_date_dropdown_day, .gfield_date_dropdown_year) {
		grid-column: auto !important;
		width: auto !important;
		flex-basis: auto !important;
	}
}

/* Keep native dropdown text and the shared chevron optically centered across
 * browser engines. Page-level form CSS may change colors or widths, but not
 * the control's vertical alignment. */
body.exg-legacy-content #main-content#main-content .gform_wrapper .gfield .ginput_container select:not([multiple]):not([size]),
body.exg-shell #main-content#main-content .gform_wrapper .gfield .ginput_container select:not([multiple]):not([size]) {
	height: var(--exg-form-control-height) !important;
	min-height: var(--exg-form-control-height) !important;
	padding: 0 38px 0 var(--exg-form-control-padding-x) !important;
	background-position: calc(100% - 14px) center !important;
	line-height: var(--exg-form-select-line) !important;
	text-align: left !important;
	text-align-last: left !important;
	vertical-align: middle !important;
}

/* Form 30 is still referenced by older high-specificity shell selectors.
 * Keep this compatibility boundary in the global form system so its layout is
 * driven by the rendered form width and cannot regress when used in a split
 * quote card such as the pickup and van PDP support panels. */
body.exg-shell.exg-legacy-content .exg-consumer-quote__form .gform_wrapper :is(
	[id$="_24"],
	[id$="_14"],
	[id$="_27"],
	[id$="_30"],
	[id$="_8"],
	[id$="_9"],
	[id$="_5"],
	[id$="_7"],
	[id$="_10"],
	[id$="_12"],
	[id$="_13"],
	[id$="_28"]
) {
	grid-column: 1 / -1 !important;
}

@container exg-gf (min-width: 560px) {
	body.exg-shell.exg-legacy-content .exg-consumer-quote__form .gform_wrapper :is(
		[id$="_24"],
		[id$="_14"],
		[id$="_27"],
		[id$="_30"],
		[id$="_8"],
		[id$="_9"],
		[id$="_5"],
		[id$="_7"],
		[id$="_10"],
		[id$="_12"],
		[id$="_13"]
	) {
		grid-column: span 6 !important;
	}
}

@container exg-gf (min-width: 900px) {
	body.exg-shell.exg-legacy-content .exg-consumer-quote__form .gform_wrapper :is(
		[id$="_24"],
		[id$="_14"],
		[id$="_27"],
		[id$="_30"],
		[id$="_8"],
		[id$="_9"],
		[id$="_5"],
		[id$="_7"]
	) {
		grid-column: span 3 !important;
	}

	body.exg-shell.exg-legacy-content .exg-consumer-quote__form .gform_wrapper :is([id$="_10"], [id$="_12"], [id$="_13"]) {
		grid-column: span 4 !important;
	}
}

body.exg-shell.exg-legacy-content .exg-consumer-quote__form .gform_wrapper :is(.gform_footer, .gform_page_footer) {
	position: static !important;
	right: auto !important;
	bottom: auto !important;
	width: auto !important;
	min-height: 0 !important;
	justify-content: flex-start !important;
	margin: var(--exg-form-row-gap) 0 0 !important;
	transform: none !important;
}

/*
 * Compact shared bottom quote panel.
 *
 * This component appears below landing pages, catalog archives and product
 * details. Keep the full request workflow, but use the form's published field
 * widths more efficiently so the panel does not become a second page on small
 * screens. The repeated shell class intentionally outranks page-level copies
 * of this shared component that are loaded later in the cascade.
 */
body.exg-shell.exg-shell .exg-native-quote {
	--exg-form-control-height: 44px;
	--exg-form-row-gap: 10px;
	--exg-form-column-gap: 10px;
	padding-block: clamp(40px, 4vw, 56px);
	border-top-width: 5px;
}

body.exg-shell.exg-shell .exg-native-quote__container {
	width: min(1180px, calc(100% - 40px));
	grid-template-columns: minmax(250px, 0.62fr) minmax(0, 1.38fr);
	gap: clamp(28px, 4vw, 48px);
}

body.exg-shell.exg-shell .exg-native-quote__intro {
	position: static;
	padding-top: 8px;
}

body.exg-shell.exg-shell #main-content#main-content .exg-native-quote__intro h2 {
	font-size: clamp(36px, 3.2vw, 44px) !important;
	line-height: 1.02 !important;
}

body.exg-shell.exg-shell .exg-native-quote__intro > p:not(.exg-native-quote__eyebrow) {
	margin-top: 14px !important;
	font-size: 16px !important;
	line-height: 24px !important;
}

body.exg-shell.exg-shell .exg-native-quote__contact {
	gap: 2px;
	margin-top: 20px;
	padding-top: 14px;
}

body.exg-shell.exg-shell .exg-native-quote__contact strong {
	font-size: 18px;
	line-height: 22px;
}

body.exg-shell.exg-shell .exg-native-quote__form {
	padding: clamp(24px, 2.6vw, 32px);
	border-top-width: 4px;
	box-shadow: 0 16px 38px rgba(0, 0, 0, 0.2);
}

body.exg-shell.exg-shell .exg-native-quote__form-eyebrow {
	margin-bottom: 4px !important;
}

body.exg-shell.exg-shell #main-content#main-content .exg-native-quote__form h2 {
	font-size: clamp(28px, 2.2vw, 34px) !important;
	line-height: 1.04 !important;
}

body.exg-shell.exg-shell .exg-native-quote__form > p:not(.exg-native-quote__form-eyebrow) {
	margin: 6px 0 16px !important;
	font-size: 14px !important;
	line-height: 21px !important;
}

body.exg-shell.exg-shell .exg-native-quote__form .gform_wrapper {
	margin: 0 !important;
}

body.exg-shell.exg-shell .exg-native-quote__form .gform_wrapper :is(.gfield_label, legend.gfield_label) {
	min-height: 16px !important;
	margin-bottom: 4px !important;
}

body.exg-shell.exg-shell .exg-native-quote__form .gform_wrapper .gfield_description:not(.validation_message):not(.gfield_validation_message) {
	display: none !important;
}

body.exg-shell.exg-shell .exg-native-quote__form .gform_wrapper textarea {
	min-height: 88px !important;
	padding-block: 10px !important;
}

body.exg-shell.exg-shell .exg-native-quote__form .gform_wrapper :is(.gchoice, .ginput_container_consent) {
	min-height: 44px;
	align-items: center !important;
}

body.exg-shell.exg-shell .exg-native-quote__form .gform_wrapper :is(.gform_footer, .gform_page_footer),
body.exg-shell.exg-shell .exg-native-quote__form #gform_wrapper_30 :is(.gform_footer, .gform_page_footer) {
	margin-top: 10px !important;
}

/* A phone still has enough room for the form's intentionally short half,
 * third and quarter fields to run two-up. Long/full-width and consent fields
 * remain full width. */
@container exg-gf (min-width: 240px) {
	body.exg-shell.exg-shell #main-content#main-content .exg-native-quote .gform_wrapper :is(
		.gfield--width-quarter,
		.gfield--width-third,
		.gfield--width-five-twelfths,
		.gfield--width-half,
		.gf_left_half,
		.gf_right_half
	) {
		grid-column: span 6 !important;
	}

	body.exg-shell.exg-shell #main-content#main-content .exg-native-quote .gform_wrapper :is(
		[id$="_24"],
		[id$="_14"],
		[id$="_27"],
		[id$="_30"],
		[id$="_8"],
		[id$="_9"],
		[id$="_5"],
		[id$="_7"],
		[id$="_10"],
		[id$="_12"],
		[id$="_13"]
	) {
		grid-column: span 6 !important;
	}

	body.exg-shell.exg-shell #main-content#main-content .exg-native-quote .gform_wrapper [id$="_13"] {
		grid-column: 1 / -1 !important;
	}
}

/* Once the form card itself is wide enough, restore the compact desktop rows
 * authored in Gravity Forms instead of waiting for a 900px-wide form card. */
@container exg-gf (min-width: 580px) {
	body.exg-shell.exg-shell #main-content#main-content .exg-native-quote .gform_wrapper .gfield--width-quarter {
		grid-column: span 3 !important;
	}

	body.exg-shell.exg-shell #main-content#main-content .exg-native-quote .gform_wrapper .gfield--width-third {
		grid-column: span 4 !important;
	}

	body.exg-shell.exg-shell #main-content#main-content .exg-native-quote .gform_wrapper .gfield--width-five-twelfths {
		grid-column: span 5 !important;
	}

	body.exg-shell.exg-shell #main-content#main-content .exg-native-quote .gform_wrapper :is(
		[id$="_24"],
		[id$="_14"],
		[id$="_27"],
		[id$="_30"],
		[id$="_8"],
		[id$="_9"],
		[id$="_5"],
		[id$="_7"]
	) {
		grid-column: span 3 !important;
	}

	body.exg-shell.exg-shell #main-content#main-content .exg-native-quote .gform_wrapper :is(
		[id$="_10"],
		[id$="_12"],
		[id$="_13"]
	) {
		grid-column: span 4 !important;
	}
}

@media (max-width: 900px) {
	body.exg-shell.exg-shell .exg-native-quote {
		padding-block: 36px;
	}

	body.exg-shell.exg-shell .exg-native-quote__container {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	body.exg-shell.exg-shell .exg-native-quote__intro {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(240px, 0.8fr);
		column-gap: 28px;
		padding-top: 0;
	}

	body.exg-shell.exg-shell .exg-native-quote__intro .exg-native-quote__eyebrow {
		grid-column: 1;
		grid-row: 1;
	}

	body.exg-shell.exg-shell #main-content#main-content .exg-native-quote__intro h2 {
		grid-column: 1;
		grid-row: 2;
		font-size: clamp(34px, 5vw, 40px) !important;
	}

	body.exg-shell.exg-shell .exg-native-quote__intro > p:not(.exg-native-quote__eyebrow) {
		grid-column: 2;
		grid-row: 1 / span 2;
		align-self: end;
		margin: 0 !important;
	}

	body.exg-shell.exg-shell .exg-native-quote__contact {
		grid-column: 1 / -1;
		grid-template-columns: auto repeat(2, minmax(150px, max-content));
		align-items: center;
		column-gap: 22px;
		margin-top: 16px;
		padding-top: 12px;
	}
}

@media (max-width: 620px) {
	body.exg-shell.exg-shell .exg-native-quote {
		padding-block: 28px;
		border-top-width: 4px;
	}

	body.exg-shell.exg-shell .exg-native-quote__container {
		width: min(100% - 24px, 1180px);
		gap: 18px;
	}

	body.exg-shell.exg-shell .exg-native-quote__intro {
		display: block;
	}

	body.exg-shell.exg-shell #main-content#main-content .exg-native-quote__intro h2 {
		font-size: clamp(30px, 9vw, 34px) !important;
		line-height: 1 !important;
	}

	body.exg-shell.exg-shell .exg-native-quote__intro > p:not(.exg-native-quote__eyebrow) {
		margin-top: 9px !important;
		font-size: 14px !important;
		line-height: 20px !important;
	}

	body.exg-shell.exg-shell .exg-native-quote__contact {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 12px;
		margin-top: 12px;
		padding-top: 10px;
	}

	body.exg-shell.exg-shell .exg-native-quote__contact strong {
		grid-column: 1 / -1;
		font-size: 16px;
		line-height: 20px;
	}

	body.exg-shell.exg-shell .exg-native-quote__contact a {
		min-width: 0;
		font-size: 13px;
		line-height: 18px;
	}

	body.exg-shell.exg-shell .exg-native-quote__form {
		padding: 18px;
		border-top-width: 3px;
	}

	body.exg-shell.exg-shell #main-content#main-content .exg-native-quote__form h2 {
		font-size: 27px !important;
	}

	body.exg-shell.exg-shell .exg-native-quote__form > p:not(.exg-native-quote__form-eyebrow) {
		margin: 4px 0 12px !important;
		font-size: 13px !important;
		line-height: 18px !important;
	}

	body.exg-shell.exg-shell .exg-native-quote__form .gform_wrapper .gform_fields {
		gap: 8px !important;
	}

	body.exg-shell.exg-shell .exg-native-quote__form .gform_wrapper textarea {
		min-height: 80px !important;
	}

	body.exg-shell.exg-shell .exg-native-quote__form .gform_wrapper :is(.gform_footer, .gform_page_footer),
	body.exg-shell.exg-shell .exg-native-quote__form #gform_wrapper_30 :is(.gform_footer, .gform_page_footer) {
		margin-top: 8px !important;
	}
}

@media (max-width: 360px) {
	body.exg-shell.exg-shell .exg-native-quote__container {
		width: min(100% - 16px, 1180px);
	}

	body.exg-shell.exg-shell .exg-native-quote__form {
		padding: 14px;
	}

	body.exg-shell.exg-shell #main-content#main-content .exg-native-quote__form h2 {
		font-size: 25px !important;
	}
}
