/**
 * Shared Fluent Forms styling for Trelvior contact areas.
 */

.agency-landing-form-plugin {
	position: relative;
	z-index: 2;
	width: 100%;
	color: #ffffff;
}

.agency-landing-form-plugin *,
.agency-landing-form-plugin *::before,
.agency-landing-form-plugin *::after {
	box-sizing: border-box;
}

.agency-landing-form-plugin form,
.agency-landing-form-plugin .fluentform,
.agency-landing-form-plugin .frm-fluent-form {
	margin: 0;
	padding: 0;
}

.contact-main__form-card .agency-landing-form-plugin {
	padding: 34px 44px 42px;
}

.home-what-contact-section__form-card .agency-landing-form-plugin,
.faq-question-form .agency-landing-form-plugin {
	padding: 0;
}

/* Fluent Forms spacing reset */
.agency-landing-form-plugin .ff-el-group {
	margin-bottom: 20px;
}

.agency-landing-form-plugin .ff-el-group:last-child {
	margin-bottom: 0;
}

.agency-landing-form-plugin .ff-t-container {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 20px;
}

.agency-landing-form-plugin .ff-t-cell {
	width: auto !important;
	padding: 0 !important;
}

.agency-landing-form-plugin .ff-t-cell .ff-el-group {
	margin-bottom: 0;
}

.agency-landing-form-plugin .ff-el-input--content {
	margin: 0;
}

/* Labels */
.agency-landing-form-plugin label,
.agency-landing-form-plugin .ff-el-input--label label {
	display: block;
	margin: 0 0 8px;
	color: rgba(255, 255, 255, 0.82);
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.045em;
	line-height: 1.25;
	text-transform: uppercase;
}

.agency-landing-form-plugin .ff-el-input--label {
	margin: 0;
	padding: 0;
}

.agency-landing-form-plugin .ff-el-input--label.ff-el-is-required.asterisk-right label::after,
.agency-landing-form-plugin .ff-el-input--label.ff-el-is-required.asterisk-left label::before {
	color: var(--agency-color-accent);
}

/* Inputs */
.agency-landing-form-plugin input[type="text"],
.agency-landing-form-plugin input[type="email"],
.agency-landing-form-plugin input[type="tel"],
.agency-landing-form-plugin input[type="url"],
.agency-landing-form-plugin input[type="number"],
.agency-landing-form-plugin input[type="date"],
.agency-landing-form-plugin input[type="search"],
.agency-landing-form-plugin select,
.agency-landing-form-plugin textarea,
.agency-landing-form-plugin .ff-el-form-control {
	display: block;
	width: 100%;
	min-height: 54px;
	padding: 14px 16px;
	border: 1px solid rgba(255, 255, 255, 0.11) !important;
	border-radius: 5px !important;
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.032)) !important;
	box-shadow: none !important;
	color: #ffffff !important;
	font-family: inherit;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.45;
	outline: none;
	transition:
		background-color 0.3s ease,
		border-color 0.3s ease,
		box-shadow 0.3s ease,
		transform 0.3s ease;
}

.agency-landing-form-plugin textarea,
.agency-landing-form-plugin textarea.ff-el-form-control {
	min-height: 138px;
	resize: vertical;
}

.contact-main__form-card .agency-landing-form-plugin textarea,
.contact-main__form-card .agency-landing-form-plugin textarea.ff-el-form-control {
	min-height: 132px;
}

.home-what-contact-section__form-card .agency-landing-form-plugin textarea,
.home-what-contact-section__form-card .agency-landing-form-plugin textarea.ff-el-form-control {
	min-height: 136px;
}

.agency-landing-form-plugin select,
.agency-landing-form-plugin .ff-el-form-control option {
	background: #080c10;
	color: #ffffff;
}

.agency-landing-form-plugin input::placeholder,
.agency-landing-form-plugin textarea::placeholder,
.agency-landing-form-plugin .ff-el-form-control::placeholder {
	color: rgba(255, 255, 255, 0.38);
}

.agency-landing-form-plugin input[type="text"]:hover,
.agency-landing-form-plugin input[type="email"]:hover,
.agency-landing-form-plugin input[type="tel"]:hover,
.agency-landing-form-plugin input[type="url"]:hover,
.agency-landing-form-plugin input[type="number"]:hover,
.agency-landing-form-plugin input[type="date"]:hover,
.agency-landing-form-plugin input[type="search"]:hover,
.agency-landing-form-plugin select:hover,
.agency-landing-form-plugin textarea:hover,
.agency-landing-form-plugin .ff-el-form-control:hover {
	border-color: rgba(255, 255, 255, 0.18) !important;
}

