Preheat your oven to 350°F (175°C). Grease and line the bottom of three 9-inch round cake pans with parchment paper.
In a mixing bowl, combine flour, baking powder, salt, and cocoa powder. Whisk together and set aside.
In a separate large bowl, cream the softened butter and granulated sugar using a mixer until light and fluffy.
Add the eggs one at a time, mixing well after each addition. Stir in the vanilla extract.
Gradually mix in the dry ingredients, alternating with the milk. Start and end with dry ingredients. Mix until just combined.
Divide the batter equally into three bowls. To the first bowl, add the strawberry puree and mix until blended. Leave the second bowl as is for vanilla. In the third bowl, add more cocoa powder if you want a richer chocolate flavor (optional).
Pour each batter into its prepared pan. Bake in the preheated oven for 25-30 minutes or until a toothpick inserted in the center comes out clean.
Allow the cakes to cool in their pans for 10 minutes, then transfer to a cooling rack to cool completely.
For the vanilla frosting, beat together the softened butter and powdered sugar in a bowl. Add heavy cream and vanilla. Mix until smooth and fluffy.
For the chocolate frosting, beat together the softened butter, powdered sugar, cocoa powder, heavy cream, and vanilla until smooth and creamy.
Once the cakes are completely cool, level the tops with a knife for even stacking. Place the strawberry cake layer on a cake stand, spread a layer of vanilla frosting on top, and repeat with the vanilla and chocolate layers, using their respective frostings.
Frost the outside of the cake with the remaining frosting and decorate with fresh strawberries and chocolate shavings.