/**
 * Widget "Evento" per Elementor — stili di base.
 *
 * Qui c'è solo la struttura (griglie, allineamenti, stati vuoti): colori,
 * tipografia, spaziature e raggi arrivano dai controlli Elementor sotto forma
 * di variabili CSS, così tutto resta modificabile dal pannello.
 */

/* ── Info pratiche ───────────────────────────────────────── */
.df-ep-info {
	display: grid;
	gap: var(--df-ep-gap, 14px);
	background: var(--df-ep-bg, transparent);
	border: var(--df-ep-bdr-w, 0) solid var(--df-ep-bdr, transparent);
	border-radius: var(--df-ep-radius, 0);
	padding: var(--df-ep-pad, 0);
}
.df-ep-info--griglia { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.df-ep-info--righe   { grid-template-columns: 1fr; }

.df-ep-info__voce { display: flex; align-items: flex-start; gap: 11px; min-width: 0; }
.df-ep-info__ic {
	flex-shrink: 0;
	display: flex; align-items: center; justify-content: center;
	width: var(--df-ep-ic-size, 34px); height: var(--df-ep-ic-size, 34px);
	border-radius: var(--df-ep-ic-radius, 50%);
	background: var(--df-ep-ic-bg, rgba(0,0,0,.06));
	color: var(--df-ep-ic-color, currentColor);
}
.df-ep-info__ic svg { width: 55%; height: 55%; display: block; }
.df-ep-info__testo { min-width: 0; }
.df-ep-info__et {
	display: block;
	color: var(--df-ep-et-color, inherit);
	text-transform: uppercase;
	letter-spacing: .06em;
}
.df-ep-info__val { display: block; color: var(--df-ep-val-color, inherit); }
.df-ep-info__val a { color: inherit; text-decoration: none; }
.df-ep-info__val a:hover { text-decoration: underline; }
.df-ep-info__maps {
	display: inline-flex; align-items: center; gap: 5px;
	margin-top: 4px; text-decoration: none;
	color: var(--df-ep-maps-color, inherit);
}
.df-ep-info__maps:hover { text-decoration: underline; }
.df-ep-info__maps svg { width: 1em; height: 1em; }

/* ── Mappa ───────────────────────────────────────────────── */
.df-ep-mappa { position: relative; width: 100%; overflow: hidden; border-radius: var(--df-ep-radius, 0); }
.df-ep-mappa iframe { display: block; width: 100%; height: var(--df-ep-map-h, 340px); border: 0; }
.df-ep-mappa--grigia iframe { filter: grayscale(1) contrast(1.05); }

/* ── Elenco date / eventi correlati ──────────────────────── */
.df-ep-lista { display: grid; gap: var(--df-ep-gap, 16px); }
.df-ep-lista--griglia { grid-template-columns: repeat(auto-fit, minmax(var(--df-ep-col, 240px), 1fr)); }
.df-ep-lista--righe   { grid-template-columns: 1fr; }

.df-ep-card {
	display: flex;
	flex-direction: var(--df-ep-card-dir, column);
	gap: var(--df-ep-card-gap, 12px);
	background: var(--df-ep-card-bg, transparent);
	border: var(--df-ep-card-bdr-w, 0) solid var(--df-ep-card-bdr, transparent);
	border-radius: var(--df-ep-card-radius, 0);
	padding: var(--df-ep-card-pad, 0);
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
a.df-ep-card:hover { transform: translateY(-3px); border-color: var(--df-ep-card-bdr-hover, var(--df-ep-card-bdr, transparent)); }

.df-ep-card__img { flex-shrink: 0; overflow: hidden; border-radius: var(--df-ep-img-radius, 0); }
.df-ep-card__img img { display: block; width: 100%; height: var(--df-ep-img-h, auto); object-fit: cover; }
.df-ep-card--riga { flex-direction: row; align-items: center; }
.df-ep-card--riga .df-ep-card__img { width: var(--df-ep-img-w, 110px); }

.df-ep-card__corpo { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.df-ep-card__data  { color: var(--df-ep-data-color, inherit); text-transform: uppercase; letter-spacing: .05em; }
.df-ep-card__tit   { color: var(--df-ep-tit-color, inherit); margin: 0; }
.df-ep-card__meta  { color: var(--df-ep-meta-color, inherit); }
.df-ep-card__cta   { margin-top: auto; color: var(--df-ep-cta-color, inherit); text-decoration: none; }
.df-ep-card__cta:hover { text-decoration: underline; }

.df-ep-badge {
	display: inline-block; align-self: flex-start;
	padding: 3px 9px; border-radius: 20px;
	background: var(--df-ep-badge-bg, rgba(0,0,0,.08));
	color: var(--df-ep-badge-color, inherit);
	text-transform: uppercase; letter-spacing: .06em;
}

/* ── Segnaposto in editor (mai in pagina pubblicata) ─────── */
.df-ep-vuoto {
	border: 1px dashed rgba(0,0,0,.25);
	border-radius: 8px;
	padding: 18px 20px;
	text-align: center;
	font-size: 13px;
	line-height: 1.5;
	color: #6b7280;
	background: rgba(0,0,0,.02);
}
.df-ep-vuoto b { display: block; margin-bottom: 3px; color: #374151; }
