/**
 * [HI_griglia_categoria_servizio]
 *
 * Una sola griglia per categorie e servizi. Impreza stampa due elementi
 * (us_term_list + us_post_list): i loro contenitori diventano "trasparenti"
 * (display: contents) e le card finiscono tutte nella griglia del wrapper.
 *
 * Colonne e spaziatura replicano .w-grid.type_grid di Impreza: gap = items_gap x 2,
 * colonne ridotte a 2 sotto i 1040px e a 1 sotto i 760px.
 */

.hi-svc-grid {
	display: grid;
	grid-template-columns: repeat(var(--hi-svc-cols, 3), minmax(0, 1fr));
	gap: calc(var(--hi-svc-gap, 15px) * 2);
}

.hi-svc-grid > .w-grid,
.hi-svc-grid > .w-grid > .w-grid-list {
	display: contents;
}

/* Lo spinner di Impreza diventerebbe una cella della griglia. */
.hi-svc-grid .g-preloader {
	display: none;
}

/* Titoli "Categorie" / "Servizi" (titoli_sezione="1") a tutta riga. */
.hi-svc-grid > .hi-svc-grid__heading {
	grid-column: 1 / -1;
	margin: 0;
}

.hi-svc-grid > .w-grid + .hi-svc-grid__heading {
	margin-top: calc(var(--hi-svc-gap, 15px) * 2);
}

@media (max-width: 1040px) {
	.hi-svc-grid:not(.hi-svc-grid--cols-1) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Stessa specificita' della regola tablet, altrimenti su mobile resterebbero 2 colonne. */
@media (max-width: 760px) {
	.hi-svc-grid:not(.hi-svc-grid--cols-1) {
		grid-template-columns: minmax(0, 1fr);
	}
}
