@mixin spacing-utils($breakpoint: null) {
  @each $variant in map-keys($spacing-data) {
    $addon: "";

    @if $variant != "base" {
      $addon: "-" + camelize($variant);
    }

    $sides: (
      b: bottom,
      r: right,
    );

    @each $side in map-keys($sides) {
      $side-value: map-get($sides, $side);

      @if $breakpoint {
        &m#{$side}#{$addon}_#{$breakpoint} {
          // stylelint-disable-next-line max-nesting-depth
          @include breakpoint($from: $breakpoint) {
            margin-#{$side-value}: spacing($variant) !important;
          }
        }
      } @else {
        &m#{$side}#{$addon} {
          margin-#{$side-value}: spacing($variant) !important;
        }
      }
    }
  }
}

.cobalt- {
  @include spacing-utils;

  @each $breakpoint in map-keys($breakpoint-data) {
    @include spacing-utils($breakpoint);
  }
}