.agency-landing-form-plugin input[type="text"]:focus,
.agency-landing-form-plugin input[type="email"]:focus,
.agency-landing-form-plugin input[type="tel"]:focus,
.agency-landing-form-plugin input[type="url"]:focus,
.agency-landing-form-plugin input[type="number"]:focus,
.agency-landing-form-plugin input[type="date"]:focus,
.agency-landing-form-plugin input[type="search"]:focus,
.agency-landing-form-plugin select:focus,
.agency-landing-form-plugin textarea:focus,
.agency-landing-form-plugin .ff-el-form-control:focus {
	border-color: rgba(6, 216, 137, 0.58) !important;
	background: rgba(255, 255, 255, 0.055) !important;
	box-shadow: 0 0 0 3px rgba(6, 216, 137, 0.08) !important;
}

/* Checkboxes / radios */
.agency-landing-form-plugin input[type="checkbox"],
.agency-landing-form-plugin input[type="radio"] {
	width: auto;
	margin-right: 8px;
	accent-color: var(--agency-color-accent);
}

.agency-landing-form-plugin .ff-el-form-check {
	margin-bottom: 10px;
}

.agency-landing-form-plugin .ff-el-form-check-label {
	display: inline-flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
	color: rgba(255, 255, 255, 0.68);
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0.01em;
	line-height: 1.55;
	text-transform: none;
}

