Preheat the oven to 350°F and line a 12-cup muffin tray with cupcake liners.
In a medium bowl, sift together the self-rising flour and all-purpose flour, then mix them briefly. In a larger bowl, cream together the non-dairy butter and granulated sugar using an electric mixer until smooth. Beat in the eggs one by one, followed by the vanilla essence, until the mixture is light and fluffy. Gradually incorporate the sifted flour mixture, alternating with the almond milk, until the batter is well combined.
Divide the batter evenly among the cupcake liners, filling each about 3/4 full. Bake in the preheated oven for 18-20 minutes, or until the tops are golden and a toothpick inserted into the center comes out clean. Allow the cupcakes to cool completely on a wire rack.
To make the buttercream, beat the non-dairy butter with a hand or stand mixer for 1-2 minutes until creamy. Gradually add 3 cups of powdered sugar, beating on medium speed until blended. If the frosting is too thick, mix in vanilla essence and almond milk. If it's too runny, add an additional 1/2 to 1 cup of powdered sugar until the desired consistency is reached. Adjust the sweetness with a pinch of salt if necessary.
Notes
Optional: Add a few drops of pink food dye to the buttercream and mix well. Pipe the frosting onto the cooled cupcakes using a piping bag fitted with your preferred tip. Decorate with sprinkles if desired. Enjoy!