/* ==========================================================================
   CONTACT FORM
   ========================================================================== */

.contact-form {
	position: relative;
	background: var(--bg-primary);
	color: var(--text-primary);
	font-family: var(--font-family-base);
	padding: var(--section-padding);
	padding-bottom: 60px!important;
}

.contact-form__inner {
	max-width: 900px;
	margin: 0 auto;
}

.contact-form__header {
	margin-bottom: var(--space-3xl);
	text-align: center;
}

.contact-form__required-note {
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.65);
    margin: 0 0 1.5rem;
}

.contact-form__eyebrow {
	display: inline-block;
	font-size: var(--font-size-eyebrow);
	font-weight: var(--font-weight-bold);
	text-transform: uppercase;
	letter-spacing: var(--letter-spacing-eyebrow);
	color: var(--accent);
	margin-bottom: var(--space-lg);
}

.contact-form__title {
	font-family: var(--font-family-base);
	font-weight: var(--font-weight-black);
	font-size: var(--font-size-h2);
	line-height: var(--line-height-heading);
	text-transform: uppercase;
	margin: 0 0 var(--space-lg);
	color: var(--text-primary);
}

.contact-form__title-line {
	display: block;
}

.contact-form__title em {
	font-style: normal;
	font-weight: inherit;
}

.contact-form__title-gold {
	color: var(--accent);
}

.contact-form__lead {
	font-size: var(--font-size-base);
	line-height: var(--line-height-copy-dense);
	color: white;
	max-width: 600px;
	margin: 0 auto;
}

.contact-form__lead > * {
	margin: 0;
}

.contact-form__lead > * + * {
	margin-top: var(--space-sm);
}

.contact-form__form-embed {
	width: 100%;
}

.contact-form .forminator-edit-module {
	display: none;
}

.contact-form .forminator-ui.forminator-custom-form {
	display: flex;
	flex-direction: column;
	gap: var(--space-lg);
	margin: 0 !important;
	padding: 0 !important;
	font-family: var(--font-family-base);
	color: var(--text-primary);
}

.contact-form .forminator-row {
	display: grid !important;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--space-lg);
	margin: 0 !important;
}

.contact-form .forminator-col {
	padding: 0 !important;
	margin: 0 !important;
	min-width: 0;
}

.contact-form .forminator-col-6 {
	grid-column: span 6;
	width: 100% !important;
	max-width: 100% !important;
}

.contact-form .forminator-col-12,
.contact-form .forminator-row-last .forminator-col {
	grid-column: 1 / -1;
	width: 100% !important;
	max-width: 100% !important;
}

.contact-form .forminator-field {
	display: flex;
	flex-direction: column;
	gap: var(--space-xs);
	margin: 0 !important;
}

.contact-form .forminator-field p span a{
	color: var(--gold);
}

.contact-form .forminator-field-select {
	position: relative;
}

.contact-form .forminator-field-select::after{
	content: '';
	position: absolute;
	top: 51px;
	right: var(--space-md);
	width: 11px;
	height: 8px;
	background: var(--accent);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	transform: translateY(-50%);
	pointer-events: none;
	transition: none;
}

.contact-form .forminator-label {
	font-size: var(--font-size-sm-2);
	font-weight: var(--font-weight-semibold);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--text-muted-strong);
	margin: 0 !important;
	line-height: var(--line-height-label);
}

.contact-form .forminator-required,
.contact-form__required {
	color: var(--accent) !important;
}

.contact-form .forminator-field-consent .forminator-field > label{
	display: none!important;
}

.contact-form .forminator-field-consent .forminator-checkbox__wrapper label{
    font-size: 0.82rem!important;
    color: rgba(255, 255, 255, 0.75)!important;
    line-height: 1.5!important;
}

.contact-form .forminator-input,
.contact-form .forminator-textarea,
.contact-form .forminator-select,
.contact-form .forminator-select--field {
	width: 100% !important;
	background: var(--surface-form) !important;
	border: 1px solid var(--border-default) !important;
	border-radius: var(--radius-sm) !important;
	box-shadow: none !important;
	padding: 0.9rem var(--space-md) !important;
	color: var(--text-primary) !important;
	font-family: var(--font-family-base) !important;
	font-size: var(--font-size-sm-8) !important;
	line-height: var(--line-height-label) !important;
	transition: var(--transition-standard-fast);
}

.contact-form .forminator-input::placeholder,
.contact-form .forminator-textarea::placeholder {
	color: rgba(var(--color-white-rgb), 0.42) !important;
}

.contact-form .forminator-input:focus,
.contact-form .forminator-textarea:focus,
.contact-form .forminator-select:focus,
.contact-form .forminator-select--field:focus,
.contact-form .forminator-field.forminator-is_active .forminator-input,
.contact-form .forminator-field.forminator-is_active .forminator-textarea {
	outline: none !important;
	border-color: var(--accent) !important;
	background: var(--surface-medium) !important;
}

.contact-form .forminator-textarea {
	min-height: 140px;
	resize: vertical;
}

.contact-form .forminator-select,
.contact-form .forminator-select--field {
	appearance: none !important;
	-webkit-appearance: none !important;
}

.contact-form .select2-container {
	width: 100% !important;
}

.contact-form .select2-container .select2-selection {
	min-height: 50px;
	background-color: var(--surface-low) !important;
	border: 1px solid var(--border-default) !important;
	border-radius: var(--radius-sm) !important;
	box-shadow: none !important;
	color: var(--text-primary) !important;
	display: flex;
	align-items: center;
	position: relative;
}

