/**
 * Pioneer grid last-row + item alignment on GreenShift layout blocks.
 *
 * Column count and gap are read from GreenShift (CSS variables set in PHP/JS).
 * Off last-row leaves GS display/grid alone.
 */

.pioneer-gs-grid {
	--pioneer-grid-cols-current: var(--pioneer-grid-cols-desktop, 1);
	--pioneer-grid-gap-current: var(--pioneer-grid-gap-desktop, 0px);
	--pioneer-grid-col-width: calc(
		(100% - (var(--pioneer-grid-cols-current, 1) - 1) * var(--pioneer-grid-gap-current, 0px)) /
			var(--pioneer-grid-cols-current, 1)
	);
	width: 100%;
	box-sizing: border-box;
}

.pioneer-gs-grid--nested-items.pioneer-gs-grid--center-last,
.pioneer-gs-grid--nested-items.pioneer-gs-grid--fill-last {
	display: block !important;
}

.pioneer-gs-grid--center-last:not(.pioneer-gs-grid--nested-items),
.pioneer-gs-grid--fill-last:not(.pioneer-gs-grid--nested-items),
.pioneer-gs-grid--center-last.pioneer-gs-grid--nested-items .wp-block-post-template,
.pioneer-gs-grid--fill-last.pioneer-gs-grid--nested-items .wp-block-post-template {
	display: flex !important;
	flex-wrap: wrap !important;
	grid-template-columns: none !important;
	gap: var(--pioneer-grid-gap-current, 0px) !important;
	align-content: start;
}

.pioneer-gs-grid--center-last:not(.pioneer-gs-grid--nested-items),
.pioneer-gs-grid--center-last.pioneer-gs-grid--nested-items .wp-block-post-template {
	justify-content: center !important;
}

.pioneer-gs-grid--fill-last:not(.pioneer-gs-grid--nested-items),
.pioneer-gs-grid--fill-last.pioneer-gs-grid--nested-items .wp-block-post-template {
	justify-content: flex-start !important;
}

.pioneer-gs-grid--center-last:not(.pioneer-gs-grid--nested-items) > *,
.pioneer-gs-grid--center-last.pioneer-gs-grid--nested-items .wp-block-post-template > * {
	box-sizing: border-box;
	flex: 0 0 var(--pioneer-grid-col-width) !important;
	width: var(--pioneer-grid-col-width) !important;
	max-width: 100% !important;
}

.pioneer-gs-grid--fill-last:not(.pioneer-gs-grid--nested-items) > *,
.pioneer-gs-grid--fill-last.pioneer-gs-grid--nested-items .wp-block-post-template > * {
	box-sizing: border-box;
	flex: 1 1 var(--pioneer-grid-col-width) !important;
	width: auto !important;
	min-width: 0;
	max-width: 100% !important;
}

.pioneer-gs-grid .pioneer-gs-grid-item--full,
.pioneer-gs-grid--nested-items .wp-block-post-template > .pioneer-gs-grid-item--full {
	grid-column: 1 / -1 !important;
	flex: 0 0 100% !important;
	width: 100% !important;
	max-width: 100% !important;
}

.pioneer-gs-grid:not(.pioneer-gs-grid--center-last):not(.pioneer-gs-grid--fill-last) > .pioneer-gs-grid-item--center,
.pioneer-gs-grid--nested-items:not(.pioneer-gs-grid--center-last):not(.pioneer-gs-grid--fill-last) .wp-block-post-template > .pioneer-gs-grid-item--center {
	grid-column: 1 / -1 !important;
	justify-self: center !important;
	width: var(--pioneer-grid-col-width) !important;
	max-width: 100% !important;
}

.pioneer-gs-grid--center-last > .pioneer-gs-grid-item--center,
.pioneer-gs-grid--fill-last > .pioneer-gs-grid-item--center,
.pioneer-gs-grid--center-last.pioneer-gs-grid--nested-items .wp-block-post-template > .pioneer-gs-grid-item--center,
.pioneer-gs-grid--fill-last.pioneer-gs-grid--nested-items .wp-block-post-template > .pioneer-gs-grid-item--center {
	flex: 0 0 var(--pioneer-grid-col-width) !important;
	width: var(--pioneer-grid-col-width) !important;
	max-width: 100% !important;
	margin-left: auto;
	margin-right: auto;
}
