/* AURA Forms design system. Every rule is isolated from non-AURA Gravity Forms. */
.aura-forms {
	--aura-form-accent: #256f55;
	--aura-form-accent-soft: color-mix(in srgb, var(--aura-form-accent) 9%, white);
	--aura-form-text: #17221d;
	--aura-form-muted: #65736c;
	--aura-form-border: #d7dfda;
	--aura-form-surface: #fff;
	--aura-form-danger: #b42318;
	--aura-form-danger-soft: #fff3f2;
	--aura-form-radius: 14px;
	--aura-form-max-width: 1120px;
	--aura-lookup-surface: color-mix(in srgb, var(--aura-form-accent) 4%, var(--aura-form-surface));
	--aura-lookup-border: color-mix(in srgb, var(--aura-form-accent) 22%, var(--aura-form-border));
	--aura-lookup-radius: 14px;
	--aura-lookup-row-background: transparent;
	--aura-lookup-row-hover-background: var(--aura-form-accent-soft);
	--aura-lookup-row-color: var(--aura-form-text);
	--aura-lookup-row-muted: var(--aura-form-muted);
	--aura-lookup-row-divider: color-mix(in srgb, var(--aura-form-accent) 16%, var(--aura-form-border));
	--aura-lookup-row-padding: 14px 18px;
	--aura-lookup-row-min-height: 68px;
	--aura-lookup-row-font-size: 1.0625rem;
	--aura-lookup-icon-color: var(--aura-form-accent);
	--aura-lookup-icon-size: 30px;
	--aura-lookup-chevron-color: var(--aura-form-muted);
	--aura-lookup-manual-background: transparent;
	--aura-lookup-manual-color: var(--aura-form-accent);
	--aura-lookup-manual-hover-color: var(--aura-form-accent);
	--aura-lookup-manual-font-size: .875rem;
	--aura-lookup-manual-font-weight: 500;
	box-sizing: border-box;
	inline-size: min(100%, var(--aura-form-max-width));
	margin-inline: auto;
	color: var(--aura-form-text);
	font: inherit;
	overflow-wrap: break-word;
}

.aura-forms *,
.aura-forms *::before,
.aura-forms *::after { box-sizing: border-box; }
.aura-forms [hidden] { display: none !important; }
.aura-forms .gform_wrapper { margin: 0; }
.aura-forms .aura-forms-intro:empty { display: none; }
.aura-forms .gform_wrapper,
.aura-forms .gform_wrapper form,
.aura-forms .gform_body,
.aura-forms .gform_page,
.aura-forms .gform_page_fields { max-inline-size: 100%; min-inline-size: 0; }
.aura-forms .gfield { margin: 0; }
/* Gravity Forms owns field structure and width. The theme framework ships its own
   twelve-column grid and twelve width modifiers, so AURA only feeds it spacing tokens.
   Restating the grid here would tie on specificity with the provider's own
   width modifiers and silently flatten every width AURA does not restate. */
.aura-forms .gform-theme--framework { --gf-form-gap-x: 20px; --gf-form-gap-y: 22px; }
/* Legacy and gravity-theme markup keep the AURA fallback grid. */
.aura-forms .gform_wrapper:not(.gform-theme--framework) .gform_fields { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 22px 20px; }
.aura-forms .gform_wrapper:not(.gform-theme--framework) .gfield { grid-column: 1 / -1; }
.aura-forms .gform_wrapper:not(.gform-theme--framework) .gfield--width-half { grid-column: span 6; }
.aura-forms .gform_wrapper:not(.gform-theme--framework) .gfield--width-third { grid-column: span 4; }
.aura-forms .gsection_title,
.aura-forms .gsection_description,
.aura-forms .gfield_html { color: inherit; }
.aura-forms .gfield_label,
.aura-forms .gform-field-label { display: inline-block; margin-block-end: 7px; color: var(--aura-form-text); font-weight: 650; line-height: 1.35; }
.aura-forms .gfield_description { margin-block-start: 7px; color: var(--aura-form-muted); font-size: .875rem; line-height: 1.5; }
.aura-forms .gfield_checkbox,
.aura-forms .gfield_radio { gap: 10px; margin: 0; padding: 0; }
.aura-forms .gchoice:not([data-aura-card]) { display: flex; align-items: center; gap: 9px; }
.aura-forms .gchoice:not([data-aura-card]) label { color: var(--aura-form-text); }
.aura-forms input[type="checkbox"],
.aura-forms input[type="radio"] { accent-color: var(--aura-form-accent); }

