/**
 * =============================================================================
 * PROBAR - CALENDARIO EVENTI E FUNNEL EARLY BIRD - css/calendario-eventi.css
 * -----------------------------------------------------------------------------
 * Veste "lusso quieto": nero, oro #FFCE53, Playfair per i titoli. L'aria e'
 * quella di un'agenda rilegata, non di un volantino: niente rosso, niente
 * lampeggi, niente scritte urlate. L'urgenza la da' il numero dei giorni.
 *
 * Caricato solo in homepage (v. abm_ev_asset).
 *
 * REGOLE CHE NON SI TOCCANO
 *   - Zero CLS: ogni immagine ha il suo posto gia' pronto (aspect-ratio +
 *     dimensioni fisse), nessun blocco compare dopo il primo disegno.
 *   - Mobile-first: si parte da una colonna e si sale.
 *   - Niente animazioni per chi ha chiesto di non averne (reduced-motion).
 * =============================================================================
 */

.abm-ev {
	--ev-gold: #FFCE53;
	--ev-gold-soft: rgba(255, 206, 83, 0.14);
	--ev-bg: #080808;
	--ev-panel: #101010;
	--ev-panel-2: #141414;
	--ev-line: #232323;
	--ev-line-2: #2e2e2e;
	--ev-text: #d8d8d8;
	--ev-dim: #9aa2a6;
	--ev-white: #f6f6f6;

	background: var(--ev-bg);
	color: var(--ev-text);
	padding: 68px 20px 76px;
	border-top: 1px solid var(--ev-line);
	overflow: hidden;
	position: relative;
}

/* Filo d'oro sottilissimo in testa: separa dalla sezione precedente senza
   disegnare una barra. */
.abm-ev::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: min(680px, 80%);
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(255, 206, 83, 0.55), transparent);
}

.abm-ev__inner {
	max-width: 1240px;
	margin: 0 auto;
}

/* ==========================================================================
 * 1. TESTATA
 * ========================================================================== */
.abm-ev__kicker {
	font-size: 0.74rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2.4px;
	color: var(--ev-gold);
	margin: 0 0 12px;
}

.abm-ev__title {
	font-family: "Playfair Display", Georgia, "Times New Roman", serif;
	font-weight: 700;
	font-size: clamp(1.65rem, 4vw, 2.5rem);
	line-height: 1.14;
	color: var(--ev-white);
	margin: 0 0 14px;
	max-width: 20ch;
}

.abm-ev__lead {
	color: var(--ev-dim);
	font-size: 1rem;
	line-height: 1.72;
	max-width: 66ch;
	margin: 0 0 30px;
	text-wrap: pretty;
}

.abm-ev__lead--stretto {
	max-width: 58ch;
}

/* text-transform: none non e' un vezzo. Il tema mette "capitalize" su tutti
   gli h3, e in italiano viene fuori "Prossime Ricorrenze: Quando Il Locale Si
   Riempie" - la maiuscola a ogni parola e' una regola inglese. Due sezioni
   della home lo disattivano gia'; questa fa lo stesso. */
.abm-ev__h3 {
	font-family: "Playfair Display", Georgia, serif;
	font-weight: 600;
	font-size: clamp(1.18rem, 2.4vw, 1.5rem);
	color: var(--ev-white);
	margin: 0 0 18px;
	line-height: 1.28;
	text-transform: none;
}

.abm-ev__h4 {
	font-size: 0.98rem;
	font-weight: 700;
	color: var(--ev-white);
	margin: 0 0 12px;
	letter-spacing: 0.2px;
	text-transform: none;
}

/* ==========================================================================
 * 2. LE DUE SCHEDE (tab)
 * ========================================================================== */
.abm-ev__tabs {
	display: flex;
	gap: 8px;
	margin: 0 0 28px;
	border-bottom: 1px solid var(--ev-line);
	overflow-x: auto;
	scrollbar-width: none;
}

.abm-ev__tabs::-webkit-scrollbar {
	display: none;
}

