/**
 * Forminator contact form — Figma underline fields + pill CTA.
 * Targets module #72 (local) and #756 (prod / alternate).
 */

:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default {
	--hypro-cf-ink: #262a35;
	--hypro-cf-label: #313644;
	--hypro-cf-line: #dbdde1;
	--hypro-cf-focus: #2ec4e6;
	--hypro-cf-btn-gradient: linear-gradient(96.59deg, #0b9cbc -22.04%, #73d7ed 83.22%);
	--hypro-cf-btn-border: #dbdde1;
	--hypro-cf-btn-text: #313644d9;
	--Typeface-Headline: Saira, sans-serif;
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: clamp(1.5rem, 3vw, 2.5rem);
	row-gap: clamp(1.5rem, 3vw, 2rem);
	padding: 0;
	border: none;
	background: transparent;
}

:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default > .forminator-response-message,
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default > .forminator-row:has(.forminator-textarea),
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default > .forminator-row:has(.forminator-button-submit),
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default > .forminator-row-last,
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default > .forminator-row:has(.forminator-col-6),
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default > .forminator-row:has(.forminator-col-5),
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default > .forminator-row:has(.forminator-col-7) {
	grid-column: 1 / -1;
}

:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default > .forminator-row:has(.forminator-col-6),
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default > .forminator-row:has(.forminator-col-5) {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: clamp(1.5rem, 3vw, 2.5rem);
}

:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default > .forminator-row {
	margin: 0 !important;
	padding: 0 !important;
}

:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-col {
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
	float: none !important;
}

:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-field {
	margin: 0;
}

/* Labels — Figma Typeface/Headline 14 / 400 / 130%
   !important needed: Forminator style-{id}.css loads later at equal specificity. */
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-label {
	display: block;
	margin: 0 0 0.25rem;
	padding: 0;
	font-family: var(--Typeface-Headline), Saira, Inter, sans-serif !important;
	font-size: 0.875rem !important; /* 14px */
	font-weight: 400 !important;
	font-style: normal !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
	color: var(--hypro-cf-label) !important;
}

:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-label .forminator-required {
	color: var(--hypro-cf-label) !important;
}

/* Underline fields — bottom border only */
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-input,
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-input input,
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-textarea,
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-select2 + .forminator-select .selection .select2-selection--single[role='combobox'] {
	width: 100%;
	min-height: 2.5rem;
	margin: 0;
	padding: 0.5rem 0 !important;
	border: none !important;
	border-bottom: 1px solid var(--hypro-cf-line) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-family: Inter, sans-serif !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	line-height: 1.5;
	color: var(--hypro-cf-ink) !important;
}

:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-textarea {
	min-height: 5.5rem !important;
	resize: vertical;
}

:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-input::placeholder,
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-textarea::placeholder {
	color: #909aad;
	opacity: 1;
}

:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-input:hover,
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-textarea:hover,
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-select2 + .forminator-select .selection .select2-selection--single[role='combobox']:hover,
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-input:focus,
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-textarea:focus,
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-select2 + .forminator-select .selection .select2-selection--single[role='combobox']:focus,
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-select2 + .forminator-select.select2-container--open .selection .select2-selection--single[role='combobox'] {
	border-color: transparent !important;
	border-bottom-color: var(--hypro-cf-focus) !important;
	background: transparent !important;
	box-shadow: none !important;
	outline: none !important;
}

:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-field.forminator-has_error .forminator-input,
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-field.forminator-has_error .forminator-textarea,
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-field.forminator-has_error .forminator-select2 + .forminator-select .selection .select2-selection--single[role='combobox'] {
	border-bottom-color: #e51919 !important;
}

/* Select2 — rendered value */
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-select2 + .forminator-select .selection .select2-selection--single[role='combobox'] .select2-selection__rendered {
	padding: 0 1.75rem 0 0 !important;
	color: var(--hypro-cf-ink) !important;
	font-family: Inter, sans-serif !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
}

/* Select2 chevron — sit on the underline, not mid-label */
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-select2 + .forminator-select .selection .select2-selection--single[role='combobox'] {
	position: relative !important;
}

:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-select2 + .forminator-select .selection .select2-selection--single[role='combobox'] .select2-selection__arrow {
	position: absolute !important;
	top: auto !important;
	right: 0 !important;
	bottom: 0.55rem !important;
	width: 1rem !important;
	height: 1rem !important;
	margin: 0 !important;
	transform: none !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	color: var(--hypro-cf-ink) !important;
}

:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-select2 + .forminator-select .selection .select2-selection--single[role='combobox'] .select2-selection__arrow b {
	position: static !important;
	top: auto !important;
	left: auto !important;
	margin: 0 !important;
	border: none !important;
}

/*
 * Select2 dropdown panel — appended to body as:
 * .forminator-select-dropdown.forminator-custom-form-{id}.forminator-dropdown--default
 */
.forminator-select-dropdown-container--open :is(
	.forminator-select-dropdown.forminator-custom-form-72.forminator-dropdown--default,
	.forminator-select-dropdown.forminator-custom-form-756.forminator-dropdown--default
) {
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid #dbdde1 !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
}

.forminator-select-dropdown-container--open :is(
	.forminator-select-dropdown.forminator-custom-form-72.forminator-dropdown--default,
	.forminator-select-dropdown.forminator-custom-form-756.forminator-dropdown--default
) .select2-results,
.forminator-select-dropdown-container--open :is(
	.forminator-select-dropdown.forminator-custom-form-72.forminator-dropdown--default,
	.forminator-select-dropdown.forminator-custom-form-756.forminator-dropdown--default
) .select2-results > .select2-results__options {
	margin: 0 !important;
	padding: 0 !important;
	background: #fff !important;
}

.forminator-select-dropdown-container--open :is(
	.forminator-select-dropdown.forminator-custom-form-72.forminator-dropdown--default,
	.forminator-select-dropdown.forminator-custom-form-756.forminator-dropdown--default
) .select2-results .select2-results__option {
	margin: 0 !important;
	padding: 0.5rem 0.75rem !important;
	border: none !important;
	background: #fff !important;
	font-family: Inter, sans-serif !important;
	font-size: 1rem !important; /* match input fields */
	font-weight: 400 !important;
	line-height: 1.5 !important;
	color: #262a35 !important;
}

.forminator-select-dropdown-container--open :is(
	.forminator-select-dropdown.forminator-custom-form-72.forminator-dropdown--default,
	.forminator-select-dropdown.forminator-custom-form-756.forminator-dropdown--default
) .select2-results .select2-results__option--highlighted[aria-selected],
.forminator-select-dropdown-container--open :is(
	.forminator-select-dropdown.forminator-custom-form-72.forminator-dropdown--default,
	.forminator-select-dropdown.forminator-custom-form-756.forminator-dropdown--default
) .select2-results .select2-results__option[aria-selected='true'] {
	background: #f4f5f7 !important;
	color: #262a35 !important;
}

/* Character counter */
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-description,
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-description p {
	margin-top: 0.35rem;
	font-size: 0.75rem;
	color: #909aad;
	text-align: right;
}

/* Submit — Figma gradient + grey border + carbon text */
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-button-submit,
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-button-submit.hypro-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	min-width: 8.5rem;
	margin: 0.25rem 0 0;
	padding: 0.75rem 2.25rem !important;
	border: 1px solid var(--hypro-cf-btn-border) !important;
	border-radius: 1000px !important;
	background-image: var(--hypro-cf-btn-gradient) !important;
	background-color: #0b9cbc !important;
	background-size: auto !important;
	box-shadow: none !important;
	font-family: var(--Typeface-Headline), Saira, Inter, sans-serif !important;
	font-size: 1rem !important;
	font-weight: 500 !important;
	line-height: 1.3;
	color: var(--hypro-cf-btn-text) !important;
	cursor: pointer;
	transition: opacity 0.2s ease, filter 0.2s ease;
}

:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-button-submit:hover,
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-button-submit.hypro-btn:hover,
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-button-submit:focus,
:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-button-submit.hypro-btn:focus {
	opacity: 0.94;
	filter: saturate(1.05);
	color: var(--hypro-cf-btn-text) !important;
	border-color: var(--hypro-cf-btn-border) !important;
}

:is(
	.forminator-ui#forminator-module-72,
	.forminator-ui#forminator-module-756
).forminator-design--default .forminator-button-submit:focus-visible {
	outline: 2px solid #0b9cbc;
	outline-offset: 3px;
}

@media (max-width: 700px) {
	:is(
		.forminator-ui#forminator-module-72,
		.forminator-ui#forminator-module-756
	).forminator-design--default {
		grid-template-columns: 1fr;
	}

	:is(
		.forminator-ui#forminator-module-72,
		.forminator-ui#forminator-module-756
	).forminator-design--default > .forminator-row:has(.forminator-col-6),
	:is(
		.forminator-ui#forminator-module-72,
		.forminator-ui#forminator-module-756
	).forminator-design--default > .forminator-row:has(.forminator-col-5) {
		grid-template-columns: 1fr;
	}
}
