We use `getBoundingClientRect` which includes border and padding. We need to manually subtract those.