%defaultTransition {
  @include transition(0.3s);
}

%userSelect {
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

%appearance {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

%titleShape {
  &::after {
    content: '';
    display: block;
    background: $red;
    width: 40px;
    height: 4px;
    position: absolute;
    right: 0;
    bottom: 0;
    @extend %defaultTransition;
  }

  &:lang(en) {
    &::after {
      right: auto;
      left: 0;
    }
  }

  &.active {
    &::after {
      width: 100%;
    }
  }
}

%titleShapeCenter {
  &::after {
    content: '';
    display: block;
    background: $red;
    width: 50px;
    height: 4px;
    position: absolute;
    left: calc(50% - 25px);
    bottom: 0;
    @extend %defaultTransition;
  }

  &.active {
    &::after {
      width: 100%;
      left: 0;
    }
  }
}

%imgBoxShape {
  &::before {
    content: '';
    display: block;
    width: 80%;
    height: 40px;
    background: $theme;
    position: absolute;
    top: -30px;
    right: 10%;
    z-index: -1;
  }
}

%imgBoxShape-reverse {
  &::before {
    content: '';
    display: block;
    width: 80%;
    height: 40px;
    background: $theme;
    position: absolute;
    bottom: -30px;
    left: 10%;
    z-index: -1;
  }
}

%defaultBoxShadow {
  @include boxShadow(0 0px 20px rgba(0, 0, 0, 0.2))
}

%productHoverAnim {
  position: relative;

  &::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: $red;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    @extend %defaultTransition;
  }

  &:hover {
    &::before {
      width: 108%;
      height: 108%;
      top: -4%;
      left: -4%;
    }

    img {
      @include transform(scale(0.9));
    }
  }

  img {
    width: 100%;
    display: block;
    position: relative;
    z-index: 1;
    @extend %defaultTransition;
  }
}