/* --------------------------------------------------------------------------
 * ATTENZIONE, QUI SI SBAGLIA SEMPRE: il tema ha una regola globale
 *   button:hover { background: var(--ast-global-color-1) }   (= oro #FFCE53)
 * che riempie d'oro QUALUNQUE <button>, anche uno disegnato piatto. Se la
 * nostra regola sul colore del testo usa due classi (.abm-ev__tab.is-active)
 * batte per specificita' il colore del tema e vince l'oro: pillola dorata con
 * la scritta invisibile. E' successo davvero, in produzione.
 *
 * REGOLA DELLA CASA: dove c'e' riempimento oro, il testo e' quasi nero. Sempre.
 * Sfondo e colore si dichiarano tutti e due, a riposo e al passaggio del mouse,
 * con la sezione in testa al selettore per avere specificita' sufficiente.
 * -------------------------------------------------------------------------- */
.abm-ev .abm-ev__tab {
	appearance: none;
	background-color: transparent;
	background-image: none;
	border: 0;
	border-bottom: 2px solid transparent;
	border-radius: 0;
	color: var(--ev-dim);
	padding: 12px 16px 14px;
	cursor: pointer;
	text-align: left;
	flex: 0 0 auto;
	transition: color 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
}

.abm-ev__tab-t {
	display: block;
	font-size: 0.98rem;
	font-weight: 700;
	letter-spacing: 0.2px;
}

.abm-ev__tab-s {
	display: block;
	font-size: 0.74rem;
	letter-spacing: 1.1px;
	text-transform: uppercase;
	margin-top: 3px;
	opacity: 0.72;
}

/* Riempimento oro -> testo nero, e vale anche per la scheda gia' attiva
   (il caso che si rompeva: due classi contro una del tema). */
.abm-ev .abm-ev__tab:hover,
.abm-ev .abm-ev__tab:focus,
.abm-ev .abm-ev__tab.is-active:hover,
.abm-ev .abm-ev__tab.is-active:focus {
	background-color: var(--ev-gold);
	color: #0a0a0a;
	border-bottom-color: var(--ev-gold);
}

.abm-ev .abm-ev__tab:hover .abm-ev__tab-s,
.abm-ev .abm-ev__tab:focus .abm-ev__tab-s,
.abm-ev .abm-ev__tab.is-active:hover .abm-ev__tab-s {
	color: #0a0a0a;
	opacity: 0.78;
}

.abm-ev .abm-ev__tab.is-active {
	color: var(--ev-gold);
	border-bottom-color: var(--ev-gold);
	background-color: transparent;
}

.abm-ev .abm-ev__tab:focus-visible {
	outline: 2px solid var(--ev-gold);
	outline-offset: 2px;
}

.abm-ev__panel[hidden] {
	display: none;
}

.abm-ev__panel:focus {
	outline: none;
}

/* ==========================================================================
 * 3. LA GRIGLIA DELLE SCHEDE
 * ========================================================================== */
.abm-ev__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
	margin: 0 0 34px;
}

.abm-ev__card {
	background: var(--ev-panel);
	border: 1px solid var(--ev-line);
	border-radius: 14px;
	padding: 20px 20px 18px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	position: relative;
	transition: border-color 0.2s ease, transform 0.2s ease;
}

.abm-ev__card.is-aperta {
	border-color: rgba(255, 206, 83, 0.42);
}

/* --- Testata della scheda: data, nome, segno --- */
.abm-ev__card-head {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 14px;
	align-items: start;
}

.abm-ev__data {
	width: 58px;
	min-height: 58px;
	border: 1px solid var(--ev-line-2);
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 6px 0;
	background: var(--ev-panel-2);
}

.abm-ev__data-gg {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.5rem;
	line-height: 1;
	color: var(--ev-gold);
	font-weight: 700;
}

.abm-ev__data-mm {
	font-size: 0.64rem;
	letter-spacing: 1.6px;
	color: var(--ev-dim);
	margin-top: 4px;
}

