Why did you not kick him out of your office? He can’t stay “for hours” without your allowing him to.
And there are sooo many ways to get a guy to stop with the “body talk”. A good loud “blah blah blah blah blah blah shut up go away blah blah blah” works VERY well.
I’m sorry your office is across from his, but please.…