I would say the answer is para
which means the gift is FOR Juan
In Spanish "my head hurts" is "me duele mi cabeza"
A mercadillo is a street market so you can buy all kinds of things there. So I would say:
At a mercadillo you can buy clothing, Spanish street foods, and meal ingredients such as spices, fruits, and vegetables. A mercadillo refers to a traditional market that is usually held on the weekends that’s in a commonly spotted area with Spanish/ Hispanic/Latin culture.
Hope this helps!
Yo te amo means I love you