/* ar-newsletter — form de suscripcion + toast de confirmacion. Design tokens del theme. */

.ar-nl { max-width: 560px; }
.ar-nl__title { margin: 0 0 .4rem; font-size: 1.3rem; font-weight: 700; color: var(--text-primary, #fff); }
.ar-nl__subtitle { margin: 0 0 1rem; color: var(--text-secondary, rgba(255, 255, 255, .7)); }

.ar-nl-form { display: flex; flex-direction: column; gap: .8rem; }
.ar-nl-row { display: grid; grid-template-columns: 1fr 1.3fr; gap: .6rem; }

.ar-nl-form input[type="text"],
.ar-nl-form input[type="email"] {
	width: 100%;
	box-sizing: border-box;
	padding: .7rem .9rem;
	border: 1px solid var(--border-default, rgba(255, 255, 255, .15));
	border-radius: var(--radius-md, 8px);
	background: var(--bg-secondary, rgba(255, 255, 255, .03));
	color: var(--text-primary, #fff);
	font-size: 1rem;
	font-family: inherit;
}
.ar-nl-form input:focus {
	outline: none;
	border-color: var(--accent, #FFD60A);
	box-shadow: 0 0 0 3px rgba(255, 214, 10, .15);
}

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

.ar-nl-consent {
	display: flex; gap: .6rem; align-items: flex-start;
	font-size: .85rem; line-height: 1.5;
	color: var(--text-secondary, rgba(255, 255, 255, .7));
}
.ar-nl-consent input { margin-top: .2rem; flex-shrink: 0; }
.ar-nl-consent a { color: var(--accent, #FFD60A); text-decoration: underline; }

.ar-nl-submit { align-self: flex-start; }
.ar-nl-submit:disabled { opacity: .6; cursor: not-allowed; }

.ar-nl-feedback { padding: .7rem .9rem; border-radius: var(--radius-md, 8px); font-size: .9rem; line-height: 1.5; }
.ar-nl-feedback--pending { background: rgba(255, 255, 255, .06); color: var(--text-secondary, rgba(255, 255, 255, .7)); }
.ar-nl-feedback--success { background: rgba(52, 168, 83, .15); color: #5bd47e; border: 1px solid rgba(52, 168, 83, .35); }
.ar-nl-feedback--error { background: rgba(234, 67, 53, .12); color: #ff7a6e; border: 1px solid rgba(234, 67, 53, .35); }

/* Toast (aviso al volver de confirm / unsubscribe) */
.ar-nl-toast {
	position: fixed; bottom: 24px; left: 50%;
	transform: translateX(-50%) translateY(20px);
	z-index: 9999; max-width: 90%; padding: .9rem 1.4rem;
	border-radius: 10px; font-size: .95rem; font-weight: 600;
	opacity: 0; transition: opacity .35s ease, transform .35s ease;
	box-shadow: 0 8px 30px rgba(0, 0, 0, .3);
}
.ar-nl-toast--show { opacity: 1; transform: translateX(-50%) translateY(0); }
.ar-nl-toast--success { background: #34A853; color: #fff; }
.ar-nl-toast--error { background: #EA4335; color: #fff; }

@media (max-width: 520px) { .ar-nl-row { grid-template-columns: 1fr; } }