.abm-ev__card-occhiello {
	font-size: 0.72rem;
	letter-spacing: 1.3px;
	text-transform: uppercase;
	color: var(--ev-dim);
	margin: 0 0 5px;
}

.abm-ev__card-nome {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.24rem;
	line-height: 1.2;
	color: var(--ev-white);
	margin: 0 0 5px;
	font-weight: 700;
}

.abm-ev__card-data {
	font-size: 0.86rem;
	color: var(--ev-dim);
	margin: 0;
}

.abm-ev__stimata {
	display: inline-block;
	margin-left: 6px;
	font-size: 0.66rem;
	letter-spacing: 0.8px;
	text-transform: uppercase;
	color: var(--ev-dim);
	border: 1px solid var(--ev-line-2);
	border-radius: 20px;
	padding: 1px 7px;
	vertical-align: middle;
}

.abm-ev__segno {
	color: var(--ev-gold);
	opacity: 0.66;
	display: block;
	width: 26px;
	height: 26px;
}

.abm-ev__ico {
	width: 26px;
	height: 26px;
	display: block;
}

/* --- Banda di stato: qui vive la regola anti-rinvio --- */
.abm-ev__stato {
	border-radius: 10px;
	padding: 13px 15px;
	border: 1px solid var(--ev-line);
	background: var(--ev-panel-2);
}

.abm-ev__stato.is-aperta {
	border-color: rgba(255, 206, 83, 0.5);
	background: var(--ev-gold-soft);
}

.abm-ev__stato-t {
	margin: 0 0 4px;
	font-weight: 700;
	font-size: 0.94rem;
	letter-spacing: 0.3px;
	color: var(--ev-white);
}

.abm-ev__stato.is-aperta .abm-ev__stato-t {
	color: var(--ev-gold);
	font-size: 1.06rem;
}

.abm-ev__stato-s {
	margin: 0;
	font-size: 0.83rem;
	line-height: 1.6;
	color: var(--ev-dim);
}

.abm-ev__countdown {
	margin: 0 0 6px;
	display: flex;
	align-items: baseline;
	gap: 7px;
}

.abm-ev__countdown-v {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.34rem;
	color: var(--ev-white);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.abm-ev__countdown-l {
	font-size: 0.78rem;
	letter-spacing: 0.6px;
	color: var(--ev-dim);
}

/* --- Il referto: afflusso e fabbisogno --- */
.abm-ev__report-t {
	margin: 0 0 10px;
	font-size: 0.7rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--ev-gold);
	font-weight: 700;
}

.abm-ev__report-righe {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.abm-ev__report-riga {
	border-left: 2px solid var(--ev-line-2);
	padding-left: 11px;
}

.abm-ev__report-n {
	display: block;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.14rem;
	color: var(--ev-white);
	font-weight: 700;
	line-height: 1.2;
}

.abm-ev__report-l {
	display: block;
	font-size: 0.76rem;
	color: var(--ev-dim);
	margin-top: 3px;
	line-height: 1.45;
}

.abm-ev__report-fonte {
	margin: 10px 0 0;
	font-size: 0.72rem;
	line-height: 1.5;
	color: #7d8589;
}

/* --- La lista di cosa preparare --- */
.abm-ev__check-t,
.abm-ev__prod-t {
	margin: 0 0 9px;
	font-size: 0.7rem;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--ev-dim);
	font-weight: 700;
}

.abm-ev__check-lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.abm-ev__check-lista li {
	position: relative;
	padding-left: 18px;
	font-size: 0.88rem;
	line-height: 1.5;
	color: var(--ev-text);
}

.abm-ev__check-lista li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 6px;
	height: 6px;
	border: 1px solid var(--ev-gold);
	transform: rotate(45deg);
}

.abm-ev__check-lista a {
	color: var(--ev-text);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color 0.16s ease, border-color 0.16s ease;
}

