/* Alsos – Diamanti
 * La tipografia arriva dalle classi del child theme (diamanti-*, home-diamanti-button):
 * qui solo layout, fondi e spaziature, che nella versione statica dipendevano
 * dagli ID delle righe WPBakery.
 * Nota: il sito usa html { font-size: 62.5% } → 1rem = 10px.
 */

/* Riga WPBakery che contiene uno shortcode: niente padding, le sezioni hanno il loro. */
.alsos-dia-row,
.alsos-dia-row > .wpb_column > .vc_column-inner {
	padding: 0 !important;
	margin-bottom: 0 !important;
}
.alsos-dia-row .wpb_wrapper:empty { display: none; }

/* Riga WPBakery "di sezione" (titolo Bakery + shortcode): padding come le sezioni statiche.
   Lo sfondo si sceglie dalla riga (es. #f7f7f7 per "I prossimi Seminari"). */
.vc_row.alsos-dia-section { padding: 8rem 4rem; margin-left: 0; margin-right: 0; }
.alsos-dia-section .alsos-dia-section-title,
.alsos-dia-section .alsos-dia-section-title p { margin-bottom: 4.4rem !important; }

/* Se lo shortcode non ha nulla da mostrare, nasconde l'intera riga, titolo compreso
   (non nell'editor frontend di WPBakery, dove la riga deve restare modificabile). */
body:not(.vc_editor) .vc_row.alsos-dia-section:not(:has(.alsos-dia)) { display: none !important; }

.alsos-dia {
	--alsos-dia-gap: 4.8rem;
	--alsos-dia-grid-gap: 2.4rem;
}

/* Fasce a tutta larghezza */
.alsos-dia__band { padding: 8rem 4rem; }
.alsos-dia__band--white { background: #fff; padding-bottom: 6rem; }
.alsos-dia__band--grey  { background: #f7f7f7; }
.alsos-dia__band--dark  { background: #4d4a5d; }
.alsos-dia__band--heading { padding-top: 4rem; padding-bottom: 4rem; }

/* Due colonne: testo/immagine a sinistra, date e descrizione a destra */
.alsos-dia__split {
	display: flex;
	gap: var(--alsos-dia-gap);
	align-items: center;
}
.alsos-dia__split--top { align-items: flex-start; }
.alsos-dia__col { flex: 1 1 0; min-width: 0; }

.alsos-dia__kicker {
	margin: 0 0 1rem;
	font-size: 1.4rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: #009EE3;
}
.alsos-dia__titolo {
	font-size: 3.2rem;
	line-height: 1.2;
	margin: 0 0 2.5rem;
}
.alsos-dia__media { margin: 0 0 2.5rem; }
.alsos-dia__img { display: block; width: 100%; height: auto; }
.alsos-dia .diamanti-1-main { margin-top: 1rem; }
.alsos-dia__relatore-small,
.alsos-dia__relatore-small p { font-size: 1.8rem; }
.alsos-dia .diamanti-1-text > :last-child { margin-bottom: 0; }

/* Seminari passati: righe impilate come nella versione statica */
.alsos-dia__past + .alsos-dia__past { margin-top: 5rem; }

/* Speakers */
.alsos-dia__speakers-title { margin-bottom: 4.4rem; }
.alsos-dia__speakers-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--alsos-dia-grid-gap);
	grid-template-columns: 1fr;
	align-items: stretch;
}
.alsos-dia__speaker {
	list-style: none;
	margin: 0;
	padding: 4rem;
	background: #fff;
}

/* Prossimi */
.alsos-dia__section-title { margin-bottom: 4.4rem !important; }
.alsos-dia__grid {
	display: grid;
	gap: var(--alsos-dia-grid-gap);
	grid-template-columns: 1fr;
}
.alsos-dia__card { padding: 3.2rem; background: #fff; }
.alsos-dia__card .alsos-dia__media { margin-bottom: 4rem; }
.alsos-dia__card-titolo { margin: -0.8rem 0 1.2rem; font-size: 1.8rem; line-height: 1.5; }

/* Tablet */
@media (min-width: 600px) {
	.alsos-dia__speakers-list {
		grid-template-columns: repeat(var(--alsos-dia-speaker-cols-tablet, 1), minmax(0, 1fr));
	}
}
@media (min-width: 768px) {
	.alsos-dia__grid { grid-template-columns: repeat(var(--alsos-dia-cols, 2), minmax(0, 1fr)); }
}

/* Desktop: numero di colonne speakers calcolato sul totale (vedi template) */
@media (min-width: 993px) {
	.alsos-dia__speakers-list {
		grid-template-columns: repeat(var(--alsos-dia-speaker-cols, 3), minmax(0, 1fr));
	}
	/* Orfano inevitabile (7, 13… speakers): l'ultimo va al centro */
	.alsos-dia__speakers-list.has-orphan > .alsos-dia__speaker:last-child { grid-column: 2; }
}

@media (max-width: 992px) {
	.alsos-dia__split { flex-direction: column; align-items: stretch; }
}
@media (max-width: 767px) {
	.alsos-dia__band,
	.vc_row.alsos-dia-section { padding: 4rem 1.5rem; }
	.alsos-dia__speaker { padding: 3rem; }
	.alsos-dia__card { padding: 2.4rem; }
}
