.elementor-widget-shortcode:has(.cfi-newsletter),
.elementor-shortcode:has(.cfi-newsletter) {
	width: 100%;
	max-width: 100%;
}

.cfi-newsletter {
	--cfi-purple: #411e60;
	--cfi-green: #9cc24b;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	background: #411e60;
	color: #fff;
	border-radius: 18px;
	padding: 28px 24px;
	margin: 8px auto 28px;
}

.cfi-newsletter *,
.cfi-newsletter *::before,
.cfi-newsletter *::after {
	box-sizing: border-box;
}

.cfi-newsletter__inner {
	width: 100%;
}

.cfi-newsletter__title {
	margin: 0 0 8px;
	color: #fff;
	font-size: 26px;
	line-height: 1.2;
	overflow-wrap: anywhere;
}

.cfi-newsletter__intro {
	margin: 0 0 16px;
	color: #efe7f6;
	overflow-wrap: anywhere;
}

.cfi-newsletter__form {
	display: grid;
	gap: 12px;
	width: 100%;
}

.cfi-newsletter__form input[type="email"] {
	width: 100%;
	max-width: 100%;
	border: 0;
	border-radius: 10px;
	padding: 12px 14px;
	font-size: 16px;
}

.cfi-newsletter__gdpr {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	font-size: 14px;
	color: #efe7f6;
}

.cfi-newsletter__gdpr input[type="checkbox"] {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	margin-top: 2px;
}

.cfi-newsletter__form button {
	appearance: none;
	border: 0;
	background: var(--cfi-green);
	color: #241434;
	font-weight: 700;
	border-radius: 999px;
	padding: 12px 18px;
	cursor: pointer;
	width: fit-content;
	min-height: 44px;
}

.cfi-newsletter__form button:hover,
.cfi-newsletter__form button:focus-visible {
	filter: brightness(1.05);
	outline: none;
}

.cfi-newsletter__msg {
	margin: 0;
	font-weight: 600;
}

.cfi-newsletter__msg.is-error {
	color: #ffd9d9;
}

.cfi-newsletter__hp {
	position: absolute;
	left: -9999px;
	height: 0;
	width: 0;
	overflow: hidden;
}

.cfi-newsletter .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

@media (min-width: 721px) {
	.cfi-newsletter {
		display: flex;
		flex-direction: column;
		align-items: center;
		max-width: 640px;
		padding: 40px 32px;
		margin-left: auto;
		margin-right: auto;
	}

	.cfi-newsletter__inner {
		max-width: 560px;
		text-align: center;
	}

	.cfi-newsletter__title,
	.cfi-newsletter__intro {
		text-align: center;
	}

	.cfi-newsletter__form {
		justify-items: center;
	}

	.cfi-newsletter__form input[type="email"] {
		max-width: 420px;
	}

	.cfi-newsletter__gdpr {
		max-width: 420px;
		width: 100%;
		text-align: left;
	}

	.cfi-newsletter__msg {
		max-width: 420px;
	}
}

@media (max-width: 720px) {
	.cfi-newsletter {
		padding: 20px 16px;
		border-radius: 14px;
	}

	.cfi-newsletter__title {
		font-size: 22px;
	}

	.cfi-newsletter__form button {
		width: 100%;
	}
}
