If you see an offer range, say 0.01-0.25 BTC, then it gives you a deposit based on the max value. But if you only want to buy the minimum 0.01, the deposit is way too high. I think in this case the deposit should be calculated based on what is actually traded not on the maximum value.
I don’t recommend to use huge differentials in min/max amounts as the trading fee paid is according to the maximum offered, so in your case you would always be paying trading fees for 0.25 BTC even for a 0.01 BTC trade.
I think this would be great but not sure if it would be able to be achieved.
When the offer is made the maker has to set aside an amount of BTC for the max trade amount and security deposit.
When the offer is taken both security deposits should be equal so the higher amount is used.