/* ==========================================================================
   GradMig — Modern Contact Form Styling (v2 — fixed specificity + responsive)
   Primary:   #E3BF77 (gold)
   Secondary: #122A4E (navy)
   Scoped to Forminator form #17607 (Contact page) using the form's ID
   selector so it always beats Forminator's own class-based rules.
   ========================================================================== */

#forminator-module-17607.forminator-custom-form-17607 {
	--gm-primary: #E3BF77;
	--gm-primary-dark: #C99F52;
	--gm-secondary: #122A4E;
	--gm-secondary-light: #1E3E6E;
	--gm-field-bg: #F7F8FA;
	--gm-border: #E3E7EC;

	box-sizing: border-box !important;
	position: relative;
	width: 100% !important;
	max-width: 100% !important;
	padding-top: clamp(28px, 4vw, 48px) !important;
	padding-right: clamp(24px, 4vw, 48px) !important;
	padding-bottom: clamp(24px, 3vw, 40px) !important;
	padding-left: clamp(24px, 4vw, 48px) !important;
	background: #FFFFFF !important;
	border: 1px solid #EEF1F5 !important;
	border-radius: 26px !important;
	box-shadow: 0 20px 60px -20px rgba(18, 42, 78, 0.25), 0 2px 10px rgba(18, 42, 78, 0.06) !important;
	overflow: hidden;
	isolation: isolate;
}

#forminator-module-17607.forminator-custom-form-17607 *,
#forminator-module-17607.forminator-custom-form-17607 *::before,
#forminator-module-17607.forminator-custom-form-17607 *::after {
	box-sizing: border-box;
}

/* decorative top accent bar */
#forminator-module-17607.forminator-custom-form-17607::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 6px;
	border-radius: 26px 26px 0 0;
	background: linear-gradient(90deg, var(--gm-secondary) 0%, var(--gm-primary) 100%);
}

/* soft glow blob in the corner for a little creative flair */
#forminator-module-17607.forminator-custom-form-17607::after {
	content: "";
	position: absolute;
	width: 240px;
	height: 240px;
	background: radial-gradient(circle, rgba(227, 191, 119, 0.25) 0%, rgba(227, 191, 119, 0) 70%);
	top: -100px;
	right: -100px;
	z-index: -1;
	border-radius: 50%;
}

#forminator-module-17607 .forminator-row {
	width: 100%;
}

#forminator-module-17607 .forminator-field {
	margin-bottom: 22px;
}

/* Labels */
#forminator-module-17607 .forminator-label {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gm-secondary) !important;
	margin-bottom: 8px !important;
}

#forminator-module-17607 .forminator-label::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--gm-primary);
	display: inline-block;
	flex: 0 0 auto;
}

#forminator-module-17607 .forminator-required {
	color: var(--gm-primary-dark) !important;
}

/* Text inputs, phone, textarea */
#forminator-module-17607 .forminator-input,
#forminator-module-17607 .forminator-textarea {
	width: 100% !important;
	max-width: 100% !important;
	background: var(--gm-field-bg) !important;
	border: 1.5px solid var(--gm-border) !important;
	border-radius: 14px !important;
	padding: 14px 18px !important;
	font-size: 15px !important;
	color: var(--gm-secondary) !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

#forminator-module-17607 .forminator-input::placeholder,
#forminator-module-17607 .forminator-textarea::placeholder {
	color: #9AA3AF;
}

#forminator-module-17607 .forminator-input:focus,
#forminator-module-17607 .forminator-textarea:focus {
	outline: none !important;
	border-color: var(--gm-primary) !important;
	background: #FFFFFF !important;
	box-shadow: 0 0 0 4px rgba(227, 191, 119, 0.25) !important;
}

#forminator-module-17607 .forminator-textarea {
	resize: vertical;
}

#forminator-module-17607 .forminator-description {
	color: #9AA3AF;
	font-size: 12px;
}

/* ---- Select2 dropdown (the "I Need Help With" field) ---- */

/* closed state */
#forminator-module-17607 .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"] {
	background: var(--gm-field-bg) !important;
	border-color: var(--gm-border) !important;
	border-radius: 14px !important;
	height: 50px !important;
	padding: 0 18px !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