.abm-ev__check-lista a:hover,
.abm-ev__check-lista a:focus-visible {
	color: var(--ev-gold);
	border-bottom-color: rgba(255, 206, 83, 0.5);
}

/* --- I prodotti veri --- */
.abm-ev__prod-lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.abm-ev__prod-riga {
	display: flex;
	align-items: center;
	gap: 11px;
	background: var(--ev-panel-2);
	border: 1px solid var(--ev-line);
	border-radius: 10px;
	padding: 8px 10px;
}

.abm-ev__prod-link {
	display: flex;
	align-items: center;
	gap: 11px;
	flex: 1 1 auto;
	min-width: 0;
	text-decoration: none;
	color: var(--ev-text);
}

/* Il posto della miniatura esiste prima che l'immagine arrivi: zero salti. */
.abm-ev__prod-img {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	border-radius: 7px;
	overflow: hidden;
	background: #1a1a1a;
	display: block;
}

.abm-ev__prod-img img {
	width: 44px;
	height: 44px;
	object-fit: cover;
	display: block;
	aspect-ratio: 1 / 1;
}

.abm-ev__prod-nome {
	font-size: 0.83rem;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.abm-ev__prod-link:hover .abm-ev__prod-nome {
	color: var(--ev-gold);
}

.abm-ev .abm-ev__prod-add {
	appearance: none;
	flex: 0 0 auto;
	border: 1px solid var(--ev-gold);
	background-color: transparent;
	background-image: none;
	color: var(--ev-gold);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.4px;
	border-radius: 40px;
	padding: 7px 15px;
	cursor: pointer;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.16s ease, color 0.16s ease;
}

.abm-ev .abm-ev__prod-add:hover,
.abm-ev .abm-ev__prod-add:focus,
.abm-ev .abm-ev__prod-add:focus-visible {
	background-color: var(--ev-gold);
	color: #0a0a0a;
}

.abm-ev__prod-add[disabled] {
	opacity: 0.6;
	cursor: default;
}

.abm-ev__prod-add.is-fatto {
	background: var(--ev-gold);
	color: #0a0a0a;
	border-color: var(--ev-gold);
}

.abm-ev__prod-add--opt {
	border-color: var(--ev-line-2);
	color: var(--ev-dim);
}

/* --- Piede della scheda --- */
.abm-ev__card-piede {
	margin-top: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	padding-top: 4px;
}

.abm-ev__luogo {
	font-size: 0.78rem;
	color: var(--ev-dim);
	letter-spacing: 0.4px;
}

/* ==========================================================================
 * 4. BOTTONI
 * ========================================================================== */
.abm-ev__btn {
	display: inline-block;
	border: 1px solid var(--ev-gold);
	border-radius: 40px;
	padding: 11px 22px;
	font-size: 0.86rem;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.abm-ev .abm-ev__btn--gold {
	background-color: var(--ev-gold);
	background-image: none;
	color: #0a0a0a;
}

.abm-ev .abm-ev__btn--gold:hover,
.abm-ev .abm-ev__btn--gold:focus,
.abm-ev .abm-ev__btn--gold:focus-visible {
	background-color: #ffd979;
	color: #0a0a0a;
}

.abm-ev .abm-ev__btn--ghost {
	background-color: transparent;
	background-image: none;
	color: var(--ev-gold);
	border-color: var(--ev-line-2);
}

/* Anche il fantasma, quando si riempie, prende il testo nero. */
.abm-ev .abm-ev__btn--ghost:hover,
.abm-ev .abm-ev__btn--ghost:focus,
.abm-ev .abm-ev__btn--ghost:focus-visible {
	background-color: var(--ev-gold);
	border-color: var(--ev-gold);
	color: #0a0a0a;
}

.abm-ev__btn:focus-visible {
	outline: 2px solid var(--ev-gold);
	outline-offset: 3px;
}

/* ==========================================================================
 * 5. IL RESTO DELL'ANNO (elenco compatto)
 * ========================================================================== */
.abm-ev__resto {
	border-top: 1px solid var(--ev-line);
	padding-top: 22px;
	margin-bottom: 8px;
}

.abm-ev__lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 2px;
}

.abm-ev__lista-riga {
	display: grid;
	grid-template-columns: 78px 1fr auto;
	gap: 12px;
	align-items: baseline;
	padding: 9px 2px;
	border-bottom: 1px solid rgba(35, 35, 35, 0.7);
	font-size: 0.88rem;
}

.abm-ev__lista-data {
	color: var(--ev-gold);
	font-weight: 700;
	letter-spacing: 0.6px;
	font-size: 0.8rem;
}

.abm-ev__lista-nome {
	color: var(--ev-text);
}

.abm-ev__lista-giorni {
	color: var(--ev-dim);
	font-size: 0.78rem;
	white-space: nowrap;
}

/* ==========================================================================
 * 6. RADAR PER CAP
 * ========================================================================== */
.abm-ev__cap {
	margin: 0 0 22px;
	max-width: 620px;
}

.abm-ev__cap-label {
	display: block;
	font-size: 0.72rem;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--ev-dim);
	margin: 0 0 8px;
	font-weight: 700;
}

