/**
 * SCBL — CTA Form block.
 *
 * Figma node 10019:834. Dark rounded CTA row with an orange WPForms panel.
 */

.cta-form {
	width: 100%;
	background: var(--color-white);
	color: var(--color-white);
}

.cta-form__container {
	width: 100%;
	padding: clamp(3rem, 4.32vw, 5.5rem) clamp(1rem, 8.82vw, 11.25rem);
}

.cta-form__row {
	display: grid;
	grid-template-columns: 1fr;
	overflow: hidden;
	background: var(--color-indigo-900);
	border-radius: 1.5rem;
}

.cta-form__content,
.cta-form__panel {
	display: flex;
	flex-direction: column;
	padding: clamp(2rem, 4.32vw, 5.5rem);
}

.cta-form__content {
	gap: 1.5rem;
}

.cta-form__panel {
	justify-content: center;
	gap: 2.5rem;
	background: var(--color-orange-500);
}

.cta-form__title-group {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.cta-form__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	width: max-content;
	max-width: 100%;
}

.cta-form__eyebrow-text {
	font-family: var(--font-primary);
	font-weight: var(--fw-medium);
	font-size: var(--fs-r5);
	line-height: var(--lh-snug);
	letter-spacing: var(--ls-uppercase-lg);
	text-transform: uppercase;
	color: var(--color-white);
}

.cta-form__strip {
	display: block;
	width: 5rem;
	height: 1px;
	flex: 0 0 auto;
	background: var(--color-orange-500);
}

.cta-form__title {
	max-width: 36rem;
	margin: 0;
	font-family: var(--font-primary);
	font-weight: var(--fw-extrabold);
	font-size: var(--fs-display-4);
	line-height: var(--lh-tight);
	text-transform: uppercase;
	color: var(--color-white);
}

.cta-form__title-highlight {
	color: var(--color-orange-500);
}

.cta-form__description {
	max-width: 42rem;
	margin: 0;
	font-family: var(--font-primary);
	font-weight: var(--fw-regular);
	font-size: var(--fs-r2);
	line-height: var(--lh-snug);
	color: var(--color-dark-300);
}

.cta-form__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 2.5rem;
	padding-block-start: 1rem;
}

.cta-form__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	padding: 1rem 3.5rem;
	border-radius: 0.75rem;
	background: linear-gradient(180deg, var(--color-white) 0%, var(--color-dark-300) 100%);
	box-shadow:
		0 2rem 3.5rem rgba(16, 17, 20, 0.4),
		0 0.75rem 1rem rgba(16, 17, 20, 0.24);
	color: var(--color-indigo-900);
	font-family: var(--font-primary);
	font-weight: var(--fw-medium);
	font-size: var(--fs-r2);
	line-height: var(--lh-snug);
	text-decoration: none;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.cta-form__button:hover,
.cta-form__button:focus-visible {
	color: var(--color-indigo-900);
	transform: translateY(-1px);
	box-shadow:
		0 2.25rem 3.75rem rgba(16, 17, 20, 0.42),
		0 0.875rem 1.125rem rgba(16, 17, 20, 0.26);
}

.cta-form__button:focus {
	outline: none;
}

.cta-form__button:focus-visible {
	outline: 2px solid var(--color-white);
	outline-offset: 3px;
}

.cta-form__button-icon {
	display: inline-flex;
	width: 2rem;
	height: 2rem;
	flex: 0 0 auto;
	color: var(--color-dark-950);
}

.cta-form__button-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.cta-form__button-icon svg path {
	fill: currentColor;
}

.cta-form__form-title {
	margin: 0;
	font-family: var(--font-primary);
	font-weight: var(--fw-semibold);
	font-size: var(--fs-h3);
	line-height: var(--lh-tight);
	color: var(--color-white);
}

.cta-form__form-preview,
.cta-form__wpforms div.wpforms-container-full .wpforms-form {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.cta-form__form-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.625rem;
}

