/* Alberoni Newsletter — form pubblico. Allineato alla chrome editoriale 2026
   (Playfair + Nunito, periwinkle, crema). Usa i token globali del tema con
   fallback, cosi resta sensato anche se il tema cambia. */

.an-form {
	max-width: 480px;
	margin: 1.5em auto;
	padding: clamp(1.4em, 3vw, 2em);
	background: var(--am-cream, #f0ede6);
	border: 0;
	border-radius: 14px;
	font-family: var(--am-nav, "Nunito Sans", system-ui, -apple-system, "Segoe UI", sans-serif);
	color: #20201d;
}
.an-form__title {
	margin: 0 0 .2em;
	font-family: var(--am-display, Georgia, "Times New Roman", serif);
	font-size: 1.55em;
	font-weight: 800;
	line-height: 1.1;
	color: #20201d;
}
.an-form__subtitle {
	margin: 0 0 1.3em;
	font-size: .95em;
	color: #5f594f;
	line-height: 1.5;
}
.an-form__field { display: block; margin-bottom: .9em; }
.an-form__label {
	display: block;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
	margin-bottom: .45em;
	color: var(--am-peri-dp, #595c79);
}
.an-form__required { color: var(--am-peri, #7a7d9c); }

.an-form input[type="email"],
.an-form input[type="text"] {
	width: 100%;
	padding: .85em 1em;
	font-size: 1em;
	font-family: inherit;
	border: 0;
	border-radius: 8px;
	background: #ffffff;
	color: #20201d;
	box-sizing: border-box;
	transition: box-shadow .15s ease;
}
.an-form input::placeholder { color: #9a9387; font-family: inherit; opacity: 1; }
.an-form input:focus {
	outline: 0;
	box-shadow: 0 0 0 2px var(--am-peri, #7a7d9c);
}

.an-form__consent {
	display: flex;
	align-items: flex-start;
	gap: .55em;
	margin: 1.1em 0;
	font-size: .9em;
	line-height: 1.45;
	color: #5f594f;
}
.an-form__consent input[type="checkbox"] {
	margin-top: .2em;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	accent-color: var(--am-peri, #7a7d9c);
}
.an-form__consent a { color: var(--am-peri-dp, #595c79); font-weight: 700; }

.an-form__button {
	display: inline-block;
	width: 100%;
	padding: .95em 1.2em;
	background: var(--am-peri, #7a7d9c);
	color: #fff;
	border: 0;
	border-radius: 999px;
	font-family: var(--am-nav, "Nunito Sans", system-ui, sans-serif);
	font-size: 1.02em;
	font-weight: 800;
	letter-spacing: .02em;
	cursor: pointer;
	transition: background .2s ease, transform .2s ease;
}
.an-form__button:hover,
.an-form__button:focus {
	background: var(--am-peri-dp, #595c79);
	transform: translateY(-1px);
	outline: 0;
}
.an-form__button:focus-visible { box-shadow: 0 0 0 3px rgba(122, 125, 156, .4); }

.an-form__legal {
	margin: 1.1em 0 0;
	color: #8a847a;
	font-size: .8em;
	line-height: 1.45;
}

.an-form__flash {
	margin-bottom: 1em;
	padding: .75em 1em;
	border-radius: 8px;
	font-size: .95em;
}
.an-form__flash--success { background: #e9f3ea; color: #2a662a; }
.an-form__flash--error   { background: #f7e7e6; color: #8b1c1c; }

/* Pagine pubbliche (conferma / disiscrizione) */
.an-public-page__content { font-size: 1.05em; line-height: 1.6; }
.an-public-page .an-button {
	display: inline-block;
	padding: .85em 1.6em;
	background: var(--am-peri, #7a7d9c);
	color: #fff;
	border: 0;
	border-radius: 999px;
	font-family: var(--am-nav, "Nunito Sans", system-ui, sans-serif);
	font-size: 1em;
	font-weight: 800;
	cursor: pointer;
	margin-top: 1em;
}
.an-public-page .an-button:hover { background: var(--am-peri-dp, #595c79); }
.an-public-page .an-button--danger { background: #b32d2d; }
.an-public-page .an-button--danger:hover { background: #8f2424; }