.abm-ev__cap-riga {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.abm-ev__cap-input {
	flex: 1 1 200px;
	min-width: 0;
	background: var(--ev-panel);
	border: 1px solid var(--ev-line-2);
	border-radius: 40px;
	color: var(--ev-white);
	padding: 12px 20px;
	font-size: 0.95rem;
	transition: border-color 0.18s ease;
}

.abm-ev__cap-input::placeholder {
	color: #6e7679;
}

.abm-ev__cap-input:focus {
	outline: none;
	border-color: var(--ev-gold);
}

.abm-ev__cap-aiuto {
	margin: 10px 0 0;
	font-size: 0.78rem;
	color: #7d8589;
	line-height: 1.5;
}

.abm-ev__cap-titolo {
	font-size: 0.95rem;
	color: var(--ev-white);
	font-weight: 700;
	margin: 0 0 16px;
}

.abm-ev__cap-nota,
.abm-ev__cap-agg {
	font-size: 0.84rem;
	color: var(--ev-dim);
	line-height: 1.65;
	margin: 0 0 8px;
	max-width: 62ch;
}

.abm-ev__cap-vuoto p {
	font-size: 0.92rem;
	color: var(--ev-dim);
	line-height: 1.7;
	max-width: 64ch;
	margin: 0 0 10px;
}

.abm-ev__cap-errore {
	color: var(--ev-gold);
	font-size: 0.9rem;
	margin: 0 0 14px;
}

.abm-ev__cap-carico {
	color: var(--ev-dim);
	font-size: 0.9rem;
	margin: 0 0 14px;
}

/* ==========================================================================
 * 7. LA SCALA DELLO SCONTO
 * ========================================================================== */
.abm-ev__scala {
	border-top: 1px solid var(--ev-line);
	padding-top: 34px;
	margin-top: 10px;
}

.abm-ev__scala-lead {
	color: var(--ev-dim);
	font-size: 0.95rem;
	line-height: 1.7;
	max-width: 64ch;
	margin: 0 0 20px;
}

.abm-ev__scala-lista {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	counter-reset: passo;
}

.abm-ev__scala-passo {
	background: var(--ev-panel);
	border: 1px solid var(--ev-line);
	border-radius: 10px;
	padding: 12px 10px;
	text-align: center;
}

.abm-ev__scala-gg {
	display: block;
	font-size: 0.74rem;
	letter-spacing: 0.8px;
	color: var(--ev-dim);
	margin-bottom: 5px;
}

.abm-ev__scala-pc {
	display: block;
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--ev-gold);
}

.abm-ev__scala-passo.is-zero .abm-ev__scala-pc {
	color: var(--ev-dim);
	font-size: 0.92rem;
}

