.t20-newsletter-popup[hidden],
.t20-newsletter-popup__notice[hidden] {
	display: none !important;
}

.t20-newsletter-popup {
	position: fixed !important;
	z-index: 2147483646 !important;
	inset: 0 !important;
	display: grid !important;
	box-sizing: border-box !important;
	width: 100vw !important;
	height: 100vh !important;
	height: 100dvh !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 24px !important;
	place-items: center !important;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
	font-size: var(--tat2omni-font-size-16, 16px) !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	text-align: left !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}

.t20-newsletter-popup,
.t20-newsletter-popup *,
.t20-newsletter-popup *::before,
.t20-newsletter-popup *::after {
	box-sizing: border-box !important;
}

.t20-newsletter-popup__overlay {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	min-height: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
	background: rgba(3, 7, 18, .76) !important;
	box-shadow: none !important;
	backdrop-filter: blur(5px);
	cursor: default !important;
}

.t20-newsletter-popup__dialog {
	position: relative !important;
	display: block !important;
	width: min(640px, 100%) !important;
	min-width: 0 !important;
	max-width: 640px !important;
	max-height: calc(100vh - 48px) !important;
	max-height: calc(100dvh - 48px) !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	border: 1px solid var(--t20-nl-border) !important;
	border-radius: 20px !important;
	background: #fff !important;
	color: #172033 !important;
	box-shadow: 0 30px 100px rgba(0, 0, 0, .38) !important;
	opacity: 0;
	transform: translateY(20px) scale(.98);
	transition: opacity .18s ease, transform .18s ease;
	isolation: isolate;
}

.t20-newsletter-popup.is-open .t20-newsletter-popup__dialog {
	opacity: 1;
	transform: none;
}

.t20-newsletter-popup__accent {
	display: block !important;
	width: 100% !important;
	height: 7px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: linear-gradient(90deg, var(--t20-nl-main), var(--t20-nl-accent)) !important;
}

.t20-newsletter-popup header {
	display: grid !important;
	grid-template-columns: auto minmax(0, 1fr) auto !important;
	align-items: center !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 24px 26px 17px !important;
	gap: 14px !important;
	border: 0 !important;
	background: transparent !important;
}

.t20-newsletter-popup__icon {
	display: grid !important;
	width: 50px !important;
	height: 50px !important;
	min-width: 50px !important;
	margin: 0 !important;
	padding: 0 !important;
	place-items: center !important;
	border-radius: 14px !important;
	background: linear-gradient(135deg, var(--t20-nl-main), var(--t20-nl-accent)) !important;
	color: #fff !important;
	box-shadow: 0 9px 24px color-mix(in srgb, var(--t20-nl-main) 28%, transparent) !important;
}

.t20-newsletter-popup__icon svg {
	display: block !important;
	width: 25px !important;
	height: 25px !important;
	margin: 0 !important;
	fill: currentColor !important;
}

