.n-grid {
	--n-grid-gap: var(--space-24);
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--n-grid-gap);
}

.n-grid--gap-sm {
	--n-grid-gap: var(--space-16);
}

.n-grid--gap-md {
	--n-grid-gap: var(--space-24);
}

.n-grid--gap-lg {
	--n-grid-gap: var(--space-32);
}

.n-grid--auto {
	grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
}

@media (min-width: 768px) {
	.n-grid--2,
	.n-grid--3,
	.n-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.n-grid--3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.n-grid--4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
