/* Shared WPForms lead form. This file is inlined only on routes that render
 * the centralized form so non-form pages do not parse its presentation CSS. */
.hero_form-wrapper:has(.has-robeks-wpforms) {
	width: 100%;
}

.has-robeks-wpforms {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
}

/* Apply uses the wider centered Webflow form card instead of the standard
 * two-column hero wrapper. Keep that exception local to this template. */
.site-main--page-apply .hero_form-component.has-robeks-wpforms {
	max-width: 45rem;
}

/* The Harmony Guide uses the same centered 45rem Webflow form card as Apply.
 * Reset the global heading cap so its title stays centered inside that card. */
.site-main--page-harmony-guide-to-robeks .hero_form-component.has-robeks-wpforms {
	max-width: 45rem;
	margin-inline: auto;
}

.site-main--page-harmony-guide-to-robeks .hero-form_heading > .form-header-line1 {
	width: 100%;
	max-width: none;
	margin-inline: auto;
	text-align: center;
}

.site-main--page-apply .robeks-lead-form .wpforms-field-container {
	row-gap: 0.5rem;
}

.has-robeks-wpforms .hero-form_heading {
	margin-bottom: 1.875rem;
}

.hero_form-component .form_steps-wrap,
.ppc-form-card .form_steps-wrap {
	display: flex;
	margin-top: 1rem;
	margin-bottom: 1rem;
	border-bottom: 1px solid var(--base-color-brand--r-green, #93da49);
	flex-flow: row;
	justify-content: space-between;
	align-items: center;
}

.hero_form-component .form-step_number,
.ppc-form-card .form-step_number {
	display: flex;
	box-sizing: border-box;
	width: 1.5rem;
	height: 1.5rem;
	margin-bottom: -0.75rem;
	border-radius: 100vh;
	background-color: var(--base-color-brand--r-green, #93da49);
	color: var(--base-color-brand--white, #fff);
	align-items: center;
	justify-content: center;
	font-size: 0.6rem;
	font-weight: 900;
	line-height: 1;
}

.hero_form-component .form-step_number:is(.active, .is-active),
.ppc-form-card .form-step_number:is(.active, .is-active) {
	background-color: var(--base-color-brand--r-orange, #ed9b33);
}

.has-robeks-wpforms .form-header-line1 {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
}

.has-robeks-wpforms .form-heading_line2 {
	margin-top: 0.375rem;
	font-size: 0.875rem;
	line-height: 1.3;
}

.robeks-lead-form,
.robeks-lead-form .wpforms-container,
.robeks-lead-form .wpforms-form {
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin: 0;
}

.robeks-lead-form .wpforms-field-container {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 1rem 0.5rem;
}

.robeks-lead-form .wpforms-page-indicator {
	display: none !important;
}

.robeks-lead-form .wpforms-page {
	grid-column: 1 / -1;
	width: 100%;
}

.robeks-lead-form .wpforms-page.is-robeks-active-page {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 1rem 0.5rem;
}

.robeks-lead-form .wpforms-form .wpforms-field {
	box-sizing: border-box;
	min-width: 0;
	margin: 0;
	padding: 0 !important;
	text-align: left;
}

.robeks-lead-form .robeks-wpforms-half {
	grid-column: span 1;
}

.robeks-lead-form .robeks-wpforms-full {
	grid-column: 1 / -1;
}

.robeks-lead-form .robeks-wpforms-tracking {
	display: none;
}

.robeks-lead-form .wpforms-field-pagebreak {
	grid-column: 1 / -1;
	margin-top: 0.75rem !important;
}

.robeks-lead-form :is(.wpforms-page-button, .wpforms-pagebreak-button) {
	box-sizing: border-box !important;
	min-height: 3rem !important;
	margin: 0 !important;
	border: 1px solid var(--base-color-brand--r-green, #93da49) !important;
	border-radius: 100vh !important;
	background: var(--base-color-brand--white, #fff) !important;
	color: var(--base-color-neutral--neutral-light, #aaa) !important;
	font-family: var(--typogrpahy--primary-font, "Montserrat Variablefont Wght", Arial, sans-serif) !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	box-shadow: none !important;
	transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.robeks-lead-form :is(.wpforms-page-next, .wpforms-pagebreak-next) {
	width: 100% !important;
}

.robeks-lead-form :is(.wpforms-page-prev, .wpforms-pagebreak-prev) {
	min-width: 7rem;
	padding-inline: 1.25rem !important;
	color: var(--base-color-neutral--black, #000) !important;
}

.robeks-lead-form :is(.wpforms-page-button, .wpforms-pagebreak-button):hover,
.robeks-lead-form :is(.wpforms-page-button, .wpforms-pagebreak-button):focus-visible {
	background: var(--base-color-brand--white, #fff) !important;
	color: var(--base-color-neutral--black, #000) !important;
	box-shadow: 4px 4px 0 1px var(--base-color-brand--r-orange, #ed9b33) !important;
}

.robeks-lead-form :is(.wpforms-page-button-group, .wpforms-pagebreak-buttons) {
	display: flex;
	width: 100%;
	gap: 0.5rem;
}

.robeks-lead-form .wpforms-field-label {
	color: var(--dark-orange, #352718) !important;
	font-size: 0.75rem !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
}

.robeks-lead-form .wpforms-required-label {
	display: none;
}

.robeks-lead-form .robeks-wpforms-floating-label {
	position: relative;
	padding: 0.35rem 0 0 !important;
}

.robeks-lead-form .robeks-wpforms-floating-label > .wpforms-field-label {
	position: absolute;
	z-index: 2;
	top: -0.3rem;
	left: 0.5rem;
	max-width: calc(100% - 1rem);
	margin: 0;
	border-radius: 2rem;
	background: var(--base-color-brand--white, #fff);
	padding: 0 0.25rem;
	white-space: normal;
}

/* The business-interest label can wrap to two lines. Let that label take up
 * real layout space so entered text always begins below it, while retaining
 * the floating-label overlap on the textarea border. */
.robeks-lead-form .robeks-wpforms-textarea {
	display: flex;
	padding-top: 0 !important;
	flex-direction: column;
}

.robeks-lead-form .robeks-wpforms-textarea > .wpforms-field-label {
	position: relative;
	top: auto;
	left: auto;
	align-self: flex-start;
	margin: 0 0 -0.45rem 0.5rem;
}

div#wpforms-898-field_9-container {
	margin-top: 0.5rem;
}

.robeks-lead-form :is(
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	select,
	textarea
) {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	border: 1px solid var(--base-color-brand--r-orange, #ed9b33) !important;
	border-radius: 1rem !important;
	background: transparent !important;
	color: var(--base-color-neutral--neutral, #666) !important;
	font-family: var(--typogrpahy--primary-font, "Montserrat Variablefont Wght", Arial, sans-serif) !important;
	font-size: 0.875rem !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	box-shadow: none !important;
	outline: none !important;
}

.robeks-lead-form :is(
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	select
) {
	min-height: 3rem !important;
	padding: 0.5rem 1rem !important;
}

.robeks-lead-form textarea {
	height: 5rem !important;
	min-height: 5rem !important;
	padding: 0.75rem 1rem !important;
	resize: vertical;
}

.robeks-lead-form :is(
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	select,
	textarea
):focus {
	border-color: var(--base-color-brand--r-green, #93da49) !important;
	color: var(--base-color-neutral--black, #000) !important;
}

.robeks-lead-form :is(input, textarea)::placeholder {
	color: transparent !important;
}

.robeks-lead-form select {
	color: var(--base-color-neutral--black, #000) !important;
}

.robeks-lead-form .robeks-wpforms-select select {
	font-size: 0.75rem !important;
}

.robeks-lead-form .robeks-wpforms-question {
	padding: 0.25rem 0 0 !important;
}

.robeks-lead-form .robeks-wpforms-question-copy {
	color: var(--dark-orange, #352718);
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.6;
	text-align: left;
}

.robeks-lead-form .robeks-wpforms-consent-copy {
	color: var(--base-color-neutral--neutral, #666);
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
}

.robeks-lead-form .robeks-wpforms-consent-copy a {
	color: var(--base-color-brand--r-orange, #ed9b33);
	font-weight: 700;
}

.robeks-lead-form .wpforms-submit-container {
	margin: 0.75rem 0 0 !important;
	padding: 0 !important;
}

.robeks-lead-form .robeks-wpforms-submit {
	box-sizing: border-box !important;
	width: 100% !important;
	min-height: 3rem !important;
	margin: 0 !important;
	border: 1px solid var(--base-color-brand--r-green, #93da49) !important;
	border-radius: 100vh !important;
	background: var(--base-color-brand--white, #fff) !important;
	color: var(--base-color-neutral--neutral-light, #aaa) !important;
	font-family: var(--typogrpahy--primary-font, "Montserrat Variablefont Wght", Arial, sans-serif) !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	box-shadow: none !important;
	transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.robeks-lead-form .robeks-wpforms-submit:hover,
.robeks-lead-form .robeks-wpforms-submit:focus-visible {
	background: var(--base-color-brand--white, #fff) !important;
	color: var(--base-color-neutral--black, #000) !important;
	box-shadow: 4px 4px 0 1px var(--base-color-brand--r-orange, #ed9b33) !important;
}

.robeks-lead-form :is(
	.wpforms-page-next,
	.wpforms-pagebreak-next,
	.robeks-wpforms-submit
).is-robeks-ready {
	background: var(--base-color-brand--r-green, #93da49) !important;
	color: var(--base-color-neutral--black, #000) !important;
	cursor: pointer;
}

.robeks-lead-form :is(
	.wpforms-page-next,
	.wpforms-pagebreak-next,
	.robeks-wpforms-submit
).is-robeks-ready:hover,
.robeks-lead-form :is(
	.wpforms-page-next,
	.wpforms-pagebreak-next,
	.robeks-wpforms-submit
).is-robeks-ready:focus-visible {
	background: var(--base-color-brand--r-green, #93da49) !important;
	color: var(--base-color-neutral--black, #000) !important;
}

.robeks-lead-form label.wpforms-error {
	display: block;
	margin-top: 0.25rem;
	color: #9c2c20;
	font-size: 0.6875rem;
	font-weight: 600;
	line-height: 1.3;
}

.robeks-lead-form :is(input, select, textarea).wpforms-error {
	border-color: #9c2c20 !important;
}

.robeks-lead-form .wpforms-error-container {
	margin: 0 0 0.75rem;
	color: #9c2c20;
	font-size: 0.75rem;
}

.robeks-lead-form .wpforms-confirmation-container,
.robeks-lead-form .wpforms-confirmation-container-full {
	display: flex;
	min-height: 11rem;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
	padding: 1.5rem 0 0 !important;
	flex-direction: column;
	gap: 1.5rem;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.robeks-wpforms-confirmation {
	display: flex;
	width: 100%;
	flex-direction: column;
	gap: 1.5rem;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.robeks-wpforms-confirmation-message,
.robeks-lead-form :is(
	.wpforms-confirmation-container,
	.wpforms-confirmation-container-full
) p {
	max-width: 24rem;
	margin: 0 !important;
	color: var(--base-color-brand--r-orange, #ed9b33) !important;
	font-size: 1rem !important;
	font-weight: 500 !important;
	line-height: 1.5 !important;
}

.robeks-wpforms-download,
.robeks-lead-form :is(
	.wpforms-confirmation-container,
	.wpforms-confirmation-container-full
) a {
	box-sizing: border-box !important;
	display: inline-flex !important;
	min-width: 15rem !important;
	min-height: 3rem !important;
	border: 1px solid var(--base-color-brand--r-green, #93da49) !important;
	border-radius: 100vh !important;
	padding: 0.75rem 1.5rem !important;
	justify-content: center;
	align-items: center;
	background: var(--base-color-brand--r-green, #93da49) !important;
	color: var(--base-color-neutral--black, #000) !important;
	font-size: 0.875rem !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-align: center;
	text-decoration: none !important;
}

.robeks-wpforms-download:hover,
.robeks-wpforms-download:focus-visible,
.robeks-lead-form :is(
	.wpforms-confirmation-container,
	.wpforms-confirmation-container-full
) a:hover,
.robeks-lead-form :is(
	.wpforms-confirmation-container,
	.wpforms-confirmation-container-full
) a:focus-visible {
	color: var(--base-color-neutral--black, #000) !important;
	box-shadow: 4px 4px 0 1px var(--base-color-brand--r-orange, #ed9b33) !important;
}

@media screen and (max-width: 767px) {
	.has-robeks-wpforms {
		max-width: none;
	}
}

@media screen and (max-width: 600px) {
	.robeks-lead-form .wpforms-form .robeks-wpforms-floating-label {
		overflow: visible !important;
	}
}

@media screen and (max-width: 479px) {
	.has-robeks-wpforms {
		padding: 1.5rem;
	}

	.robeks-lead-form .wpforms-field-container {
		grid-template-columns: minmax(0, 1fr);
	}

	.robeks-lead-form .wpforms-page.is-robeks-active-page {
		grid-template-columns: minmax(0, 1fr);
	}

	.robeks-lead-form .robeks-wpforms-half,
	.robeks-lead-form .robeks-wpforms-full {
		grid-column: 1;
	}
}
