/* =========================================================
   MILO COMPONENT CONTRACT
   File: milo-stack.css
   Layer: Layout Primitives
   Version: 1.1

   PURPOSE
   ----------------------------------------------------------------
   Provides vertical rhythm utilities using a flex-column stack engine.

   OWNERSHIP
   ----------------------------------------------------------------
   Owns:
   - Vertical spacing between immediate children of a stack
   - Size variants via variable overrides

   Does NOT own:
   - Section padding
   - Grid column spacing
   - Component internal padding
========================================================= */

/* #region 1) STACK ENGINE */
.milo-stack {
  --milo-stack-gap: var(--milo-stack, var(--milo-space-md));

  display: flex;
  flex-direction: column;
  gap: var(--milo-stack-gap);
  min-width: 0;
}

/* #endregion 1) STACK ENGINE */

/* #region 2) STACK GAP VARIANTS */
.milo-stack--2xs {
  --milo-stack-gap: var(--milo-stack-2xs);
}
.milo-stack--xs {
  --milo-stack-gap: var(--milo-stack-xs);
}
.milo-stack--sm {
  --milo-stack-gap: var(--milo-stack-sm);
}
.milo-stack--md {
  --milo-stack-gap: var(--milo-stack-md);
}
.milo-stack--lg {
  --milo-stack-gap: var(--milo-stack-lg);
}
.milo-stack--xl {
  --milo-stack-gap: var(--milo-stack-xl);
}
.milo-stack--2xl {
  --milo-stack-gap: var(--milo-stack-2xl);
}

/* #endregion 2) STACK GAP VARIANTS */

/* #region 3) OPTIONAL RESET */
.milo-stack--reset > * {
  margin: 0 !important;
}
/* #endregion 3) OPTIONAL RESET */