/* Elementor-only visual step inspection. The class is never emitted publicly. */
.aura-forms--editor-preview .gform_wrapper { display: block !important; }
.aura-forms--editor-preview .gform_body > .gform_page { display: none !important; }
.aura-forms--preview-step-1 .gform_body > .gform_page:nth-of-type(1),
.aura-forms--preview-step-2 .gform_body > .gform_page:nth-of-type(2),
.aura-forms--preview-step-3 .gform_body > .gform_page:nth-of-type(3),
.aura-forms--preview-step-4 .gform_body > .gform_page:nth-of-type(4),
.aura-forms--preview-step-5 .gform_body > .gform_page:nth-of-type(5),
.aura-forms--preview-step-6 .gform_body > .gform_page:nth-of-type(6) { display: block !important; }
.aura-forms--editor-show-conditional .gform_page .gfield:not(.gfield_visibility_hidden)[hidden],
.aura-forms--editor-show-conditional .gform_page .gfield:not(.gfield_visibility_hidden)[style*="display:none"],
.aura-forms--editor-show-conditional .gform_page .gfield:not(.gfield_visibility_hidden)[style*="display: none"] { display: block !important; }
.aura-forms--elementor-preview .aura-forms-editor-preview {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-block-end: 20px;
	padding: 10px 12px;
	border: 1px solid #d5d8dc;
	border-radius: 6px;
	background: #f5f7fa;
	color: #3f444b;
	font-family: Arial, sans-serif;
	font-size: 12px;
	line-height: 1.2;
	box-shadow: none;
}
.aura-forms--elementor-preview .aura-forms-editor-preview strong { color: inherit; font: inherit; font-weight: 700; white-space: nowrap; }
.aura-forms--elementor-preview .aura-forms-editor-preview button {
	min-block-size: 32px;
	padding: 7px 11px;
	border: 1px solid #69727d;
	border-radius: 4px;
	background: #fff;
	color: #3f444b;
	font: inherit;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	box-shadow: none;
}
.aura-forms--elementor-preview .aura-forms-editor-preview button:hover:not(:disabled) { border-color: #93003c; color: #93003c; }
.aura-forms--elementor-preview .aura-forms-editor-preview button:disabled { cursor: not-allowed; opacity: .4; }
.aura-forms--elementor-preview .aura-stepper .gf_step { cursor: pointer; }
.aura-forms--elementor-preview .aura-stepper .gf_step:focus-visible { outline: 2px solid #93003c; outline-offset: 4px; }
.aura-forms input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]),
.aura-forms select,
.aura-forms textarea {
	inline-size: 100%;
	min-block-size: 50px;
	padding: 12px 14px;
	border: 1px solid var(--aura-form-border);
	border-radius: 10px;
	background: var(--aura-form-surface);
	color: var(--aura-form-text);
	font: inherit;
	line-height: 1.35;
	box-shadow: 0 1px 2px rgba(18, 35, 27, .04);
	transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.aura-forms textarea { min-block-size: 124px; resize: vertical; }
.aura-forms input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):hover,
.aura-forms select:hover,
.aura-forms textarea:hover { border-color: color-mix(in srgb, var(--aura-form-accent) 38%, var(--aura-form-border)); }
.aura-forms input:focus-visible,
.aura-forms select:focus-visible,
.aura-forms textarea:focus-visible,
.aura-forms button:focus-visible,
.aura-forms a:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--aura-form-accent) 25%, transparent);
	outline-offset: 2px;
}
.aura-forms input:not([type="radio"]):not([type="checkbox"]):focus,
.aura-forms select:focus,
.aura-forms textarea:focus {
	border-color: var(--aura-form-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--aura-form-accent) 13%, transparent);
}

