/*
 * Site-wide newsletter popup (Constant Contact, mockup layout).
 */
.roi-james-newsletter-popup {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	padding: var(--wp--preset--spacing--40, 2rem);
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.5s ease, visibility 0.5s ease;
}

.roi-james-newsletter-popup.is-visible {
	pointer-events: auto;
	opacity: 1;
	visibility: visible;
}

.roi-james-newsletter-popup__backdrop {
	position: absolute;
	inset: 0;
	background: transparent;
}

.roi-james-newsletter-popup__panel {
	position: relative;
	width: min(38vw, 32rem);
	max-width: 100%;
	padding: clamp(1.75rem, 3vw, 2.75rem);
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--black);
	box-shadow: 0 18px 48px color-mix(in srgb, var(--wp--preset--color--black) 12%, transparent);
	opacity: 0;
	transform: translateY(1.25rem);
	transition: opacity 0.5s ease, transform 0.5s ease;
}

.roi-james-newsletter-popup.is-visible .roi-james-newsletter-popup__panel {
	opacity: 1;
	transform: translateY(0);
}

.roi-james-newsletter-popup__close {
	position: absolute;
	top: 0.85rem;
	right: 0.85rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: 1.65rem;
	font-weight: 300;
	line-height: 1;
	cursor: pointer;
	opacity: 0.65;
}

.roi-james-newsletter-popup__close:hover,
.roi-james-newsletter-popup__close:focus-visible {
	opacity: 1;
}

.roi-james-newsletter-popup__heading {
	margin: 0 0 0.85rem;
	padding-right: 1.75rem;
	font-family: var(--wp--preset--font-family--cormorant);
	font-size: clamp(1.35rem, 2.2vw, 1.75rem);
	font-style: italic;
	font-weight: 400;
	line-height: 1.2;
}

.roi-james-newsletter-popup__description {
	margin: 0 0 1.75rem;
	font-family: var(--wp--preset--font-family--source-sans-3);
	font-size: var(--wp--preset--font-size--medium, 1rem);
	font-style: italic;
	font-weight: 400;
	line-height: 1.45;
}

.roi-james-newsletter-popup__form .ctct-form-field-email {
	margin-bottom: 1.25rem;
}

@media (max-width: 781px) {
	.roi-james-newsletter-popup {
		align-items: flex-end;
		justify-content: flex-end;
		padding: 1rem;
	}

	.roi-james-newsletter-popup__panel {
		width: min(22rem, calc(100% - 2rem));
		min-height: 0;
		padding: clamp(1.5rem, 5vw, 2rem);
		box-shadow: 0 18px 48px color-mix(in srgb, var(--wp--preset--color--black) 12%, transparent);
		opacity: 0;
		transform: translateY(1.25rem);
		transition: opacity 0.5s ease, transform 0.5s ease;
	}

	.roi-james-newsletter-popup.is-visible .roi-james-newsletter-popup__panel {
		opacity: 1;
		transform: translateY(0);
	}
}
