// stylelint-disable declaration-no-important

////
/// Модульные отступы
////

@each $breakpoint in map-keys($grid-breakpoints) {
  @include media-breakpoint-up($breakpoint) {
    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);

    @each $prop, $abbrev in (margin: m, padding: p) {
      @each $size, $length in $spacers {
        .#{$abbrev}-a#{$infix}-#{$size} { #{$prop}: $length !important; }
        .#{$abbrev}-t#{$infix}-#{$size},
        .#{$abbrev}-y#{$infix}-#{$size} {
          #{$prop}-top: $length !important;
        }
        .#{$abbrev}-r#{$infix}-#{$size},
        .#{$abbrev}-x#{$infix}-#{$size} {
          #{$prop}-right: $length !important;
        }
        .#{$abbrev}-b#{$infix}-#{$size},
        .#{$abbrev}-y#{$infix}-#{$size} {
          #{$prop}-bottom: $length !important;
        }
        .#{$abbrev}-l#{$infix}-#{$size},
        .#{$abbrev}-x#{$infix}-#{$size} {
          #{$prop}-left: $length !important;
        }
      }
    }

    @each $size, $length in $spacers {
      @if $size != 0 {
        .m-a#{$infix}-n-#{$size} { margin: -$length !important; }
        .m-t#{$infix}-n-#{$size},
        .m-y#{$infix}-n-#{$size} {
          margin-top: -$length !important;
        }
        .m-r#{$infix}-n-#{$size},
        .m-x#{$infix}-n-#{$size} {
          margin-right: -$length !important;
        }
        .m-b#{$infix}-n-#{$size},
        .m-y#{$infix}-n-#{$size} {
          margin-bottom: -$length !important;
        }
        .m-l#{$infix}-n-#{$size},
        .m-x#{$infix}-n-#{$size} {
          margin-left: -$length !important;
        }
      }
    }

    // Auto
    .m-a#{$infix}-auto { margin: auto !important; }
    .m-t#{$infix}-auto,
    .m-y#{$infix}-auto {
      margin-top: auto !important;
    }
    .m-r#{$infix}-auto,
    .m-x#{$infix}-auto {
      margin-right: auto !important;
    }
    .m-b#{$infix}-auto,
    .m-y#{$infix}-auto {
      margin-bottom: auto !important;
    }
    .m-l#{$infix}-auto,
    .m-x#{$infix}-auto {
      margin-left: auto !important;
    }
  }
}
