250g unsalted butter, at room temperature, chopped
375g icing sugar mixture, sifted, plus extra to dust
125g plain flour
30g cocoa powder
125g cream cheese, chopped
2 tsp vanilla extract
1 Tbsp milk
¼ cup raspberry jam
Note: Allow 35 minutes chilling
Preheat oven to 160°C. Line 2 oven trays with baking paper. Put ½ of the butter in the bowl of an electric mixer with 125g of the icing sugar and beat on medium, using paddle attachment, for 5 minutes or until very light. Sift flour and cocoa together, then gently fold into butter mixture until dough just comes together. Put dough between 2 sheets of baking paper and roll out until 4mm thick. Put in freezer for 20 minutes to firm up.
Using 5 heart-shaped cutters in ascending sizes, smallest 4.5cm across and largest 7.5cm, cut out 2 of each dough heart and arrange on prepared trays, re-rolling as necessary. Bake for 14 minutes or until just firm. Set aside to cool completely.
Meanwhile, to make icing, put cream cheese, vanilla, remaining butter and remaining icing sugar in the bowl of an electric mixer and beat on medium, using paddle attachment, for 5 minutes or until very light. Add milk and beat for a further minute.
Spoon icing into piping bag fitted with a 1.5cm star-shaped nozzle, then pipe small mounds of mixture on each heart, except the 2 smallest, to cover.
Put jam in a small bowl and beat with a spoon to loosen, then spoon a little over iced hearts. Arrange raspberries on top, before refrigerating for 15 minutes or until icing is firm. Any leftover icing can be stored in fridge in airtight container for 2 days to be used for another dessert.
Stack shortbread on top of one another, largest on the bottom, finishing with the smallest hearts without icing. Repeat to make second stack. Dust with extra icing sugar and serve immediately.