/* Fluent Forms inside the brand's dark glass card ([tmj_quote_form] / [tmj_contact_form]). */
.tmj-ffcard {
	position: relative; display: flex; flex-direction: column; gap: 18px; padding: 30px; border-radius: 28px;
	background: linear-gradient(160deg, rgba(15, 23, 42, .86), rgba(11, 18, 34, .94));
	border: 1px solid rgba(255, 255, 255, .12); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
	box-shadow: 0 40px 80px rgba(0, 0, 0, .4), inset 0 1px 0 rgba(255, 255, 255, .06); font-family: Manrope, sans-serif;
}
.tmj-ffcard::before {
	content: ""; position: absolute; inset: -1px; border-radius: 28px; padding: 1px; pointer-events: none;
	background: linear-gradient(140deg, rgba(74, 222, 128, .7), transparent 35%, transparent 65%, rgba(13, 148, 136, .6));
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude;
}
.tmj-ffcard .fluentform { margin: 0; }
.tmj-ffcard .fluentform .ff-el-group { margin-bottom: 14px; }
.tmj-ffcard .fluentform .ff-t-container { gap: 14px; }
.tmj-ffcard .fluentform .ff-t-cell { padding: 0 !important; }
.tmj-ffcard .fluentform .ff-t-cell .ff-el-group { margin-bottom: 14px; }

/* labels */
.tmj-ffcard .fluentform .ff-el-input--label { margin-bottom: 7px; }
.tmj-ffcard .fluentform .ff-el-input--label label,
.tmj-ffcard .fluentform .ff-el-input--label { color: #E2E8F0; font-size: 13px; font-weight: 700; letter-spacing: .01em; }
.tmj-ffcard .fluentform .ff-el-is-required.asterisk-right label::after { color: #4ADE80; }

/* inputs */
.tmj-ffcard .fluentform .ff-el-form-control {
	height: auto; min-height: 50px; padding: 13px 16px; border-radius: 14px; font-family: inherit; font-size: 14.5px;
	color: #fff; background-color: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .16);
	box-shadow: none; transition: border-color .2s, background-color .2s, box-shadow .2s;
}
.tmj-ffcard .fluentform textarea.ff-el-form-control { min-height: 110px; resize: vertical; }
.tmj-ffcard .fluentform .ff-el-form-control::placeholder { color: #94A3B8; opacity: 1; }
.tmj-ffcard .fluentform .ff-el-form-control:focus {
	outline: none; border-color: #22C55E; background-color: rgba(255, 255, 255, .09); box-shadow: 0 0 0 4px rgba(34, 197, 94, .18);
}
.tmj-ffcard .fluentform select.ff-el-form-control {
	-webkit-appearance: none; appearance: none; padding-right: 42px; cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234ADE80' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 16px center; background-size: 16px;
}
.tmj-ffcard .fluentform select.ff-el-form-control option { color: #0F172A; background: #fff; }

/* paid-service acknowledgement */
.tmj-ffcard .fluentform .ff-el-tc label { display: flex; align-items: flex-start; gap: 10px; color: #CBD5E1; font-size: 13px; line-height: 1.55; font-weight: 500; }
.tmj-ffcard .fluentform .ff-el-tc input[type="checkbox"] { width: 18px; height: 18px; margin-top: 2px; flex: none; accent-color: #16A34A; }

/* submit */
.tmj-ffcard .fluentform .ff_submit_btn_wrapper { margin: 4px 0 0; }
.tmj-ffcard .fluentform .ff-btn-submit {
	width: 100%; min-height: 56px; border: 0; border-radius: 16px; cursor: pointer; font-family: inherit; font-size: 16px; font-weight: 800;
	color: #fff !important; background: linear-gradient(135deg, #22C55E, #15803D) !important;
	box-shadow: 0 14px 30px rgba(22, 163, 74, .45); transition: transform .2s, box-shadow .2s, filter .2s;
}
.tmj-ffcard .fluentform .ff-btn-submit:hover { transform: translateY(-2px); box-shadow: 0 20px 40px rgba(22, 163, 74, .6); filter: brightness(1.05); opacity: 1; }

/* errors / messages */
.tmj-ffcard .fluentform .error, .tmj-ffcard .fluentform .text-danger { color: #FCA5A5; font-size: 12px; margin-top: 6px; }
.tmj-ffcard .fluentform .ff-el-is-error .ff-el-form-control { border-color: #F87171; }
.tmj-ffcard .ff-message-success { color: #E2E8F0; background: rgba(22, 163, 74, .18); border: 1px solid rgba(74, 222, 128, .4); border-radius: 14px; padding: 16px; box-shadow: none; }
.tmj-ffcard .ff-errors-in-stack { color: #FCA5A5; }

@media (max-width: 767px) {
	.tmj-ffcard { padding: 22px; border-radius: 22px; }
	.tmj-ffcard .fluentform .ff-t-container { flex-direction: column; gap: 0; }
	.tmj-ffcard .fluentform .ff-t-cell { width: 100% !important; flex-basis: 100% !important; }
}

/* Native Elementor card parts (head / pill / note) */
.e-con.tmj-ffcard { --padding-top: 30px; overflow: visible; }
.tmj-ff-head .elementor-icon { border-radius: 14px; background: linear-gradient(135deg, #22C55E, #15803D) !important; box-shadow: 0 10px 24px rgba(22, 163, 74, .4); }
.tmj-ff-head .elementor-icon svg { fill: #fff !important; }
.tmj-ff-head p { margin: 0; }
.tmj-ff-live .elementor-heading-title {
	display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; padding: 6px 12px; border-radius: 100px;
	font-size: 12px !important; font-weight: 700; color: #4ADE80 !important; background: rgba(22, 163, 74, .12); border: 1px solid rgba(74, 222, 128, .4);
}
.tmj-ff-live .elementor-heading-title::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #4ADE80; box-shadow: 0 0 0 4px rgba(74, 222, 128, .25); animation: tmj-pulse 2s infinite; }
.tmj-ff-note p { margin: 0; display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 12px; color: #94A3B8; }
.tmj-ff-note p::before { content: ""; width: 14px; height: 14px; flex: none; background: #4ADE80; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l8 3v6c0 5-3.4 9.4-8 11-4.6-1.6-8-6-8-11V5z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l8 3v6c0 5-3.4 9.4-8 11-4.6-1.6-8-6-8-11V5z'/%3E%3C/svg%3E") center / contain no-repeat; }
.tmj-ff-widget, .tmj-ff-widget .elementor-widget-container { width: 100%; }
@media (max-width: 767px) { .tmj-ff-live { display: none; } }

/* head layout */
.e-con.tmj-ff-head { flex-wrap: nowrap !important; align-items: center !important; --width: 100%; }
.tmj-ff-head > .elementor-widget-icon { flex: 0 0 auto !important; width: auto !important; max-width: none !important; }
.tmj-ff-head > .elementor-widget-icon .elementor-icon-wrapper { line-height: 0; }
.tmj-ff-head > .e-con { flex: 1 1 auto !important; min-width: 0; width: auto !important; --width: auto; padding: 0 !important; }
.tmj-ff-head > .tmj-ff-live { flex: 0 0 auto !important; width: auto !important; max-width: none !important; }
.tmj-ff-head .elementor-heading-title { line-height: 1.25; }
