。
How long until dinner?
Literal
Dinner-until about-how-much exist-[polite-ますか]?
まで marks the endpoint 'until dinner,' and どれくらい asks about the duration until that endpoint. ありますか uses ある for the existence of time — 'is there [how much time]?' A natural way to ask 'how long until X' in Japanese, where English has 'how long.'