Preheat the oven to 180°C/fan 160°C/gas mark 4. In a food processor, whizz together the flour, caster sugar and 115g butter until it resembles breadcrumbs.
Tip into an 18cm square tin, press in firmly and prick all over with a fork. Chill for 20 minutes, then bake for 30 minutes, until just turning golden. Cool in the tin.
In a pan, heat the condensed milk, brown sugar, syrup and remaining 100g butter. Bring to the boil, stirring all the time. Boil, still stirring, for 5-8 minutes until thickened. Pour the caramel on to the shortbread, then leave to cool for 30 minutes.
Melt the milk and white chocolate separately in bowls over pans of simmering water, making sure the water doesn't touch the pan. Pour the milk chocolate over the caramel, then pour the white chocolate on top. Swirl it together with a skewer to create a marbled effect. Chill for 2 hours until set, then remove from the tin and cut into squares.