“For lunch” usually refers to WHAT you ate or WHERE you ate: I had a hamburger for lunch. Let’s go to the new restaurant for lunch.
“At lunch” usually refers to something that happened WHEN you were having lunch: At lunch, she told me that she is quitting. I got a headache a lunch. It can refer to what you at WHEN having lunch: I had a hamburger at lunch.