.abm-ev__scala-nota {
	font-size: 0.83rem;
	color: #7d8589;
	line-height: 1.6;
	max-width: 66ch;
	margin: 0;
}

/* ==========================================================================
 * 8. FAQ
 * ========================================================================== */
.abm-ev__faq {
	border-top: 1px solid var(--ev-line);
	padding-top: 34px;
	margin-top: 34px;
}

.abm-ev__faq-voce {
	border-bottom: 1px solid var(--ev-line);
}

.abm-ev__faq-d {
	cursor: pointer;
	list-style: none;
	padding: 15px 34px 15px 0;
	font-size: 0.96rem;
	font-weight: 700;
	color: var(--ev-white);
	position: relative;
	line-height: 1.5;
}

.abm-ev__faq-d::-webkit-details-marker {
	display: none;
}

.abm-ev__faq-d::after {
	content: "";
	position: absolute;
	right: 6px;
	top: 22px;
	width: 9px;
	height: 9px;
	border-right: 1.5px solid var(--ev-gold);
	border-bottom: 1.5px solid var(--ev-gold);
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

.abm-ev__faq-voce[open] .abm-ev__faq-d::after {
	transform: rotate(-135deg);
	top: 26px;
}

.abm-ev__faq-d:focus-visible {
	outline: 2px solid var(--ev-gold);
	outline-offset: 2px;
}

.abm-ev__faq-r p {
	margin: 0 0 16px;
	font-size: 0.92rem;
	line-height: 1.75;
	color: var(--ev-dim);
	max-width: 74ch;
}

/* ==========================================================================
 * 9. CHIUSURA
 * ========================================================================== */
.abm-ev__chiusura {
	border-top: 1px solid var(--ev-line);
	margin-top: 34px;
	padding-top: 30px;
	text-align: center;
}

.abm-ev__chiusura-t {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.3rem;
	color: var(--ev-white);
	margin: 0 0 8px;
	font-weight: 700;
}

.abm-ev__chiusura-s {
	color: var(--ev-dim);
	font-size: 0.93rem;
	line-height: 1.65;
	margin: 0 auto 20px;
	max-width: 52ch;
}

.abm-ev__chiusura-cta {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}

.abm-ev__vuoto {
	color: var(--ev-dim);
	font-size: 0.92rem;
}

/* ==========================================================================
 * 10. IL MESSAGGIO DOPO L'AGGIUNTA (lo crea il JS)
 * ========================================================================== */
.abm-ev__toast {
	position: fixed;
	left: 50%;
	bottom: 26px;
	transform: translateX(-50%) translateY(12px);
	background: #101010;
	border: 1px solid var(--ev-gold);
	color: var(--ev-white);
	border-radius: 40px;
	padding: 12px 22px;
	font-size: 0.88rem;
	z-index: 99990;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease, transform 0.2s ease;
	max-width: min(92vw, 460px);
	text-align: center;
	box-shadow: 0 12px 34px rgba(0, 0, 0, 0.55);
}

.abm-ev__toast.is-vivo {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

.abm-ev__toast a {
	color: var(--ev-gold);
	margin-left: 8px;
}

/* ==========================================================================
 * 10 bis. LE DUE SCHEDE SU TELEFONO
 * --------------------------------------------------------------------------
 * Misurato dal vivo a 371px: con le schede in fila a larghezza naturale la
 * seconda ("Radar eventi locali") finiva mezza fuori dal bordo, dentro un
 * contenitore che scorre. Non sbordava la pagina, ma il radar - cioe' la
 * funzione piu' utile della sezione - diventava invisibile a chi non provava
 * a trascinare. Su telefono le due schede si dividono la riga.
 * ========================================================================== */
/* NB: i selettori qui sotto ripetono `.abm-ev` davanti, e non e' pedanteria.
   Le media query NON aggiungono specificita': quando la regola base e' salita
   a `.abm-ev .abm-ev__tab` (due classi) per battere l'hover del tema, la
   versione mobile scritta con una classe sola ha smesso di applicarsi in
   silenzio, e le schede sono tornate a sbordare. Misurato dal vivo a 371px:
   176+172 px in 331 disponibili. Con la specificita' pari: 154+154. */
@media (max-width: 560px) {
	.abm-ev .abm-ev__tabs {
		overflow-x: visible;
	}

	.abm-ev .abm-ev__tab {
		flex: 1 1 0;
		min-width: 0;
		padding: 12px 6px 13px;
	}

	.abm-ev .abm-ev__tab-t {
		font-size: 0.9rem;
	}

	.abm-ev .abm-ev__tab-s {
		font-size: 0.62rem;
		letter-spacing: 0.6px;
	}
}

/* ==========================================================================
 * 11. TABLET E DESKTOP
 * ========================================================================== */
@media (min-width: 720px) {
	.abm-ev {
		padding: 84px 28px 90px;
	}

	.abm-ev__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

	.abm-ev__lista {
		grid-template-columns: repeat(2, 1fr);
		column-gap: 34px;
	}

	.abm-ev__scala-lista {
		grid-template-columns: repeat(4, 1fr);
	}

	.abm-ev__card {
		padding: 24px 24px 20px;
	}
}

@media (min-width: 1100px) {
	.abm-ev {
		padding: 96px 32px 100px;
	}

	.abm-ev__grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 22px;
	}

	.abm-ev__scala-lista {
		grid-template-columns: repeat(8, 1fr);
	}

	.abm-ev__lista {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* Schermi molto grandi: il testo non si allarga oltre il leggibile, la
   griglia si', ma con misura. */
@media (min-width: 1700px) {
	.abm-ev__inner {
		max-width: 1440px;
	}
}

/* ==========================================================================
 * 13. IL BANNER IN HOMEPAGE
 * --------------------------------------------------------------------------
 * Un invito, non una promozione. Sta fra il contenuto della home e la sezione
 * del negozio di Roma, e deve reggere il confronto con tutte e due: pannello
 * scuro con cornice sottile, agenda disegnata a filo d'oro, tre date vere.
 * ========================================================================== */
.abm-evb {
	--ev-gold: #FFCE53;
	--ev-bg: #080808;
	--ev-panel: #101010;
	--ev-line: #232323;
	--ev-line-2: #2e2e2e;
	--ev-text: #d8d8d8;
	--ev-dim: #9aa2a6;
	--ev-white: #f6f6f6;

	background: var(--ev-bg);
	padding: 56px 20px 60px;
	color: var(--ev-text);
}

.abm-evb__inner {
	max-width: 1100px;
	margin: 0 auto;
	background: linear-gradient(180deg, #121212 0%, #0d0d0d 100%);
	border: 1px solid var(--ev-line-2);
	border-radius: 18px;
	padding: 30px 24px 32px;
	display: grid;
	grid-template-columns: 1fr;
	gap: 22px;
	align-items: center;
	position: relative;
	overflow: hidden;
	transition: border-color 0.25s ease;
}

/* Filo d'oro in testa al pannello: la stessa firma della sezione agenda. */
.abm-evb__inner::before {
	content: "";
	position: absolute;
	top: 0;
	left: 12%;
	right: 12%;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(255, 206, 83, 0.6), transparent);
}

.abm-evb__inner:hover {
	border-color: rgba(255, 206, 83, 0.38);
}

/* --- L'illustrazione --- */
.abm-evb__figura {
	display: flex;
	justify-content: center;
}

/* Misura fissa: il posto del disegno esiste prima che il disegno arrivi. */
.abm-evb__svg {
	width: 200px;
	height: 169px;
	display: block;
}

/* --- Il testo --- */
.abm-evb__kicker {
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 2.4px;
	color: var(--ev-gold);
	margin: 0 0 10px;
}

.abm-evb__title {
	font-family: "Playfair Display", Georgia, "Times New Roman", serif;
	font-weight: 700;
	font-size: clamp(1.4rem, 3.4vw, 2.05rem);
	line-height: 1.2;
	color: var(--ev-white);
	margin: 0 0 12px;
	text-transform: none;
}

.abm-evb__lead {
	color: var(--ev-dim);
	font-size: 0.97rem;
	line-height: 1.68;
	margin: 0 0 20px;
	max-width: 62ch;
}

.abm-evb__lead strong {
	color: var(--ev-gold);
	font-weight: 700;
}

/* --- Le tre date vere --- */
.abm-evb__date {
	list-style: none;
	margin: 0 0 22px;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
}

.abm-evb__data {
	display: grid;
	grid-template-columns: auto auto 1fr auto;
	align-items: baseline;
	gap: 8px;
	padding: 9px 12px;
	background: var(--ev-panel);
	border: 1px solid var(--ev-line);
	border-radius: 10px;
	font-size: 0.86rem;
}

.abm-evb__data-gg {
	font-family: "Playfair Display", Georgia, serif;
	font-size: 1.16rem;
	font-weight: 700;
	color: var(--ev-gold);
	line-height: 1;
}

.abm-evb__data-mm {
	font-size: 0.66rem;
	letter-spacing: 1.4px;
	color: var(--ev-dim);
}

.abm-evb__data-nome {
	color: var(--ev-text);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.abm-evb__data-gg-manca {
	color: var(--ev-dim);
	font-size: 0.76rem;
	white-space: nowrap;
}

/* --- L'azione --- */
.abm-evb__azione {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

/* Oro pieno, testo nero. E resta nero anche sotto il mouse: il tema riempie
   d'oro qualunque cosa e il testo dorato sparirebbe. */
.abm-evb .abm-evb__btn {
	display: inline-block;
	background-color: var(--ev-gold);
	background-image: none;
	color: #0a0a0a;
	border: 1px solid var(--ev-gold);
	border-radius: 40px;
	padding: 13px 26px;
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.4px;
	text-decoration: none;
	transition: background-color 0.18s ease, transform 0.18s ease;
}

.abm-evb .abm-evb__btn:hover,
.abm-evb .abm-evb__btn:focus,
.abm-evb .abm-evb__btn:focus-visible {
	background-color: #ffd979;
	color: #0a0a0a;
	transform: translateY(-1px);
}

.abm-evb .abm-evb__btn:focus-visible {
	outline: 2px solid var(--ev-gold);
	outline-offset: 3px;
}

.abm-evb__nota {
	font-size: 0.8rem;
	color: var(--ev-dim);
	line-height: 1.5;
}

@media (min-width: 860px) {
	.abm-evb {
		padding: 72px 28px 76px;
	}

	.abm-evb__inner {
		grid-template-columns: 260px 1fr;
		gap: 40px;
		padding: 40px 44px 42px;
	}

	.abm-evb__svg {
		width: 250px;
		height: 212px;
	}

	.abm-evb__date {
		grid-template-columns: repeat(3, 1fr);
		gap: 10px;
	}

	.abm-evb__data {
		grid-template-columns: auto auto;
		grid-template-areas:
			"gg mm"
			"nome nome"
			"manca manca";
		gap: 2px 7px;
		padding: 11px 14px;
	}

	.abm-evb__data-gg { grid-area: gg; }
	.abm-evb__data-mm { grid-area: mm; }
	.abm-evb__data-nome { grid-area: nome; margin-top: 4px; }
	.abm-evb__data-gg-manca { grid-area: manca; }
}

/* ==========================================================================
 * 14. LA PAGINA DEDICATA
 * ========================================================================== */
.abm-ev-pagina .abm-ev {
	border-top: 0;
	padding-top: 20px;
}

.abm-ev-pagina .abm-ev::before {
	display: none;
}

/* ==========================================================================
 * 12. CHI NON VUOLE ANIMAZIONI
 * ========================================================================== */
@media (prefers-reduced-motion: reduce) {
	.abm-ev *,
	.abm-ev *::before,
	.abm-ev *::after {
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
	}
}
