.ds-stack {
  display: flex;
  min-width: 0;
}

.ds-stack--vertical {
  flex-direction: column;
}

.ds-stack--horizontal {
  flex-direction: row;
}

.ds-stack--wrap {
  flex-wrap: wrap;
}

/* --- Gaps ---------------------------------------------------------------- */
.ds-stack--gap-none { gap: var(--ds-space-none); }
.ds-stack--gap-3xs { gap: var(--ds-space-3xs); }
.ds-stack--gap-2xs { gap: var(--ds-space-2xs); }
.ds-stack--gap-xs { gap: var(--ds-space-xs); }
.ds-stack--gap-sm { gap: var(--ds-space-sm); }
.ds-stack--gap-md { gap: var(--ds-space-md); }
.ds-stack--gap-lg { gap: var(--ds-space-lg); }
.ds-stack--gap-xl { gap: var(--ds-space-xl); }
.ds-stack--gap-2xl { gap: var(--ds-space-2xl); }
.ds-stack--gap-3xl { gap: var(--ds-space-3xl); }

/* --- Alignment ----------------------------------------------------------- */
.ds-stack--align-start { align-items: flex-start; }
.ds-stack--align-center { align-items: center; }
.ds-stack--align-end { align-items: flex-end; }
.ds-stack--align-stretch { align-items: stretch; }
.ds-stack--align-baseline { align-items: baseline; }

.ds-stack--justify-start { justify-content: flex-start; }
.ds-stack--justify-center { justify-content: center; }
.ds-stack--justify-end { justify-content: flex-end; }
.ds-stack--justify-between { justify-content: space-between; }
.ds-stack--justify-around { justify-content: space-around; }
