/* eb5inc.com — Fluent Forms, styled to the mockup (labels above, 46px inputs,
   navy focus ring, red inline errors, teal success). Fluent prints its own CSS
   later in the page, so selectors start at body .fluentform. */

body .fluentform { font-family: var(--e-global-typography-text-font-family, "Public Sans"), sans-serif; color: var(--eb-text); }
body .fluentform .ff-el-group { margin-bottom: 18px; }
#lead-modal .fluentform .ff-el-group { margin-bottom: 16px; }
body .fluentform .ff-t-container { gap: 16px; }
body .fluentform .ff-t-container .ff-t-cell { padding: 0; }
body .fluentform .ff-t-container .ff-el-group { margin-bottom: 18px; }

/* Labels */
body .fluentform .ff-el-input--label { margin-bottom: 8px; }
body .fluentform .ff-el-input--label label,
body .fluentform .ff-el-input--label { font-size: 14px; font-weight: 600; line-height: 1.5; color: var(--eb-text); }
body .fluentform .opt { font-weight: 400; color: var(--eb-muted); }

/* Inputs */
body .fluentform .ff-el-form-control {
	font-family: inherit; font-size: 16px; line-height: 1.4; color: var(--eb-text); background-color: #FFFFFF;
	border: 1px solid var(--eb-line-input); border-radius: 6px; padding: 11px 12px; min-height: 46px;
	box-shadow: inset 0 1px 2px rgba(27, 36, 44, .05); transition: border-color 120ms var(--eb-ease), box-shadow 120ms var(--eb-ease);
}
body .fluentform .ff-el-form-control:focus { outline: none; border-color: var(--eb-primary); box-shadow: var(--eb-ring); }
body .fluentform textarea.ff-el-form-control { min-height: 112px; resize: vertical; }
body .fluentform select.ff-el-form-control {
	appearance: none; -webkit-appearance: none; padding-right: 40px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235E6872' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 12px center; background-size: 16px;
}

/* Errors */
body .fluentform .ff-el-is-error .ff-el-form-control { border-color: var(--eb-red); }
body .fluentform .ff-el-is-error .ff-el-form-control:focus { box-shadow: 0 0 0 3px rgba(166, 25, 46, .2); }
body .fluentform .error.text-danger { font-size: 13.5px; line-height: 1.5; color: var(--eb-red); font-weight: 500; margin-top: 8px; position: static; }

/* Radio (yes / no) and consent checkbox */
body .fluentform .ff-el-form-check { margin-bottom: 0; }
body .fluentform .ff_list_inline .ff-el-form-check { display: inline-flex; margin-right: 24px; }
body .fluentform .ff-el-form-check-label { display: flex; gap: 10px; align-items: center; min-height: 44px; font-size: 15px; cursor: pointer; color: var(--eb-text); }
body .fluentform .ff-el-form-check-input { width: 18px; height: 18px; margin: 0; accent-color: var(--eb-primary); flex: none; }
body .fluentform .ff-consent .ff-el-form-check-label { align-items: flex-start; gap: 12px; min-height: 0; font-size: 14px; line-height: 1.5; }
body .fluentform .ff-consent .ff-el-form-check-input { margin-top: 2px; }

/* Submit: primary, large */
body .fluentform .ff_submit_btn_wrapper { margin-bottom: 0; }
body .fluentform .ff-btn-submit {
	display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 15px 26px;
	font: 600 17px/1.2 var(--e-global-typography-accent-font-family, "Public Sans"), sans-serif;
	background-color: var(--eb-primary); color: #FFFFFF; border: 1px solid var(--eb-primary); border-radius: 6px;
	cursor: pointer; transition: background-color 120ms var(--eb-ease); box-shadow: none;
}
body .fluentform .ff-btn-submit:hover,
body .fluentform .ff-btn-submit:focus { background-color: var(--eb-primary-hover); color: #FFFFFF; opacity: 1; }
body .fluentform .ff-btn-submit:focus-visible { outline: 2px solid var(--eb-primary); outline-offset: 2px; }
body .fluentform .ff-submit-block .ff-btn-submit { width: 100%; }
@media (max-width: 600px) { body .fluentform .ff-btn-submit { width: 100%; } }

/* ---------- Success state ("Request received") ---------- */
body .ff-message-success { border: 0; box-shadow: none; padding: 0; margin: 0; background: none; color: var(--eb-text); }
body .ff-message-success p { margin: 0 0 6px; }
body .ff-message-success .success-title { display: block; font-family: var(--e-global-typography-head003-font-family, "Source Serif 4"), serif; font-size: 21px; line-height: 1.3; font-weight: 600; color: var(--eb-primary); }
body .ff-message-success .ff-success-head { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 16px; }
body .ff-message-success .ff-success-head::before,
#lead-modal .ff-message-success h2.success-title::before {
	content: ""; flex: none; display: block; width: 28px; height: 28px; background: var(--eb-teal);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%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' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") center / contain no-repeat;
}
#lead-modal .ff-message-success h2.success-title { font-size: 28px; line-height: 1.2; margin: 0 0 8px; }
#lead-modal .ff-message-success h2.success-title::before { width: 36px; height: 36px; margin-bottom: 14px; }
#lead-modal .ff-message-success > p:first-of-type { font-size: 16px; margin-bottom: 20px; }
body .ff-message-success .ff-wait { border-top: 1px solid var(--eb-line); padding-top: 16px; margin-bottom: 24px; }
body .ff-message-success .eyebrow { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; font-weight: 600; color: var(--eb-muted); margin-bottom: 8px; }
body .ff-message-success a { text-decoration: underline; text-decoration-color: rgba(15, 42, 63, .4); text-underline-offset: 3px; color: var(--eb-primary); }
body .ff-message-success a.ff-link-btn {
	display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 11px 20px;
	border: 1px solid var(--eb-accent); border-radius: 6px; color: var(--eb-primary); font-weight: 600; text-decoration: none;
}
body .ff-message-success a.ff-link-btn:hover { background: var(--eb-accent-tint); }
