/* =============================================================
   Vybe Space — Layout Utilities  (layout.css)
   Sprint 2: Phase 0B design system foundation.
   Additive-only. Uses --vs-* tokens from tokens.css.
   ============================================================= */

/* ── Container ────────────────────────────────────────────── */

.vs-container {
    width: 100%;
    max-width: 900px;
    margin-inline: auto;
    padding-inline: var(--vs-space-4);
}
.vs-container-sm  { max-width: 600px; }
.vs-container-lg  { max-width: 1200px; }

/* ── Stack (vertical flex) ────────────────────────────────── */

.vs-stack {
    display: flex;
    flex-direction: column;
    gap: var(--vs-space-4);
}
.vs-stack-sm { gap: var(--vs-space-2); }
.vs-stack-lg { gap: var(--vs-space-8); }

/* ── Row (horizontal flex) ────────────────────────────────── */

.vs-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--vs-space-4);
}
.vs-row-sm  { gap: var(--vs-space-2); }
.vs-row-wrap { flex-wrap: wrap; }

/* ── Grid ─────────────────────────────────────────────────── */

.vs-grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--vs-space-4); }
.vs-grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--vs-space-4); }

/* ── Spacers ──────────────────────────────────────────────── */

.vs-mt-4  { margin-top:    var(--vs-space-4); }
.vs-mb-4  { margin-bottom: var(--vs-space-4); }
.vs-mt-8  { margin-top:    var(--vs-space-8); }
.vs-mb-8  { margin-bottom: var(--vs-space-8); }
.vs-p-4   { padding:       var(--vs-space-4); }
.vs-p-6   { padding:       var(--vs-space-6); }

/* ── Scrollable area ──────────────────────────────────────── */

.vs-scroll-y {
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: var(--vs-color-accent) transparent;
}
