Selon le Centre national de ressources textuelles et lexicales, "avoir un (le) béguin pour quelqu'un" signifie "Éprouver une toquade, un caprice amoureux, vif quoique passager".
Cette expression est apparue en 1778. Elle trouve son origine dans le verbe embéguiner qui signifie "se mettre quelque chose dans la tête, se coiffer de quelque chose".
Avoir le béguin pour quelqu'un a donc un rapport avec la tête.
Le dictionnaire m'apprend qu'il existe une autre définition au terme "béguin", qui date, celle-ci de 1387. "Sorte de coiffe très collante que portaient les béguines et qui s'attachait sous le menton à l'aide de deux brides."
Un béguin est donc, à l'origine, une coiffe qui a symbolisé, quatre cents ans plus tard, le fait de se mettre quelque chose en tête, qui est devenu, se mettre quelqu'un en tête, qui s'est finalement transformé en idée d'élan amoureux.
Et ces béguines qui portaient le béguin, qui sont-elles ?
Les béguines vivaient dans des béguinages qui sont des communautés de femmes et d'hommes, célibataires ou veufs, qui souhaitaient vivre de manière pieuse tout évitant de prononcer des voeux, comme les moines et moniales.
C'était un moyen astucieux d'éviter un mariage imposé tout en gardant son indépendance. En effet, béguines et béguards étaient libres de sortir de leur communauté, contrairement aux moines et moniales.
Les béguines soignaient les malades, réalisaient des travaux de tissage... et priaient. (Il fallait bien justifier l'indépendance.)
Ces institutions pieuses sont nées à Liège en Belgique à l'initiative du chanoine Lambert Begh ou Le Bègue (mort en 1177). Elles ont essaimé en Allemagne et en France. Au début du XIVe siècle, l'Europe comptait environ 200 000 béguines et béguards.
Sources :
https://www.cnrtl.fr/definition/b%C3%A9guin
https://www.herodote.net/beguinage_beguines_begards-mot-552.php