Preheat oven to 425℉
If using a stand mixer use the paddle attachment or use a hand mixer with regular beaters.
In a bowl add flour, baking soda, baking powder, cinnamon and salt until combined and then set aside.
In the mixing bowl beat the butter, sugar, and brown sugar together on high for 2 minutes until smooth and creamy. Scrape down the sides of the bowl as needed. Next add the orange zest and beat on medium speed for 1 minute. Add eggs, yogurt/sour cream, and vanilla and beat for 1 more minute gradually turning up to high. The mixture may look curdled at this point, but it's okay.
Then add the orange juice, milk, and dry ingredient mixture. Mix on low speed until combined and no dry flour remains. Don't over-mix!Fold in the cranberries. Fill the muffin cups all the way to the top. I like to use a jumbo 4oz. cookie scoop to get equal portions.
Bake for 5 minutes at 425℉ and then reduce the baking temperature to 350℉ (do not open the oven) for another 12-14 minutes. This may vary with different ovens. They are done if a toothpick inserted in the middle comes out clean. *If overbaked they will be drier. So pay attention and take note of the time that works with your oven. While muffins are baking make your icing by mixing the powdered sugar, orange juice, and almond/vanilla extract in a small bowl.
Remove the muffins from the pan and cool on a wire cooling rack. Cool at least 15 minutes before adding icing. If they are too warm your icing will melt off and be thin.