In Germany shops are allowed to open Mo-Fr from the early morning (sorry, don't know when...) up to 20.00 and on Sa up to 16.00.
There are some exceptions for e.g. pharmacy shops, traveller support at airports, gas stations, etc.
So it should be possible to get souveniers at airports, train stations and some other places.