Preheat oven to 350°F. Line muffin tin with cupcake liners.
Whisk flour, baking powder, and salt in bowl. Set aside.
Beat butter and sugar 3 to 4 minutes until fluffy.
Add eggs one at a time. Beat well after each.
Mix in vanilla and rosewater.
Add flour mixture and milk alternately. Start and end with flour. Mix on low just until combined.
Add food coloring if using. Mix until even.
Divide batter evenly among liners. Fill two-thirds full.
Bake 16 to 18 minutes until toothpick comes out clean.
Cool in pan 5 minutes.
Transfer to wire rack. Cool completely.
For buttercream, beat butter 2 minutes until creamy.
Add powdered sugar one cup at a time on low speed.
Add cream, rosewater, vanilla, and salt. Beat 3 to 4 minutes on high until fluffy.
Add pink food coloring if using.
Frost cooled cupcakes with knife, spatula, or piping bag.
Decorate with rose petals, sprinkles, or glitter if desired.
Serve at room temperature.