/**
 * ServLoom demo form — field, option card, and button polish.
 * Layout & steps unchanged.
 */

.mountsol-demo-onboarding {
	--demo-edge-pad: clamp(1.25rem, 2.5vw, 2.5rem);
	--demo-panel-radius: 1.35rem;
	--demo-shell-shadow: 0 30px 80px -40px rgb(8 33 74 / 0.28);
	background:
		radial-gradient(ellipse 55% 45% at 0% 0%, rgb(31 123 255 / 0.1), transparent 58%),
		radial-gradient(ellipse 45% 40% at 100% 100%, rgb(246 178 51 / 0.12), transparent 52%),
		linear-gradient(180deg, #f4f6f8 0%, #e7eef7 100%);
}

.mountsol-demo-onboarding__shell {
	border: 1px solid rgb(8 33 74 / 0.07);
	box-shadow: var(--demo-shell-shadow);
}

.mountsol-demo-onboarding__window-dots span:nth-child(1) { background: #f6b233; }
.mountsol-demo-onboarding__window-dots span:nth-child(2) { background: #1f7bff; }
.mountsol-demo-onboarding__window-dots span:nth-child(3) { background: #17c3c8; }

.mountsol-demo-onboarding__brand {
	color: #08214a;
	transition: opacity 0.2s ease;
}
.mountsol-demo-onboarding__brand:hover { opacity: 0.85; color: #08214a; }

.mountsol-demo-onboarding__brand-mark,
.mountsol-demo-onboarding__visual-mark {
	background: transparent !important;
	color: transparent;
	padding: 0;
	overflow: hidden;
	border-radius: 0.5rem;
	box-shadow: 0 6px 16px rgb(8 33 74 / 0.14);
}

.mountsol-demo-onboarding__brand-mark {
	width: 2rem;
	height: 2rem;
}

.mountsol-demo-onboarding__brand-mark img,
.mountsol-demo-onboarding__visual-mark img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.mountsol-demo-onboarding__brand-name {
	font-family: Poppins, Inter, sans-serif;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #08214a;
}

.mountsol-demo-onboarding__visual,
.mountsol-demo-onboarding__visual-frame {
	background: #08214a;
}

.mountsol-demo-onboarding__slide::after {
	background: linear-gradient(
		180deg,
		rgb(8 33 74 / 0.08) 0%,
		rgb(8 33 74 / 0.22) 45%,
		rgb(8 33 74 / 0.84) 100%
	);
}

.mountsol-demo-onboarding__visual-brand {
	background: rgb(8 33 74 / 0.42);
	border-color: rgb(255 255 255 / 0.16);
}

.mountsol-demo-onboarding__visual-mark {
	width: 1.45rem;
	height: 1.45rem;
	box-shadow: none;
}

/* ——— Form tokens ——— */
.mountsol-demo-onboarding form.fluent_form_3 {
	--ms-foreground: #08214a;
	--ms-muted: #49576a;
	--ms-muted-soft: #7b8798;
	--ms-accent: #1f7bff;
	--ms-accent-hover: #0b63e6;
	--ms-accent-soft: rgb(31 123 255 / 0.08);
	--ms-accent-ring: rgb(31 123 255 / 0.16);
	--ms-cta: #f6b233;
	--ms-cta-hover: #e09a14;
	--ms-cta-text: #08214a;
	--ms-border: #dde4ee;
	--ms-border-strong: #c5d0df;
	--ms-secondary: #f4f6f8;
	--ms-bg: #ffffff;
	--ms-field-bg: #f8fafc;
	--ms-card-radius: 0.75rem;
	font-family: Inter, system-ui, sans-serif;
}

/* Step title */
.mountsol-demo-onboarding form.fluent_form_3 .ff-step-titles li.ff_active,
.mountsol-demo-onboarding form.fluent_form_3 .ff-step-titles li.ff-active,
.mountsol-demo-onboarding form.fluent_form_3 .ff-el-progress-status {
	color: #1f7bff !important;
	font-family: Poppins, Inter, sans-serif !important;
	letter-spacing: 0.06em !important;
}

.mountsol-demo-onboarding form.fluent_form_3 .ff-el-progress {
	height: 0.35rem !important;
	background: #eef2f7 !important;
	border-radius: 999px !important;
	overflow: hidden;
}

.mountsol-demo-onboarding form.fluent_form_3 .ff-el-progress-bar {
	background: linear-gradient(90deg, #f6b233 0%, #1f7bff 55%, #17c3c8 100%) !important;
	box-shadow: 0 0 12px rgb(31 123 255 / 0.25);
}

/* Labels */
.mountsol-demo-onboarding form.fluent_form_3 .ff-el-input--label label {
	font-size: 0.8rem !important;
	font-weight: 600 !important;
	color: #08214a !important;
	margin-bottom: 0.5rem !important;
	letter-spacing: 0.01em;
}

.mountsol-demo-onboarding form.fluent_form_3 .ff-el-is-required.asterisk-right label::after,
.mountsol-demo-onboarding form.fluent_form_3 .ff-el-is-required.asterisk-left label::before {
	color: #1f7bff !important;
}

.mountsol-demo-onboarding form.fluent_form_3 .ff-el-group {
	margin-bottom: 1.15rem !important;
}

.mountsol-demo-onboarding form.fluent_form_3 .ff-el-group > .ff-el-input--content > p,
.mountsol-demo-onboarding form.fluent_form_3 .ff-el-section-break,
.mountsol-demo-onboarding form.fluent_form_3 .ff-section_break_desk {
	color: #49576a !important;
	font-size: 0.92rem !important;
	line-height: 1.55 !important;
}

/* Unified boxed inputs */
.mountsol-demo-onboarding form.fluent_form_3 .ff-el-form-control,
.mountsol-demo-onboarding form.fluent_form_3 input[type="text"],
.mountsol-demo-onboarding form.fluent_form_3 input[type="email"],
.mountsol-demo-onboarding form.fluent_form_3 input[type="tel"],
.mountsol-demo-onboarding form.fluent_form_3 input[type="number"],
.mountsol-demo-onboarding form.fluent_form_3 input[type="url"],
.mountsol-demo-onboarding form.fluent_form_3 input[type="password"],
.mountsol-demo-onboarding form.fluent_form_3 select,
.mountsol-demo-onboarding form.fluent_form_3 textarea {
	width: 100% !important;
	min-height: 3rem !important;
	padding: 0.8rem 0.95rem !important;
	border: 1px solid #dde4ee !important;
	border-radius: 0.75rem !important;
	background: #f8fafc !important;
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.85) !important;
	color: #08214a !important;
	font-size: 0.94rem !important;
	line-height: 1.4 !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}

.mountsol-demo-onboarding form.fluent_form_3 .ff-el-form-control::placeholder,
.mountsol-demo-onboarding form.fluent_form_3 input::placeholder,
.mountsol-demo-onboarding form.fluent_form_3 textarea::placeholder {
	color: #8b97a8 !important;
}

.mountsol-demo-onboarding form.fluent_form_3 .ff-el-form-control:hover,
.mountsol-demo-onboarding form.fluent_form_3 input:hover,
.mountsol-demo-onboarding form.fluent_form_3 select:hover,
.mountsol-demo-onboarding form.fluent_form_3 textarea:hover {
	border-color: #c5d0df !important;
	background: #fff !important;
}

.mountsol-demo-onboarding form.fluent_form_3 .ff-el-form-control:focus,
.mountsol-demo-onboarding form.fluent_form_3 input:focus,
.mountsol-demo-onboarding form.fluent_form_3 select:focus,
.mountsol-demo-onboarding form.fluent_form_3 textarea:focus {
	outline: none !important;
	border-color: #1f7bff !important;
	background: #fff !important;
	box-shadow: 0 0 0 3px rgb(31 123 255 / 0.14) !important;
}

/* Phone field */
.mountsol-demo-onboarding form.fluent_form_3 .iti,
.mountsol-demo-onboarding form.fluent_form_3 .iti--allow-dropdown {
	display: block !important;
	width: 100% !important;
	border: 1px solid #dde4ee !important;
	border-radius: 0.75rem !important;
	background: #f8fafc !important;
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}

.mountsol-demo-onboarding form.fluent_form_3 .iti:hover {
	border-color: #c5d0df !important;
	background: #fff !important;
}

.mountsol-demo-onboarding form.fluent_form_3 .iti:has(input:focus) {
	border-color: #1f7bff !important;
	background: #fff !important;
	box-shadow: 0 0 0 3px rgb(31 123 255 / 0.14) !important;
}

.mountsol-demo-onboarding form.fluent_form_3 .iti input.ff-el-form-control,
.mountsol-demo-onboarding form.fluent_form_3 .iti input[type="tel"],
.mountsol-demo-onboarding form.fluent_form_3 input.iti__tel-input {
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	padding-left: 3.1rem !important;
	min-height: 3rem !important;
}

.mountsol-demo-onboarding form.fluent_form_3 select {
	appearance: none !important;
	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='%231f7bff' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 0.95rem center !important;
	padding-right: 2.4rem !important;
}

/* Option cards (not pills) */
.mountsol-demo-onboarding form.fluent_form_3 .ff-el-group:not(.ff_gdpr_field):not(.ff_t_c) .ff-el-input--content:has(.ff-el-form-check input[type="radio"]) {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 0.6rem !important;
}

@media (min-width: 560px) {
	.mountsol-demo-onboarding form.fluent_form_3 .ff-el-group.ff_list_inline .ff-el-input--content:has(.ff-el-form-check input[type="radio"]) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

.mountsol-demo-onboarding form.fluent_form_3 .ff-el-group:not(.ff_gdpr_field):not(.ff_t_c) .ff-el-form-check:has(input[type="radio"]) .ff-el-form-check-input,
.mountsol-demo-onboarding form.fluent_form_3 .ff-el-group:not(.ff_gdpr_field):not(.ff_t_c) .ff-el-form-check:has(input[type="radio"]) input[type="radio"] {
	position: absolute !important;
	inset: 0 !important;
	opacity: 0 !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	cursor: pointer;
	z-index: 1;
}

.mountsol-demo-onboarding form.fluent_form_3 .ff-el-group:not(.ff_gdpr_field):not(.ff_t_c) .ff-el-form-check:has(input[type="radio"]) .ff-el-form-check-label {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	width: 100% !important;
	min-height: 3rem !important;
	margin: 0 !important;
	padding: 0.85rem 1rem 0.85rem 2.85rem !important;
	border-radius: 0.75rem !important;
	border: 1px solid #dde4ee !important;
	border-left: 3px solid transparent !important;
	background: #fff !important;
	color: #08214a !important;
	font-weight: 600 !important;
	font-size: 0.9rem !important;
	line-height: 1.4 !important;
	text-align: left !important;
	box-shadow: 0 1px 2px rgb(8 33 74 / 0.04) !important;
	position: relative !important;
	transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease !important;
}

.mountsol-demo-onboarding form.fluent_form_3 .ff-el-group:not(.ff_gdpr_field):not(.ff_t_c) .ff-el-form-check:has(input[type="radio"]) .ff-el-form-check-label::before {
	display: block !important;
	content: "" !important;
	position: absolute !important;
	left: 1rem !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 1.1rem !important;
	height: 1.1rem !important;
	border-radius: 50% !important;
	border: 2px solid #c5d0df !important;
	background: #fff !important;
	box-shadow: none !important;
	transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease !important;
}

.mountsol-demo-onboarding form.fluent_form_3 .ff-el-group:not(.ff_gdpr_field):not(.ff_t_c) .ff-el-form-check:has(input[type="radio"]) .ff-el-form-check-label::after {
	display: none !important;
	content: none !important;
}

.mountsol-demo-onboarding form.fluent_form_3 .ff-el-group:not(.ff_gdpr_field):not(.ff_t_c) .ff-el-form-check:has(input[type="radio"]) .ff-el-form-check-label span {
	text-align: left !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}

.mountsol-demo-onboarding form.fluent_form_3 .ff-el-group:not(.ff_gdpr_field):not(.ff_t_c) .ff-el-form-check:has(input[type="radio"]) .ff-el-form-check-label:hover {
	border-color: rgb(31 123 255 / 0.4) !important;
	background: #f8fbff !important;
	box-shadow: 0 4px 14px rgb(31 123 255 / 0.08) !important;
	transform: translateY(-1px) !important;
}

.mountsol-demo-onboarding form.fluent_form_3 .ff-el-group:not(.ff_gdpr_field):not(.ff_t_c) .ff-el-form-check:has(input[type="radio"]) .ff-el-form-check-label:has(input:checked),
.mountsol-demo-onboarding form.fluent_form_3 .ff-el-group:not(.ff_gdpr_field):not(.ff_t_c) .ff-el-form-check:has(input[type="radio"]).ff_item_selected .ff-el-form-check-label,
.mountsol-demo-onboarding form.fluent_form_3 .ff-el-group:not(.ff_gdpr_field):not(.ff_t_c) .ff-el-form-check:has(input[type="radio"]) .ff-el-form-check-label.active {
	color: #0b63e6 !important;
	background: #f4f8ff !important;
	border-color: #1f7bff !important;
	border-left-color: #1f7bff !important;
	box-shadow: 0 0 0 1px rgb(31 123 255 / 0.12), 0 8px 20px rgb(31 123 255 / 0.1) !important;
	transform: translateY(0) !important;
}

.mountsol-demo-onboarding form.fluent_form_3 .ff-el-group:not(.ff_gdpr_field):not(.ff_t_c) .ff-el-form-check:has(input[type="radio"]) .ff-el-form-check-label:has(input:checked)::before,
.mountsol-demo-onboarding form.fluent_form_3 .ff-el-group:not(.ff_gdpr_field):not(.ff_t_c) .ff-el-form-check:has(input[type="radio"]).ff_item_selected .ff-el-form-check-label::before,
.mountsol-demo-onboarding form.fluent_form_3 .ff-el-group:not(.ff_gdpr_field):not(.ff_t_c) .ff-el-form-check:has(input[type="radio"]) .ff-el-form-check-label.active::before {
	border-color: #1f7bff !important;
	background: #1f7bff !important;
	box-shadow: inset 0 0 0 3px #fff !important;
}

/* Consent / terms rows */
.mountsol-demo-onboarding form.fluent_form_3 .ff-el-group.ff_gdpr_field .ff-el-form-check-label,
.mountsol-demo-onboarding form.fluent_form_3 .ff-el-group.ff_t_c .ff-el-form-check-label,
.mountsol-demo-onboarding form.fluent_form_3 .ff-el-form-check.ff_tc_label .ff-el-form-check-label,
.mountsol-demo-onboarding form.fluent_form_3 .ff-el-form-check:has(input[type="checkbox"]) .ff-el-form-check-label {
	justify-content: flex-start !important;
	text-align: left !important;
	min-height: auto !important;
	border-radius: 0.75rem !important;
	padding: 0.8rem 0.95rem !important;
	border: 1px solid #dde4ee !important;
	border-left: 1px solid #dde4ee !important;
	box-shadow: none !important;
	background: #f8fafc !important;
	font-weight: 500 !important;
	font-size: 0.82rem !important;
	color: #49576a !important;
	transform: none !important;
}

.mountsol-demo-onboarding form.fluent_form_3 .ff-el-form-check:has(input[type="checkbox"]) .ff-el-form-check-label::before {
	display: none !important;
	content: none !important;
}

.mountsol-demo-onboarding form.fluent_form_3 .ff-el-form-check:has(input[type="checkbox"]) .ff-el-form-check-input,
.mountsol-demo-onboarding form.fluent_form_3 .ff-el-form-check:has(input[type="checkbox"]) input[type="checkbox"] {
	position: static !important;
	opacity: 1 !important;
	width: 1rem !important;
	height: 1rem !important;
	margin: 0.15rem 0.55rem 0 0 !important;
	pointer-events: auto !important;
	accent-color: #1f7bff;
	flex-shrink: 0;
}

/* Nav buttons */
.mountsol-demo-onboarding form.fluent_form_3 .ff-btn,
.mountsol-demo-onboarding form.fluent_form_3 .step-nav button {
	min-height: 2.85rem !important;
	min-width: 7.5rem !important;
	padding: 0.75rem 1.35rem !important;
	border-radius: 0.75rem !important;
	font-weight: 700 !important;
	font-size: 0.9rem !important;
	letter-spacing: -0.01em !important;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease !important;
}

.mountsol-demo-onboarding form.fluent_form_3 .ff-btn.ff-btn-prev,
.mountsol-demo-onboarding form.fluent_form_3 .step-nav button.ff-btn-prev {
	background: #fff !important;
	background-color: #fff !important;
	color: #49576a !important;
	border: 1px solid #c5d0df !important;
	box-shadow: none !important;
}

.mountsol-demo-onboarding form.fluent_form_3 .ff-btn.ff-btn-prev:hover,
.mountsol-demo-onboarding form.fluent_form_3 .step-nav button.ff-btn-prev:hover {
	background: #f8fafc !important;
	border-color: #1f7bff !important;
	color: #08214a !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgb(8 33 74 / 0.06) !important;
}

.mountsol-demo-onboarding form.fluent_form_3 .ff-btn.ff-btn-next,
.mountsol-demo-onboarding form.fluent_form_3 .ff-btn.ff-btn-submit,
.mountsol-demo-onboarding form.fluent_form_3 .step-nav button.ff-btn-next,
.mountsol-demo-onboarding form.fluent_form_3 .step-nav button.ff-btn-submit,
.mountsol-demo-onboarding form.fluent_form_3 button[type="submit"].ff-btn {
	background: #f6b233 !important;
	background-color: #f6b233 !important;
	color: #08214a !important;
	border: 1px solid #f6b233 !important;
	box-shadow: 0 10px 24px rgb(246 178 51 / 0.3) !important;
}

.mountsol-demo-onboarding form.fluent_form_3 .ff-btn.ff-btn-next:hover,
.mountsol-demo-onboarding form.fluent_form_3 .ff-btn.ff-btn-submit:hover,
.mountsol-demo-onboarding form.fluent_form_3 .step-nav button.ff-btn-next:hover,
.mountsol-demo-onboarding form.fluent_form_3 .step-nav button.ff-btn-submit:hover,
.mountsol-demo-onboarding form.fluent_form_3 button[type="submit"].ff-btn:hover {
	background: #e09a14 !important;
	border-color: #e09a14 !important;
	color: #08214a !important;
	transform: translateY(-1px);
	box-shadow: 0 14px 28px rgb(246 178 51 / 0.38) !important;
}

.mountsol-demo-onboarding form.fluent_form_3 .ff-el-group.ff_submit_btn_wrapper,
.mountsol-demo-onboarding form.fluent_form_3 .step-nav {
	margin-top: 1.35rem !important;
	gap: 0.75rem;
}

@media (max-width: 640px) {
	.mountsol-demo-onboarding form.fluent_form_3 .ff-el-form-control,
	.mountsol-demo-onboarding form.fluent_form_3 input[type="text"],
	.mountsol-demo-onboarding form.fluent_form_3 input[type="email"],
	.mountsol-demo-onboarding form.fluent_form_3 input[type="tel"],
	.mountsol-demo-onboarding form.fluent_form_3 select {
		min-height: 2.9rem !important;
		font-size: 1rem !important;
	}

	.mountsol-demo-onboarding form.fluent_form_3 .ff-el-group.ff_list_inline .ff-el-input--content:has(.ff-el-form-check input[type="radio"]) {
		grid-template-columns: 1fr !important;
	}
}
