/* Arex Account Panel — newsletter box ([aap_newsletter]). Inherits the theme font. */
.aap-nl {
	--aap-nl-primary: #0ea5e9;
	--aap-nl-ink: #0f172a;
	--aap-nl-muted: #64748b;
	--aap-nl-line: #e2e8f0;
	--aap-nl-bg: #fff;
	--aap-nl-ok: #059669;
	--aap-nl-err: #dc2626;
	font-family: inherit;
	color: var(--aap-nl-ink);
	text-align: start;
	max-inline-size: 460px;
}
.aap-nl *, .aap-nl *::before, .aap-nl *::after { box-sizing: border-box; }
.aap-nl--card {
	background: var(--aap-nl-bg);
	border: 1px solid var(--aap-nl-line);
	border-radius: 18px;
	padding: 20px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 8px 24px -12px rgba(15, 23, 42, .12);
}
.aap-nl__title { font-size: 1.05rem; font-weight: 800; margin: 0 0 6px; line-height: 1.6; }
.aap-nl__text { font-size: .85rem; line-height: 1.9; color: var(--aap-nl-muted); margin: 0 0 14px; }
.aap-nl__form { margin: 0; }
.aap-nl__hp { position: absolute !important; inset-inline-start: -9999px; inline-size: 1px; block-size: 1px; opacity: 0; }
.aap-nl__row {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 5px;
	padding-inline-start: 14px;
	background: #f8fafc;
	border: 1px solid var(--aap-nl-line);
	border-radius: 14px;
	transition: border-color .15s, box-shadow .15s;
}
.aap-nl__row[hidden] { display: none; }
.aap-nl__row:focus-within { border-color: var(--aap-nl-primary); box-shadow: 0 0 0 4px color-mix(in srgb, var(--aap-nl-primary) 16%, transparent); background: #fff; }
.aap-nl .aap-nl__input {
	flex: 1 1 auto;
	min-inline-size: 0;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	outline: 0;
	padding: 8px 0 !important;
	margin: 0 !important;
	font: inherit;
	font-size: 1rem;
	letter-spacing: .5px;
	color: inherit;
	text-align: right;
	block-size: auto;
}
.aap-nl .aap-nl__input::placeholder { color: #94a3b8; letter-spacing: 0; }
.aap-nl .aap-nl__btn {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-block-size: 42px;
	padding: 0 18px !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: var(--aap-nl-primary) !important;
	color: #fff !important;
	font: inherit;
	font-size: .9rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: filter .15s, transform .15s;
	white-space: nowrap;
}
.aap-nl .aap-nl__btn:hover { filter: brightness(1.06); }
.aap-nl .aap-nl__btn:active { transform: scale(.98); }
.aap-nl .aap-nl__btn:disabled { opacity: .7; cursor: progress; }
.aap-nl__btn.is-busy span { opacity: 0; }
.aap-nl__btn.is-busy { position: relative; }
.aap-nl__btn.is-busy::after {
	content: "";
	position: absolute;
	inline-size: 18px; block-size: 18px;
	border: 2px solid rgba(255,255,255,.45);
	border-block-start-color: #fff;
	border-radius: 50%;
	animation: aap-nl-spin .7s linear infinite;
}
@keyframes aap-nl-spin { to { transform: rotate(360deg); } }
.aap-nl .aap-nl__back {
	background: none !important; border: 0 !important; padding: 0 !important; margin: 8px 0 0 !important;
	color: var(--aap-nl-primary) !important; font: inherit; font-size: .8rem; cursor: pointer; text-decoration: underline;
}
.aap-nl__back[hidden] { display: none; }
.aap-nl__msg { font-size: .82rem; line-height: 1.8; margin-block-start: 8px; min-block-size: 0; }
.aap-nl__msg:empty { display: none; }
.aap-nl__msg.is-error { color: var(--aap-nl-err); }
.aap-nl__msg.is-ok { color: var(--aap-nl-ok); }
.aap-nl__done {
	display: flex; align-items: center; gap: 12px;
	padding: 14px; border-radius: 14px;
	background: color-mix(in srgb, var(--aap-nl-ok) 9%, #fff);
	border: 1px solid color-mix(in srgb, var(--aap-nl-ok) 25%, #fff);
	color: var(--aap-nl-ink); font-size: .88rem; line-height: 1.8;
	animation: aap-nl-in .25s ease-out;
}
.aap-nl__done svg { flex: 0 0 auto; inline-size: 36px; block-size: 36px; padding: 8px; border-radius: 50%; background: var(--aap-nl-ok); color: #fff; }
.aap-nl__code {
	display: inline-flex; align-items: center; gap: 8px; margin-block-start: 6px;
	padding: 4px 6px 4px 12px; border: 1px dashed var(--aap-nl-primary); border-radius: 10px;
	font-weight: 800; letter-spacing: 1px; direction: ltr;
}
.aap-nl .aap-nl__copy {
	border: 0 !important; background: var(--aap-nl-primary) !important; color: #fff !important;
	border-radius: 7px !important; padding: 4px 10px !important; margin: 0 !important; font: inherit; font-size: .75rem; cursor: pointer; letter-spacing: 0;
}
@keyframes aap-nl-in { from { opacity: 0; transform: translateY(4px); } }
@media (max-width: 380px) {
	.aap-nl .aap-nl__btn { padding: 0 12px !important; }
}
@media (prefers-reduced-motion: reduce) {
	.aap-nl *, .aap-nl *::after { animation: none !important; transition: none !important; }
}
/* Messages under a hand-made form (e.g. the footer) — inherit the theme font. */
.aap-nl__msg--ext { font-family: inherit; font-size: 12.5px; line-height: 1.8; margin-block-start: 8px; color: #64748b; }
.aap-nl__msg--ext.is-error { color: #dc2626; }
.aap-nl__msg--ext.is-ok { color: #059669; }
.aap-nl__back--ext { background: none; border: 0; padding: 0; margin-block-start: 6px; color: var(--aap-nl-primary, #0ea5e9); font: inherit; font-size: 12.5px; cursor: pointer; text-decoration: underline; }
.aap-nl__back--ext[hidden] { display: none; }
.aap-nl--done-ext { max-inline-size: none; }
.aap-nl form button.is-busy, .zf-form button.is-busy { opacity: .6; cursor: progress; }
