/*
 * ------------------------------------------------------------
 * IMPORTANT: The contents of this file are auto-generated.
 *
 * This file may be updated by the Shopify admin theme editor
 * or related systems. Please exercise caution as any changes
 * made to this file may be overwritten.
 * ------------------------------------------------------------
 */
{
  "sections": {
    "main": {
      "type": "main-product",
      "blocks": {
        "vendor": {
          "type": "text",
          "settings": {
            "text": "<strong>{{ product.vendor }}</strong>",
            "text_style": "uppercase"
          }
        },
        "title": {
          "type": "title",
          "settings": {}
        },
        "custom_liquid_x8gxRf": {
          "type": "custom_liquid",
          "name": "Reseller, Netto & Standardpreis (benutzerdef. Liquid)",
          "settings": {
            "custom_liquid": "{%- comment -%}Mehrsprachige Labels{%- endcomment -%}\n{%- assign discounted_price_label = 'products.product.discounted_price' | t -%}\n{%- assign net_price_label = 'products.product.net_price' | t -%}\n{%- assign tax_included_label = 'products.product.tax_included' | t -%}\n\n{% if customer and customer.tags contains 'Reseller' %}\n  \n  {%- comment -%}Prüfe, zu welcher Reseller-Kollektion das Produkt gehört{%- endcomment -%}\n  {%- assign reseller_discount = 0 -%}\n  {%- assign is_reseller_product = false -%}\n  \n  {% for collection in product.collections %}\n    {% if collection.title == 'Reseller1' %}\n      {%- comment -%}Reseller1 Kollektion - 20% Rabatt{%- endcomment -%}\n      {%- assign reseller_discount = 0.20 -%}\n      {%- assign is_reseller_product = true -%}\n      {% break %}\n    {% elsif collection.title == 'Reseller2' %}\n      {%- comment -%}Reseller2 Kollektion - 15% Rabatt{%- endcomment -%}\n      {%- assign reseller_discount = 0.15 -%}\n      {%- assign is_reseller_product = true -%}\n      {% break %}\n    {% endif %}\n  {% endfor %}\n  \n  {% if is_reseller_product %}\n    <style>\n      /* Verstecke Standard-Preis nur für Reseller-Produkte */\n      .price__container,\n      .product__info-container .price:not(#reseller-price-gross),\n      .price--large:not(#reseller-price-gross),\n      [id*=\"price-template\"]:not(.reseller-pricing) {\n        display: none !important;\n      }\n    </style>\n\n    {%- comment -%}Länderspezifische MwSt.-Sätze{%- endcomment -%}\n    {% assign selected_country = localization.country.iso_code %}\n\n    {% if selected_country == 'DE' %}\n      {% assign tax_rate = 1.19 %}\n    {% elsif selected_country == 'AT' %}\n      {% assign tax_rate = 1.20 %}\n    {% elsif selected_country == 'FR' %}\n      {% assign tax_rate = 1.20 %}\n    {% elsif selected_country == 'BE' %}\n      {% assign tax_rate = 1.21 %}\n    {% elsif selected_country == 'NL' %}\n      {% assign tax_rate = 1.21 %}\n    {% elsif selected_country == 'SE' %}\n      {% assign tax_rate = 1.25 %}\n    {% elsif selected_country == 'DK' %}\n      {% assign tax_rate = 1.25 %}\n    {% elsif selected_country == 'PT' %}\n      {% assign tax_rate = 1.23 %}\n    {% elsif selected_country == 'LU' %}\n      {% assign tax_rate = 1.17 %}\n    {% elsif selected_country == 'MC' %}\n      {% assign tax_rate = 1.20 %}\n    {% elsif selected_country == 'ES' %}\n      {% assign tax_rate = 1.21 %}\n    {% elsif selected_country == 'FI' %}\n      {% assign tax_rate = 1.24 %}\n    {% elsif selected_country == 'IE' %}\n      {% assign tax_rate = 1.23 %}\n    {% elsif selected_country == 'IT' %}\n      {% assign tax_rate = 1.22 %}\n    {% elsif selected_country == 'LT' %}\n      {% assign tax_rate = 1.21 %}\n    {% elsif selected_country == 'EE' %}\n      {% assign tax_rate = 1.22 %}\n    {% elsif selected_country == 'HR' %}\n      {% assign tax_rate = 1.25 %}\n    {% elsif selected_country == 'LV' %}\n      {% assign tax_rate = 1.21 %}\n    {% elsif selected_country == 'SK' %}\n      {% assign tax_rate = 1.20 %}\n    {% elsif selected_country == 'SI' %}\n      {% assign tax_rate = 1.22 %}\n    {% else %}\n      {% assign tax_rate = 1.20 %}\n    {% endif %}\n    \n    {%- comment -%}Berechnung: Erst Rabatt abziehen, dann MwSt. berechnen{%- endcomment -%}\n    {%- assign current_variant = product.selected_or_first_available_variant -%}\n    {%- assign discount_multiplier = 1 | minus: reseller_discount -%}\n    {%- assign reseller_price_gross = current_variant.price | times: discount_multiplier -%}\n    {%- assign reseller_price_net = reseller_price_gross | divided_by: tax_rate -%}\n    \n    <div class=\"reseller-pricing\">\n      <span class=\"reseller-label\">{{ discounted_price_label }}</span>\n      <span class=\"price\" id=\"reseller-price-gross\" data-reseller-discount=\"{{ reseller_discount }}\">{{ reseller_price_gross | money }}</span>\n      <span class=\"original-price\"><s>{{ current_variant.price | money }}</s></span>\n      <br>\n      <span id=\"reseller-net-price\" style=\"color: red; font-size: 0.9em;\" data-tax-rate=\"{{ tax_rate }}\" data-currency=\"{{ cart.currency.symbol }}\" data-net-label=\"{{ net_price_label }}\">\n        {{ cart.currency.symbol }}{{ reseller_price_net | money_without_currency }} ({{ net_price_label }})\n      </span>\n    </div>\n    \n    <script>\n    (function() {\n      const netPriceElement = document.getElementById('reseller-net-price');\n      const grossPriceElement = document.getElementById('reseller-price-gross');\n      const taxRate = parseFloat(netPriceElement.dataset.taxRate);\n      const resellerDiscount = parseFloat(grossPriceElement.dataset.resellerDiscount);\n      const currencySymbol = netPriceElement.dataset.currency;\n      const netPriceLabel = netPriceElement.dataset.netLabel;\n      const productVariants = {{ product.variants | json }};\n      \n      function formatMoney(cents) {\n        const amount = cents / 100;\n        const formattedAmount = new Intl.NumberFormat('{{ localization.language.iso_code }}', {\n          minimumFractionDigits: 2,\n          maximumFractionDigits: 2\n        }).format(amount);\n        return currencySymbol + formattedAmount;\n      }\n      \n      function updatePrices(variantId) {\n        const variant = productVariants.find(v => v.id == variantId);\n        if (variant && variant.price) {\n          const resellerPriceGross = variant.price * (1 - resellerDiscount);\n          const resellerPriceNet = resellerPriceGross / taxRate;\n          \n          grossPriceElement.textContent = formatMoney(resellerPriceGross);\n          netPriceElement.innerHTML = formatMoney(resellerPriceNet) + ' (' + netPriceLabel + ')';\n          \n          const originalPriceElement = document.querySelector('.original-price s');\n          if (originalPriceElement) {\n            originalPriceElement.textContent = formatMoney(variant.price);\n          }\n        }\n      }\n      \n      const urlParams = new URLSearchParams(window.location.search);\n      const variantParam = urlParams.get('variant');\n      if (variantParam) {\n        updatePrices(variantParam);\n      }\n      \n      let lastUrl = location.href;\n      new MutationObserver(() => {\n        const url = location.href;\n        if (url !== lastUrl) {\n          lastUrl = url;\n          const newParams = new URLSearchParams(window.location.search);\n          const newVariant = newParams.get('variant');\n          if (newVariant) {\n            updatePrices(newVariant);\n          }\n        }\n      }).observe(document, {subtree: true, childList: true});\n      \n      const productForm = document.querySelector('form[action*=\"/cart/add\"]');\n      if (productForm) {\n        const variantInput = productForm.querySelector('input[name=\"id\"], select[name=\"id\"]');\n        if (variantInput) {\n          variantInput.addEventListener('change', function() {\n            updatePrices(this.value);\n          });\n        }\n        \n        const variantRadios = productForm.querySelectorAll('input[name=\"id\"][type=\"radio\"]');\n        variantRadios.forEach(radio => {\n          radio.addEventListener('change', function() {\n            updatePrices(this.value);\n          });\n        });\n      }\n      \n      const variantSelects = document.querySelector('variant-selects');\n      if (variantSelects) {\n        const observer = new MutationObserver(function(mutations) {\n          const currentVariantId = variantSelects.querySelector('input[name=\"id\"]')?.value;\n          if (currentVariantId) {\n            updatePrices(currentVariantId);\n          }\n        });\n        observer.observe(variantSelects, { attributes: true, childList: true, subtree: true });\n      }\n    })();\n    </script>\n  {% else %}\n    {%- comment -%}Reseller, aber Produkt NICHT in Reseller-Kollektion - zeige normalen Preis{%- endcomment -%}\n    {%- assign current_variant = product.selected_or_first_available_variant -%}\n    \n    <div class=\"standard-pricing\" id=\"standard-price-display\">\n      <span class=\"price price--large\" id=\"standard-price\">{{ current_variant.price | money }}</span>\n      {% if current_variant.compare_at_price > current_variant.price %}\n        <span class=\"price-item price-item--regular\"><s>{{ current_variant.compare_at_price | money }}</s></span>\n      {% endif %}\n      <br>\n      <small style=\"font-size: 0.85em; color: #6b7280;\">{{ tax_included_label }}</small>\n    </div>\n    \n    <script>\n    (function() {\n      const standardPriceElement = document.getElementById('standard-price');\n      const productVariants = {{ product.variants | json }};\n      const currencySymbol = '{{ cart.currency.symbol }}';\n      \n      function formatMoney(cents) {\n        const amount = cents / 100;\n        const formattedAmount = new Intl.NumberFormat('{{ localization.language.iso_code }}', {\n          minimumFractionDigits: 2,\n          maximumFractionDigits: 2\n        }).format(amount);\n        return currencySymbol + formattedAmount;\n      }\n      \n      function updateStandardPrice(variantId) {\n        const variant = productVariants.find(v => v.id == variantId);\n        if (variant && variant.price) {\n          standardPriceElement.textContent = formatMoney(variant.price);\n        }\n      }\n      \n      const urlParams = new URLSearchParams(window.location.search);\n      const variantParam = urlParams.get('variant');\n      if (variantParam) {\n        updateStandardPrice(variantParam);\n      }\n      \n      let lastUrl = location.href;\n      new MutationObserver(() => {\n        const url = location.href;\n        if (url !== lastUrl) {\n          lastUrl = url;\n          const newParams = new URLSearchParams(window.location.search);\n          const newVariant = newParams.get('variant');\n          if (newVariant) {\n            updateStandardPrice(newVariant);\n          }\n        }\n      }).observe(document, {subtree: true, childList: true});\n      \n      const productForm = document.querySelector('form[action*=\"/cart/add\"]');\n      if (productForm) {\n        const variantInput = productForm.querySelector('input[name=\"id\"], select[name=\"id\"]');\n        if (variantInput) {\n          variantInput.addEventListener('change', function() {\n            updateStandardPrice(this.value);\n          });\n        }\n        \n        const variantRadios = productForm.querySelectorAll('input[name=\"id\"][type=\"radio\"]');\n        variantRadios.forEach(radio => {\n          radio.addEventListener('change', function() {\n            updateStandardPrice(this.value);\n          });\n        });\n      }\n      \n      const variantSelects = document.querySelector('variant-selects');\n      if (variantSelects) {\n        const observer = new MutationObserver(function(mutations) {\n          const currentVariantId = variantSelects.querySelector('input[name=\"id\"]')?.value;\n          if (currentVariantId) {\n            updateStandardPrice(currentVariantId);\n          }\n        });\n        observer.observe(variantSelects, { attributes: true, childList: true, subtree: true });\n      }\n    })();\n    </script>\n  {% endif %}\n  \n{% else %}\n  {%- comment -%}Normaler Preis für Nicht-Reseller (Endkunden){%- endcomment -%}\n  {%- assign current_variant = product.selected_or_first_available_variant -%}\n  \n  <div class=\"standard-pricing\" id=\"standard-price-display\">\n    <span class=\"price price--large\" id=\"standard-price\">{{ current_variant.price | money }}</span>\n    {% if current_variant.compare_at_price > current_variant.price %}\n      <span class=\"price-item price-item--regular\"><s>{{ current_variant.compare_at_price | money }}</s></span>\n    {% endif %}\n    <br>\n    <small style=\"font-size: 0.85em; color: #6b7280;\">{{ tax_included_label }}</small>\n  </div>\n  \n  <script>\n  (function() {\n    const standardPriceElement = document.getElementById('standard-price');\n    const productVariants = {{ product.variants | json }};\n    const currencySymbol = '{{ cart.currency.symbol }}';\n    \n    function formatMoney(cents) {\n      const amount = cents / 100;\n      const formattedAmount = new Intl.NumberFormat('{{ localization.language.iso_code }}', {\n        minimumFractionDigits: 2,\n        maximumFractionDigits: 2\n      }).format(amount);\n      return currencySymbol + formattedAmount;\n    }\n    \n    function updateStandardPrice(variantId) {\n      const variant = productVariants.find(v => v.id == variantId);\n      if (variant && variant.price) {\n        standardPriceElement.textContent = formatMoney(variant.price);\n      }\n    }\n    \n    const urlParams = new URLSearchParams(window.location.search);\n    const variantParam = urlParams.get('variant');\n    if (variantParam) {\n      updateStandardPrice(variantParam);\n    }\n    \n    let lastUrl = location.href;\n    new MutationObserver(() => {\n      const url = location.href;\n      if (url !== lastUrl) {\n        lastUrl = url;\n        const newParams = new URLSearchParams(window.location.search);\n        const newVariant = newParams.get('variant');\n        if (newVariant) {\n          updateStandardPrice(newVariant);\n        }\n      }\n    }).observe(document, {subtree: true, childList: true});\n    \n    const productForm = document.querySelector('form[action*=\"/cart/add\"]');\n    if (productForm) {\n      const variantInput = productForm.querySelector('input[name=\"id\"], select[name=\"id\"]');\n      if (variantInput) {\n        variantInput.addEventListener('change', function() {\n          updateStandardPrice(this.value);\n        });\n      }\n      \n      const variantRadios = productForm.querySelectorAll('input[name=\"id\"][type=\"radio\"]');\n      variantRadios.forEach(radio => {\n        radio.addEventListener('change', function() {\n          updateStandardPrice(this.value);\n        });\n      });\n    }\n    \n    const variantSelects = document.querySelector('variant-selects');\n    if (variantSelects) {\n      const observer = new MutationObserver(function(mutations) {\n        const currentVariantId = variantSelects.querySelector('input[name=\"id\"]')?.value;\n        if (currentVariantId) {\n          updateStandardPrice(currentVariantId);\n        }\n      });\n      observer.observe(variantSelects, { attributes: true, childList: true, subtree: true });\n    }\n  })();\n  </script>\n{% endif %}"
          }
        },
        "price": {
          "type": "price",
          "disabled": true,
          "settings": {}
        },
        "sku_3KtxUP": {
          "type": "sku",
          "settings": {
            "text_style": "body"
          }
        },
        "inventory_NHFC7A": {
          "type": "inventory",
          "settings": {
            "text_style": "body",
            "inventory_threshold": 0,
            "show_inventory_quantity": false
          }
        },
        "variant_picker": {
          "type": "variant_picker",
          "settings": {
            "picker_type": "button",
            "swatch_shape": "square"
          }
        },
        "quantity_selector": {
          "type": "quantity_selector",
          "settings": {}
        },
        "custom_liquid_nGApDG": {
          "type": "custom_liquid",
          "name": "Mengenrabatt (benutzerdef. Liquid)",
          "settings": {
            "custom_liquid": "{% comment %}\n  Mengenrabatt-Hinweis basierend auf VE-Tag\n  Wird nur für Nicht-Reseller-Kunden angezeigt\n{% endcomment %}\n\n{% if customer.tags contains 'Reseller' %}\n  {% comment %} Nichts anzeigen für Reseller {% endcomment %}\n{% else %}\n  {% for tag in product.tags %}\n    {% if tag contains 'VE' %}\n      {% assign ve_number = tag | remove: 'VE' | times: 1 %}\n      {% assign savings = product.price | times: 0.05 | times: ve_number %}\n      {% assign text_buy = 'products.product.quantity_discount.buy' | t %}\n      {% assign text_save = 'products.product.quantity_discount.save' | t %}\n      <div class=\"quantity-discount-message\" style=\"margin-top: 10px; padding: 10px; background-color: #f0f8ff; border-left: 3px solid #4CAF50;\">\n        <p style=\"margin: 0; font-weight: 500;\">\n          {{ text_buy }} {{ ve_number }} {{ text_save }} {{ savings | money_without_currency }} €\n        </p>\n      </div>\n      {% break %}\n    {% endif %}\n  {% endfor %}\n{% endif %}"
          }
        },
        "ecomsend_restock_product_restore_email_p4VWXR": {
          "type": "shopify://apps/sw-back-in-stock/blocks/product-restore-email/b190bced-3b7b-47da-a05f-6ea4821c3a77",
          "settings": {}
        },
        "buy_buttons": {
          "type": "buy_buttons",
          "settings": {
            "show_dynamic_checkout": false,
            "show_gift_card_recipient": true
          }
        },
        "swishlist_simple_wishlist_wishlist_product_button_nHwX8d": {
          "type": "shopify://apps/swishlist-simple-wishlist/blocks/wishlist_product_button/bfcb80f2-f00d-42ae-909a-9f00c726327b",
          "settings": {
            "custom_liquid": ""
          }
        },
        "description": {
          "type": "description",
          "settings": {}
        },
        "share": {
          "type": "share",
          "settings": {
            "share_label": "Partager"
          }
        },
        "rating_aCUCbP": {
          "type": "rating",
          "settings": {}
        },
        "complementary_hh4zkU": {
          "type": "complementary",
          "settings": {
            "block_heading": "S’associe bien avec",
            "make_collapsible_row": true,
            "icon": "price_tag",
            "product_list_limit": 10,
            "products_per_page": 3,
            "pagination_style": "counter",
            "image_ratio": "square",
            "enable_quick_add": false
          }
        },
        "yanet_volume_discount_promo_table_7BhReA": {
          "type": "shopify://apps/yanet-volume-discount/blocks/promo-table/bb8aa9c5-8095-4b62-b73a-92eaddef81d1",
          "disabled": true,
          "settings": {}
        },
        "yanet_volume_discount_bundle_widget_JGNF3f": {
          "type": "shopify://apps/yanet-volume-discount/blocks/bundle-widget/bb8aa9c5-8095-4b62-b73a-92eaddef81d1",
          "disabled": true,
          "settings": {}
        },
        "yanet_volume_discount_related_bundle_widget_LPXdyy": {
          "type": "shopify://apps/yanet-volume-discount/blocks/related-bundle-widget/bb8aa9c5-8095-4b62-b73a-92eaddef81d1",
          "disabled": true,
          "settings": {}
        },
        "swishlist_simple_wishlist_wishlist_details_button_xHkcUk": {
          "type": "shopify://apps/swishlist-simple-wishlist/blocks/wishlist_details_button/bfcb80f2-f00d-42ae-909a-9f00c726327b",
          "settings": {
            "custom_liquid": ""
          }
        }
      },
      "block_order": [
        "vendor",
        "title",
        "custom_liquid_x8gxRf",
        "price",
        "sku_3KtxUP",
        "inventory_NHFC7A",
        "variant_picker",
        "quantity_selector",
        "custom_liquid_nGApDG",
        "ecomsend_restock_product_restore_email_p4VWXR",
        "buy_buttons",
        "swishlist_simple_wishlist_wishlist_product_button_nHwX8d",
        "description",
        "share",
        "rating_aCUCbP",
        "complementary_hh4zkU",
        "yanet_volume_discount_promo_table_7BhReA",
        "yanet_volume_discount_bundle_widget_JGNF3f",
        "yanet_volume_discount_related_bundle_widget_LPXdyy",
        "swishlist_simple_wishlist_wishlist_details_button_xHkcUk"
      ],
      "settings": {
        "enable_sticky_info": true,
        "color_scheme": "scheme-1",
        "media_size": "small",
        "constrain_to_viewport": true,
        "media_fit": "contain",
        "gallery_layout": "thumbnail_slider",
        "mobile_thumbnails": "hide",
        "media_position": "left",
        "image_zoom": "hover",
        "hide_variants": false,
        "enable_video_looping": false,
        "padding_top": 12,
        "padding_bottom": 0
      }
    },
    "related-products": {
      "type": "related-products",
      "settings": {
        "heading": "Vous pouvez aussi aimer",
        "heading_size": "h2",
        "products_to_show": 4,
        "columns_desktop": 4,
        "columns_mobile": "2",
        "color_scheme": "scheme-1",
        "image_ratio": "adapt",
        "image_shape": "default",
        "show_secondary_image": false,
        "show_vendor": false,
        "show_rating": false,
        "padding_top": 36,
        "padding_bottom": 68
      }
    },
    "17447283967be0a644": {
      "type": "apps",
      "blocks": {
        "doran_product_reviews_home_showcase_widget_HVabwB": {
          "type": "shopify://apps/doran-product-reviews/blocks/home-showcase-widget/ca90c3ee-bc39-4c25-90cd-fdf0519c6d11",
          "disabled": true,
          "settings": {
            "topPadding": 36,
            "bottomPadding": 36,
            "is_use_shopify_font": false,
            "shopify_font": "sans_serif_n4"
          }
        },
        "doran_product_reviews_question_widget_JcYCGy": {
          "type": "shopify://apps/doran-product-reviews/blocks/question-widget/ca90c3ee-bc39-4c25-90cd-fdf0519c6d11",
          "settings": {
            "topPadding": 36,
            "bottomPadding": 36,
            "is_use_shopify_font": false,
            "shopify_font": "sans_serif_n4"
          }
        },
        "doran_product_reviews_product_widget_Ww7qeM": {
          "type": "shopify://apps/doran-product-reviews/blocks/product-widget/ca90c3ee-bc39-4c25-90cd-fdf0519c6d11",
          "settings": {
            "topPadding": 36,
            "bottomPadding": 36,
            "is_hide_if_no_reviews": false,
            "is_use_shopify_font": false,
            "shopify_font": "sans_serif_n4"
          }
        }
      },
      "block_order": [
        "doran_product_reviews_home_showcase_widget_HVabwB",
        "doran_product_reviews_question_widget_JcYCGy",
        "doran_product_reviews_product_widget_Ww7qeM"
      ],
      "settings": {
        "include_margins": true
      }
    }
  },
  "order": [
    "main",
    "related-products",
    "17447283967be0a644"
  ]
}
