/**
 * /questionnaire/ — visual treatment aligned with the Bodyfitnet homepage.
 * Presentation only: no field, validation, condition, price or payment logic is changed.
 */
#primary,
.site-main,
.entry-content {
	color: #18313c;
}

.entry-content {
	max-width: 1180px;
	margin-inline: auto;
	padding-inline: 20px;
}

.fluentform {
	margin: 28px auto 56px;
	padding: clamp(24px, 4vw, 46px);
	border: 1px solid rgba(24, 49, 60, 0.10);
	border-radius: 24px;
	background: #ffffff;
	box-shadow: 0 18px 52px rgba(24, 49, 60, 0.07);
}

.fluentform :is(h1, h2, h3, h4) {
	color: #18313c;
	letter-spacing: -0.025em;
}

.fluentform :is(h2, h3) {
	margin-top: 4px;
	margin-bottom: 22px;
	font-weight: 750;
}

.fluentform .ff-el-section-break {
	margin: 30px 0 22px;
	padding: 20px 22px;
	border: 1px solid rgba(24, 49, 60, 0.09);
	border-radius: 16px;
	background: #fffaf6;
}

.fluentform .ff-el-section-break :is(h2, h3, h4, p) {
	margin-top: 0;
	margin-bottom: 0;
}

.fluentform .ff-el-group {
	margin-bottom: 24px;
}

.fluentform .ff-el-input--label label,
.fluentform .ff-el-form-check-label,
.fluentform .ff-el-form-check-label span {
	color: #374a53;
}

.fluentform .ff-el-input--label label {
	font-size: 16px;
	font-weight: 650;
	line-height: 1.5;
}

.fluentform .ff-el-input--label label::after,
.fluentform .ff-el-input--label .ff-el-required {
	color: #fe7541;
}

.fluentform :is(
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="number"],
	input[type="date"],
	select,
	textarea,
	.ff-el-form-control
) {
	width: 100%;
	min-height: 50px;
	border: 1px solid #d9e1e5;
	border-radius: 12px;
	background: #ffffff;
	color: #18313c;
	box-shadow: none;
	font-size: 16px;
	transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.fluentform textarea,
.fluentform textarea.ff-el-form-control {
	min-height: 118px;
	padding: 14px 16px;
	resize: vertical;
}

.fluentform :is(
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="number"],
	input[type="date"],
	select,
	.ff-el-form-control
):focus {
	border-color: #fe7541;
	outline: 0;
	box-shadow: 0 0 0 4px rgba(254, 117, 65, 0.14);
}

.fluentform input[type="radio"],
.fluentform input[type="checkbox"] {
	accent-color: #fe7541;
}

.fluentform .ff-el-form-check {
	margin: 10px 0;
}

.fluentform .ff-el-form-check-label {
	display: inline-flex;
	align-items: flex-start;
	gap: 9px;
	line-height: 1.55;
}

.fluentform .ff-el-form-check-label input {
	margin-top: 4px;
	flex: 0 0 auto;
}

.fluentform .ff-el-help-message,
.fluentform .ff-el-input--content small,
.fluentform .ff-el-input--content .text-muted {
	color: #6f7f87;
	font-size: 13px;
}

.fluentform .ff-el-is-error .ff-el-form-control {
	border-color: #d94c4c;
	box-shadow: 0 0 0 3px rgba(217, 76, 76, 0.10);
}

.fluentform .error,
.fluentform .ff-el-is-error .text-danger {
	color: #b93636;
}

