Cream the butter and sugar together in a large bowl until smooth and creamy (about 2 minutes). Add vanilla and mix again.
Stir in flour and salt until just combined. The dough will look crumbly at first — that's normal!
Fold in the chopped cranberries, pistachios, and orange zest if using. Work the dough gently until it holds together when pressed.
Form the dough into a log about 5 cm thick. Wrap tightly in plastic wrap and refrigerate for at least 1–2 hours, or until firm.
Preheat oven to 170°C (340°F). Slice the log into 1 cm rounds and place on a parchment-lined baking sheet.
Bake for 12–15 minutes, until edges are just lightly golden. Let cool on the tray for 5 minutes, then transfer to a wire rack.
Once cooled, optionally drizzle with white chocolate or dip one end in melted chocolate and sprinkle with crushed pistachios.
