/**
 * Sistema de rejillas y distribución.
 *
 * @package Groowleck
 */

.layout-grid {
	display: grid;
	gap: var(--groowleck-space-6);
}

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

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

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

.layout-grid--auto {
	grid-template-columns: repeat(
		auto-fit,
		minmax(min(100%, 16rem), 1fr)
	);
}

.layout-cluster {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--groowleck-space-4);
}

.layout-cluster--between {
	justify-content: space-between;
}

.layout-cluster--end {
	justify-content: flex-end;
}

.layout-stack {
	display: flex;
	flex-direction: column;
	gap: var(--groowleck-space-6);
}

.layout-sidebar {
	display: grid;
	grid-template-columns:
		minmax(0, 1fr)
		minmax(16rem, 22rem);
	gap: var(--groowleck-space-10);
	align-items: start;
}

.layout-sidebar--left {
	grid-template-columns:
		minmax(16rem, 22rem)
		minmax(0, 1fr);
}

.layout-center {
	display: grid;
	place-items: center;
}

@media (max-width: 64rem) {
	.layout-grid--4,
	.layout-grid--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.layout-sidebar,
	.layout-sidebar--left {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 42rem) {
	.layout-grid--4,
	.layout-grid--3,
	.layout-grid--2 {
		grid-template-columns: minmax(0, 1fr);
	}
}
