.qs-b2b-form {

	--qs-control-h: 2.75rem;

	--qs-control-radius: 0.375rem;

	--qs-control-fs: 0.9375rem;

	--qs-error-color: #e02b27;

	--qs-error-fs: 0.75rem;



	color: #ffffff;

}



.qs-b2b-form__hidden,

.qs-b2b-form .qs-b2b-form__hidden {

	position: absolute;

	width: 1px;

	height: 1px;

	padding: 0;

	margin: -1px;

	overflow: hidden;

	clip: rect(0, 0, 0, 0);

	white-space: nowrap;

	border: 0;

}



#lead_form_modal .qs-b2b-form__form {

	display: grid;

	gap: 0.875rem;

	width: 100%;

}



.qs-b2b-form__field {

	display: grid;

	gap: 0;

	width: 100%;

}



.qs-b2b-form__label {

	position: absolute;

	width: 1px;

	height: 1px;

	padding: 0;

	margin: -1px;

	overflow: hidden;

	clip: rect(0, 0, 0, 0);

	white-space: nowrap;

	border: 0;

}



.qs-b2b-form__field input.form-control,

.qs-b2b-form__field input[type='text'],

.qs-b2b-form__field input[type='email'],

.qs-b2b-form__field input[type='tel'] {

	box-sizing: border-box;

	width: 100%;

	height: var(--qs-control-h);

	min-height: var(--qs-control-h);

	padding: 0 0.875rem;

	border: 1px solid rgb(245 240 232 / 0.22);

	border-radius: var(--qs-control-radius);

	font-size: var(--qs-control-fs);

	line-height: 1.2;

	color: #0f1f30;

	background: #ffffff;

	transition:

		border-color 150ms ease,

		box-shadow 150ms ease;

}



.qs-b2b-form__field input:hover {

	border-color: rgb(245 240 232 / 0.4);

}



.qs-b2b-form__field input:focus {

	border-color: var(--ds-color-ring-focus, #62d4e7);

	outline: none;

	box-shadow: 0 0 0 3px rgb(98 212 231 / 0.22);

}



.qs-b2b-form__field input.is-invalid {

	border-color: var(--qs-error-color);

	box-shadow: 0 0 0 2px rgb(224 43 39 / 0.18);

}



.qs-b2b-form__field input::placeholder {

	color: #6b6560;

}



.qs-b2b-form__field-error,

.qs-b2b-form__field-error.is-visible {

	display: block;

	margin: 0.4375rem 0 0;

	padding: 0;

	font-size: var(--qs-error-fs);

	line-height: 1.35;

	color: var(--qs-error-color);

	text-align: left;

}

.qs-b2b-form__field-error:empty,
.qs-b2b-form__field-error[hidden] {
	display: none;
}

.qs-b2b-form__field-error.is-visible {
	display: block;
}



.qs-b2b-form__actions {

	display: grid;

	gap: 0.5rem;

	width: 100%;

	margin-top: 0.375rem;

}



.qs-b2b-form__submit {

	box-sizing: border-box;

	display: inline-flex;

	align-items: center;

	justify-content: center;

	width: 100%;

	height: var(--qs-control-h);

	min-height: var(--qs-control-h);

	padding: 0 1rem;

	border: 1px solid transparent;

	border-radius: var(--qs-control-radius);

	background: var(--ds-brand-blaze, #ff5722);

	color: #ffffff;

	font-family: var(--ds-font-label, Tomorrow, ui-monospace, monospace);

	font-size: 0.6875rem;

	font-weight: 500;

	letter-spacing: 0.12em;

	line-height: 1;

	text-transform: uppercase;

	cursor: pointer;

	transition:

		background-color 150ms ease,

		box-shadow 150ms ease,

		transform 100ms ease;

}



.qs-b2b-form__submit--secondary {

	background: rgb(245 240 232 / 0.12);

	border-color: rgb(245 240 232 / 0.28);

}



.qs-b2b-form__submit:hover {

	background: var(--ds-brand-blaze-dark, #e64a19);

}



.qs-b2b-form__submit--secondary:hover {

	background: rgb(245 240 232 / 0.2);

}



.qs-b2b-form__submit:active {

	background: var(--ds-color-cta-blue-active, #d84315);

	transform: scale(0.99);

}



.qs-b2b-form__submit.submitting {

	opacity: 0.7;

	pointer-events: none;

}



.qs-b2b-form__submit:focus-visible {

	outline: 2px solid var(--ds-color-ring-focus, #62d4e7);

	outline-offset: 2px;

}



.qs-b2b-form__status {

	min-height: 1rem;

	margin: 0;

	font-size: var(--qs-error-fs);

	line-height: 1.35;

	text-align: center;

}



.qs-b2b-form__status:empty {

	display: none;

}



.qs-b2b-form__status.is-error {

	color: var(--qs-error-color);

}



.qs-b2b-form__status.is-success {

	color: rgb(245 240 232 / 0.92);

	font-size: 0.8125rem;

}



/* Date range flow (hidden until enabled by host page / script) */

.qs-b2b-form__dates {

	display: grid;

	gap: 0.75rem;

	margin-bottom: 0.875rem;

}



.qs-b2b-form__dates[hidden] {

	display: none !important;

}



.qs-b2b-form__dates-title {

	margin: 0;

	font-size: 1rem;

	font-weight: 600;

}



.qs-b2b-form__dates-hint {

	color: var(--qs-error-color);

}



.qs-b2b-form .date-range-actions {

	margin-top: 0.75rem;

}



.qs-b2b-form__selected-dates {

	margin-bottom: 0.5rem;

	font-size: 0.8125rem;

	color: rgb(245 240 232 / 0.88);

}



.qs-b2b-form__selected-dates-btn {

	margin: 0;

	padding: 0;

	border: 0;

	background: none;

	color: var(--ds-color-ring-focus, #62d4e7);

	font: inherit;

	text-decoration: underline;

	cursor: pointer;

}



.qs-b2b-form__selected-dates-btn:focus-visible {

	outline: 2px solid var(--ds-color-ring-focus, #62d4e7);

	outline-offset: 2px;

}



/* Legal / consent */

.qs-b2b-form__legal {

	margin-top: 0.5rem;

	font-size: 0.6875rem;

	line-height: 1.45;

	color: rgb(245 240 232 / 0.78);

}



.qs-b2b-form__legal p {

	margin: 0 0 0.5rem;

}



.qs-b2b-form__legal a {

	color: var(--ds-color-ring-focus, #62d4e7);

	text-decoration: underline;

}



.qs-b2b-form__legal .signupCheck {

	display: flex;

	gap: 0.5rem;

	align-items: flex-start;

}



.qs-b2b-form__legal .signupCheck input[type='checkbox'] {

	margin-top: 0.2rem;

	flex-shrink: 0;

}



.qs-b2b-form__legal.userAggrement.qslaunch[hidden] {

	display: none !important;

}



/* jQuery UI datepicker inside modal */

.qs-b2b-form .ui-datepicker {

	width: 100%;

	max-width: 100%;

	font-size: 0.8125rem;

}



.qs-b2b-form .ui-datepicker .ui-state-default {

	text-align: center;

}



@media (max-width: 30rem) {

	.qs-b2b-form {

		--qs-control-h: 2.75rem;

		--qs-control-fs: 1rem;

	}



	.qs-b2b-form__field input {

		font-size: 1rem;

	}

}



@media (prefers-reduced-motion: reduce) {

	.qs-b2b-form__submit:active {

		transform: none;

	}

}


