/**
 * Fluent Enquiry Form — visual parity with legacy Gravity Forms.
 *
 * Dark footer band (.contact-inquiry__gravity-form): underline inputs, compact labels, navy submit.
 * Contact page (.contact-page__gravity-form): boxed light inputs matching GF contact styles.
 */

/* ── Shared layout (2-col names/contact, full-width comments/captcha/submit) ──
   Fluent wraps fields in a <fieldset>; grid must target that, not the <form>.
   Putting grid on the form left the fieldset in column 1 only (~half width). */
.contact-inquiry__fluent-form,
.contact-inquiry__fluent-form .fluentform,
.contact-page__gravity-form .witc-enquiry-fluent,
.contact-page__gravity-form .fluentform,
.witc-enquiry-fluent,
.witc-enquiry-fluent .fluentform {
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
	text-transform: none;
}

.contact-inquiry__fluent-form .frm-fluent-form,
.contact-inquiry__fluent-form form.frm-fluent-form,
.contact-page__gravity-form .frm-fluent-form,
.contact-page__gravity-form form.frm-fluent-form,
.witc-enquiry-fluent .frm-fluent-form,
.witc-enquiry-fluent form.frm-fluent-form {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0;
}

.contact-inquiry__fluent-form .frm-fluent-form > fieldset,
.contact-page__gravity-form .frm-fluent-form > fieldset,
.witc-enquiry-fluent .frm-fluent-form > fieldset {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	gap: 0.5rem;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	min-inline-size: 0;
}

@media (min-width: 640px) {
	/* 2-col only for flat fields. Never when Fluent column containers exist
	   (those already provide First|Last and Email|Phone rows — stacking
	   containers in a 2-col grid put all 4 fields on one row). */
	.contact-inquiry__fluent-form .frm-fluent-form > fieldset:not(:has(.ff-t-container)),
	.witc-enquiry-fluent .frm-fluent-form > fieldset:not(:has(.ff-t-container)) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 0.75rem;
	}

	.contact-page__gravity-form .frm-fluent-form > fieldset:not(:has(.ff-t-container)) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 1rem;
	}

	.contact-inquiry__fluent-form .frm-fluent-form > fieldset:has(.ff-t-container),
	.witc-enquiry-fluent .frm-fluent-form > fieldset:has(.ff-t-container),
	.contact-page__gravity-form .frm-fluent-form > fieldset:has(.ff-t-container) {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.contact-inquiry__fluent-form .ff-el-group--full,
	.contact-inquiry__fluent-form .ff-el-group:has([name="comments"]),
	.contact-inquiry__fluent-form .ff-el-group:has(.ff-el-recaptcha),
	.contact-inquiry__fluent-form .ff-el-group:has(.g-recaptcha),
	.contact-inquiry__fluent-form .ff_submit_btn_wrapper,
	.witc-enquiry-fluent .ff-el-group--full,
	.witc-enquiry-fluent .ff-el-group:has([name="comments"]),
	.witc-enquiry-fluent .ff-el-group:has(.ff-el-recaptcha),
	.witc-enquiry-fluent .ff-el-group:has(.g-recaptcha),
	.witc-enquiry-fluent .ff_submit_btn_wrapper,
	.contact-page__gravity-form .ff-el-group--full,
	.contact-page__gravity-form .ff-el-group:has([name="comments"]),
	.contact-page__gravity-form .ff-el-group:has(.ff-el-recaptcha),
	.contact-page__gravity-form .ff-el-group:has(.g-recaptcha),
	.contact-page__gravity-form .ff_submit_btn_wrapper {
		grid-column: 1 / -1;
	}
}

.contact-inquiry__fluent-form .ff-el-group,
.contact-page__gravity-form .ff-el-group,
.witc-enquiry-fluent .ff-el-group {
	margin: 0;
	padding: 0;
	border: 0;
}

.contact-inquiry__fluent-form .ff-el-input--content,
.contact-page__gravity-form .ff-el-input--content,
.witc-enquiry-fluent .ff-el-input--content {
	margin: 0;
}

/* Hide Fluent default field chrome that GF didn't show */
.contact-inquiry__fluent-form .ff-el-tooltip,
.contact-inquiry__fluent-form .ff-el-help,
.witc-enquiry-fluent .ff-el-tooltip,
.witc-enquiry-fluent .ff-el-help {
	display: none;
}

.contact-inquiry__fluent-form .ff-el-progress,
.contact-page__gravity-form .ff-el-progress {
	display: none;
}

