/* CRM modal and the v0.1.30 header CTA treatment from the desktop mockup. */

.et-header-cta .wp-block-button__link,
.editor-styles-wrapper .et-header-cta .wp-block-button__link {
	background: #58697e !important;
	border-color: #58697e !important;
	color: #fff !important;
	box-shadow: none;
}

.et-header-cta .wp-block-button__link::after,
.editor-styles-wrapper .et-header-cta .wp-block-button__link::after {
	color: #f2a900 !important;
}

.et-header-cta .wp-block-button__link:hover,
.editor-styles-wrapper .et-header-cta .wp-block-button__link:hover {
	background: #465a72 !important;
	border-color: #465a72 !important;
	filter: none;
	transform: translateY(-1px);
}

.et-header-cta .wp-block-button__link:active {
	background: #35485f !important;
	border-color: #35485f !important;
	transform: translateY(0);
}

.et-header-cta .wp-block-button__link:focus-visible,
.et-crm-modal button:focus-visible,
[data-et-crm-trigger]:focus-visible {
	outline: 3px solid #00a6b2;
	outline-offset: 3px;
}

.et-cta-disabled > .wp-block-button__link[data-et-crm-trigger],
.et-cta-disabled .wp-block-button__link[data-et-crm-trigger],
.et-header-cta .et-cta-disabled .wp-block-button__link,
.et-primary-nav .et-mobile-nav-cta.et-cta-disabled .wp-block-navigation-item__content[data-et-crm-trigger],
.et-primary-nav a.et-mobile-nav-cta.et-cta-disabled[data-et-crm-trigger] {
	cursor: pointer;
	opacity: 1;
	pointer-events: auto;
}

body.et-crm-modal-open {
	overflow: hidden;
}

.et-crm-modal[hidden] {
	display: none !important;
}

.et-crm-modal {
	align-items: center;
	display: grid;
	inset: 0;
	justify-items: center;
	padding: clamp(0.75rem, 3vw, 2rem);
	position: fixed;
	z-index: 1000000;
}

.et-crm-modal__backdrop {
	background: rgba(5, 24, 47, 0.76);
	backdrop-filter: blur(4px);
	inset: 0;
	position: absolute;
}

.et-crm-modal__dialog {
	background: #fff;
	border: 1px solid rgba(10, 35, 66, 0.14);
	border-radius: clamp(0.875rem, 2vw, 1.25rem);
	box-shadow: 0 1.5rem 4rem rgba(5, 24, 47, 0.3);
	max-height: calc(100vh - clamp(1.5rem, 6vw, 4rem));
	max-height: calc(100dvh - clamp(1.5rem, 6vw, 4rem));
	overflow: auto;
	padding: clamp(1.25rem, 3vw, 2.25rem);
	position: relative;
	width: min(100%, 56rem);
	z-index: 1;
}

.et-crm-modal__close {
	align-items: center;
	appearance: none;
	background: #eef4f7;
	border: 1px solid rgba(10, 35, 66, 0.12);
	border-radius: 999px;
	color: var(--wp--preset--color--transit-navy, #0a2342);
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: 1.75rem;
	height: 2.75rem;
	justify-content: center;
	line-height: 1;
	padding: 0 0 0.15rem;
	position: absolute;
	right: clamp(0.75rem, 2vw, 1.25rem);
	top: clamp(0.75rem, 2vw, 1.25rem);
	transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
	width: 2.75rem;
}

.et-crm-modal__close:hover {
	background: var(--wp--preset--color--transit-navy, #0a2342);
	color: #fff;
	transform: rotate(3deg);
}

.et-crm-modal__intro {
	max-width: 43rem;
	padding-inline-end: 3.5rem;
}

.et-crm-modal__kicker {
	color: #007f89;
	font-size: 0.78rem;
	font-weight: 750;
	letter-spacing: 0.08em;
	margin: 0 0 0.5rem;
	text-transform: uppercase;
}

.et-crm-modal__title {
	color: var(--wp--preset--color--transit-navy, #0a2342);
	font-size: clamp(1.6rem, 4vw, 2.35rem);
	letter-spacing: -0.025em;
	line-height: 1.12;
	margin: 0;
	overflow-wrap: normal;
	word-break: normal;
}

.et-crm-modal__lead {
	color: #3d5066;
	font-size: clamp(1rem, 1.6vw, 1.1rem);
	line-height: 1.55;
	margin: 0.8rem 0 0;
}

.et-crm-modal__form {
	margin-top: clamp(1rem, 2.4vw, 1.75rem);
	min-height: 8rem;
}

.et-crm-modal__status {
	align-items: center;
	background: #eef7f8;
	border-radius: 0.75rem;
	color: #24445d;
	display: flex;
	font-size: 0.95rem;
	line-height: 1.45;
	margin: 0;
	min-height: 5rem;
	padding: 1rem 1.125rem;
}

.et-crm-modal__status[data-state="loading"]::before {
	animation: et-crm-spin 800ms linear infinite;
	border: 2px solid rgba(0, 127, 137, 0.22);
	border-radius: 50%;
	border-top-color: #007f89;
	content: "";
	flex: 0 0 auto;
	height: 1.25rem;
	margin-inline-end: 0.75rem;
	width: 1.25rem;
}

.et-crm-modal__status[data-state="error"] {
	background: #fff4e0;
	color: #684300;
}

.et-crm-modal__form .b24-form,
.et-crm-modal__form .b24-form-wrapper,
.et-crm-modal__form iframe {
	max-width: none !important;
	width: 100% !important;
}

@keyframes et-crm-spin {
	to { transform: rotate(360deg); }
}

@media (max-width: 37.5rem) {
	.et-crm-modal {
		align-items: end;
		padding: 0;
	}

	.et-crm-modal__dialog {
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
		max-height: 94vh;
		max-height: 94dvh;
		padding: 1.25rem 1rem calc(1.25rem + env(safe-area-inset-bottom));
		width: 100%;
	}

	.et-crm-modal__intro {
		padding-inline-end: 3rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.et-crm-modal__close,
	.et-header-cta .wp-block-button__link {
		transition: none;
	}

	.et-crm-modal__status[data-state="loading"]::before {
		animation-duration: 1.6s;
	}
}

@media print {
	.et-crm-modal {
		display: none !important;
	}
}
