/**
 * Form Template — prototype styles for icon boxes, multistep GF, and page layout.
 *
 * Base field, label, input, and two-column layout styles come from app.css via:
 *   .form.full .cell.accessories-form.products-form
 *
 * GF also outputs per-form classes such as .gform_wrapper_{formId}.
 * All rules below are scoped under .form-template.
 */

.form-template,
.form-template__popup-trigger,
.form-template__popup {
	--form-template-red: #b21e27;
	--form-template-red-muted: rgba(178, 30, 39, 0.15);
	--form-template-black: #000;
	--form-template-gray-bg: #eff0f1;
	--form-template-gray-border: #eff0f1;
	--form-template-gray-dark: #dadada;
	--form-template-white: #fff;
	--form-template-font-heading: "Sansation", sans-serif;
	--form-template-font-body: "Segoe UI", sans-serif;
	--form-template-checkbox-size: 12px;
	--form-template-radio-size: 15px;
}

.form-template {
	padding: 80px 0;
	background: var(--form-template-gray-bg);
}

.form-template__form {
	padding: 50px;
	background: var(--form-template-white);
}


/* -------------------------------------------------------------------------
   Icon boxes — Figma node 10040:318
   ------------------------------------------------------------------------- */

.form-template .form-template__icon-boxes {
	width: 100%;
	margin: 0 0 20px;
}

.form-template .form-template__icon-boxes-list,
.form-template .form-template__icon-boxes-list>.form-template__icon-box {
	margin: 0;
	padding: 0;
	list-style: none;
}

.form-template .form-template__icon-boxes-list {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	width: 100%;
}

.form-template .form-template__icon-boxes-list>.form-template__icon-box {
	flex: 1 1 0;
	min-width: 0;
	margin-bottom: 0 !important;
}

.form-template .form-template__icon-boxes-list>.form-template__icon-box:not(:last-child) {
	margin-right: -2px;
}

.form-template .form-template__icon-box-card {
	display: flex;
	flex-direction: column;
	gap: 5px;
	width: 100%;
	min-height: 175px;
	height: 100%;
	padding: 15px;
	background: var(--form-template-black) !important;
	border: 2px solid var(--form-template-white) !important;
	border-radius: 0;
	color: var(--form-template-white) !important;
	text-decoration: none !important;
	box-sizing: border-box;
	transition: background-color 0.2s ease;
}

.form-template .form-template__icon-boxes-list>.form-template__icon-box .form-template__icon-box-card {
	border-radius: 0;
}

.form-template .form-template__icon-boxes-list>.form-template__icon-box:first-child .form-template__icon-box-card {
	border-radius: 8px 0 0 8px;
}

.form-template .form-template__icon-boxes-list>.form-template__icon-box:last-child .form-template__icon-box-card {
	border-radius: 0 8px 8px 0;
}

.form-template .form-template__icon-boxes-list>.form-template__icon-box:only-child .form-template__icon-box-card {
	border-radius: 8px;
}

.form-template .form-template__icon-box-card:hover,
.form-template .form-template__icon-box-card:focus {
	background: var(--form-template-red) !important;
	border-color: var(--form-template-white) !important;
	color: var(--form-template-white) !important;
	outline: none;
}

.form-template .form-template__icon-box-header {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 46px;
}

.form-template .form-template__icon-box-icon {
	display: block;
	flex-shrink: 0;
	width: 32px;
	height: auto;
	max-width: none;
	border: none;
	margin: 0;
}

.form-template .form-template__icon-box-title {
	margin: 0;
	font-family: var(--form-template-font-heading);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	text-transform: uppercase;
	color: inherit;
}

.form-template .form-template__icon-box-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 10px;
}

.form-template .form-template__icon-box-description {
	margin: 0;
	font-family: var(--form-template-font-body);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	text-transform: none;
	color: inherit;
}

.form-template .form-template__icon-box-cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	margin-bottom: 0;
	font-family: var(--form-template-font-heading);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	text-transform: uppercase;
	color: inherit !important;
	text-decoration: none !important;
}

