Just 58 mi/94 km south of Frankfurt and set among lovely tree-covered hills along the Neckar River, Heidelberg is one of Germany's most romantic cities.