The microdata rules state that it is necessary to mark the content that is visible on the page, and it cannot be applied if the content is hidden. There is the following problem: on the product page there are two headers, and depending on the width of the screen, either one or the other is displayed. The situation with the price block is similar: depending on the width, either a block with a price above the photo or below it is displayed.
Judging by the rules of Google and Schema, I cannot use microdata on hidden elements (display: none). Is it possible to resolve the issue by keeping the current way of displaying content?
Upd. Hiding / showing blocks and behavior logic implemented through CSS, js no.