Thank you for the URL. The issue here is a general idea of stacking content related to child and root element. From that URL, let's apply it on your content:
Shop button, and header
Do everything better are children of the same section, so stacking of those elements is completely resolved within that section. This means, the CSS for shop button will only work in relation to it's sibling element header. Once stacking and rendering within that section is completed, the whole section with that shop button element is passed for stacking in the root element with respect to its sibling's section. This issue happens because the lowest one down at the same hierarchy level appears on top. It's like by default since sections are siblings, section 4 will be on top of section 3 which will be on top of section 2 that is on top of section 1.
So, if you want that button to be on top of all other content, we have the following option:
1.) Add the button element at the last section of the page.
Without any z-index value, elements stack in the order that they appear in the DOM (the lowest one down at the same hierarchy level appears on top). Elements with non-static positioning will always appear on top of elements with default static positioning. So it is like, the last section is on top of the previous section.
2.) Add the button using Convertplus infobar: See sample here: https://www.convertplug.com/plus/demos/info-bar-bottom/1. It will be on top of everything including footer.
To understand better please check the following:
Hope this helps.