/* ITWH Partecipanti – frontend
 * Riproduce le sezioni Elementor originali (griglia loghi + text-editor).
 * Variabili impostate inline dallo shortcode:
 *   sezione: --itwh-cols, --itwh-cols-m, --itwh-gw, --itwh-gw-m, --itwh-gx, --itwh-gy, --itwh-gx-m, --itwh-gy-m
 *   logo:    --itwh-w, --itwh-wm, --itwh-mw
 * Breakpoint Elementor: mobile <= 767px.
 */

.itwh-sezione { margin: 20px 0 0; }
.itwh-sezione:first-child { margin-top: 0; }

.itwh-sezione__titolo { margin: 0 0 20px; }

/* Griglia loghi */
.itwh-loghi {
	display: grid;
	grid-template-columns: repeat(var(--itwh-cols, 5), minmax(0, 1fr));
	column-gap: var(--itwh-gx, 0px);
	row-gap: var(--itwh-gy, 0px);
	justify-items: start;
	align-items: center;
	width: var(--itwh-gw, 100%);
}
.itwh-logo { width: 100%; text-align: left; }
.itwh-logo a,
.itwh-logo > img {
	display: inline-block;
	width: var(--itwh-w, 100%);
	max-width: var(--itwh-mw, 100%);
	vertical-align: middle;
}
.itwh-logo img {
	height: auto;
	border: 0;
	box-shadow: none;
}
.itwh-logo a img { display: block; width: 100%; max-width: 100%; }

/* Descrizione globale [itwh_partecipanti_descrizione]: font globale Elementor (Outfit), 18px / 30px */
.itwh-descrizione {
	font-family: var(--e-global-typography-text-font-family, "Outfit"), sans-serif;
	font-size: 18px;
	line-height: 30px;
}
.itwh-descrizione p { margin: 0 0 1em; }
.itwh-descrizione p:last-child { margin-bottom: 0; }

/* Elenco ruolo / nominativi */
.itwh-elenco {
	padding: 20px 0;
	border-bottom: 1px solid #555658;
	font-family: "Outfit", sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 31px;
	color: #555658;
	text-align: left;
}
.itwh-partecipanti--no-last-divider .itwh-sezione:last-child .itwh-elenco { border-bottom: 0; }
.itwh-elenco p { margin: 0 0 1em; }
.itwh-elenco p:last-child { margin-bottom: 0; }

@media (max-width: 767px) {
	.itwh-sezione { margin-top: 40px; }
	.itwh-loghi {
		grid-template-columns: repeat(var(--itwh-cols-m, 2), minmax(0, 1fr));
		column-gap: var(--itwh-gx-m, 10px);
		row-gap: var(--itwh-gy-m, 20px);
		width: var(--itwh-gw-m, 100%);
	}
	.itwh-logo a,
	.itwh-logo > img { width: var(--itwh-wm, var(--itwh-w, 100%)); }
	.itwh-elenco { padding: 10px 0 20px; }
}
