Whisk the dry ingredients: in a medium bowl, whisk together the flour, baking soda, baking powder, salt, and cinnamon. Set aside.
Cream the butter and sugars: in a large bowl, beat the softened butter with the brown sugar and granulated sugar on medium-high speed for 2 to 3 minutes, until light, fluffy, and pale. This long creaming step is what gives the cookies their soft, thick centers.
Add the eggs and flavorings: beat in the egg, then the egg yolk, vanilla extract, and orange zest, mixing just until combined. Scrape down the sides of the bowl once so everything is evenly incorporated.
Add the dry ingredients: add the flour mixture in two additions, mixing on low speed just until no dry streaks remain. Do not overmix — a few seconds past combined is enough, and overmixing makes the cookies tough.
Fold in the mix-ins: fold in the dried cranberries, white chocolate chips, and nuts (if using) with a rubber spatula until evenly distributed. The dough will be thick and soft.
Chill the dough: cover the bowl and refrigerate for 30 minutes. Chilling keeps the cookies thick instead of spreading flat, and it lets the orange zest and cinnamon bloom through the dough.
Scoop and bake: preheat the oven to 350°F (175°C) and line two baking sheets with parchment paper. Scoop 2-tablespoon mounds of dough (about 55 g each) and space them 2 inches apart. Bake for 11 to 13 minutes, until the edges are set and lightly golden but the centers still look slightly soft.
Cool and finish: let the cookies rest on the baking sheet for 5 minutes — they finish setting as they cool — then transfer to a wire rack. Sprinkle with flaky sea salt while still warm, if using. Cool completely before stacking or packing.