I thought I'd posted this so apologies if it appears twice!
I use the power of credit cards and buy something online from a shop near to them. Then delivery is cheap, if not free, and the local shops benefit. You can often choose the delivery date too. There may be a transaction fee from your bank, although some credit cards don't charge them, but it's still a fraction of the cost of postage. Some shops will gift wrap too, although she's a bit young for that, and any queries can be sorted out by email. Not a big fan of Amazon itself, due to the tax avoidance issues, but I agree that gift lists, packaging and international delivery are excellent. Some UK shops also deliver abroad for only slightly higher postage rates. One of my AC orders online from one UK department store and gets delivery 'down under' for UK postage rates. It's worth checking them out. Still, best suggestion here, if you can, is to go to see them.