.form-template .form-template__icon-box-cta::after {
	content: "";
	display: inline-block;
	width: 7px;
	height: 11px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='11' viewBox='0 0 7 11' fill='none'%3E%3Cpath d='M1 1L5.5 5.5L1 10' stroke='%23ffffff' stroke-width='1.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.form-template .gform_wrapper .gfield_label,
.form-template .gform_wrapper label.gfield_label,
.form-template .gform_wrapper.gravity-theme .gfield_label,
.form-template .gform_wrapper.gravity-theme .gfield label.gfield_label {
	display: block !important;
}

.form-template .gform_wrapper .form-label__heading {
	font-family: var(--form-template-font-heading);
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 0;
	text-transform: uppercase;
	color: var(--form-template-black);
}

.form-template__popup .form-label__heading {
	margin-bottom: 30px!important;
	text-align: center;
}

.form-template__popup .gform-footer {
	justify-content: center!important;
	margin-top: 30px!important;
}

.form-template .gform_wrapper.gravity-theme .gfield--type-html {
	display: flex;
	align-items: flex-end;
	gap: 0 10px;
}

.form-template .gform_wrapper.gravity-theme .gfield--type-checkbox .gfield_label.gfield_label_before_complex,
.form-template .gform_wrapper.gravity-theme .gfield--type-radio .gfield_label.gfield_label_before_complex {
	font-family: var(--form-template-font-heading);
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 16px;
	text-transform: uppercase;
	color: var(--form-template-black);
}

.form-template .gform_wrapper.gravity-theme .gfield--type-checkbox .form-label__heading,
.form-template .gform_wrapper.gravity-theme .gfield--type-radio .form-label__heading {
	font-family: var(--form-template-font-heading);
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 0;
	text-transform: uppercase;
	color: var(--form-template-black);
}

.form-template .gform_wrapper.gravity-theme .gfield--type-html .form-label__description p {
	font-family: var(--form-template-font-heading);
	font-size: 14px;
	font-weight: 400;
	line-height: 1;
}

/* Match support page required indicator (asterisk, not “(Required)” text). */
.form-template .gfield_required_text,
.form-template .gform_required_legend {
	display: none !important;
}

.form-template .gfield_required_asterisk {
	display: inline;
	color: var(--form-template-red);
}

/* Hide default form title when a Section field provides the step heading. */
.form-template .gform_heading .gform_title {
	display: none;
}

/* -------------------------------------------------------------------------
   Step progress — numbered steps + chevrons (Figma node 8080:545)
   Overrides GF gravity-theme framework circle step indicators.
   ------------------------------------------------------------------------- */

.form-template .gform_wrapper .gf_page_steps,
.form-template .gform_wrapper.gform_legacy_markup_wrapper .gf_page_steps {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 24px;
	width: 100%;
	margin: 0;
	padding: 0;
	border: none !important;
	opacity: 1 !important;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.form-template .gform_wrapper .gf_page_steps::-webkit-scrollbar {
	display: none;
}

.form-template .gform_wrapper .gf_step,
.form-template .gform_wrapper.gform_legacy_markup_wrapper .gf_step {
	display: inline-flex;
	align-items: flex-start;
	align-self: stretch;
	flex: 0 0 auto;
	width: auto !important;
	min-height: 100%;
	margin: 0 !important;
	padding: 10px 0 6px;
	opacity: 1 !important;
	border: none !important;
	filter: none !important;
	position: relative;
	font-family: var(--form-template-font-heading);
	white-space: nowrap;
	box-sizing: border-box;
}

.form-template .gform_wrapper .gf_step::after {
	content: "";
	display: inline-block;
	flex-shrink: 0;
	align-self: center;
	width: 15px;
	height: 11px;
	margin-left: 24px;
	background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxOCAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTAgNS4yMjE1TDE0LjQ2NzcgNS4yMjE1OEwxMC4zNDg1IDEuMTAwOTdMMTEuNDQ5NSA0LjUzMmUtMDdMMTcuNDQ5NSA2TDExLjQ0OTUgMTJMMTAuMzQ4NSAxMC44OTlMMTQuNDY3NyA2Ljc3ODU5TDAgNi43Nzg1TDAgNS4yMjE1WiIgZmlsbD0iI0IyMUUyNyIvPgo8L3N2Zz4K");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.form-template .gform_wrapper .gf_step_last::after,
.form-template .gform_wrapper .gf_step:last-child::after {
	display: none;
}

/* Reset GF gravity-theme / framework / legacy circle step numbers */
.form-template .gform_wrapper .gf_step span.gf_step_number,
.form-template .gform_wrapper.gravity-theme .gf_step .gf_step_number,
.form-template .gform_wrapper.gravity-theme .gf_step_number,
.form-template .gform_wrapper.gravity-theme.gform-theme--framework .gf_step .gf_step_number,
.form-template .gform_wrapper.gform_legacy_markup_wrapper .gf_step span.gf_step_number {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	position: relative;
	flex-shrink: 0;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 8px 0 0 !important;
	padding: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	aspect-ratio: auto !important;
	font-family: var(--form-template-font-heading) !important;
	font-size: 24px !important;
	font-weight: 700 !important;
	font-style: normal !important;
	line-height: 1 !important;
	text-transform: uppercase;
	color: var(--form-template-red) !important;
	vertical-align: baseline;
}

.form-template .gform_wrapper .gf_step span.gf_step_number::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 18px;
	height: 18px;
	transform: translate(-50%, -65%);
	background: var(--form-template-red-muted);
	z-index: 1;
}

.form-template .gform_wrapper .gf_step.gf_step_active span.gf_step_number,
.form-template .gform_wrapper.gravity-theme .gf_step_active .gf_step_number,
.form-template .gform_wrapper.gravity-theme .gf_step_completed .gf_step_number {
	background: transparent !important;
	color: var(--form-template-red) !important;
}

.form-template .gform_wrapper .gf_step span.gf_step_number::after,
.form-template .gform_wrapper.gravity-theme .gf_step_completed .gf_step_number::after,
.form-template .gform_wrapper.gravity-theme .gf_step_completed .gf_step_number::before,
.form-template .gform_wrapper.gravity-theme.gform-theme--framework .gf_step_completed .gf_step_number::after {
	display: none !important;
	content: none !important;
}

.form-template .gform_wrapper .gf_step span.gf_step_label,
.form-template .gform_wrapper.gravity-theme .gf_step .gf_step_label,
.form-template .gform_wrapper.gravity-theme .gf_step_label,
.form-template .gform_wrapper.gravity-theme.gform-theme--framework .gf_step .gf_step_label {
	display: inline-block !important;
	max-width: 118px;
	font-family: var(--form-template-font-heading) !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	font-style: normal !important;
	line-height: 1 !important;
	text-transform: uppercase;
	color: var(--form-template-black) !important;
	padding-left: 0;
	white-space: normal;
	vertical-align: top;
	margin-bottom: 0;
}

.form-template .gform_wrapper .gf_step.gf_step_active span.gf_step_label,
.form-template .gform_wrapper.gravity-theme.gform-theme--framework .gf_step_active .gf_step_label {
	color: var(--form-template-red) !important;
}

.form-template .gform_wrapper.gravity-theme .gf_step,
.form-template .gform_wrapper.gravity-theme .gf_step_active,
.form-template .gform_wrapper.gravity-theme .gf_step_completed {
	display: inline-flex !important;
	align-items: flex-start;
	align-self: stretch;
}

.form-template .gform_wrapper.gravity-theme .gf_page_steps {
	border-bottom: none !important;
	margin-bottom: 0 !important;
}

.form-template .gform_wrapper .gf_step_clear {
	display: none !important;
}

/* -------------------------------------------------------------------------
   Progress track (custom bar rendered below GF Steps)
   ------------------------------------------------------------------------- */

.form-template .gform_wrapper .form-template__steps-progress {
	height: 8px;
	margin: 0 0 32px;
	background: var(--form-template-gray-bg);
	border: 1px solid var(--form-template-white);
	border-radius: 0;
	overflow: hidden;
}

.form-template .gform_wrapper .form-template__steps-progress-fill {
	display: block;
	width: 0;
	height: 100%;
	background: var(--form-template-red);
	transition: width 0.15s ease;
}

.form-template .form-template__form--step-loading .gform_wrapper {
	opacity: 0.72;
	pointer-events: none;
}

.form-template .form-template__form--step-loading .gform_next_button,
.form-template .form-template__form--step-loading .gform_previous_button,
.form-template .form-template__form--step-loading input[type="submit"] {
	cursor: wait;
}

/* Keep native GF Progress Bar support as fallback if enabled instead of Steps. */

.form-template .gform_wrapper .gf_progressbar_wrapper {
	margin: 0 0 32px;
	padding: 0;
}

.form-template .gform_wrapper .gf_progressbar_wrapper .gf_progressbar_title {
	display: none;
}

.form-template .gform_wrapper .gf_progressbar {
	height: 8px;
	min-height: 8px;
	background: var(--form-template-gray-bg);
	border: 1px solid var(--form-template-white);
	border-radius: 0;
	overflow: hidden;
}

.form-template .gform_wrapper .gf_progressbar_percentage {
	height: 8px;
	min-height: 8px;
	background: var(--form-template-red) !important;
	border-radius: 0;
}

.form-template .gform_wrapper .gf_progressbar_percentage span {
	display: none;
}

/* -------------------------------------------------------------------------
   Section headings (GF Section field per step)
   ------------------------------------------------------------------------- */

.form-template .gsection_title {
	margin: 0 0 16px;
	padding: 0;
	border: none;
	font-family: var(--form-template-font-heading);
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	color: var(--form-template-black);
	background: transparent;
}

/* -------------------------------------------------------------------------
   Multistep footer — right-aligned Next / Previous (Figma)
   ------------------------------------------------------------------------- */

.form-template .gform_wrapper.gravity-theme .gform_page_footer,
.form-template .gform_wrapper.gravity-theme .gform-page-footer,
.form-template .gform_wrapper.gravity-theme.gform_legacy_markup_wrapper .gform_page_footer {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 12px;
	width: 100%;
	margin: 18px 0 0;
	padding: 0 !important;
	border: none !important;
	border-top: none !important;
	text-align: right;
	clear: both;
}

.form-template .gform_wrapper.gravity-theme .gform_page_footer .button,
.form-template .gform_wrapper.gravity-theme .gform-page-footer .button,
.form-template .gform_wrapper.gravity-theme .gform_page_footer input[type="button"],
.form-template .gform_wrapper.gravity-theme .gform-page-footer input[type="button"],
.form-template .gform_wrapper.gravity-theme .gform_page_footer input[type="submit"],
.form-template .gform_wrapper.gravity-theme .gform-page-footer input[type="submit"] {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	min-width: 0;
	min-height: 0;
	height: auto;
	margin: 0;
	padding: 6px 35px !important;
	border-radius: 0;
	font-family: var(--form-template-font-heading);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0;
	text-transform: uppercase;
}

.form-template .gform_wrapper.gravity-theme .gform_page_footer .gform_next_button,
.form-template .gform_wrapper.gravity-theme .gform-page-footer .gform_next_button,
.form-template .gform_wrapper.gravity-theme .gform_page_footer input.gform_next_button,
.form-template .gform_wrapper.gravity-theme .gform-page-footer input.gform_next_button,
.form-template .gform_wrapper.gravity-theme .gform_page_footer input[type="submit"],
.form-template .gform_wrapper.gravity-theme .gform-page-footer input[type="submit"] {
	background: var(--form-template-red) !important;
	color: var(--form-template-white) !important;
	border: none !important;
}

.form-template .gform_wrapper.gravity-theme .gform_page_footer .gform_next_button,
.form-template .gform_wrapper.gravity-theme .gform-page-footer .gform_next_button,
.form-template .gform_wrapper.gravity-theme .gform_page_footer input.gform_next_button,
.form-template .gform_wrapper.gravity-theme .gform-page-footer input.gform_next_button {
	background: var(--form-template-red) !important;
	color: var(--form-template-white) !important;
	border: none !important;
}

.form-template .gform_wrapper.gravity-theme .gform_page_footer .gform_next_button:hover,
.form-template .gform_wrapper.gravity-theme .gform-page-footer .gform_next_button:hover,
.form-template .gform_wrapper.gravity-theme .gform_page_footer .gform_next_button:focus,
.form-template .gform_wrapper.gravity-theme .gform-page-footer .gform_next_button:focus {
	background: var(--form-template-red) !important;
	color: var(--form-template-white) !important;
	border: none !important;
}

.form-template .gform_wrapper.gravity-theme .gform_page_footer .gform_previous_button,
.form-template .gform_wrapper.gravity-theme .gform-page-footer .gform_previous_button {
	background: var(--form-template-white) !important;
	color: var(--form-template-red) !important;
	border: 1px solid var(--form-template-red) !important;
}

.form-template .gform_wrapper.gravity-theme .gform_page_footer .gform_next_button::after,
.form-template .gform_wrapper.gravity-theme .gform-page-footer .gform_next_button::after {
	content: "";
	display: inline-block;
	width: 7px;
	height: 11px;
	margin-left: 10px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='11' viewBox='0 0 7 11' fill='none'%3E%3Cpath d='M1 1L5.5 5.5L1 10' stroke='%23ffffff' stroke-width='1.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

/* Final step state (submit page): center controls + show helper note */
.form-template .form-template__form--final-step .gform_wrapper.gravity-theme .gform_page_footer,
.form-template .form-template__form--final-step .gform_wrapper.gravity-theme .gform-page-footer,
.form-template .form-template__form--final-step .gform_wrapper.gravity-theme.gform_legacy_markup_wrapper .gform_page_footer {
	justify-content: center;
	text-align: center;
}

.form-template .form-template__submit-note {
	margin: 14px 0 0;
	font-family: var(--form-template-font-body);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.3;
	color: var(--form-template-black);
	text-align: center;
}

/* Final page footer (has submit, no next) */
.form-template .gform_wrapper .gform_page_footer:has(input[type="submit"]):not(:has(.gform_next_button)),
.form-template .gform_wrapper .gform-page-footer:has(input[type="submit"]):not(:has(.gform_next_button)) {
	justify-content: center;
	text-align: center;
	gap: 10px 12px;
}

/* Keep note on its own line under buttons */
.form-template .gform_wrapper .gform_page_footer .gform-submit-note,
.form-template .gform_wrapper .gform-page-footer .gform-submit-note {
	flex: 0 0 100%;
	margin: 6px 0 0;
	font-family: var(--form-template-font-body);
	font-size: 14px;
	line-height: 1.3;
	text-align: center;
}

/* -------------------------------------------------------------------------
   Form field grid spacing (Figma: 29px columns, 18px rows)
   ------------------------------------------------------------------------- */

.form-template .gform_wrapper .gform_fields {
	row-gap: 18px;
	column-gap: 29px;
}

.form-template .gform_wrapper.gravity-theme .gfield--width-full,
.form-template .gform_wrapper.gravity-theme .gfield.gfield--type-section,
.form-template .gform_wrapper.gravity-theme .gfield.gfield--type-html,
.form-template .gform_wrapper.gravity-theme .gfield.gfield--type-checkbox,
.form-template .gform_wrapper.gravity-theme .gfield.gfield--type-radio,
.form-template .gform_wrapper.gravity-theme .gfield.gfield--type-consent,
.form-template .gform_wrapper.gravity-theme .gfield.gfield--type-textarea {
	grid-column: 1 / -1;
}

/* -------------------------------------------------------------------------
   Text inputs — Figma Form Input (node 8064:185)
   White field, 1px black border, 44px height, 13px/27px padding, black text.
   ------------------------------------------------------------------------- */

.form-template .gform_wrapper .gfield_label,
.form-template .gform_wrapper label.gfield_label,
.form-template .gform_wrapper.gravity-theme .gfield_label,
.form-template .gform_wrapper.gravity-theme .gfield label.gfield_label {
	font-family: var(--form-template-font-body);
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	color: var(--form-template-black) !important;
	text-transform: none;
	margin: 0 0 4px;
}

.form-template .gform_wrapper .ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]),
.form-template .gform_wrapper ul li input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]):not([type="type"]),
.form-template .gform_wrapper [type="text"],
.form-template .gform_wrapper [type="date"],
.form-template .gform_wrapper [type="datetime"],
.form-template .gform_wrapper [type="datetime-local"],
.form-template .gform_wrapper [type="email"],
.form-template .gform_wrapper [type="month"],
.form-template .gform_wrapper [type="number"],
.form-template .gform_wrapper [type="password"],
.form-template .gform_wrapper [type="search"],
.form-template .gform_wrapper [type="tel"],
.form-template .gform_wrapper [type="url"],
.form-template .gform_wrapper [type="week"],
.form-template .gform_wrapper .ginput_container select,
.form-template .gform_wrapper ul li select {
	width: 100% !important;
	display: block;
	box-sizing: border-box;
	background: var(--form-template-white) !important;
	color: var(--form-template-black) !important;
	border: 1px solid var(--form-template-black) !important;
	border-radius: 0;
	padding: .625rem;
	height: 44px;
	min-height: 44px;
	font-size: 1rem;
	font-weight: 700;
	font-family: var(--form-template-font-heading);
	line-height: 1;
	outline: none;
	box-shadow: none;
	transition: inherit;
}