.fluentform .ff-btn,
.fluentform button[type="submit"],
.fluentform input[type="submit"] {
	min-height: 52px;
	padding: 13px 24px;
	border: 1px solid #fe7541 !important;
	border-radius: 999px !important;
	background: #fe7541 !important;
	color: #ffffff !important;
	box-shadow: 0 10px 26px rgba(254, 117, 65, 0.18);
	font-size: 15px;
	font-weight: 750;
	line-height: 1.25;
	text-decoration: none;
	transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.fluentform .ff-btn:hover,
.fluentform .ff-btn:focus-visible,
.fluentform button[type="submit"]:hover,
.fluentform button[type="submit"]:focus-visible,
.fluentform input[type="submit"]:hover,
.fluentform input[type="submit"]:focus-visible {
	border-color: #e96227 !important;
	background: #e96227 !important;
	color: #ffffff !important;
	box-shadow: 0 12px 30px rgba(254, 117, 65, 0.24);
	transform: translateY(-1px);
}

.fluentform .ff-btn:focus-visible,
.fluentform button[type="submit"]:focus-visible,
.fluentform input[type="submit"]:focus-visible {
	outline: 3px solid rgba(254, 117, 65, 0.34);
	outline-offset: 3px;
}

.fluentform .ff-el-progress,
.fluentform .ff-el-progress-bar {
	border-radius: 999px;
}

.fluentform .ff-el-progress {
	overflow: hidden;
	background: #eef2f3;
}

.fluentform .ff-el-progress-bar {
	background: #fe7541;
}

.fluentform .ff-el-progress-status {
	color: #52636b;
	font-size: 13px;
	font-weight: 650;
}

.fluentform .ff_payment_method {
	padding: 14px 16px;
	border: 1px solid #dfe5e8;
	border-radius: 14px;
	background: #ffffff;
}

.fluentform .ff_payment_method:hover {
	border-color: rgba(254, 117, 65, 0.55);
}

.fluentform a {
	color: #d95821;
	text-underline-offset: 3px;
}

.fluentform a:hover,
.fluentform a:focus-visible {
	color: #b94b1e;
}

@media (max-width: 767px) {
	.entry-content {
		padding-inline: 14px;
	}

	.fluentform {
		margin-top: 18px;
		margin-bottom: 36px;
		padding: 20px 16px;
		border-radius: 18px;
	}

	.fluentform .ff-el-section-break {
		margin: 24px 0 18px;
		padding: 16px;
		border-radius: 14px;
	}

	.fluentform .ff-el-group {
		margin-bottom: 20px;
	}

	.fluentform .ff-el-input--label label {
		font-size: 15px;
	}

	.fluentform :is(
		input[type="text"],
		input[type="email"],
		input[type="tel"],
		input[type="number"],
		input[type="date"],
		select,
		.ff-el-form-control
	) {
		font-size: 16px;
	}

	.fluentform .ff-btn,
	.fluentform button[type="submit"],
	.fluentform input[type="submit"] {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fluentform * {
		scroll-behavior: auto !important;
	}

	.fluentform :is(
		.ff-btn,
		button[type="submit"],
		input[type="submit"],
		.ff-el-form-control
	) {
		transition: none !important;
	}
}


/* Questionnaire page heading: align with the homepage scale and keep one line on desktop. */
.elementor-widget-heading h1.elementor-heading-title,
.entry-content > h1 {
	margin: 24px 0 28px;
	max-width: none;
	color: #18313c;
	font-size: clamp(42px, 4vw, 56px);
	font-weight: 750;
	letter-spacing: -0.04em;
	line-height: 1.05;
	white-space: nowrap;
}

@media (max-width: 767px) {
	.elementor-widget-heading h1.elementor-heading-title,
	.entry-content > h1 {
		margin: 18px 0 22px;
		font-size: 36px;
		line-height: 1.08;
		white-space: normal;
	}
}

/* Accessible one-section-at-a-time navigation for /questionnaire/. */
#fluentform_3 .bfn-questionnaire-progress {
	display: grid;
	gap: 10px;
	margin: 0 0 24px;
	color: #18313c;
	font-weight: 700;
}

#fluentform_3 .bfn-questionnaire-progress__text {
	margin: 0;
	font-size: 15px;
}

#fluentform_3 .bfn-questionnaire-progress__track {
	display: block;
	height: 8px;
	overflow: hidden;
	border-radius: 999px;
	background: #eef2f3;
}

#fluentform_3 .bfn-questionnaire-progress__fill {
	display: block;
	width: 33.333%;
	height: 100%;
	border-radius: inherit;
	background: #fe7541;
	transition: width 180ms ease;
}

#fluentform_3 .bfn-questionnaire-nav {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin: 8px 0 28px;
}

#fluentform_3 .bfn-questionnaire-nav .bfn-questionnaire-nav__previous {
	border-color: #fe7541 !important;
	background: #ffffff !important;
	color: #18313c !important;
	-webkit-text-fill-color: #18313c !important;
	box-shadow: none !important;
}

#fluentform_3 .bfn-questionnaire-nav .bfn-questionnaire-nav__previous:hover,
#fluentform_3 .bfn-questionnaire-nav .bfn-questionnaire-nav__previous:focus,
#fluentform_3 .bfn-questionnaire-nav .bfn-questionnaire-nav__previous:focus-visible {
	border-color: #e96227 !important;
	background: #fff4ee !important;
	color: #18313c !important;
	-webkit-text-fill-color: #18313c !important;
}

#fluentform_3 .bfn-questionnaire-nav__next {
	margin-left: auto;
}

#fluentform_3 .bfn-questionnaire-nav button:focus-visible {
	outline: 3px solid rgba(254, 117, 65, 0.34);
	outline-offset: 3px;
}

@media (max-width: 600px) {
	#fluentform_3 .bfn-questionnaire-nav {
		gap: 10px;
	}

	#fluentform_3 .bfn-questionnaire-nav .ff-btn {
		min-width: 0;
		padding-inline: 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	#fluentform_3 .bfn-questionnaire-progress__fill {
		transition: none;
	}
}

#fluentform_3 .bfn-questionnaire-nav[hidden] {
	display: none !important;
}
