// Spacing
//
// Restructured to the VARStreet listing-page scale: a strict 4px grid where
// the index is the multiplier (n × 4px). This replaces the Bootstrap rem
// ladder, which was non-linear (1rem, 1.5rem, 3rem) and disagreed with the
// spec from step 3 upward.
//
//   0 → 0      1 → 4px    2 → 8px    3 → 12px
//   4 → 16px   5 → 20px   6 → 24px   8 → 32px
//
// Steps 1 and 2 already matched the spec, so the two most-used numeric steps
// in the consuming app do not move. Steps 6 and 8 are new (--vs-space-6/-8).
//
// 2.5.0: steps 2, 4 and 5 shipped as 10 / 14 / 16px in 2.3.0-2.4.0 — three
// values each chosen independently, none agreeing with the block above, with
// the changelog entry that introduced them, or with each other.
//
// Steps 2 and 5 are corrected to the grid. STEP 4 IS HELD AT 14px ON PURPOSE:
// that is the measure the design wants there, `$space-lg` is built on it, and
// it is the most-used spacing in procode-vs-template, where 16px reads as too
// loose. So one step is off the grid by decision and documented as such,
// instead of three being off it by accident.
$space-0: 0 !default;
$space-1: 4px !default;
$space-2: 8px !default;
$space-3: 12px !default;
$space-4: 14px !default;
$space-5: 20px !default;
$space-6: 24px !default;
$space-8: 32px !default;

// T-shirt aliases
//
// The same ladder under the names the app already uses. These were previously
// off-grid half-pixel values (2.5 / 5 / 12.5 / 16.5 / 21 / 28 / 30); each now
// resolves through the numeric step above it, so every one moves by 3px or
// less and the two ladders can no longer drift apart. `lg` is the one that
// does not land on the grid — it inherits step 4's deliberate 14px.
$space-xs: $space-1 !default;    // 2.5px → 4px
$space-sm: $space-2 !default;    // 5px   → 8px
$space-md: $space-3 !default;    // 12.5px → 12px
$space-lg: $space-4 !default;    // 16.5px → 14px  (step 4 is held off-grid, see above)
$space-xl: $space-5 !default;    // 21px  → 20px
$space-xxl: $space-6 !default;   // 28px  → 24px
$space-xxxl: $space-8 !default;  // 30px  → 32px

// Spacers map for loop-based utility generation.
// Keys are the generated class suffixes (qo-gap-*, qo-padding-*, qo-margin-*)
// and must stay exactly as they are — 6 and 8 are additive.
$spacers: (
  0: $space-0,
  1: $space-1,
  2: $space-2,
  3: $space-3,
  4: $space-4,
  5: $space-5,
  6: $space-6,
  8: $space-8,
  xs: $space-xs,
  sm: $space-sm,
  md: $space-md,
  lg: $space-lg,
  xl: $space-xl,
  xxl: $space-xxl,
  xxxl: $space-xxxl,
) !default;