.form-template .gform_wrapper .ginput_container select,
.form-template .gform_wrapper ul li select {
	padding: 13px 27px 13px 37px;
	background-image: url("../images/black-arrow.png") !important;
	background-repeat: no-repeat !important;
	background-position: left 12px center !important;
	background-size: 10px !important;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.form-template .gform_wrapper .gform_fields .gfield.gfield--type-address .ginput_address_country {
	display: flex;
	flex-direction: column-reverse;
}

.form-template .gform_wrapper .gform_fields .gfield.gfield--type-address .gfield_label_before_complex {
	display: none !important;
}

.form-template .gform_wrapper .gform_fields .gfield.gfield--type-address .ginput_address_country .gform-field-label--type-sub {
	font-family: var(--form-template-font-body);
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	color: var(--form-template-black) !important;
	text-transform: none;
	margin: 0 0 4px;
	padding-top: 0;
}

.form-template .gform_wrapper .gform_fields .gfield.gfield--type-address .ginput_container.has_country:not(.has_street, .has_street2, .has_city, .has_state, .has_zip) {
	.ginput_address_country {
		inline-size: 100%;
		flex: 0 0 100%;
	}

	select {
		width: 100%;
	}
}

.form-template .gform_wrapper .ginput_container textarea,
.form-template .gform_wrapper ul li textarea {
	width: 100% !important;
	display: block;
	box-sizing: border-box;
	background: var(--form-template-white) !important;
	color: var(--form-template-black) !important;
	border: 1px solid var(--form-template-black) !important;
	border-radius: 0;
	padding: 13px;
	min-height: 120px;
	height: auto;
	/* app.css global textarea typography */
	font-size: 1rem;
	font-weight: 700;
	font-family: var(--form-template-font-heading);
	text-transform: uppercase;
	line-height: 1.2;
	outline: none;
	box-shadow: none;
	transition: inherit;
}

.form-template .gform_wrapper .ginput_container input::placeholder,
.form-template .gform_wrapper .ginput_container textarea::placeholder {
	color: var(--form-template-black);
	opacity: 0.45;
}

.form-template .gform_wrapper .ginput_container input:focus,
.form-template .gform_wrapper .ginput_container select:focus,
.form-template .gform_wrapper .ginput_container textarea:focus,
.form-template .gform_wrapper [type="text"]:focus,
.form-template .gform_wrapper [type="email"]:focus,
.form-template .gform_wrapper [type="tel"]:focus,
.form-template .gform_wrapper [type="url"]:focus,
.form-template .gform_wrapper [type="number"]:focus,
.form-template .gform_wrapper [type="password"]:focus,
.form-template .gform_wrapper [type="search"]:focus {
	border-color: var(--form-template-red) !important;
	outline: none;
	box-shadow: none;
	background-color: var(--form-template-white) !important;
	transition: none;
}

.form-template .gform_wrapper.gravity-theme .gfield textarea.large {
	height: 96px;
}

/* -------------------------------------------------------------------------
   Checkbox & radio — card choices (Figma steps 2 & 4; adapted from .form-block)
   Add CSS class "radio-horizontal" on radio fields for Yes/No/Unknown rows.
   Add CSS class "integration-details" on Section/HTML wrapper for gray panel.
   ------------------------------------------------------------------------- */

/* Full-width choice fields; undo global 50% column layout on checkboxes/radios */
/* .form-template .gform_wrapper .gform_body li.gfield.gfield--type-checkbox,
.form-template .gform_wrapper .gform_body li.gfield.gfield--type-radio,
.form-template .gform_wrapper.gravity-theme .gfield--type-checkbox,
.form-template .gform_wrapper.gravity-theme .gfield--type-radio,
.form-template .gform_wrapper.gravity-theme .gfield--type-consent {
	width: 100% !important;
	display: block !important;
	padding-right: 0 !important;
	text-align: left !important;
} */

.form-template .gform_wrapper .gform_body li.gfield.gfield--type-checkbox:nth-of-type(2n+1),
.form-template .gform_wrapper .gform_body li.gfield.gfield--type-radio:nth-of-type(2n+1) {
	padding-right: 0 !important;
	text-align: left !important;
}

/* Suppress GF theme framework pseudo-controls */
.form-template .gform-theme--framework input[type="radio"]::before,
.form-template .gform-theme--framework input[type="checkbox"]::before,
.form-template .gform_wrapper.gravity-theme .gfield.gfield_error.gfield--type-checkbox .ginput_container_checkbox::before,
.form-template .gform_wrapper.gravity-theme .gfield.gfield_error.gfield--type-radio .ginput_container_radio::before,
.form-template .gform_wrapper.gravity-theme .gfield.gfield_error.gfield--type-consent .ginput_container_consent::before {
	display: none !important;
}

/* Choice lists */
.form-template .gfield--type-checkbox .gfield_checkbox,
.form-template .gfield--type-radio .gfield_radio,
.form-template .gform_legacy_markup_wrapper ul.gfield_checkbox,
.form-template .gform_legacy_markup_wrapper ul.gfield_radio {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 768px) {

	.form-template .gfield--type-checkbox .gfield_checkbox,
	.form-template .gform_legacy_markup_wrapper li.gfield.gfield--type-checkbox ul.gfield_checkbox {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		column-gap: 29px;
		row-gap: 10px;
	}
}

.form-template .gfield--type-radio.radio-horizontal .gfield_radio,
.form-template .gform_legacy_markup_wrapper li.gfield.radio-horizontal ul.gfield_radio {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 30px;
}

.form-template .gfield--type-radio.radio-horizontal .gchoice,
.form-template .gform_legacy_markup_wrapper li.gfield.radio-horizontal ul.gfield_radio>li {
	flex: 1 1 278px;
	max-width: 100%;
}

/* Card-style choice row */
.form-template .gfield--type-checkbox .gchoice,
.form-template .gfield--type-radio .gchoice,
.form-template .gform_legacy_markup_wrapper ul.gfield_checkbox>li,
.form-template .gform_legacy_markup_wrapper ul.gfield_radio>li {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 !important;
	padding: 10px;
	width: 100% !important;
	min-height: 0;
	background: var(--form-template-white);
	border: 1px solid var(--form-template-gray-border);
	box-sizing: border-box;
}

.form-template .gchoice:has(input:checked),
.form-template .gform_legacy_markup_wrapper ul.gfield_checkbox>li:has(input:checked),
.form-template .gform_legacy_markup_wrapper ul.gfield_radio>li:has(input:checked) {
	background: var(--form-template-gray-bg);
	border-color: var(--form-template-gray-dark);
}

/* Legacy checkbox label pseudo-elements off — use native inputs */
.form-template .gform_legacy_markup_wrapper ul.gfield_checkbox li label::before,
.form-template .gform_legacy_markup_wrapper ul.gfield_checkbox li label::after,
.form-template .gform_legacy_markup_wrapper ul.gfield_radio li label::before,
.form-template .gform_legacy_markup_wrapper ul.gfield_radio li label::after,
.form-template .gform_legacy_markup_wrapper li.gfield.gfield_error .gfield_checkbox label::before,
.form-template .gform_legacy_markup_wrapper li.gfield.gfield_error .gfield_checkbox label::after {
	display: none !important;
	content: none !important;
}

.form-template .gform_wrapper .gform_body li.gfield .gfield_checkbox li input[type="checkbox"],
.form-template .gform_wrapper .gform_body li.gfield .gfield_radio li input[type="radio"],
.form-template .gform_legacy_markup_wrapper ul.gfield_checkbox li input[type="checkbox"],
.form-template .gform_legacy_markup_wrapper ul.gfield_radio li input[type="radio"] {
	display: block !important;
	flex-shrink: 0;
}

/* Choice labels */
.form-template .gfield--type-checkbox .gchoice label,
.form-template .gfield--type-radio .gchoice label,
.form-template .gform_legacy_markup_wrapper ul.gfield_checkbox li label,
.form-template .gform_legacy_markup_wrapper ul.gfield_radio li label,
.form-template .gform_wrapper.gravity-theme .gfield--type-checkbox .gchoice label,
.form-template .gform_wrapper.gravity-theme .gfield--type-radio .gchoice label {
	position: static !important;
	transform: none !important;
	display: block !important;
	flex: 1 1 auto;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	overflow: visible;
	font-family: var(--form-template-font-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.3;
	color: var(--form-template-black) !important;
	text-transform: none;
	text-align: left;
	cursor: pointer;
}

/* Checkbox control */
.form-template .gfield--type-checkbox input[type="checkbox"],
.form-template .gform_legacy_markup_wrapper ul.gfield_checkbox li input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	flex-shrink: 0;
	width: var(--form-template-checkbox-size);
	height: var(--form-template-checkbox-size);
	min-height: 0;
	margin: 4.5px 0 0;
	padding: 0;
	border: 1.5px solid var(--form-template-red);
	border-radius: 0;
	background-color: var(--form-template-white);
	background-image: none;
	box-shadow: none;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.form-template .gfield--type-checkbox input[type="checkbox"]:checked,
.form-template .gform_legacy_markup_wrapper ul.gfield_checkbox li input[type="checkbox"]:checked {
	background-color: var(--form-template-red) !important;
	border-color: var(--form-template-red) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6' viewBox='0 0 8 6' fill='none'%3E%3Cpath d='M1 3L3 5L7 1' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 8px 6px;
}

.form-template .gfield--type-checkbox input[type="checkbox"]:focus,
.form-template .gform_legacy_markup_wrapper ul.gfield_checkbox li input[type="checkbox"]:focus {
	outline: none;
	border-color: var(--form-template-red);
}

/* Radio control */
.form-template .gfield--type-radio input[type="radio"],
.form-template .gform_legacy_markup_wrapper ul.gfield_radio li input[type="radio"] {
	appearance: none;
	-webkit-appearance: none;
	flex-shrink: 0;
	width: var(--form-template-radio-size);
	height: var(--form-template-radio-size);
	min-height: 0;
	margin: 2.5px 0 0;
	padding: 0;
	border: 1.5px solid var(--form-template-red);
	border-radius: 50%;
	background-color: var(--form-template-white);
	box-shadow: none;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.form-template .gfield--type-radio input[type="radio"]:checked,
.form-template .gform_legacy_markup_wrapper ul.gfield_radio li input[type="radio"]:checked {
	border-color: var(--form-template-red);
	background:
		radial-gradient(circle, var(--form-template-red) 0, var(--form-template-red) 38%, transparent 39%),
		var(--form-template-white);
}

.form-template .gfield--type-radio input[type="radio"]:focus,
.form-template .gform_legacy_markup_wrapper ul.gfield_radio li input[type="radio"]:focus {
	outline: none;
	border-color: var(--form-template-red);
}

/* Error states */
.form-template .gfield.gfield_error.gfield--type-checkbox input[type="checkbox"],
.form-template .gfield.gfield_error.gfield--type-radio input[type="radio"],
.form-template .gform_legacy_markup_wrapper li.gfield.gfield_error ul.gfield_checkbox li input[type="checkbox"],
.form-template .gform_legacy_markup_wrapper li.gfield.gfield_error ul.gfield_radio li input[type="radio"] {
	border-color: var(--form-template-red);
}

.form-template .gfield.gfield_error.gfield--type-checkbox .gfield_validation_message,
.form-template .gfield.gfield_error.gfield--type-radio .gfield_validation_message,
.form-template .gfield.gfield_error.gfield--type-consent .gfield_validation_message {
	position: relative;
	left: 0;
	margin: 5px 0 0;
	padding: 0;
	border: none;
	background: transparent;
	color: var(--form-template-red);
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;

	/*  */
	background: #fff9f9;
	border: 1px solid #c02b0a;
	margin: 8px 0 0 !important;
	padding: 12.992px 24px;
	font-size: 15px;
	max-width: 440px !important;
	text-transform: none;
	font-weight: 300;
	color: #c02b0a;
}

.form-template .gfield.gfield_error.gfield--type-checkbox .gfield_validation_message::before,
.form-template .gfield.gfield_error.gfield--type-radio .gfield_validation_message::before,
.form-template .gfield.gfield_error.gfield--type-consent .gfield_validation_message::before {
	display: none;
}

/* Consent field — align with checkbox card pattern */
.form-template .gfield--type-consent .ginput_container_consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
	/* padding: 10px; */
	background: var(--form-template-white);
	/* border: 1px solid var(--form-template-gray-border); */
}

.form-template .gfield--type-consent .ginput_container_consent input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	flex-shrink: 0;
	width: var(--form-template-checkbox-size);
	height: var(--form-template-checkbox-size);
	margin: 4.5px 0 0;
	border: 1.5px solid var(--form-template-red);
	border-radius: 0;
	background: var(--form-template-white);
}

.form-template .gfield--type-consent .ginput_container_consent input[type="checkbox"]:checked {
	background-color: var(--form-template-red) !important;
	border-color: var(--form-template-red) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='6' viewBox='0 0 8 6' fill='none'%3E%3Cpath d='M1 3L3 5L7 1' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 8px 6px;
}

.form-template .gfield--type-consent .gfield_consent_label,
.form-template .gfield--type-consent label.gfield_consent_label {
	position: static;
	transform: none;
	margin: 0;
	padding: 0;
	font-family: var(--form-template-font-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.3;
	color: var(--form-template-black);
	text-transform: none;
}

/* Step subsection title (e.g. “What can we help with?” + helper text) */
.form-template .gsection_title .form-template__step-subtitle,
.form-template .gfield--type-html .form-template__step-subtitle {
	font-family: var(--form-template-font-body);
	font-size: 14px;
	font-weight: 400;
	text-transform: none;
}

/* Gray panel for integration details (step 4) — add class to Section or HTML block */
.form-template .gfield.integration-details,
.form-template .gfield--type-html.integration-details {
	width: 100% !important;
	padding: 24px;
	background: var(--form-template-gray-bg);
	border: 1px solid var(--form-template-gray-dark);
}

.form-template .gfield.integration-details .gsection_title {
	margin-top: 0;
}

/* Alert row for HTML field content */
.form-template .gfield--type-html .form-alert,
.form-template .gfield_html .form-alert,
.form-template .gfield--type-html.form-notice,
.form-template .gfield_html.form-notice {
	padding: 12px;
	font-family: var(--form-template-font-body);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.3;
	border: 1px solid var(--form-template-gray-border);
}

.form-template .gfield--type-html .form-alert p,
.form-template .gfield_html .form-alert p {
	font-size: 14px;
	margin: 0;
}

.form-template .gfield--type-html .form-alert--warning,
.form-template .gfield_html .form-alert--warning,
.form-template .gfield--type-html.form-notice,
.form-template .gfield_html.form-notice {
	position: relative;
	padding: 12px;
	background: var(--form-template-red-muted);
	border-color: var(--form-template-red);
	color: var(--form-template-black);
	width: 100%;
    max-width: 440px;
}

/* .form-template .gfield--type-html .form-alert--warning::before,
.form-template .gfield_html .form-alert--warning::before,
.form-template .gfield--type-html.form-notice::before,
.form-template .gfield_html.form-notice::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 12px;
	width: 20px;
	height: 18px;
	transform: translateY(-50%);
	background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAyMCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE5Ljg5NDQgMTYuNzk3NEwxMC42NzY1IDAuNDAwNTUxQzEwLjM3NjUgLTAuMTMyOTU1IDkuNjIzNzkgLTAuMTM0MDc4IDkuMzIzMjQgMC40MDA1NTFMMC4xMDUzOCAxNi43OTc0Qy0wLjE5Mzk1NiAxNy4zMyAwLjE3OTY3NyAxOCAwLjc4MTk4MiAxOEgxOS4yMTc3QzE5LjgxNjcgMTggMjAuMTk1NCAxNy4zMzMgMTkuODk0NCAxNi43OTc0Wk0yLjEzNDY0IDE2LjM5NjRMOS45OTk4OCAyLjQwNTYxTDE3Ljg2NTEgMTYuMzk2NEgyLjEzNDY0Wk0xMC43ODExIDEzLjYyNDNDMTAuNzgxMSAxNC4wNjcxIDEwLjQzMTQgMTQuNDI2MSA5Ljk5OTg4IDE0LjQyNjFDOS41Njg0IDE0LjQyNjEgOS4yMTg2MyAxNC4wNjcxIDkuMjE4NjMgMTMuNjI0M0M5LjIxODYzIDEzLjE4MTQgOS41Njg0IDEyLjgyMjUgOS45OTk4OCAxMi44MjI1QzEwLjQzMTMgMTIuODIyNSAxMC43ODExIDEzLjE4MTQgMTAuNzgxMSAxMy42MjQzWk05Ljk5OTg4IDYuNzgwNThDMTAuNDMxNCA2Ljc4MDU4IDEwLjc4MTEgNy4xMzk1MyAxMC43ODExIDcuNTgyMzZWMTEuMjE4OUMxMC43ODExIDExLjY2MTcgMTAuNDMxNCAxMi4wMjA3IDkuOTk5ODggMTIuMDIwN0M5LjU2ODQgMTIuMDIwNyA5LjIxODYzIDExLjY2MTcgOS4yMTg2MyAxMS4yMTg5VjcuNTgyMzZDOS4yMTg2MyA3LjEzOTUzIDkuNTY4NCA2Ljc4MDU4IDkuOTk5ODggNi43ODA1OFoiIGZpbGw9IiNCMjFFMjciLz4KPC9zdmc+Cg==");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
} */

.form-template .gfield--type-html .form-alert a,
.form-template .gfield_html .form-alert a,
.form-template .gfield--type-html.form-notice a,
.form-template .gfield_html.form-notice a {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	font-family: var(--form-template-font-heading);
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	text-transform: none;
	color: var(--form-template-red);
	text-decoration: none;
}

.form-template .gfield--type-html .form-alert a::after,
.form-template .gfield_html .form-alert a::after,
.form-template .gfield--type-html.form-notice a::after,
.form-template .gfield_html.form-notice a::after {
	content: "";
	display: inline-block;
	width: 7px;
	height: 11px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='11' viewBox='0 0 7 11' fill='none'%3E%3Cpath d='M1 1L5.5 5.5L1 10' stroke='%23b21e27' stroke-width='1.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	top: 1px;
    position: relative;
}

.form-template .gfield--type-html .form-alert a:hover,
.form-template .gfield_html .form-alert a:hover,
.form-template .gfield--type-html .form-alert a:focus,
.form-template .gfield_html .form-alert a:focus,
.form-template .gfield--type-html.form-notice a:hover,
.form-template .gfield_html.form-notice a:hover,
.form-template .gfield--type-html.form-notice a:focus,
.form-template .gfield_html.form-notice a:focus {
	text-decoration-thickness: 2px;
}

/* -------------------------------------------------------------------------
   GF Panel
   ------------------------------------------------------------------------- */

/* Panel rows */
.form-template .gfield.gf-panel {
	margin: 0;
	padding: 16px 24px;
	border-left: 1px solid var(--form-template-gray-dark);
	border-right: 1px solid var(--form-template-gray-dark);
}

.form-template .gfield.gf-panel .form-panel__heading {
	font-family: var(--form-template-font-heading);
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 0;
    text-transform: none;
    color: var(--form-template-black);
}

.form-template .gfield.gf-panel--muted {
	background: var(--form-template-gray-bg);
}

/* Start/end edges */
.form-template .gfield.gf-panel--start {
	border-top: 1px solid var(--form-template-gray-dark);
	border-bottom: 0;
	padding-top: 24px;
}

.form-template .gfield.gf-panel--end {
	border-top: 0;
	border-bottom: 1px solid var(--form-template-gray-dark);
	padding-bottom: 24px;
}

/* Key: cancel the 18px row-gap between adjacent panel rows */
.form-template .gfield.gf-panel+.gfield.gf-panel {
	margin-top: -23px;
	/* matches .gform_fields row-gap */
}

/* Integration panel heading + helper copy */
.form-template .gfield.gf-panel--start .gfield_label,
.form-template .gfield.gf-panel--start legend.gfield_label {
	margin: 0 0 6px;
	padding: 0;
}

.form-template .gfield.gf-panel--start .gfield_description {
	margin: 0 0 10px;
	padding: 0 !important;
	font-family: var(--form-template-font-body);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--form-template-black);
}

.form-template .gfield.gf-panel--start .ginput_container {
	margin-top: 0 !important;
}

.form-template .gfield.gf-panel--start .ginput_container_radio,
.form-template .gfield.gf-panel--start .gfield_radio {
	margin-top: 0 !important;
}

.form-template .cell {
	padding-left: 0;
	padding-right: 0;
}

.form-template__form .gform_confirmation_message_48 {
	color: var(--form-template-red) !important;
}

/* -------------------------------------------------------------------------
   Floating CTA + popup form
   ------------------------------------------------------------------------- */

.form-template__popup-trigger {
	position: fixed;
    right: 0;
    bottom: 80px;
    z-index: 1100;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 8px 30px;
    -webkit-appearance: none;
    appearance: none;
    background: var(--form-template-red) !important;
    border: none;
    border-radius: 0;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
    color: var(--form-template-white, #fff);
    cursor: pointer;
    text-align: left;
    transition: background-color 0.2s ease;
}

.form-template__popup-trigger:hover,
.form-template__popup-trigger:focus {
	background: var(--form-template-red, #b21e27);
	color: var(--form-template-white, #fff);
	outline: none;
	opacity: 0.8;
}

.form-template__popup-trigger-kicker {
	font-family: var(--form-template-font-body, "Segoe UI", sans-serif);
	font-size: 15px;
	font-weight: 700!important;
	line-height: 1.2;
	text-transform: none;
}

.form-template__popup-trigger-action {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	font-weight: 400!important;
	line-height: 1.2;
}

.form-template__popup-trigger-action::after {
	content: "";
	display: inline-block;
	width: 7px;
	height: 11px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7' height='11' viewBox='0 0 7 11' fill='none'%3E%3Cpath d='M1 1L5.5 5.5L1 10' stroke='%23ffffff' stroke-width='1.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

body:has(.form-template__popup[open]) .form-template__popup-trigger {
	visibility: hidden;
}

.form-template__popup {
	position: fixed;
	width: min(760px, calc(100% - 32px));
	max-height: calc(100vh - 48px);
	margin: auto;
	padding: 0;
	border: none;
	background: transparent;
	overflow: visible;
}

.form-template__popup::backdrop {
	background: rgba(0, 0, 0, 0.7);
}

.form-template__popup-close {
	position: absolute;
    top: 0;
    right: -40px;
    z-index: 2;
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: 0;
    background: var(--form-template-red) !important;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.16);
	cursor: pointer;
}

/* .form-template__popup-close:hover,
.form-template__popup-close:focus {
	background: var(--form-template-white, #fff);
	outline: 2px solid var(--form-template-red, #b21e27);
	outline-offset: 2px;
} */

.form-template__popup-close-icon {
	display: block;
	width: 14px;
	height: 14px;
	margin: 0 auto;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M1 1L13 13M13 1L1 13' stroke='%23ffffff' stroke-width='1.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

.form-template.form-template--popup {
	padding: 0;
	background: transparent;
}

.form-template__form--popup {
	max-height: calc(100vh - 48px);
	overflow-y: auto;
}

.form-template__popup-intro {
	margin: 0 0 24px;
	color: var(--form-template-black);
}

.form-template__popup-intro > *:last-child {
	margin-bottom: 0;
}

@media( min-width : 1200px ) {
	.form-template__form .gfield--width-seven-twelfths {
		grid-column: span 7!important;
	}

	.form-template__form .gfield--width-five-twelfths {
		grid-column: span 5!important;
	}
}
 
.form-template__form .gfield--type-consent .ginput_container_consent input[type="checkbox"] {
	border: 1.5px solid var(--form-template-black);
}

.form-template__form .gform-field-label__text a {
	color: var(--form-template-black)!important;
}

.form-template.form-template--popup .gform_heading .gform_title {
	display: block;
	margin: 0 0 24px;
	font-family: var(--form-template-font-heading);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	color: var(--form-template-black);
}

.form-template.form-template--popup .gform_wrapper.gravity-theme .gfield--type-html {
	display: block;
	align-items: unset;
}

.form-template.form-template--popup .gform_wrapper.gravity-theme .gform_footer,
.form-template.form-template--popup .gform_wrapper.gravity-theme .gform_page_footer,
.form-template.form-template--popup .gform_wrapper.gravity-theme .gform-page-footer {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	gap: 12px;
	width: 100%;
	margin: 18px 0 0;
	padding: 0 !important;
	border: none !important;
	text-align: right;
}

.form-template.form-template--popup .gform_wrapper.gravity-theme .gform_footer .button,
.form-template.form-template--popup .gform_wrapper.gravity-theme .gform_footer input[type="submit"],
.form-template.form-template--popup .gform_wrapper.gravity-theme .gform_page_footer input[type="submit"],
.form-template.form-template--popup .gform_wrapper.gravity-theme .gform-page-footer input[type="submit"] {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	min-width: 0;
	min-height: 0;
	height: auto;
	margin: 0;
	padding: 6px 35px !important;
	border: none !important;
	border-radius: 0;
	background: var(--form-template-red) !important;
	color: var(--form-template-white) !important;
	font-family: var(--form-template-font-heading);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	text-transform: uppercase;
	cursor: pointer;
}

.form-template.form-template--popup .gform_wrapper.gravity-theme .gform_footer .button:hover,
.form-template.form-template--popup .gform_wrapper.gravity-theme .gform_footer input[type="submit"]:hover,
.form-template.form-template--popup .gform_wrapper.gravity-theme .gform_footer .button:focus,
.form-template.form-template--popup .gform_wrapper.gravity-theme .gform_footer input[type="submit"]:focus {
	background: var(--form-template-red) !important;
	color: var(--form-template-white) !important;
}

.form-template.form-template--popup .gform_confirmation_message {
	margin: 0;
	font-family: var(--form-template-font-heading);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	text-align: left;
	text-transform: none;
	color: var(--form-template-black);
}

.form-template__popup-footer {
	width: 100%;
    display: block;
    margin-top: 30px;
    background: var(--form-template-red) !important;
    color: #ffff;
    text-align: center;
    padding: 10px;

	& a {
		color: #ffff;
	}
}

.form-template__form .gform_button.button:hover {
    background: var(--form-template-red) !important;
    opacity: 0.8;
}

/* Map container */

.map-container {
	width: 100%;
	height: auto;
	background-color: #d7d9d8;
	display: flex;
	gap: 20px;
	padding: 20px;
	margin-top: 30px;
	flex-direction: column;

	@media (min-width: 767px) {
		flex-direction: row;
	}
}

.map-container iframe {
	width: 100%;
	height: auto;
	border: 1px solid #5e5e5e!important;

	@media (min-width: 767px) {
		width: 250px;
	}
}   

.form-template__popup .gform_validation_errors>h2 .gform-icon {
	align-items: flex-start!important;
	inset-block-start: 17px!important;
}


/* -------------------------------------------------------------------------
   Responsive
   ------------------------------------------------------------------------- */

@media (max-width: 1023px) {
	.form-template {
		padding: 40px 0;
	}

	.form-template__form {
		padding: 32px 24px;
	}

	.form-template.form-template--popup {
		padding: 0;
	}

	.form-template .gform_wrapper .gf_page_steps {
		gap: 16px;
	}

	.form-template .gform_wrapper .gf_step::after {
		margin-left: 16px;
	}
}


@media (max-width: 767px) {
	.form-template__form {
		padding: 24px 16px;
	}

	.form-template__popup-close {
		top: 8px;
		right: 8px;
	}

	.form-template__form--popup {
		padding: 48px 16px 24px;
	}

	.form-template .form-template__icon-boxes-list {
		flex-direction: column;
	}

	.form-template .form-template__icon-boxes-list>.form-template__icon-box:not(:last-child) {
		margin-right: 0;
		margin-bottom: -2px;
	}

	.form-template .form-template__icon-boxes-list>.form-template__icon-box .form-template__icon-box-card {
		border-radius: 0;
	}

	.form-template .form-template__icon-boxes-list>.form-template__icon-box:first-child:not(:last-child) .form-template__icon-box-card {
		border-radius: 8px 8px 0 0;
	}

	.form-template .form-template__icon-boxes-list>.form-template__icon-box:last-child:not(:first-child) .form-template__icon-box-card {
		border-radius: 0 0 8px 8px;
	}

	.form-template .form-template__icon-boxes-list>.form-template__icon-box:only-child .form-template__icon-box-card {
		border-radius: 8px;
	}

	.form-template .gform_wrapper .gf_page_steps {
		flex-wrap: nowrap;
		gap: 12px;
	}

	.form-template .gform_wrapper .gf_step span.gf_step_label {
		max-width: 88px;
		font-size: 13px !important;
		min-height: 4em;
	}

	.form-template .gform_wrapper .gf_step::after {
		margin-left: 12px;
	}
}

@media (max-width: 639px) {

	.form-template .gform_wrapper .gform_page_footer,
	.form-template .gform_wrapper .gform-page-footer {
		justify-content: stretch;
	}

	.form-template .gform_wrapper .gform_page_footer .button,
	.form-template .gform_wrapper .gform-page-footer .button,
	.form-template .gform_wrapper .gform_page_footer input[type="button"],
	.form-template .gform_wrapper .gform-page-footer input[type="button"],
	.form-template .gform_wrapper .gform_page_footer input[type="submit"],
	.form-template .gform_wrapper .gform-page-footer input[type="submit"] {
		width: 100% !important;
	}

	.form-template__popup-trigger {
		right: 16px;
		bottom: 60px;
		padding: 12px 16px;
	}

	.form-template__popup {
		width: calc(100% - 24px);
		max-height: calc(100vh - 24px);
	}

	.form-template__popup-close {
		top: 8px;
		right: 8px;
	}

	.form-template__form--popup {
		padding: 48px 16px 24px;
		max-height: calc(100vh - 24px);
	}

	.form-template.form-template--popup .gform_wrapper.gravity-theme .gform_footer .button,
	.form-template.form-template--popup .gform_wrapper.gravity-theme .gform_footer input[type="submit"] {
		width: 100% !important;
	}
}


/* -------------------------------------------------------------------------
   Floating CTA on mobile - mail icon only
   Kept last so it wins over the trigger rules in the queries above.
   ------------------------------------------------------------------------- */

.form-template__popup-trigger-icon {
	display: none;
	width: 24px;
	height: 24px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Crect x='2.5' y='4.75' width='19' height='14.5' stroke='%23ffffff' stroke-width='1.6'/%3E%3Cpath d='M3 5.5L12 12.5L21 5.5' stroke='%23ffffff' stroke-width='1.6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

@media (max-width: 767px) {
	.form-template__popup-trigger {
		right: 16px;
		bottom: 60px;
		gap: 0;
		padding: 12px;
	}

	.form-template__popup-trigger-icon {
		display: block;
	}

	.form-template__popup-trigger-kicker,
	.form-template__popup-trigger-action {
		display: none;
	}
}