In a large mixing bowl, combine the semolina and flour. Add the butter and oil, then mix gently until the ingredients come together into a soft cookie dough. Do not overmix , just combine until incorporated.
Cover the bowl with plastic wrap and let the dough rest for at least 2 hours, or preferably overnight, to develop flavor and texture.
Once the dough has rested, add the sweetened condensed milk and rose water. Knead lightly until the dough is smooth and well combined.
Date filling: In a medium bowl, mix the date paste with soft butter and a pinch of cinnamon or cardamom. Knead by hand until the paste becomes soft and smooth.
Pistachio filling: In another bowl, combine the crushed pistachios with sugar syrup and rose water. Stir with a spoon until the mixture holds together.
Walnut filling: In a separate bowl, mix the crushed walnuts with sugar syrup, rose water, and a pinch of cinnamon. Stir until well combined.
Take a small piece of dough and roll it into a ball. Use your finger to make a small hollow in the center, then place about 1 tablespoon of your chosen filling inside. Seal the dough carefully, rolling it again into a smooth ball to enclose the filling completely.
Place the filled dough ball into a ma’amoul mold (cookie press). Press gently, then flip the mold over and tap the edge to release the shaped cookie. If you don’t have a mold, you can simply shape the top with a fork to create a traditional design.
Arrange the cookies on a baking tray lined with parchment paper. Bake in a preheated oven at 220°C (425°F) for about 7–10 minutes, or until the cookies turn a light golden color.
Remove the cookies from the oven and immediately dust them with powdered sugar while still warm, so the sugar adheres nicely. Allow the cookies to cool completely on a wire rack before serving.