/* VENEIVA Product Page – shield (outside the "vnpd" layer on purpose).
   Rolls every theme / WooCommerce style on the product page back to the design in the "vnpd" layer
   (all: revert-layer), so the page looks the same whatever theme is active.
   Greenshift block settings (.gsbp-… classes) are printed after this file with the same strength, so they win. */
.vnpd-vpb, .vnpd-vpp, .vnpd-vpb :where(*), .vnpd-vpp :where(*) { all: revert-layer; }

/* Parts printed by the plugin (cards + button, sticky bar, reviews) are not edited in Greenshift: a stronger
   shield, so WooCommerce rules such as ".woocommerce div.product form.cart .button" cannot reach them. */
.vnpd-vpb-form.vnpd-vpb-form.vnpd-vpb-form.vnpd-vpb-form.vnpd-vpb-form.vnpd-vpb-form :where(*) { all: revert-layer; }
.vnpd-vpb-form.vnpd-vpb-form.vnpd-vpb-form.vnpd-vpb-form.vnpd-vpb-form.vnpd-vpb-form { all: revert-layer; }
.vnpd-vp-sticky.vnpd-vp-sticky.vnpd-vp-sticky.vnpd-vp-sticky.vnpd-vp-sticky.vnpd-vp-sticky :where(*) { all: revert-layer; }
.vnpd-vp-sticky.vnpd-vp-sticky.vnpd-vp-sticky.vnpd-vp-sticky.vnpd-vp-sticky.vnpd-vp-sticky { all: revert-layer; }
[data-vnpd-reviews][data-vnpd-reviews][data-vnpd-reviews][data-vnpd-reviews][data-vnpd-reviews][data-vnpd-reviews] :where(*) { all: revert-layer; }

/* WooCommerce sets "height: auto; max-width: 100%" on every image of a product page (.woocommerce-page img). */
.vnpd-vpb img { height: revert-layer; max-width: revert-layer; }
.vnpd-vpp img { height: revert-layer; max-width: revert-layer; }

/* Block themes add a margin to full-width blocks (stronger than the shield above). */
.vnpd-vpb.alignfull { margin-block: 0px; }
.vnpd-vpp.alignfull { margin-block: 0px; }


/* 1.6.0 – Synced patterns (landing pages): Greenshift prints empty <style> tags between patterns, which breaks the
   "section + section" spacing rules of the design. Same rules, allowing up to 6 other elements in between
   (style tags, the hidden section). Inside the design layer, so Greenshift block settings still win. */
@layer vnpd {
@media (min-width: 900.02px) {
  .vnpd-vs.vnpd-vs-steps + :not(.vnpd-vs:not(.vnpd-hide)) + .vnpd-vs.vnpd-alt,
  .vnpd-vs.vnpd-vs-steps + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + .vnpd-vs.vnpd-alt,
  .vnpd-vs.vnpd-vs-steps + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + .vnpd-vs.vnpd-alt,
  .vnpd-vs.vnpd-vs-steps + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + .vnpd-vs.vnpd-alt,
  .vnpd-vs.vnpd-vs-steps + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + .vnpd-vs.vnpd-alt,
  .vnpd-vs.vnpd-vs-steps + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + .vnpd-vs.vnpd-alt { margin-top: 0; }
}
@media (min-width: 900.02px) {
  .vnpd-vs.vnpd-alt + :not(.vnpd-vs:not(.vnpd-hide)) + .vnpd-vs.vnpd-vs-steps,
  .vnpd-vs.vnpd-alt + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + .vnpd-vs.vnpd-vs-steps,
  .vnpd-vs.vnpd-alt + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + .vnpd-vs.vnpd-vs-steps,
  .vnpd-vs.vnpd-alt + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + .vnpd-vs.vnpd-vs-steps,
  .vnpd-vs.vnpd-alt + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + .vnpd-vs.vnpd-vs-steps,
  .vnpd-vs.vnpd-alt + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + .vnpd-vs.vnpd-vs-steps { margin-top: -28px; }
}
@media (max-width: 900px) {
  .vnpd-vs.vnpd-vs-steps + :not(.vnpd-vs:not(.vnpd-hide)) + .vnpd-vs.vnpd-alt,
  .vnpd-vs.vnpd-vs-steps + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + .vnpd-vs.vnpd-alt,
  .vnpd-vs.vnpd-vs-steps + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + .vnpd-vs.vnpd-alt,
  .vnpd-vs.vnpd-vs-steps + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + .vnpd-vs.vnpd-alt,
  .vnpd-vs.vnpd-vs-steps + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + .vnpd-vs.vnpd-alt,
  .vnpd-vs.vnpd-vs-steps + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + :not(.vnpd-vs:not(.vnpd-hide)) + .vnpd-vs.vnpd-alt { margin-top: 0; }
}
}

/* 1.9.0 – Offer cards with the price of one unit ("€22,49 each"). In the design layer, so Greenshift still wins. */
@layer vnpd {
  .vnpd-vpb-oprice.vnpd-each-on .vnpd-now { white-space: nowrap; }
  .vnpd-vpb-oprice .vnpd-each { font-size: .7em; font-weight: 500; letter-spacing: 0; }
}

/* 1.13.0 – Landing page pieces copied to another page without the section (badge, seal, benefits, guarantee, review, FAQ):
   the theme cannot restyle what is inside them. The piece itself keeps the page's width and spacing (theme layout), only
   its look is rolled back. Same strength as the line at the top, so Greenshift block settings (printed later) still win. */
:where(.vnlp-badge, .vnlp-seal, .vnlp-ben, .vnlp-guar, .vnlp-rev, .vnlp-faq):not(.vnlp *) :where(*) { all: revert-layer; }
:where(.vnlp-badge, .vnlp-seal, .vnlp-ben, .vnlp-guar, .vnlp-rev, .vnlp-faq):not(.vnlp *) {
  display: revert-layer; gap: revert-layer; align-items: revert-layer; width: revert-layer; height: revert-layer;
  padding: revert-layer; border: revert-layer; border-radius: revert-layer; background: revert-layer; list-style: revert-layer;
  font: revert-layer; letter-spacing: revert-layer; text-transform: revert-layer; color: revert-layer; box-sizing: revert-layer;
}
/* WooCommerce ".woocommerce img { height: auto }" would stretch the review photo on product pages. */
.vnlp-rev:not(.vnlp *) img { height: revert-layer; max-width: revert-layer; }