.cta-form__field,
.cta-form__wpforms div.wpforms-container-full .wpforms-form input[type="text"],
.cta-form__wpforms div.wpforms-container-full .wpforms-form input[type="email"],
.cta-form__wpforms div.wpforms-container-full .wpforms-form input[type="tel"],
.cta-form__wpforms div.wpforms-container-full .wpforms-form select,
.cta-form__wpforms div.wpforms-container-full .wpforms-form .choices__inner,
.cta-form__wpforms div.wpforms-container-full .wpforms-form textarea {
	width: 100%;
	margin: 0;
	padding: 1.25rem 1rem;
	box-sizing: border-box;
	border: 0;
	border-radius: 0.5rem;
	background: var(--color-white);
	box-shadow: none;
	color: var(--color-indigo-900);
	font-family: var(--font-primary);
	font-size: var(--fs-r4);
	font-weight: var(--fw-regular);
	line-height: var(--lh-snug);
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-field-select {
	width: 100%;
	--cta-form-select-height: 3rem;
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form select {
	height: var(--cta-form-select-height) !important;
	min-height: var(--cta-form-select-height) !important;
	padding: 0 3rem 0 1rem !important;
	appearance: none;
	background-color: var(--color-white);
	background-image: url("data:image/svg+xml,%3Csvg width='18' height='10' viewBox='0 0 18 10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 10 0 0h18L9 10Z' fill='%23180c27'/%3E%3C/svg%3E");
	background-position: calc(100% - 1.25rem) 50%;
	background-repeat: no-repeat;
	background-size: 1.125rem 0.625rem;
	color: var(--color-indigo-900);
	cursor: pointer;
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form select.choices__input,
.cta-form__wpforms div.wpforms-container-full .wpforms-form select[hidden] {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form select:invalid {
	color: color-mix(in srgb, var(--color-indigo-900) 55%, var(--color-white));
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form select option {
	background: var(--color-white);
	color: var(--color-indigo-900);
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form .choices {
	margin: 0 !important;
	width: 100%;
	font-family: var(--font-primary);
	font-size: var(--fs-r4);
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form .choices[data-type*="select-one"] {
	height: var(--cta-form-select-height) !important;
	min-height: var(--cta-form-select-height) !important;
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form .choices__inner {
	display: flex !important;
	align-items: center !important;
	box-sizing: border-box;
	height: var(--cta-form-select-height) !important;
	min-height: var(--cta-form-select-height) !important;
	padding: 0 3rem 0 1rem !important;
	background: var(--color-white);
	background-color: var(--color-white);
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form .choices__list--single {
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 0;
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form .choices__placeholder {
	color: color-mix(in srgb, var(--color-indigo-900) 55%, var(--color-white));
	opacity: 1;
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form .choices[data-type*="select-one"]::after {
	right: 1rem;
	width: 1.125rem;
	height: 0.625rem;
	margin-top: -0.3125rem;
	border: 0;
	background: url("data:image/svg+xml,%3Csvg width='18' height='10' viewBox='0 0 18 10' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9 10 0 0h18L9 10Z' fill='%23180c27'/%3E%3C/svg%3E") center / contain no-repeat;
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form .choices__list--dropdown,
.cta-form__wpforms div.wpforms-container-full .wpforms-form .choices__list[aria-expanded] {
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--color-indigo-900) 16%, transparent);
	border-radius: 0.5rem;
	background: var(--color-white);
	box-shadow: 0 1rem 2rem rgba(16, 17, 20, 0.18);
	color: var(--color-indigo-900);
	z-index: 20;
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form .choices__item--choice,
.cta-form__wpforms div.wpforms-container-full .wpforms-form .choices__list--dropdown .choices__item--selectable,
.cta-form__wpforms div.wpforms-container-full .wpforms-form .choices__list[aria-expanded] .choices__item--selectable {
	color: var(--color-indigo-900);
	font-family: var(--font-primary);
	font-size: var(--fs-r4);
	line-height: var(--lh-snug);
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form .choices__item--choice.is-highlighted,
.cta-form__wpforms div.wpforms-container-full .wpforms-form .choices__list--dropdown .choices__item--selectable.is-highlighted,
.cta-form__wpforms div.wpforms-container-full .wpforms-form .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
	background: var(--color-orange-100);
	color: var(--color-indigo-900);
}

.cta-form__field {
	display: flex;
	align-items: center;
	min-height: 3.75rem;
}

.cta-form__field--message,
.cta-form__wpforms div.wpforms-container-full .wpforms-form textarea {
	min-height: 9.25rem;
	resize: vertical;
}

.cta-form__wpforms div.wpforms-container-full {
	margin: 0;
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-field-container,
.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-field {
	margin: 0;
	padding: 0;
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-field-container {
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-field-row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.625rem;
	margin: 0;
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-field-row::before,
.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-field-row::after {
	content: none;
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-field-row-block {
	width: 100%;
	padding: 0;
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-field-layout {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-field-layout .wpforms-field-layout-columns,
.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-field-layout .wpforms-layout-row {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(min(18rem, 100%), 1fr)) !important;
	gap: 0.625rem !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-field-layout .wpforms-layout-column {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.625rem !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	flex: initial !important;
	box-sizing: border-box;
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-field-layout .wpforms-layout-column > .wpforms-field {
	margin: 0 !important;
	padding: 0 !important;
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-field-phone .iti,
.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-field-phone .iti--allow-dropdown {
	display: block;
	width: 100%;
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form .iti__country-list {
	overflow-x: hidden;
	border: 1px solid color-mix(in srgb, var(--color-indigo-900) 16%, transparent);
	border-radius: 0.5rem;
	background: var(--color-white);
	box-shadow: 0 1rem 2rem rgba(16, 17, 20, 0.18);
	color: var(--color-indigo-900);
	font-family: var(--font-primary);
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form .iti__country.iti__highlight {
	background: var(--color-orange-100);
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-field-label,
.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-field-sublabel,
.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-field-description {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	word-wrap: normal !important;
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form input::placeholder,
.cta-form__wpforms div.wpforms-container-full .wpforms-form textarea::placeholder {
	color: var(--color-indigo-900);
	opacity: 1;
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form input:focus,
.cta-form__wpforms div.wpforms-container-full .wpforms-form select:focus,
.cta-form__wpforms div.wpforms-container-full .wpforms-form .choices.is-focused .choices__inner,
.cta-form__wpforms div.wpforms-container-full .wpforms-form .choices.is-open .choices__inner,
.cta-form__wpforms div.wpforms-container-full .wpforms-form textarea:focus {
	outline: 2px solid var(--color-orange-200);
	outline-offset: 2px;
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form input.wpforms-error,
.cta-form__wpforms div.wpforms-container-full .wpforms-form input.user-invalid,
.cta-form__wpforms div.wpforms-container-full .wpforms-form select.wpforms-error,
.cta-form__wpforms div.wpforms-container-full .wpforms-form select.user-invalid,
.cta-form__wpforms div.wpforms-container-full .wpforms-form textarea.wpforms-error,
.cta-form__wpforms div.wpforms-container-full .wpforms-form textarea.user-invalid {
	/* Override WPForms' default red border + glow; we use a single solid border. */
	border-style: solid !important;
	border-color: var(--color-orange-500) !important;
	box-shadow: none !important;
	outline: none;
}

/* Inline-errors pattern: hide native error label, surface message via the placeholder. */
.cta-form__wpforms div.wpforms-container-full .wpforms-form label.wpforms-error,
.cta-form__wpforms div.wpforms-container-full .wpforms-form em.wpforms-error {
	display: none !important;
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form input.wpforms-field--error-placeholder::placeholder,
.cta-form__wpforms div.wpforms-container-full .wpforms-form textarea.wpforms-field--error-placeholder::placeholder {
	color: var(--color-orange-300);
	opacity: 1;
}

.cta-form__submit-preview,
.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-submit-container button[type="submit"],
.cta-form__wpforms div.wpforms-container-full .wpforms-form button[type="submit"],
.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0;
	padding: 1rem 1.5rem;
	border: 1px solid var(--color-orange-200);
	border-radius: 0.5rem;
	background: var(--color-orange-400);
	box-shadow: none;
	color: var(--color-white);
	font-family: var(--font-primary);
	font-size: var(--fs-r3);
	font-weight: var(--fw-medium);
	line-height: var(--lh-snug);
	text-align: center;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease;
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-submit-container {
	margin: 0;
	padding: 0;
}

.cta-form__wpforms div.wpforms-container-full .wpforms-form button[type="submit"]:hover,
.cta-form__wpforms div.wpforms-container-full .wpforms-form button[type="submit"]:focus-visible,
.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-submit:hover,
.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-submit:focus-visible {
	background: var(--color-orange-500);
	border-color: var(--color-orange-100);
}

.cta-form__notice {
	margin: -1.5rem 0 0;
	color: var(--color-white);
	font-family: var(--font-primary);
	font-size: var(--fs-r5);
	line-height: var(--lh-snug);
}

.cta-form.is-editor-preview {
	min-height: 18rem;
}

@media (max-width: 63.9375rem) {
	.cta-form__buttons {
		gap: 1rem;
		padding-block-start: 0.5rem;
	}

	.cta-form__button {
		width: 100%;
		max-width: 21rem;
		justify-content: space-between;
		gap: 1rem;
		padding: 1rem 1.25rem;
		border-radius: 0.875rem;
	}

	.cta-form__button-label {
		text-align: left;
	}

	.cta-form__button-icon {
		width: 1.5rem;
		height: 1.5rem;
	}

	.cta-form__title {
		font-size: clamp(1.25rem, 7vw, 1.75rem);
		line-height: var(--lh-tight);
	}

	.cta-form__form-title {
		font-size: clamp(1.125rem, 6vw, 1.5rem);
	}

	.cta-form__description,
	.cta-form__button,
	.cta-form__submit-preview,
	.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-submit-container button[type="submit"],
	.cta-form__wpforms div.wpforms-container-full .wpforms-form button[type="submit"],
	.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-submit {
		font-size: var(--fs-r3);
	}

	.cta-form__field,
	.cta-form__wpforms div.wpforms-container-full .wpforms-form input[type="text"],
	.cta-form__wpforms div.wpforms-container-full .wpforms-form input[type="email"],
	.cta-form__wpforms div.wpforms-container-full .wpforms-form input[type="tel"],
	.cta-form__wpforms div.wpforms-container-full .wpforms-form select,
	.cta-form__wpforms div.wpforms-container-full .wpforms-form .choices,
	.cta-form__wpforms div.wpforms-container-full .wpforms-form .choices__inner,
	.cta-form__wpforms div.wpforms-container-full .wpforms-form textarea {
		font-size: var(--fs-r4);
	}

	.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-field-layout .wpforms-field-layout-columns,
	.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-field-layout .wpforms-layout-row {
		grid-template-columns: 1fr !important;
	}
}

@media (min-width: 40rem) {
	.cta-form__form-row,
	.cta-form__wpforms div.wpforms-container-full .wpforms-form .wpforms-field-name .wpforms-field-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 64rem) {
	.cta-form__title {
		max-width: 34rem;
	}

	.cta-form__row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: stretch;
	}

	.cta-form__panel {
		min-height: 100%;
	}
}
