This chart is very helpful for remembering how adjective endings change based on accusative or dative case and also whether they are preceded by an article (and whether that article is definite or indefinite)
http://www.nthuleen.com/teach/grammar/adjektivendungenexpl.htm Try looking at the flow chart on the above website-it is really clear on the "en" rule for adjectives. Hope it helps.
There are a couple of prepositions which take a certain case depending on the context and ''in'' is one of them. You use the dative case when there isn't a movement in the sentence of if there is a movement within a certain place, and the accusative case when there is movement from one place to another. This sentence says that they are in a restaurant, not moving to another place. So you use the dative case.
I'm fluent in English but not a native, and got marked wrong for using "huge" instead of "big". I actually did it twice because it just comes naturally for me to use huge instead of big. But my question is: is "groß" really that much smaller than "huge"? I checked from Dict.cc and it says huge is "sehr groß" (and many, many others) but for some reason I just can't wrap my head around it, for me "groß" alone sounds like such a huge word that it messes up with me :D