.t20-newsletter-popup header > div {
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.t20-newsletter-popup header small {
	display: block !important;
	margin: 0 0 3px !important;
	padding: 0 !important;
	color: var(--t20-nl-main) !important;
	font-family: inherit !important;
	font-size: var(--tat2omni-font-size-11, 11px) !important;
	font-style: normal !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
}

.t20-newsletter-popup h2 {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	color: inherit !important;
	font-family: inherit !important;
	font-size: clamp(var(--tat2omni-font-size-23, 23px), var(--tat2omni-font-vw-40, 4vw), var(--tat2omni-font-size-31, 31px)) !important;
	font-style: normal !important;
	font-weight: 800 !important;
	line-height: 1.15 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}

.t20-newsletter-popup__close {
	display: grid !important;
	width: 42px !important;
	height: 42px !important;
	min-width: 42px !important;
	min-height: 42px !important;
	max-width: 42px !important;
	margin: 0 !important;
	padding: 0 !important;
	place-items: center !important;
	border: 1px solid #ccd5e1 !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: inherit !important;
	box-shadow: none !important;
	font-family: inherit !important;
	font-size: var(--tat2omni-font-size-29, 29px) !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-indent: 0 !important;
	cursor: pointer !important;
}

.t20-newsletter-popup__close:hover,
.t20-newsletter-popup__close:focus-visible {
	border-color: var(--t20-nl-main) !important;
	color: var(--t20-nl-main) !important;
	outline: 0 !important;
}

.t20-newsletter-popup form {
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.t20-newsletter-popup__body {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 6px 26px 24px !important;
	gap: 17px !important;
	border: 0 !important;
	background: transparent !important;
}

.t20-newsletter-popup__copy {
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 0 2px !important;
	padding: 0 !important;
	color: #5c687a;
	font-family: inherit;
	font-size: var(--tat2omni-font-size-16, 16px);
	font-style: normal;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: normal;
	text-transform: none;
	overflow-wrap: anywhere;
}

.t20-newsletter-popup__copy > * {
	max-width: 100% !important;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.t20-newsletter-popup__copy img,
.t20-newsletter-popup__copy video,
.t20-newsletter-popup__copy iframe,
.t20-newsletter-popup__copy svg,
.t20-newsletter-popup__copy table {
	max-width: 100% !important;
}

.t20-newsletter-popup__copy img,
.t20-newsletter-popup__copy video,
.t20-newsletter-popup__copy svg {
	height: auto !important;
}

.t20-newsletter-popup__copy table {
	width: 100% !important;
	table-layout: fixed;
}

.t20-newsletter-popup__copy > :first-child {
	margin-top: 0;
}

.t20-newsletter-popup__copy > :last-child {
	margin-bottom: 0;
}

.t20-newsletter-popup__copy > p,
.t20-newsletter-popup__copy > div,
.t20-newsletter-popup__copy > span {
	font-family: inherit !important;
	font-size: inherit !important;
	color: inherit;
	font-style: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	letter-spacing: inherit !important;
	text-transform: inherit !important;
}

.t20-newsletter-popup__copy a {
	color: var(--t20-nl-main);
}

.t20-newsletter-popup label {
	display: flex !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	flex-direction: column !important;
	gap: 7px !important;
	border: 0 !important;
	background: transparent !important;
	color: inherit !important;
	font-family: inherit !important;
	font-style: normal !important;
	line-height: 1.35 !important;
	text-transform: none !important;
}

.t20-newsletter-popup label > span {
	display: block !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	color: inherit !important;
	font-family: inherit !important;
	font-size: var(--tat2omni-font-size-13, 13px) !important;
	font-style: normal !important;
	font-weight: 750 !important;
	line-height: 1.35 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}

.t20-newsletter-popup input[type="text"],
.t20-newsletter-popup input[type="email"] {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 10px 13px !important;
	border: 1px solid #aab5c4 !important;
	border-radius: 9px !important;
	background: #fff !important;
	color: #172033 !important;
	box-shadow: none !important;
	font-family: inherit !important;
	font-size: var(--tat2omni-font-size-16, 16px) !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}

.t20-newsletter-popup input[type="text"]:focus,
.t20-newsletter-popup input[type="email"]:focus {
	border-color: var(--t20-nl-main) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--t20-nl-main) 18%, transparent) !important;
	outline: 0 !important;
}

.t20-newsletter-popup__names {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 14px !important;
}

.t20-newsletter-popup .t20-newsletter-popup__website {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(1px, 1px, 1px, 1px) !important;
	white-space: nowrap !important;
}

.t20-newsletter-popup__notice {
	display: block;
	width: 100% !important;
	margin: 0 !important;
	padding: 12px 14px !important;
	border: 1px solid #a7dfbd !important;
	border-radius: 9px !important;
	background: #ebf9f0 !important;
	color: #116637 !important;
	font-family: inherit !important;
	font-size: var(--tat2omni-font-size-14, 14px) !important;
	font-style: normal !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
}

.t20-newsletter-popup__notice.is-error {
	border-color: #efb0b0 !important;
	background: #fff0f0 !important;
	color: #992929 !important;
}

.t20-newsletter-popup footer {
	display: flex !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 17px 26px !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 10px !important;
	border: 0 !important;
	border-top: 1px solid #dce3ec !important;
	background: #f7f9fc !important;
}

.t20-newsletter-popup footer button {
	display: inline-flex !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	min-height: 45px !important;
	margin: 0 !important;
	padding: 9px 19px !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	border-radius: 9px !important;
	box-shadow: none !important;
	font-family: inherit !important;
	font-size: var(--tat2omni-font-size-15, 15px) !important;
	font-style: normal !important;
	font-weight: 750 !important;
	line-height: 1 !important;
	letter-spacing: normal !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: none !important;
	cursor: pointer !important;
}

.t20-newsletter-popup__cancel {
	border: 1px solid #aab5c4 !important;
	background: transparent !important;
	color: #27364a !important;
}

.t20-newsletter-popup__subscribe {
	min-width: 130px !important;
	border: 1px solid var(--t20-nl-main) !important;
	background: var(--t20-nl-main) !important;
	color: var(--t20-nl-on-main) !important;
	-webkit-text-fill-color: var(--t20-nl-on-main) !important;
}

.t20-newsletter-popup__subscribe:hover,
.t20-newsletter-popup__subscribe:focus-visible {
	filter: brightness(1.08);
	outline: 0 !important;
}

.t20-newsletter-popup__subscribe:disabled {
	cursor: wait !important;
	opacity: .72;
}

.t20-newsletter-popup__subscribe i {
	display: none;
	width: 15px;
	height: 15px;
	border: 2px solid currentColor;
	border-right-color: transparent;
	border-radius: 50%;
	animation: t20NlSpin .7s linear infinite;
}

.t20-newsletter-popup.is-submitting .t20-newsletter-popup__subscribe i {
	display: block;
}

.t20-newsletter-popup form.is-complete .t20-newsletter-popup__copy,
.t20-newsletter-popup form.is-complete .t20-newsletter-popup__names,
.t20-newsletter-popup form.is-complete .t20-newsletter-popup__body > label:not(.t20-newsletter-popup__website) {
	display: none !important;
}

.t20-newsletter-popup[data-theme="dark"] .t20-newsletter-popup__dialog {
	background: #0e1118 !important;
	color: #f8fafc !important;
}

.t20-newsletter-popup[data-theme="dark"] .t20-newsletter-popup__copy {
	color: #c7d0dd;
}

.t20-newsletter-popup[data-theme="dark"] input[type="text"],
.t20-newsletter-popup[data-theme="dark"] input[type="email"] {
	border-color: #465164 !important;
	background: #151a23 !important;
	color: #f8fafc !important;
}

.t20-newsletter-popup[data-theme="dark"] footer {
	border-color: #323b49 !important;
	background: #111620 !important;
}

.t20-newsletter-popup[data-theme="dark"] .t20-newsletter-popup__close,
.t20-newsletter-popup[data-theme="dark"] .t20-newsletter-popup__cancel {
	border-color: #536074 !important;
	color: #f8fafc !important;
}

.t20-newsletter-popup[data-theme="dark"] .t20-newsletter-popup__notice {
	border-color: #226c43 !important;
	background: #102c1d !important;
	color: #9be4b8 !important;
}

.t20-newsletter-popup[data-theme="dark"] .t20-newsletter-popup__notice.is-error {
	border-color: #7e3333 !important;
	background: #2c1515 !important;
	color: #ffb2b2 !important;
}

body.t20-newsletter-popup-open {
	overflow: hidden !important;
}

@keyframes t20NlSpin {
	to { transform: rotate(360deg); }
}

@media (max-width: 600px) {
	.t20-newsletter-popup {
		display: block !important;
		padding: 0 !important;
	}

	.t20-newsletter-popup__dialog {
		width: 100vw !important;
		height: 100vh !important;
		height: 100dvh !important;
		max-width: none !important;
		max-height: none !important;
		border-right: 0 !important;
		border-bottom: 0 !important;
		border-left: 0 !important;
		border-radius: 0 !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
	}

	.t20-newsletter-popup header {
		padding: max(18px, env(safe-area-inset-top)) 18px 15px !important;
		gap: 11px !important;
	}

	.t20-newsletter-popup h2 {
		font-size: clamp(var(--tat2omni-font-size-22, 22px), var(--tat2omni-font-vw-70, 7vw), var(--tat2omni-font-size-28, 28px)) !important;
	}

	.t20-newsletter-popup__body {
		padding: 5px 18px 22px !important;
	}

	.t20-newsletter-popup__names {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.t20-newsletter-popup footer {
		position: sticky !important;
		z-index: 2 !important;
		bottom: 0 !important;
		padding: 14px 18px max(14px, env(safe-area-inset-bottom)) !important;
	}

	.t20-newsletter-popup footer button {
		flex: 1 1 auto !important;
		width: auto !important;
	}

	.t20-newsletter-popup__subscribe {
		min-width: 0 !important;
	}

	.t20-newsletter-popup__icon {
		width: 44px !important;
		height: 44px !important;
		min-width: 44px !important;
		border-radius: 12px !important;
	}
}

@media (max-width: 360px) {
	.t20-newsletter-popup header,
	.t20-newsletter-popup__body,
	.t20-newsletter-popup footer {
		padding-right: 14px !important;
		padding-left: 14px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.t20-newsletter-popup__dialog {
		transition: none;
	}
}

/* Keep enlarged theme text inside narrow popup controls. */
.t20-newsletter-popup h2 {
	width: auto !important;
	max-width: 100% !important;
	white-space: normal !important;
	overflow-wrap: anywhere;
}
.t20-newsletter-popup footer button > span {
	min-width: 0;
}

@media (max-width: 600px) {
	.t20-newsletter-popup footer { flex-wrap: wrap !important; }
	.t20-newsletter-popup footer button > span { white-space: nowrap; }
}
