.llv-newsletter {
	--llv-nl-primary: #172559;
	--llv-nl-accent: #f45c20;
	--llv-nl-bg: #f4f5f7;
	--llv-nl-border: #d8dce3;
	max-width: 42rem;
	margin: 0 auto 2rem;
	color: var(--llv-nl-primary);
}

.llv-newsletter--section {
	max-width: none;
	margin: 0;
	width: 100%;
}

.llv-newsletter--section .llv-nl-section {
	margin-bottom: 0;
	height: 100%;
}

.llv-newsletter__title {
	margin: 0 0 0.75rem;
	font-size: 1.75rem;
	line-height: 1.25;
	color: var(--llv-nl-primary);
}

.llv-newsletter__intro {
	margin: 0 0 1.25rem;
}

.llv-nl-section {
	background: var(--llv-nl-bg);
	border: 1px solid var(--llv-nl-border);
	border-radius: 8px;
	padding: 1.5rem;
	margin-bottom: 1.5rem;
}

.llv-nl-section__title {
	margin: 0 0 0.5rem;
	font-size: 1.35rem;
	color: var(--llv-nl-primary);
}

.llv-nl-section__intro {
	margin: 0 0 1rem;
}

.llv-nl-field {
	margin: 0 0 1rem;
}

.llv-nl-field label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.35rem;
}

.llv-nl-field__help {
	display: block;
	margin-top: 0.35rem;
	font-size: 0.9rem;
	color: #4a5568;
}

.llv-nl-field input[type="email"] {
	width: 100%;
	max-width: 100%;
	padding: 0.6rem 0.75rem;
	border: 1px solid var(--llv-nl-border);
	border-radius: 4px;
	font-size: 1rem;
}

.llv-nl-field input[type="email"]:focus-visible {
	outline: 2px solid var(--llv-nl-accent);
	outline-offset: 2px;
}

.llv-nl-field--consent {
	display: flex;
	gap: 0.5rem;
	align-items: flex-start;
}

.llv-nl-field--consent label {
	display: inline;
	font-weight: 400;
	margin-bottom: 0;
}

.llv-nl-field--consent input[type="checkbox"] {
	width: 18px;
	height: 18px;
	min-width: 18px;
	min-height: 18px;
	margin-top: 0.2rem;
	flex-shrink: 0;
	appearance: none;
	-webkit-appearance: none;
	background: #fff;
	border: 2px solid #172559;
	border-radius: 3px;
	accent-color: #f45c20;
	cursor: pointer;
}

.llv-nl-field--consent input[type="checkbox"]:checked {
	background-color: #f45c20;
	border-color: #172559;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath fill='%23fff' d='M1 5.2 4.2 8.4 11 1.6' stroke='%23fff' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 12px 10px;
}

.llv-nl-field--consent input[type="checkbox"]:focus-visible {
	outline: 2px solid #f45c20;
	outline-offset: 2px;
}

.llv-nl-field--consent a {
	color: var(--llv-nl-accent);
	text-decoration: underline;
}

.llv-nl-field--hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.llv-nl-turnstile {
	margin: 0.5rem 0 1rem;
	max-width: 100%;
	overflow-x: auto;
}

.llv-nl-button {
	background: var(--llv-nl-accent);
	color: #fff;
	border: none;
	border-radius: 4px;
	padding: 0.65rem 1.25rem;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
}

.llv-nl-button:hover,
.llv-nl-button:focus-visible {
	background: #d94e18;
	outline: 2px solid var(--llv-nl-primary);
	outline-offset: 2px;
}

.llv-nl-notice {
	padding: 0.75rem 1rem;
	border-radius: 4px;
	margin-bottom: 1rem;
}

.llv-nl-notice[role="status"] {
	background: #e8f5e9;
	border: 1px solid #a5d6a7;
}

.llv-nl-notice[role="alert"],
.llv-nl-notice--warning {
	background: #fff3e0;
	border: 1px solid #ffcc80;
}

@media (min-width: 640px) {
	.llv-newsletter {
		max-width: 48rem;
	}
}