.contact-form .select2-container .select2-selection__rendered {
	color: var(--text-primary) !important;
	font-family: var(--font-family-base) !important;
	font-size: var(--font-size-sm-8) !important;
	line-height: var(--line-height-label) !important;
	padding: 0.9rem var(--space-md) !important;
}

.contact-form .select2-container .select2-selection__placeholder {
	color: rgba(var(--color-white-rgb), 0.42) !important;
}

.contact-form .select2-container .select2-selection__arrow,
.contact-form .select2-container .select2-selection__arrow b {
	display: none !important;
}

.contact-form .forminator-has_error .forminator-input,
.contact-form .forminator-has_error .forminator-textarea,
.contact-form .forminator-has_error .forminator-select--field,
.contact-form .forminator-has_error .forminator-checkbox-box {
	border-color: #f88 !important;
}

.contact-form .forminator-error-message {
	display: block;
	margin-top: var(--space-2xs);
	color: #f88;
	font-size: var(--font-size-sm-2);
	line-height: var(--line-height-label);
}

.contact-form .forminator-response-message {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
	color: var(--text-muted-strong);
	font-size: var(--font-size-sm-5);
	line-height: var(--line-height-label);
	text-align: center;
}

.contact-form .forminator-response-message[aria-hidden="true"]:empty {
	display: none;
}

.contact-form .forminator-response-message.forminator-error {
	color: #f88;
	display: none!important;
}

.contact-form .forminator-response-message.forminator-success {
	color: #6ed98f;
}

.contact-form .forminator-checkbox__wrapper {
	display: flex;
	align-items: flex-start;
	gap: var(--space-sm);
}

.contact-form .forminator-checkbox {
	position: relative;
	display: inline-flex;
	width: 20px;
	height: 20px;
	min-width: 20px;
	margin-top: 0.3rem;
	cursor: pointer;
}

.contact-form .forminator-checkbox input[type="checkbox"] {
	position: absolute;
	inset: 0;
	width: 20px;
	height: 20px;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

.contact-form .forminator-checkbox-box {
	display: block;
	width: 20px;
	height: 20px;
	min-width: 20px;
	min-height: 20px;
	border: 2px solid var(--accent);
	border-radius: 3px;
	background: transparent;
	position: relative;
	transition: var(--transition-standard-fast);
}

.contact-form .forminator-checkbox:hover .forminator-checkbox-box {
	border-color: var(--text-primary);
	background: var(--accent-soft);
}

.contact-form .forminator-checkbox input[type="checkbox"]:checked + .forminator-checkbox-box {
	background: var(--accent);
	border-color: var(--accent);
}

.contact-form .forminator-checkbox input[type="checkbox"]:checked + .forminator-checkbox-box::after {
	content: '✓';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: var(--bg-primary);
	font-size: var(--font-size-body-sm);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-flat);
}

.contact-form .forminator-checkbox input[type="checkbox"]:focus-visible + .forminator-checkbox-box,
.contact-form .forminator-button-submit:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 3px;
}

.contact-form .forminator-checkbox__label,
.contact-form .forminator-consent__label {
	font-size: var(--font-size-sm-4);
	color: var(--text-muted-strong);
	line-height: var(--line-height-copy-tight);
}

.contact-form .forminator-checkbox__label p,
.contact-form .forminator-consent__label p {
	margin: 0;
}

.contact-form .forminator-checkbox__label a,
.contact-form .forminator-consent__label a {
	color: var(--accent);
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.contact-form .forminator-row-last {
	display: block !important;
	margin-top: var(--space-md) !important;
}

.contact-form .forminator-row-last .forminator-field {
	align-items: center;
}

.contact-form__submit,
.contact-form .forminator-button-submit {
	position: relative !important;
	align-items: center;
	justify-content: center;
	gap: var(--space-xs);
	padding: 12px 24px !important;
	background: transparent !important;
	border: 1px solid var(--border-strong) !important;
	border-radius: var(--radius-sm) !important;
	box-shadow: none !important;
	color: var(--text-primary) !important;
	font-family: var(--font-family-base) !important;
	font-size: var(--font-size-xs-2) !important;
	font-weight: var(--font-weight-medium) !important;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	line-height: var(--line-height-label) !important;
	cursor: pointer;
	overflow: hidden;
	transition: var(--transition-standard);
	z-index: 0;
	width: fit-content;
    margin: auto;
}

.contact-form__submit::after,
.contact-form .forminator-button-submit::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	background: var(--btn-primary-ripple);
	border-radius: 50%;
	transform: translate(-50%, -50%);
	transition: var(--transition-dimensions);
	z-index: -1;
}

.contact-form__submit:hover,
.contact-form .forminator-button-submit:hover {
	border-color: var(--accent) !important;
	color: var(--accent) !important;
}

.contact-form__submit:hover::after,
.contact-form .forminator-button-submit:hover::after {
	width: 300px;
	height: 300px;
}

.contact-form__submit-arrow {
	transition: var(--transition-transform-fast);
	margin-left: 10px;
}

.contact-form__submit:hover .contact-form__submit-arrow {
	transform: translateX(4px);
}

.contact-form__empty-form {
	border: 1px dashed var(--border-default);
	border-radius: var(--radius-sm);
	padding: var(--space-lg);
	color: var(--text-muted-strong);
	font-size: var(--font-size-sm-8);
	line-height: var(--line-height-label);
	text-align: center;
}

@media (max-width: 1023px) {
	.contact-form {
		padding: var(--section-padding-mobile-extended);
	}

	.contact-form .forminator-row {
		grid-template-columns: 1fr;
	}

	.contact-form .forminator-col-6,
	.contact-form .forminator-col-12 {
		grid-column: 1 / -1;
	}

	.contact-form .forminator-row-last .forminator-field {
		align-items: stretch;
	}
}
