@use '../variables' as *;
@use '../tools/breakpoints' as *;

@for $i from 0 through 16 {
  @each $mORp, $marginORpadding in ('m': 'margin', 'p': 'padding') {
    @each $type,
      $suffix in ('a': '', 'l': '-left', 'r': '-right', 't': '-top', 'b': '-bottom')
    {
      .#{$mORp}#{$type}-#{$i} {
        #{$marginORpadding}#{$suffix}: $spacer * $i !important;
      }
      .#{$mORp}#{$type}-n#{$i} {
        #{$marginORpadding}#{$suffix}: $spacer * -$i !important;
      }
    }
  }
}

@for $i from 0 through 16 {
  @each $mORp, $marginORpadding in ('m': 'margin', 'p': 'padding') {
    @each $type,
      $suffix in ('a': '', 'l': '-left', 'r': '-right', 't': '-top', 'b': '-bottom')
    {
      @include create_breakpoints() using ($screen_size) {
        .#{$mORp}#{$type}-#{$screen_size}-#{$i} {
          #{$marginORpadding}#{$suffix}: $spacer * $i !important;
        }
        .#{$mORp}#{$type}-#{$screen_size}-n#{$i} {
          #{$marginORpadding}#{$suffix}: $spacer * -$i !important;
        }
      }
    }
  }
}

@each $mORp, $marginORpadding in ('m': 'margin', 'p': 'padding') {
  @each $type,
    $suffix in ('a': '', 'l': '-left', 'r': '-right', 't': '-top', 'b': '-bottom')
  {
    .#{$mORp}#{$type}-auto {
      #{$marginORpadding}#{$suffix}: auto !important;
    }
  }
}

@each $mORp, $marginORpadding in ('m': 'margin', 'p': 'padding') {
  @each $type,
    $suffix in ('a': '', 'l': '-left', 'r': '-right', 't': '-top', 'b': '-bottom')
  {
    @include create_breakpoints() using ($screen_size) {
      .#{$mORp}#{$type}-#{$screen_size}-auto {
        #{$marginORpadding}#{$suffix}: auto !important;
      }
    }
  }
}
