Preheat the oven to 180°C, fan 160°C, gas 4.
In a food processor, whizz the flour, caster sugar and 115g butter until it resembles breadcrumbs.
Tip into an 18cm square tin, press it in firmly then 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 onto the shortbread, then let cool for 30 minutes.
Melt the milk and white chocolate separately (place in bowls over pans of simmering water, making sure they don't touch). 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.