Par défaut, width règle la largeur
du contenu de la boîte, c'est-à-dire
que le padding et la bordure ne sont pas comptés.
box-sizing:border-box !
Pour compter le padding et la bordure dans la largeur,
il faut changer le « mode de calcul » des dimensions en
précisant box-sizing:border-box. (Regarder le code !)