/* Weblandia Brevo Newsletter – frontend (stili isolati dal tema) */
.wbn {
	--wbn-accent: #a65d4c !important;
	--wbn-ink: #3a3532 !important;
	--wbn-text: #5b5550 !important;
	--wbn-muted: #9a9a9a !important;
	--wbn-line: #eadfd6 !important;
	--wbn-bg: #f7f3ef !important;
	--wbn-serif: "Bodoni Moda", "Didot", "Bodoni 72", "Playfair Display", Georgia, serif !important;
	--wbn-sans: "Jost", "Helvetica Neue", Arial, sans-serif !important;
	font-family: var(--wbn-sans) !important;
	font-weight: 300 !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
	color: var(--wbn-text) !important;
	text-align: center !important;
	position: relative !important;
	isolation: isolate !important;
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding: 0 !important;
	background: transparent !important;
}
.wbn *, .wbn *::before, .wbn *::after { box-sizing: border-box !important; }
.wbn :is(div, span, label, p, h2, form, a, small, strong, svg) {
	margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important;
	line-height: inherit !important; text-transform: none !important; letter-spacing: normal !important; float: none !important; min-height: 0 !important; max-width: none !important;
}
.wbn :is(input, button) { margin: 0 !important; line-height: normal !important; text-transform: none !important; letter-spacing: normal !important; }
.wbn label { display: block !important; font-size: inherit !important; font-weight: inherit !important; color: inherit !important; }
.wbn [hidden] { display: none !important; }
.wbn br { display: none !important; }
.wbn p:empty { display: none !important; }

.wbn.wbn--bg-light { background: var(--wbn-bg) !important; padding: 36px 24px !important; }
.wbn .wbn-inner { max-width: 720px !important; margin: 0 auto !important; }

.wbn .wbn-title {
	font-family: var(--wbn-serif) !important;
	font-weight: 400 !important;
	font-size: clamp(20px, 2.2vw, 28px) !important;
	line-height: 1.2 !important;
	letter-spacing: .01em !important;
	text-transform: uppercase !important;
	color: var(--wbn-ink) !important;
	margin: 0 0 6px !important;
}
.wbn .wbn-subtitle { font-size: 15px !important; color: var(--wbn-text) !important; margin: 0 auto 18px !important; max-width: 560px !important; line-height: 1.5 !important; }

.wbn .wbn-form { text-align: left !important; }
.wbn .wbn-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