.aura-forms .gform_page_footer,
.aura-forms .gform_footer { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-block-start: 30px; padding: 0; }
/* Modern markup renders footer buttons as <button class="gform-theme-button">;
   legacy markup renders them as <input type="submit">. Both are styled here. */
.aura-forms .gform_page_footer input,
.aura-forms .gform_page_footer button,
.aura-forms .gform_footer input,
.aura-forms .gform_footer button,
.aura-forms .aura-forms-button {
	min-block-size: 48px;
	padding: 12px 22px;
	border: 1px solid var(--aura-form-accent);
	border-radius: 999px;
	background: var(--aura-form-accent);
	color: #fff;
	font: inherit;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.aura-forms .gform_page_footer input:hover,
.aura-forms .gform_page_footer button:hover,
.aura-forms .gform_footer input:hover,
.aura-forms .gform_footer button:hover,
.aura-forms .aura-forms-button:hover { filter: brightness(.93); transform: translateY(-1px); }
.aura-forms .gform_page_footer .gform_previous_button,
.aura-forms .aura-forms-button--secondary { border-color: var(--aura-form-border); background: transparent; color: var(--aura-form-text); }
.aura-forms .gform_page_footer input[disabled],
.aura-forms .gform_page_footer button:disabled,
.aura-forms .gform_footer input[disabled],
.aura-forms .gform_footer button:disabled,
.aura-forms .aura-forms-button[disabled] { cursor: not-allowed; opacity: .62; transform: none; }
.aura-forms.is-submitting .gform_page_footer button:disabled,
.aura-forms.is-submitting .gform_footer button:disabled { cursor: wait; }
.aura-forms.is-submitting .gform_button { padding-inline-start: 44px; background-image: radial-gradient(circle, #fff 38%, transparent 40%); background-position: 20px center; background-repeat: no-repeat; background-size: 12px 12px; }

/* Choice cards retain the real Gravity Forms inputs and labels.
   The grid is bound to whatever element directly contains the choices, so it
   never depends on the provider's container class. `:has()` covers the first
   paint; `data-aura-card-grid` is written by the controller and covers browsers
   that resolve the attribute faster than the relational selector. */
.aura-forms [data-aura-card-grid],
.aura-forms .aura-profile-cards :has(> .gchoice),
.aura-forms .aura-intent-cards :has(> .gchoice),
.aura-forms .aura-profile-cards .gfield_radio,
.aura-forms .aura-intent-cards .gfield_checkbox { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.aura-forms .aura-profile-cards .gchoice,
.aura-forms .aura-intent-cards .gchoice {
	display: block !important;
	position: relative;
	justify-self: stretch !important;
	inline-size: 100% !important;
	width: 100% !important;
	max-inline-size: none !important;
	max-width: none !important;
	min-inline-size: 0;
	overflow: visible !important;
}
/* The native control stays in the DOM and focusable, but never paints: the card
   itself is the visible control. Both the logical and the physical sizing
   properties are set, because the provider theme styles these inputs with
   physical ones and the two resolve to the same computed value. */
.aura-forms [data-aura-card] input[type="radio"],
.aura-forms [data-aura-card] input[type="checkbox"],
.aura-forms [data-aura-card] > input {
	position: absolute !important;
	inline-size: 1px !important;
	width: 1px !important;
	block-size: 1px !important;
	height: 1px !important;
	min-inline-size: 0 !important;
	min-block-size: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
	opacity: 0 !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	pointer-events: none !important;
	clip-path: inset(50%);
}
.aura-forms [data-aura-card] label {
	display: grid !important;
	grid-template-columns: auto 1fr auto;
	grid-template-rows: auto auto;
	gap: 8px 12px;
	align-content: start;
	justify-self: stretch !important;
	inline-size: 100% !important;
	width: 100% !important;
	max-inline-size: none !important;
	max-width: none !important;
	min-block-size: 148px;
	min-inline-size: 0 !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 20px;
	border: 1px solid var(--aura-form-border);
	border-radius: var(--aura-form-radius);
	background: var(--aura-form-surface);
	box-shadow: 0 3px 12px rgba(23, 34, 29, .04);
	cursor: pointer;
	transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.aura-forms [data-aura-card] label:hover { border-color: color-mix(in srgb, var(--aura-form-accent) 55%, var(--aura-form-border)); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(23, 34, 29, .08); }
.aura-forms [data-aura-card] input:focus-visible + label { outline: 3px solid color-mix(in srgb, var(--aura-form-accent) 25%, transparent); outline-offset: 3px; }
.aura-forms [data-aura-card].is-selected label,
.aura-forms [data-aura-card] input:checked + label { border-color: var(--aura-form-accent); background: var(--aura-form-accent-soft); box-shadow: 0 0 0 1px var(--aura-form-accent); }
.aura-forms [data-aura-card].is-disabled label { cursor: not-allowed; opacity: .48; transform: none; }
.aura-forms .aura-choice-card__icon { grid-column: 1; font-size: 1.55rem; line-height: 1; }
/* Reserve the slot on every card of a group where any card has an icon, so the
   titles align down the row instead of sliding left on the ones without one. */
.aura-forms [data-aura-card-icons] .aura-choice-card__icon { display: grid; place-items: center; inline-size: var(--aura-card-icon-slot, 1.75rem); min-inline-size: var(--aura-card-icon-slot, 1.75rem); block-size: var(--aura-card-icon-slot, 1.75rem); }
.aura-forms .aura-choice-card__text,
.aura-forms .aura-choice-card__support { text-align: start; }
.aura-forms .aura-choice-card__icon img { display: block; inline-size: 1.55rem !important; block-size: 1.55rem !important; margin: 0 !important; object-fit: contain; }
.aura-forms .aura-choice-card__icon-mask { display: block; inline-size: 100%; block-size: 100%; background: currentColor; -webkit-mask: var(--aura-choice-icon-image) center / contain no-repeat; mask: var(--aura-choice-icon-image) center / contain no-repeat; }
.aura-forms .aura-choice-card__text { grid-column: 2; align-self: center; min-inline-size: 0; overflow-wrap: anywhere; font-weight: 750; line-height: 1.3; }
.aura-forms .aura-choice-card__support { grid-column: 1 / -1; min-inline-size: 0; overflow-wrap: anywhere; color: var(--aura-form-muted); font-size: .875rem; font-weight: 400; line-height: 1.45; }
.aura-forms .aura-choice-card__check { display: grid; grid-column: 3; grid-row: 1; place-items: center; inline-size: 23px; block-size: 23px; border: 1px solid var(--aura-form-border); border-radius: 50%; color: transparent; font-size: .8rem; }
.aura-forms [data-aura-card].is-selected .aura-choice-card__check { border-color: var(--aura-form-accent); background: var(--aura-form-accent); color: #fff; }

/* Stepper */
.aura-forms .aura-stepper { --aura-step-marker-size: 32px; --aura-step-line-size: 2px; display: flex; inline-size: 100% !important; width: 100% !important; max-inline-size: none !important; max-width: none !important; margin-block-end: 32px; padding: 0; border-block-end: 0 !important; border-bottom: 0 !important; }
.aura-forms .aura-stepper .gf_step { position: relative; display: flex; flex: 1; flex-direction: column; align-items: center; gap: 8px; color: var(--aura-form-muted); text-align: center; }
.aura-forms .aura-stepper .gf_step::after { position: absolute; z-index: 0; inset-block-start: calc((var(--aura-step-marker-size) - var(--aura-step-line-size)) / 2); inset-inline-start: 50%; inline-size: 100%; block-size: var(--aura-step-line-size); background: var(--aura-form-border); content: ""; }
.aura-forms .aura-stepper .gf_step:last-of-type::after { display: none; }
.aura-forms .aura-stepper .gf_step_number { position: relative; z-index: 1; display: grid; flex: 0 0 auto; place-items: center; aspect-ratio: 1; inline-size: var(--aura-step-marker-size) !important; block-size: var(--aura-step-marker-size) !important; min-inline-size: var(--aura-step-marker-size) !important; min-block-size: 0; padding: 0 !important; border: 2px solid var(--aura-form-border); border-radius: 50%; background: var(--aura-form-surface); font-size: .86rem; font-weight: 750; line-height: 1; }
.aura-forms .aura-stepper .gf_step_label { position: relative; z-index: 1; font-size: .82rem; font-weight: 650; }
.aura-forms .aura-stepper .gf_step_active,
.aura-forms .aura-stepper .is-completed { color: var(--aura-form-accent); }
.aura-forms .aura-stepper .gf_step_active .gf_step_number,
.aura-forms .aura-stepper .is-completed .gf_step_number { border-color: var(--aura-form-accent); }
.aura-forms .aura-stepper .is-completed::after { background: var(--aura-form-accent); }
.aura-forms .aura-stepper__mobile { display: none; }

/* Inline validation */
.aura-forms .gfield_error input:not([type="radio"]):not([type="checkbox"]),
.aura-forms .gfield_error select,
.aura-forms .gfield_error textarea { border-color: var(--aura-form-danger); background: var(--aura-form-danger-soft); box-shadow: 0 0 0 2px color-mix(in srgb, var(--aura-form-danger) 11%, transparent); }
.aura-forms .validation_message,
.aura-forms .gfield_validation_message { display: flex; align-items: flex-start; gap: 6px; margin-block-start: 7px; padding: 0; border: 0; background: transparent; color: var(--aura-form-danger); font-size: .875rem; line-height: 1.4; }
.aura-forms .validation_message::before,
.aura-forms .gfield_validation_message::before { content: "⚠"; }
.aura-forms .gform_validation_errors { margin-block-end: 24px; padding: 14px 16px; border: 1px solid color-mix(in srgb, var(--aura-form-danger) 35%, white); border-radius: 10px; background: var(--aura-form-danger-soft); color: var(--aura-form-danger); }

/* Autocomplete is anchored inside the lookup field's input container. */
.aura-forms .ginput_container:has(> .aura-forms-lookup),
.aura-forms .gfield:has(> .aura-forms-lookup) { position: relative; }
.aura-forms .aura-forms-lookup:empty { display: none; }
.aura-forms .aura-forms-lookup { position: relative; z-index: 20; inline-size: 100%; margin-block-start: 7px; }
.aura-forms .aura-forms-lookup__message { margin: 0; padding: 12px 14px; border: 1px solid var(--aura-form-border); border-radius: 10px; background: #f8faf9; color: var(--aura-form-muted); }
.aura-forms .aura-forms-lookup__message.is-searching::before { display: inline-block; inline-size: 14px; block-size: 14px; margin-inline-end: 9px; border: 2px solid var(--aura-form-border); border-block-start-color: var(--aura-form-accent); border-radius: 50%; content: ""; animation: aura-forms-spin .7s linear infinite; vertical-align: -2px; }
/* The match itself carries the weight: a calm surface, one row per result. */
.aura-forms .aura-forms-lookup__results { overflow: hidden; margin-block-start: 8px; border: 1px solid var(--aura-lookup-border); border-radius: var(--aura-lookup-radius); background: var(--aura-lookup-surface); }
/* The result rows and the manual escape are <button> elements, so the active theme
   paints them by default. Two defences: an extra class of specificity that theme
   button rules do not reach, and the painted properties routed through custom
   properties, so an `!important` here still leaves Elementor in control of them. */
.aura-forms .aura-forms-lookup .aura-forms-lookup__choice {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 2px 14px;
	inline-size: 100%;
	min-block-size: var(--aura-lookup-row-min-height);
	padding: var(--aura-lookup-row-padding);
	border: 0;
	border-radius: 0;
	background: var(--aura-lookup-row-background) !important;
	color: var(--aura-lookup-row-color) !important;
	font: inherit;
	text-align: start;
	text-transform: none !important;
	letter-spacing: normal !important;
	text-decoration: none !important;
	text-shadow: none !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: background-color .18s ease;
}
.aura-forms .aura-forms-lookup .aura-forms-lookup__choice:hover,
.aura-forms .aura-forms-lookup .aura-forms-lookup__choice[aria-selected="true"] { background: var(--aura-lookup-row-hover-background) !important; }
.aura-forms .aura-forms-lookup .aura-forms-lookup__choice + .aura-forms-lookup__choice { border-block-start: 1px solid var(--aura-lookup-row-divider); }
.aura-forms .aura-forms-lookup__choice strong { align-self: end; color: inherit; font-size: var(--aura-lookup-row-font-size); font-weight: 650; line-height: 1.3; }
.aura-forms .aura-forms-lookup__choice small { grid-column: 2; color: var(--aura-lookup-row-muted); }
.aura-forms .aura-forms-lookup__choice small:empty { display: none; }
.aura-forms .aura-forms-lookup__icon { display: grid; grid-row: 1 / 3; place-items: center; align-self: center; inline-size: var(--aura-lookup-icon-size); block-size: var(--aura-lookup-icon-size); color: var(--aura-lookup-icon-color); }
.aura-forms .aura-forms-lookup__icon--sm { grid-row: auto; inline-size: 17px; block-size: 17px; color: inherit; }
.aura-forms .aura-forms-lookup__chevron { display: grid; grid-row: 1 / 3; place-items: center; align-self: center; inline-size: 18px; block-size: 18px; color: var(--aura-lookup-chevron-color); }
.aura-forms .aura-forms-lookup__icon svg,
.aura-forms .aura-forms-lookup__chevron svg { inline-size: 100%; block-size: 100%; }
/* Secondary by construction: a link, not a surface. Keeps a comfortable target. */
.aura-forms .aura-forms-lookup .aura-forms-lookup__manual {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	inline-size: auto;
	min-block-size: 40px;
	margin-block-start: 10px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: var(--aura-lookup-manual-background) !important;
	color: var(--aura-lookup-manual-color) !important;
	font: inherit;
	font-size: var(--aura-lookup-manual-font-size);
	font-weight: var(--aura-lookup-manual-font-weight);
	line-height: 1.4;
	text-align: start;
	text-transform: none !important;
	letter-spacing: normal !important;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-shadow: none !important;
	box-shadow: none !important;
	cursor: pointer;
}
.aura-forms .aura-forms-lookup .aura-forms-lookup__manual:hover { color: var(--aura-lookup-manual-hover-color) !important; text-decoration-thickness: 2px; }
.aura-forms .aura-forms-lookup__exact,
.aura-forms .aura-forms-lookup__selected { display: grid; grid-template-columns: 1fr auto; gap: 5px 12px; margin: 0; padding: 14px; border: 1px solid color-mix(in srgb, var(--aura-form-accent) 35%, var(--aura-form-border)); border-radius: 12px; background: var(--aura-form-accent-soft); }
.aura-forms .aura-forms-lookup__exact > p { grid-column: 1 / -1; margin: 0; color: var(--aura-form-accent); font-weight: 700; }
.aura-forms .aura-forms-lookup__exact > small { grid-column: 1; color: var(--aura-form-muted); }
.aura-forms .aura-forms-lookup__exact > button { grid-column: 2; grid-row: 2 / 4; align-self: center; }

.aura-forms .aura-forms-route-outcome { display: grid; grid-template-columns: auto 1fr; gap: 16px; padding: 22px; border: 1px solid color-mix(in srgb, var(--aura-form-accent) 38%, var(--aura-form-border)); border-radius: 16px; background: var(--aura-form-accent-soft); }
.aura-forms .aura-forms-route-outcome.is-dismissed { display: none; }
.aura-forms .aura-forms-route-outcome__icon { display: grid; place-items: center; inline-size: 36px; block-size: 36px; border-radius: 50%; background: var(--aura-form-accent); color: #fff; font-weight: 800; }
.aura-forms .aura-forms-route-outcome h3,
.aura-forms .aura-forms-route-outcome p { margin: 0 0 6px; }
.aura-forms .aura-forms-route-outcome__actions { display: flex; flex-wrap: wrap; gap: 9px; margin-block-start: 15px; }

.aura-forms .aura-context-summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-block-end: 24px; padding: 12px 14px; border: 1px solid var(--aura-form-border); border-radius: 10px; background: #f8faf9; }
.aura-forms .aura-context-summary button { min-block-size: 44px; border: 0; background: transparent; color: var(--aura-form-accent); font: inherit; font-weight: 700; cursor: pointer; }
.aura-forms .aura-progressive-hidden { opacity: 0; }
.aura-forms .aura-forms-message { margin-block: 16px; padding: 14px; border-radius: 10px; background: #f8faf9; }
.aura-forms .aura-forms-confirmation { padding: 34px; border: 1px solid var(--aura-form-border); border-radius: 18px; background: var(--aura-form-surface); text-align: center; }
.aura-forms .aura-forms-confirmation__icon { display: grid; place-items: center; inline-size: 52px; block-size: 52px; margin: 0 auto 16px; border-radius: 50%; background: var(--aura-form-accent); color: #fff; font-size: 1.35rem; }

@keyframes aura-forms-spin { to { transform: rotate(360deg); } }

@media (max-width: 780px) {
	/* The theme framework already stacks fields below its own 640px breakpoint.
	   Only the AURA fallback grid is collapsed here. */
	.aura-forms .gform_wrapper:not(.gform-theme--framework) .gform_fields { grid-template-columns: 1fr; gap: 18px; }
	.aura-forms .gform_wrapper:not(.gform-theme--framework) .gfield--width-half,
	.aura-forms .gform_wrapper:not(.gform-theme--framework) .gfield--width-third { grid-column: 1; }
	.aura-forms .gform-theme--framework { --gf-form-gap-y: 18px; }
	.aura-forms [data-aura-card-grid],
	.aura-forms .aura-profile-cards :has(> .gchoice),
	.aura-forms .aura-intent-cards :has(> .gchoice),
	.aura-forms .aura-profile-cards .gfield_radio,
	.aura-forms .aura-intent-cards .gfield_checkbox { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.aura-forms .aura-stepper { display: block !important; }
	.aura-forms .aura-stepper .gf_step { display: none; }
	.aura-forms .aura-stepper__mobile { display: grid !important; flex: 1 1 100%; justify-self: stretch; inline-size: 100% !important; width: 100% !important; max-inline-size: none !important; max-width: none !important; gap: 7px; color: var(--aura-form-muted); font-size: .84rem; }
	.aura-forms .aura-stepper__mobile strong { color: var(--aura-form-text); font-size: 1rem; }
	.aura-forms .aura-stepper__mobile i { display: block; overflow: hidden; inline-size: 100% !important; width: 100% !important; max-inline-size: none !important; max-width: none !important; block-size: 5px; border-radius: 999px; background: var(--aura-form-border); }
	.aura-forms .aura-stepper__mobile b { display: block; block-size: 100%; border-radius: inherit; background: var(--aura-form-accent); }
}

@media (max-width: 560px) {
	.aura-forms [data-aura-card-grid],
	.aura-forms .aura-profile-cards :has(> .gchoice),
	.aura-forms .aura-intent-cards :has(> .gchoice),
	.aura-forms .aura-profile-cards .gfield_radio,
	.aura-forms .aura-intent-cards .gfield_checkbox { grid-template-columns: 1fr !important; }
	.aura-forms [data-aura-card] label { min-block-size: 126px; padding: 17px; }
	.aura-forms .gform_page_footer,
	.aura-forms .gform_footer { flex-direction: column-reverse; align-items: stretch; }
	.aura-forms .gform_page_footer input,
	.aura-forms .gform_page_footer button,
	.aura-forms .gform_footer input,
	.aura-forms .gform_footer button { inline-size: 100%; min-block-size: 50px; margin: 0; }
	.aura-forms .aura-forms-lookup__exact { grid-template-columns: 1fr; }
	.aura-forms .aura-forms-lookup__exact > button { grid-column: 1; grid-row: auto; inline-size: 100%; }
	.aura-forms .aura-forms-route-outcome { grid-template-columns: 1fr; padding: 18px; }
	.aura-forms .aura-forms-route-outcome__actions { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
	.aura-forms *,
	.aura-forms *::before,
	.aura-forms *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