#forminator-module-17607 .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"] .select2-selection__rendered {
	color: var(--gm-secondary) !important;
	font-size: 15px !important;
	padding: 0 !important;
}

#forminator-module-17607 .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"]:hover,
#forminator-module-17607 .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"]:focus,
.forminator-ui#forminator-module-17607 .forminator-select2 + .forminator-select.select2-container--open .selection .select2-selection--single[role="combobox"] {
	border-color: var(--gm-primary) !important;
	background: #FFFFFF !important;
	box-shadow: 0 0 0 4px rgba(227, 191, 119, 0.25) !important;
}

#forminator-module-17607 .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"] .select2-selection__arrow {
	color: var(--gm-primary-dark) !important;
}

/* open dropdown panel (Forminator renders it as a sibling matching the form's custom-form class) */
.forminator-select-dropdown-container--open .forminator-custom-form-17607.forminator-dropdown--default {
	background-color: var(--gm-secondary, #122A4E) !important;
	border-color: var(--gm-secondary, #122A4E) !important;
	border-radius: 14px !important;
	overflow: hidden;
	box-shadow: 0 16px 40px -12px rgba(18, 42, 78, 0.45) !important;
	margin-top: 6px !important;
}

.forminator-select-dropdown-container--open .forminator-custom-form-17607.forminator-dropdown--default .select2-results .select2-results__options .select2-results__option,
.forminator-select-dropdown-container--open .forminator-custom-form-17607.forminator-dropdown--default .select2-results .select2-results__options .select2-results__option span:not(.forminator-checkbox-box) {
	background-color: transparent !important;
	color: #E9EEF6 !important;
}

.forminator-select-dropdown-container--open .forminator-custom-form-17607.forminator-dropdown--default .select2-results .select2-results__options .select2-results__option:not(.select2-results__option--selected).select2-results__option--highlighted,
.forminator-select-dropdown-container--open .forminator-custom-form-17607.forminator-dropdown--default .select2-results .select2-results__options .select2-results__option:not(.select2-results__option--selected).select2-results__option--highlighted span:not(.forminator-checkbox-box) {
	background-color: #E3BF77 !important;
	color: #122A4E !important;
	font-weight: 600 !important;
}

.forminator-select-dropdown-container--open .forminator-custom-form-17607.forminator-dropdown--default .select2-results .select2-results__options .select2-results__option.select2-results__option--selected,
.forminator-select-dropdown-container--open .forminator-custom-form-17607.forminator-dropdown--default .select2-results .select2-results__options .select2-results__option.select2-results__option--selected span:not(.forminator-checkbox-box) {
	background-color: #E3BF77 !important;
	color: #122A4E !important;
	font-weight: 700 !important;
}

/* Submit button — ID-anchored + !important so it always beats Forminator's
   own .forminator-ui.forminator-custom-form[data-design=default] rule
   (which otherwise wins on specificity and load order). */
#forminator-module-17607 .forminator-button-submit {
	background: linear-gradient(120deg, var(--gm-secondary) 0%, var(--gm-secondary-light) 100%) !important;
	background-color: var(--gm-secondary) !important;
	color: #FFFFFF !important;
	border: none !important;
	border-radius: 999px !important;
	padding: 15px 38px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	cursor: pointer;
	display: inline-block !important;
	min-width: 160px;
	text-align: center;
	box-shadow: 0 12px 24px -8px rgba(18, 42, 78, 0.5) !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}

#forminator-module-17607 .forminator-button-submit:hover {
	background: linear-gradient(120deg, var(--gm-primary) 0%, var(--gm-primary-dark) 100%) !important;
	background-color: var(--gm-primary) !important;
	color: var(--gm-secondary) !important;
	transform: translateY(-2px);
	box-shadow: 0 16px 28px -8px rgba(227, 191, 119, 0.55) !important;
}

#forminator-module-17607 .forminator-button-submit:active {
	transform: translateY(0);
}

@media (max-width: 782px) {
	#forminator-module-17607 .forminator-button-submit {
		width: 100% !important;
	}
}

@media (max-width: 640px) {
	#forminator-module-17607.forminator-custom-form-17607 {
		border-radius: 20px;
	}
}