/* ==========================================================================
   Dark inquiry band (footer) — match Gravity underline look
   ========================================================================== */

.contact-inquiry__gravity-form .witc-enquiry-fluent .ff-el-input--label,
.contact-inquiry__gravity-form .witc-enquiry-fluent .ff-el-input--label label {
	display: block;
	margin: 0 0 0.1rem;
	padding: 0;
	font-size: 0.625rem;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.01em;
	text-transform: none;
	color: color-mix(in oklch, white 72%, transparent);
}

.contact-inquiry__gravity-form .witc-enquiry-fluent .ff-el-is-required.asterisk-right label::after,
.contact-inquiry__gravity-form .witc-enquiry-fluent .ff-el-is-required.asterisk-left label::before {
	color: color-mix(in oklch, #00b4d8 70%, white 30%);
	font-size: 0.5625rem;
	font-weight: 400;
	font-style: normal;
}

.contact-inquiry__gravity-form .witc-enquiry-fluent .ff-el-form-control,
.contact-inquiry__gravity-form .witc-enquiry-fluent input.ff-el-form-control,
.contact-inquiry__gravity-form .witc-enquiry-fluent textarea.ff-el-form-control,
.contact-inquiry__gravity-form .witc-enquiry-fluent select.ff-el-form-control {
	width: 100% !important;
	min-height: auto;
	margin: 0;
	padding: 0.25rem 0 !important;
	border: 0 !important;
	border-bottom: 1px solid color-mix(in oklch, white 26%, transparent) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #fff !important;
	font-family: inherit;
	font-size: 0.75rem !important;
	font-weight: 400 !important;
	line-height: 1.35;
	box-shadow: none !important;
	transition: border-color 0.15s ease;
	-webkit-appearance: none;
	appearance: none;
}

.contact-inquiry__gravity-form .witc-enquiry-fluent .ff-el-form-control::placeholder {
	color: color-mix(in oklch, white 34%, transparent);
	font-weight: 400;
	opacity: 1;
}

.contact-inquiry__gravity-form .witc-enquiry-fluent .ff-el-form-control:focus {
	outline: none;
	border-bottom-color: color-mix(in oklch, #00b4d8 55%, white) !important;
	box-shadow: none !important;
	background: transparent !important;
}

.contact-inquiry__gravity-form .witc-enquiry-fluent textarea.ff-el-form-control {
	min-height: 2.25rem;
	max-height: 3.5rem;
	resize: vertical;
}

/* CAPTCHA — match GF captcha frame on dark band */
.contact-inquiry__gravity-form .witc-enquiry-fluent .ff-el-group:has(.ff-el-recaptcha) .ff-el-input--label label,
.contact-inquiry__gravity-form .witc-enquiry-fluent .ff-el-group:has(.g-recaptcha) .ff-el-input--label label {
	margin-bottom: 0.25rem;
	font-size: 0.5625rem;
	font-weight: 500;
	color: color-mix(in oklch, white 55%, transparent);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.contact-inquiry__gravity-form .witc-enquiry-fluent .ff-el-recaptcha,
.contact-inquiry__gravity-form .witc-enquiry-fluent .g-recaptcha {
	overflow: hidden;
	border-radius: 1.125rem;
	border: 1px solid color-mix(in oklch, white 18%, transparent);
	background: color-mix(in oklch, white 6%, transparent);
	padding: 0.5rem;
}

/* Submit — right-aligned navy button like GF */
.contact-inquiry__gravity-form .witc-enquiry-fluent .ff_submit_btn_wrapper,
.contact-inquiry__gravity-form .witc-enquiry-fluent .ff_submit_btn_wrapper.ff-text-left,
.contact-inquiry__gravity-form .witc-enquiry-fluent .ff_submit_btn_wrapper.ff-text-right {
	display: flex !important;
	justify-content: flex-end !important;
	margin: 0.15rem 0 0;
	padding: 0;
	text-align: right !important;
}

.contact-inquiry__gravity-form .witc-enquiry-fluent .ff-btn-submit,
.contact-inquiry__gravity-form .witc-enquiry-fluent button.ff-btn-submit,
.contact-inquiry__gravity-form .witc-enquiry-fluent .ff-btn.ff-btn-submit,
.contact-inquiry__gravity-form .witc-enquiry-fluent button.ff_btn_style {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	min-width: 0 !important;
	min-height: 2.5rem !important;
	margin: 0 !important;
	padding: 0 1.25rem !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: #003366 !important;
	background-color: #003366 !important;
	background-image: none !important;
	color: #fff !important;
	font-family: inherit !important;
	font-size: 0.8125rem !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	cursor: pointer;
	box-shadow: 0 2px 8px -4px rgba(0, 31, 61, 0.32) !important;
	transition: background 0.15s ease, box-shadow 0.15s ease;
}

.contact-inquiry__gravity-form .witc-enquiry-fluent .ff-btn-submit:hover,
.contact-inquiry__gravity-form .witc-enquiry-fluent .ff-btn-submit:focus-visible,
.contact-inquiry__gravity-form .witc-enquiry-fluent button.ff-btn-submit:hover,
.contact-inquiry__gravity-form .witc-enquiry-fluent button.ff-btn-submit:focus-visible {
	background: color-mix(in oklch, #003366 88%, black) !important;
	background-color: color-mix(in oklch, #003366 88%, black) !important;
	color: #fff !important;
	box-shadow: 0 4px 12px -4px rgba(0, 31, 61, 0.38);
	filter: none;
	transform: none;
	opacity: 1 !important;
}

.contact-inquiry__gravity-form form.fluent_form_3 .ff-btn-submit:not(.ff_btn_no_style),
.contact-inquiry__gravity-form form.fluent_form_3 .ff-btn-submit.ff_btn_style:not(.ff_btn_no_style),
.contact-page__gravity-form form.fluent_form_3 .ff-btn-submit:not(.ff_btn_no_style),
.contact-page__gravity-form form.fluent_form_3 .ff-btn-submit.ff_btn_style:not(.ff_btn_no_style) {
	background: #003366 !important;
	background-color: #003366 !important;
	background-image: none !important;
	color: #fff !important;
}

.contact-inquiry__gravity-form .witc-enquiry-fluent .ff-btn-submit:focus-visible {
	outline: 2px solid color-mix(in oklch, #00b4d8 55%, transparent);
	outline-offset: 2px;
}

/* Errors — dark band */
.contact-inquiry__gravity-form .witc-enquiry-fluent .ff-el-is-error .error,
.contact-inquiry__gravity-form .witc-enquiry-fluent .ff-el-is-error .text-danger,
.contact-inquiry__gravity-form .witc-enquiry-fluent .error.text-danger {
	margin-top: 0.15rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: color-mix(in oklch, #e85d04 58%, white);
	font-size: 0.5625rem;
	font-weight: 500;
	line-height: 1.35;
}

.contact-inquiry__gravity-form .witc-enquiry-fluent .ff-el-is-error .ff-el-form-control {
	border-bottom-color: color-mix(in oklch, #e85d04 42%, transparent) !important;
}

.contact-inquiry__gravity-form .witc-enquiry-fluent .ff-message-success {
	margin: 0;
	padding: 0.75rem;
	border-radius: 1.125rem;
	border: 1px solid color-mix(in oklch, #00b4d8 35%, transparent);
	background: color-mix(in oklch, #00b4d8 10%, rgba(24, 28, 36, 0.95));
	color: color-mix(in oklch, white 88%, transparent);
	font-size: 0.8125rem;
	line-height: 1.45;
}

/* ==========================================================================
   Contact page — match Gravity boxed light look
   ========================================================================== */

.contact-page__gravity-form .witc-enquiry-fluent .ff-el-input--label,
.contact-page__gravity-form .witc-enquiry-fluent .ff-el-input--label label {
	display: block;
	margin: 0 0 0.5rem;
	padding: 0;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.3;
	text-transform: none;
	color: color-mix(in oklch, #003366 72%, transparent);
}

.contact-page__gravity-form .witc-enquiry-fluent .ff-el-is-required.asterisk-right label::after,
.contact-page__gravity-form .witc-enquiry-fluent .ff-el-is-required.asterisk-left label::before {
	color: #e85d04;
	font-weight: 600;
}

.contact-page__gravity-form .witc-enquiry-fluent .ff-el-tooltip {
	display: none;
}

.contact-page__gravity-form .witc-enquiry-fluent .ff-el-form-control,
.contact-page__gravity-form .witc-enquiry-fluent input.ff-el-form-control,
.contact-page__gravity-form .witc-enquiry-fluent textarea.ff-el-form-control,
.contact-page__gravity-form .witc-enquiry-fluent select.ff-el-form-control {
	width: 100% !important;
	min-height: 2.75rem;
	margin: 0;
	padding: 0.65rem 0.85rem !important;
	border-radius: 1.125rem !important;
	border: 1px solid color-mix(in oklch, #003366 12%, transparent) !important;
	background: #fff !important;
	color: #003366 !important;
	font-family: inherit;
	font-size: 0.9375rem !important;
	line-height: 1.4;
	box-shadow: none !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
	-webkit-appearance: none;
	appearance: none;
}

.contact-page__gravity-form .witc-enquiry-fluent .ff-el-form-control::placeholder {
	color: color-mix(in oklch, #003366 38%, transparent);
	opacity: 1;
}

.contact-page__gravity-form .witc-enquiry-fluent .ff-el-form-control:focus {
	outline: none;
	border-color: color-mix(in oklch, #00b4d8 45%, transparent) !important;
	box-shadow: 0 0 0 3px color-mix(in oklch, #00b4d8 18%, transparent) !important;
}

.contact-page__gravity-form .witc-enquiry-fluent textarea.ff-el-form-control {
	min-height: 7rem;
	resize: vertical;
}

.contact-page__gravity-form .witc-enquiry-fluent .ff-el-recaptcha,
.contact-page__gravity-form .witc-enquiry-fluent .g-recaptcha {
	overflow: hidden;
	border-radius: 1.125rem;
	border: 1px solid color-mix(in oklch, #003366 10%, transparent);
	background: color-mix(in oklch, #00b4d8 4%, white);
	padding: 0.5rem;
}

.contact-page__gravity-form .witc-enquiry-fluent .ff_submit_btn_wrapper {
	margin: 1rem 0 0;
	padding: 0;
}

.contact-page__gravity-form .witc-enquiry-fluent .ff-btn-submit,
.contact-page__gravity-form .witc-enquiry-fluent button.ff-btn-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto !important;
	min-height: 2.5rem;
	margin: 0;
	padding: 0 1.25rem !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: #003366 !important;
	color: #fff !important;
	font-family: inherit;
	font-size: 0.8125rem !important;
	font-weight: 700 !important;
	letter-spacing: 0;
	text-transform: none !important;
	cursor: pointer;
	box-shadow: 0 2px 8px -4px rgba(0, 31, 61, 0.32);
	transition: background 0.15s ease, box-shadow 0.15s ease;
}

.contact-page__gravity-form .witc-enquiry-fluent .ff-btn-submit:hover,
.contact-page__gravity-form .witc-enquiry-fluent .ff-btn-submit:focus-visible,
.contact-page__gravity-form .witc-enquiry-fluent button.ff-btn-submit:hover,
.contact-page__gravity-form .witc-enquiry-fluent button.ff-btn-submit:focus-visible {
	background: color-mix(in oklch, #003366 88%, black) !important;
	color: #fff !important;
	box-shadow: 0 4px 12px -4px rgba(0, 31, 61, 0.38);
}

.contact-page__gravity-form .witc-enquiry-fluent .ff-btn-submit:focus-visible {
	outline: 2px solid color-mix(in oklch, #00b4d8 55%, transparent);
	outline-offset: 2px;
}

.contact-page__gravity-form .witc-enquiry-fluent .ff-el-is-error .error,
.contact-page__gravity-form .witc-enquiry-fluent .ff-el-is-error .text-danger,
.contact-page__gravity-form .witc-enquiry-fluent .error.text-danger {
	margin-top: 0.5rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: color-mix(in oklch, #e85d04 70%, #003366);
	font-size: 0.8125rem;
	font-weight: 600;
}

.contact-page__gravity-form .witc-enquiry-fluent .ff-el-is-error .ff-el-form-control {
	border-color: color-mix(in oklch, #e85d04 45%, transparent) !important;
}

.contact-page__gravity-form .witc-enquiry-fluent .ff-message-success {
	margin: 0;
	padding: 1rem;
	border-radius: 1.125rem;
	border: 1px solid color-mix(in oklch, #00b4d8 28%, transparent);
	background: color-mix(in oklch, #00b4d8 8%, white);
	color: #003366;
	font-size: 0.9375rem;
	line-height: 1.55;
}

/* Override Fluent inline button styles from form settings */
.contact-inquiry__gravity-form .witc-enquiry-fluent .ff-btn-submit[style],
.contact-page__gravity-form .witc-enquiry-fluent .ff-btn-submit[style] {
	background: #003366 !important;
	color: #fff !important;
}