.agency-landing-form-plugin .ff-el-form-check-label a {
	color: var(--agency-color-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Help and validation text */
.agency-landing-form-plugin .ff-el-help-message,
.agency-landing-form-plugin .ff-el-error,
.agency-landing-form-plugin .error,
.agency-landing-form-plugin .text-danger {
	margin-top: 7px;
	font-size: 13px;
	line-height: 1.45;
}

.agency-landing-form-plugin .ff-el-help-message {
	color: rgba(255, 255, 255, 0.58);
}

.agency-landing-form-plugin .ff-el-is-error input,
.agency-landing-form-plugin .ff-el-is-error textarea,
.agency-landing-form-plugin .ff-el-is-error select,
.agency-landing-form-plugin .ff-el-is-error .ff-el-form-control {
	border-color: rgba(255, 101, 101, 0.68) !important;
	box-shadow: 0 0 0 3px rgba(255, 101, 101, 0.06) !important;
}

.agency-landing-form-plugin .ff-el-is-error .error,
.agency-landing-form-plugin .ff-el-is-error .text-danger,
.agency-landing-form-plugin .ff-el-error {
	color: #ff8a8a;
}
/* Submit button */
.agency-landing-form-plugin .ff_submit_btn_wrapper,
.agency-landing-form-plugin .ff-el-group.ff_submit_btn_wrapper {
	margin: 8px 0 0;
	padding: 0;
}

.agency-landing-form-plugin button[type="submit"],
.agency-landing-form-plugin input[type="submit"],
.agency-landing-form-plugin .ff-btn,
.agency-landing-form-plugin .ff-btn-submit,
.agency-landing-form-plugin .ff-btn.ff-btn-submit,
.agency-landing-form-plugin .ff-btn.ff-btn-primary,
.agency-landing-form-plugin .ff-default .ff_btn_style,
.agency-landing-form-plugin .ff-default .ff_btn_style[type="submit"] {
	display: inline-flex !important;
	position: relative;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	min-height: 56px;
	padding: 15px 28px !important;
	overflow: hidden;
	border: 1px solid var(--agency-color-accent) !important;
	border-radius: 5px !important;
	background:
		linear-gradient(135deg, transparent 0%, transparent 100%),
		var(--agency-color-accent) !important;
	box-shadow: none !important;
	color: #07111f !important;
	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	letter-spacing: 0.05em !important;
	line-height: 1 !important;
	text-align: center;
	text-transform: uppercase;
	cursor: pointer;
	opacity: 1 !important;
	transition:
		background-color 0.35s ease,
		background 0.35s ease,
		border-color 0.35s ease,
		color 0.35s ease,
		transform 0.35s ease,
		box-shadow 0.35s ease !important;
}

.agency-landing-form-plugin button[type="submit"]:hover,
.agency-landing-form-plugin button[type="submit"]:focus,
.agency-landing-form-plugin input[type="submit"]:hover,
.agency-landing-form-plugin input[type="submit"]:focus,
.agency-landing-form-plugin .ff-btn:hover,
.agency-landing-form-plugin .ff-btn:focus,
.agency-landing-form-plugin .ff-btn-submit:hover,
.agency-landing-form-plugin .ff-btn-submit:focus,
.agency-landing-form-plugin .ff-btn.ff-btn-primary:hover,
.agency-landing-form-plugin .ff-btn.ff-btn-primary:focus,
.agency-landing-form-plugin .ff-default .ff_btn_style:hover,
.agency-landing-form-plugin .ff-default .ff_btn_style:focus {
	border-color: var(--agency-color-accent) !important;
	background:
		linear-gradient(45deg, var(--agency-color-accent) 0 22%, transparent 22%),
		transparent !important;
	box-shadow: 0 0 26px rgba(6, 216, 137, 0.12) !important;
	color: #ffffff !important;
	transform: translateY(-1px);
}

.agency-landing-form-plugin button[type="submit"]:focus-visible,
.agency-landing-form-plugin input[type="submit"]:focus-visible,
.agency-landing-form-plugin .ff-btn-submit:focus-visible {
	outline: 2px solid rgba(6, 216, 137, 0.55);
	outline-offset: 4px;
}

.agency-landing-form-plugin button[type="submit"]:disabled,
.agency-landing-form-plugin input[type="submit"]:disabled,
.agency-landing-form-plugin .ff-btn-submit:disabled {
	cursor: not-allowed;
	opacity: 0.72 !important;
	transform: none;
}

/* Success / response messages */
.agency-landing-form-plugin .ff-message-success,
.agency-landing-form-plugin .ff_response_message,
.agency-landing-form-plugin .ff_success_message,
.agency-landing-form-plugin__message {
	margin: 0;
	padding: 16px 18px;
	border: 1px solid rgba(6, 216, 137, 0.28);
	border-radius: 5px;
	background: rgba(6, 216, 137, 0.08);
	color: rgba(255, 255, 255, 0.86);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.6;
}

.agency-landing-form-plugin__message--error,
.agency-landing-form-plugin .ff_response_message.ff_validation_errors {
	border-color: rgba(255, 101, 101, 0.38);
	background: rgba(255, 101, 101, 0.08);
	color: rgba(255, 255, 255, 0.88);
}

/* Context-specific rhythm */
.contact-main__form-card .agency-landing-form-plugin .ff-t-container {
	gap: 15px;
	margin-bottom: 20px;
}

.contact-main__form-card .agency-landing-form-plugin .ff-el-group {
	margin-bottom: 20px;
}

.home-what-contact-section__form-card .agency-landing-form-plugin .ff-t-container {
	gap: 18px;
	margin-bottom: 18px;
}

.home-what-contact-section__form-card .agency-landing-form-plugin .ff-el-group {
	margin-bottom: 18px;
}

.faq-question-form .agency-landing-form-plugin .ff-t-container {
	grid-template-columns: 1fr;
}

.faq-question-form .agency-landing-form-plugin .ff-el-group {
	margin-bottom: 18px;
}

/* Make plugin-injected wrappers transparent inside our cards */
.contact-main__form-card .fluentform,
.home-what-contact-section__form-card .fluentform,
.faq-question-form .fluentform {
	background: transparent;
}

/* Responsive */
@media (max-width: 991px) {
	.contact-main__form-card .agency-landing-form-plugin {
		padding: 32px 34px 38px;
	}
}

@media (max-width: 767px) {
	.agency-landing-form-plugin .ff-t-container,
	.contact-main__form-card .agency-landing-form-plugin .ff-t-container,
	.home-what-contact-section__form-card .agency-landing-form-plugin .ff-t-container {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.agency-landing-form-plugin .ff-t-cell {
		margin-bottom: 18px;
	}

	.agency-landing-form-plugin .ff-t-cell:last-child {
		margin-bottom: 0;
	}

	.contact-main__form-card .agency-landing-form-plugin {
		padding: 28px 24px 32px;
	}

	.agency-landing-form-plugin button[type="submit"],
	.agency-landing-form-plugin input[type="submit"],
	.agency-landing-form-plugin .ff-btn,
	.agency-landing-form-plugin .ff-btn-submit,
	.agency-landing-form-plugin .ff-btn.ff-btn-primary {
		min-height: 54px;
	}
}

@media (max-width: 480px) {
	.contact-main__form-card .agency-landing-form-plugin {
		padding: 26px 18px 28px;
	}
}