/*! DSI 1.0 — Layout primitives */

.dxp-container,
.dxp-layout-container {
	width: min(100% - (var(--dxp-gutter) * 2), var(--dxp-container-max));
	margin-inline: auto;
}
.dxp-layout-wide {
	width: min(100% - (var(--dxp-gutter) * 2), var(--dxp-container-wide));
	margin-inline: auto;
}
.dxp-layout-stack {
	display: flex;
	flex-direction: column;
	gap: var(--dxp-space-5);
}
.dxp-layout-cluster {
	display: flex;
	flex-wrap: wrap;
	gap: var(--dxp-space-3);
	align-items: center;
}
.dxp-layout-grid {
	display: grid;
	gap: var(--dxp-space-4);
	grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
}
.dxp-layout-split {
	display: grid;
	gap: var(--dxp-space-5);
}
@media (min-width: 900px) {
	.dxp-layout-split {
		grid-template-columns: 1.1fr 0.9fr;
		align-items: start;
	}
}
.dxp-layout-sticky-actions {
	position: sticky;
	bottom: 0;
	z-index: var(--dxp-foundation-z-sticky, 40);
	padding: var(--dxp-space-3);
	background: var(--dxp-navigation-background);
	backdrop-filter: blur(12px);
	border-top: 1px solid var(--dxp-color-border-default);
}
.dxp-layout-scroller {
	display: flex;
	gap: var(--dxp-space-3);
	overflow-x: auto;
	padding-bottom: var(--dxp-space-2);
	scroll-snap-type: x mandatory;
}
.dxp-layout-scroller > * {
	scroll-snap-align: start;
	flex: 0 0 auto;
}