/* Campi */
.wbn .wbn-fields { display: grid !important; grid-template-columns: 1fr auto !important; gap: 18px !important; align-items: end !important; }
.wbn .wbn-fields.has-name { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr) auto !important; }
.wbn .wbn-fields > :not(label):not(button) { display: none !important; }
.wbn .wbn-input { display: block !important; min-width: 0 !important; }
.wbn .wbn-input__label {
	display: block !important;
	font-size: 12px !important; letter-spacing: .1em !important; text-transform: uppercase !important;
	color: var(--wbn-muted) !important; font-weight: 400 !important; margin: 0 0 2px !important; line-height: 1.3 !important;
	white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important;
}
.wbn .wbn-input input {
	display: block !important;
	width: 100% !important;
	height: 40px !important;
	border: 0 !important;
	border-bottom: 1px solid #cfc6bf !important;
	border-radius: 0 !important;
	background: transparent !important;
	padding: 4px 0 6px !important;
	font-family: var(--wbn-sans) !important;
	font-size: 16px !important;
	font-weight: 300 !important;
	color: var(--wbn-ink) !important;
	box-shadow: none !important;
	outline: none !important;
	transition: border-color .2s ease !important;
}
.wbn .wbn-input input:focus { border-bottom-color: var(--wbn-accent) !important; }
.wbn .wbn-input input.is-invalid { border-bottom-color: #c0392b !important; }

/* Bottone */
.wbn .wbn-btn {
	position: relative !important;
	display: inline-flex !important; align-items: center !important; justify-content: center !important;
	height: 48px !important;
	min-width: 150px !important;
	padding: 0 28px !important;
	background: var(--wbn-accent) !important;
	color: #fff !important;
	border: 0 !important; border-radius: 0 !important;
	font-family: var(--wbn-sans) !important;
	font-size: 16px !important; font-weight: 400 !important; letter-spacing: .02em !important;
	cursor: pointer !important;
	box-shadow: none !important;
	transition: filter .2s ease !important;
}
.wbn .wbn-btn:hover { filter: brightness(.92) !important; color: #fff !important; background: var(--wbn-accent) !important; }
.wbn .wbn-btn:focus-visible { outline: 2px solid var(--wbn-ink) !important; outline-offset: 2px !important; }
.wbn .wbn-btn:disabled { cursor: wait !important; }
.wbn .wbn-spinner {
	display: none !important;
	width: 18px !important; height: 18px !important;
	border: 2px solid rgba(255,255,255,.4) !important; border-top-color: #fff !important; border-radius: 50% !important;
	animation: wbn-spin .7s linear infinite !important;
}
.wbn .wbn-form.is-loading .wbn-btn__text { visibility: hidden !important; }
.wbn .wbn-form.is-loading .wbn-spinner { display: block !important; position: absolute !important; top: 50% !important; left: 50% !important; margin: -9px 0 0 -9px !important; }
@keyframes wbn-spin { to { transform: rotate(360deg); } }

/* Consenso */
.wbn .wbn-consent {
	position: relative !important;
	display: flex !important; align-items: flex-start !important; gap: 10px !important;
	margin: 16px 0 0 !important;
	font-size: 13px !important; line-height: 1.45 !important; color: var(--wbn-text) !important;
	cursor: pointer !important;
}
.wbn .wbn-consent input { position: absolute !important; opacity: 0 !important; width: 1px !important; height: 1px !important; pointer-events: none !important; }
.wbn .wbn-check {
	flex: 0 0 16px !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
	width: 16px !important; height: 16px !important;
	margin: 2px 0 0 !important;
	border: 1px solid #bfb5ad !important;
	background: #fff !important;
	color: transparent !important;
	transition: all .2s ease !important;
}
.wbn .wbn-consent input:checked + .wbn-check { background: var(--wbn-accent) !important; border-color: var(--wbn-accent) !important; color: #fff !important; }
.wbn .wbn-consent input:focus-visible + .wbn-check { box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--wbn-accent) !important; }
.wbn .wbn-consent.is-invalid .wbn-check { border-color: #c0392b !important; }
.wbn .wbn-consent__text { display: block !important; }
.wbn .wbn-consent a { color: var(--wbn-accent) !important; text-decoration: underline !important; text-underline-offset: 2px !important; }

/* Messaggi */
.wbn .wbn-msg { margin: 14px 0 0 !important; font-size: 14px !important; line-height: 1.45 !important; padding: 10px 14px !important; border-left: 2px solid currentColor !important; }
.wbn .wbn-msg.is-success { color: #3d6b4f !important; background: rgba(61,107,79,.06) !important; }
.wbn .wbn-msg.is-error { color: #b03a2e !important; background: rgba(176,58,46,.06) !important; }
.wbn .wbn-form.is-done .wbn-fields, .wbn .wbn-form.is-done .wbn-consent { display: none !important; }
.wbn .wbn-form.is-done .wbn-msg { text-align: center !important; border-left: 0 !important; font-size: 16px !important; padding: 14px !important; }

/* Layout verticale */
.wbn.wbn--stacked .wbn-inner { max-width: 440px !important; }
.wbn.wbn--stacked .wbn-fields,
.wbn.wbn--stacked .wbn-fields.has-name { grid-template-columns: 1fr !important; gap: 14px !important; }
.wbn.wbn--stacked .wbn-btn { width: 100% !important; margin-top: 4px !important; }

@media (max-width: 640px) {
	.wbn.wbn--bg-light { padding: 28px 18px !important; }
	.wbn .wbn-fields, .wbn .wbn-fields.has-name { grid-template-columns: 1fr !important; gap: 12px !important; }
	.wbn .wbn-btn { width: 100% !important; margin-top: 4px !important; }
}
