{"product_id":"baustellenmarkierspray-trig-a-cap-extra-500-ml-netto-gelb-fluo-12-dosen-1","title":"Baustellenmarkierspray trig-a-cap extra Gelb Fluo · 12 × 500 ml","description":"\u003ch2\u003eBaustellenmarkierspray Trig-A-Cap® extra, Gelb Fluo\u003c\/h2\u003e\u003cp\u003eDas Baustellenmarkierspray Trig-A-Cap® extra in Gelb Fluo ist ideal für professionelle Markierungen auf Baustellen. Mit einer Haltbarkeit von 36 Monaten und einer Verpackungseinheit von 12 Dosen pro Karton bietet es eine langlebige und effiziente Lösung für Ihre Markierungsbedürfnisse.\u003c\/p\u003e\u003cul\u003e\n\u003cli\u003eFarbe\/Variante: Gelb Fluo\u003c\/li\u003e\n\u003cli\u003eUrsprungsland: DE\u003c\/li\u003e\n\u003cli\u003eHaltbarkeit: 36 Monate\u003c\/li\u003e\n\u003cli\u003eVerpackung: Karton\u003c\/li\u003e\n\u003cli\u003eVerpackungseinheit: 1 Karton\u003c\/li\u003e\n\u003cli\u003eStück je Verpackungseinheit: 12\u003c\/li\u003e\n\u003cli\u003eEinheit: Dosen\u003c\/li\u003e\n\u003cli\u003ePalettenmenge in Stück: 84\u003c\/li\u003e\n\u003cli\u003eGewicht VE: 6 kg\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eGefahrgut: Ja\u003c\/strong\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eTechnische Daten\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003eVolumen: 500 ml\u003c\/li\u003e\n\u003cli\u003eFarbe: Gelb Fluo\u003c\/li\u003e\n\u003cli\u003eGefahrgut: Ja\u003c\/li\u003e\n\u003c\/ul\u003e\u003cp\u003e\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0921\/8306\/9050\/files\/trig-a-cap_-_Text.pdf\" target=\"_blank\" rel=\"noopener\"\u003e📄 Produktdatenblatt als PDF herunterladen\u003c\/a\u003e\u003c\/p\u003e\n\u003c!-- BS24-STAFFEL-START --\u003e\n\u003cstyle\u003e\n.bs24-bundle-staffel { font-family: inherit; margin: 1.5rem 0 1rem; border-top: 2px solid #FF7A00; padding-top: 1.25rem; }\n.bs24-bundle-staffel h3 { font-size: 1.2rem; margin: 0 0 .35rem; color: #153156; }\n.bs24-bundle-staffel .hint { font-size: .85rem; color: #6b7280; margin: 0 0 .75rem; }\n.bs24-bundle-staffel table { width: 100%; border-collapse: collapse; font-size: .95rem; }\n.bs24-bundle-staffel thead th { background: #153156; color: #fff; font-weight: 600; padding: .5rem .75rem; text-align: left; }\n.bs24-bundle-staffel thead th:nth-child(n+2) { text-align: right; }\n.bs24-bundle-staffel tbody td { padding: .45rem .75rem; border-bottom: 1px solid #E5E5E5; }\n.bs24-bundle-staffel tbody td:nth-child(n+2) { text-align: right; font-variant-numeric: tabular-nums; }\n.bs24-bundle-staffel tbody tr.bs24-active { background: #FFF1E5; }\n.bs24-bundle-staffel tbody tr.bs24-active td { font-weight: 600; color: #153156; }\n.bs24-bundle-staffel tbody tr.bs24-active td:first-child::after { content: \"  ← Deine Menge\"; font-size: .75rem; color: #FF7A00; font-weight: 600; margin-left: .35rem; }\n.bs24-bundle-staffel .savings { display: inline-block; background: #6b7280; color: #fff; font-size: .75rem; font-weight: 600; padding: .1rem .45rem; border-radius: 99px; margin-left: .35rem; }\n.bs24-bundle-staffel .cp { background: linear-gradient(135deg, #FFF1E5 0%, #FFE0C7 100%); border: 1.5px solid #FF7A00; border-radius: 10px; padding: .85rem 1rem; margin: 1rem 0 .5rem; }\n.bs24-bundle-staffel .cp-label { font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; font-weight: 600; color: #153156; }\n.bs24-bundle-staffel .cp-main { font-size: 1.5rem; font-weight: 800; color: #153156; line-height: 1.1; margin: .2rem 0; letter-spacing: -.01em; }\n.bs24-bundle-staffel .cp-main .suffix { font-size: .95rem; font-weight: 500; }\n.bs24-bundle-staffel .cp-total { font-size: .95rem; color: #153156; font-weight: 600; }\n.bs24-bundle-staffel .cp-total strong { color: #FF7A00; }\n.bs24-bundle-staffel .cp-brutto { font-size: .8rem; color: #6b7280; margin-top: .15rem; }\n\u003c\/style\u003e\n\n\u003cdiv class=\"bs24-bundle-staffel\"\u003e\n  \u003ch3\u003eMengenrabatt fuer Bundle-Bestellungen (netto)\u003c\/h3\u003e\n  \u003cp class=\"hint\"\u003eAb bestimmten Bundle-Stueckzahlen greift Ampere-Mengenrabatt — wir geben ihn weiter.\u003c\/p\u003e\n  \u003ctable\u003e\n    \u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eMenge ab\u003c\/th\u003e\n\u003cth\u003ePreis netto \/ Bundle\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n    \u003ctbody\u003e\u003c\/tbody\u003e\n  \u003c\/table\u003e\n  \u003cdiv class=\"cp\"\u003e\n    \u003cdiv class=\"cp-label\"\u003eDein aktueller Preis (gewaehlte Menge)\u003c\/div\u003e\n    \u003cdiv class=\"cp-main\"\u003e\n\u003cspan data-bs24-bun-unit\u003e—\u003c\/span\u003e\u003cspan class=\"suffix\"\u003e \/ Bundle netto\u003c\/span\u003e\n\u003c\/div\u003e\n    \u003cdiv class=\"cp-total\"\u003e\n\u003cspan data-bs24-bun-qty\u003e1\u003c\/span\u003e Bundle = \u003cstrong data-bs24-bun-total\u003e—\u003c\/strong\u003e netto\u003c\/div\u003e\n    \u003cdiv class=\"cp-brutto\"\u003eInkl. 19 % MwSt.: \u003cspan data-bs24-bun-brutto\u003e—\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function(){\n  var DATA = {\"56382536941946\": [[1, 80.9, 80.9], [8, 65.2, 65.2], [24, 62.6, 62.6], [42, 56.5, 56.5], [84, 49.4, 49.4]]};\n  if (window.__bs24BunInit) return; window.__bs24BunInit = true;\n  var MWST = 0.19;\n  function eur(n){ return n.toLocaleString('de-DE',{minimumFractionDigits:2,maximumFractionDigits:2}) + ' €'; }\n  function currentVariantId(){\n    var m = (location.search||'').match(\/[?\u0026]variant=(\\d+)\/);\n    if (m) return m[1];\n    var inp = document.querySelector('form[action*=\"\/cart\/add\"] [name=\"id\"]');\n    if (inp \u0026\u0026 inp.value) return inp.value;\n    var keys = Object.keys(DATA);\n    return keys.length ? keys[0] : null;\n  }\n  function currentQty(){\n    var qty = document.querySelector('form[action*=\"\/cart\/add\"] [name=\"quantity\"]');\n    return qty ? Math.max(1, parseInt(qty.value)||1) : 1;\n  }\n  function pickTierIdx(qty, tiers){\n    var idx = -1;\n    for (var j=0; j\u003ctiers.length; j++) if (qty \u003e= tiers[j][0]) idx = j;\n    return idx;\n  }\n  function unitFor(tiers, qty){\n    var idx = pickTierIdx(qty, tiers);\n    if (idx \u003c 0) return tiers[0][1];\n    return tiers[idx][1];\n  }\n  function updateCartButton(totalNetto){\n    var btn = document.querySelector('form[action*=\"\/cart\/add\"] button[type=\"submit\"], form[action*=\"\/cart\/add\"] [name=\"add\"]');\n    if (!btn) return;\n    if (!btn.dataset.bs24Base) {\n      var orig = (btn.textContent || '').trim();\n      var stripped = orig.replace(\/\\s*[-–•|]?\\s*€?\\s*\\d{1,5}[.,]\\d{2}\\s*€?\\s*$\/, '').trim();\n      btn.dataset.bs24Base = stripped || orig;\n    }\n    btn.textContent = btn.dataset.bs24Base + ' – ' + eur(totalNetto);\n  }\n  function updateBruttoDisplay(bruttoUnit){\n    var formatted = eur(bruttoUnit) + ' inkl. 19% MwSt.';\n    var form = document.querySelector('form[action*=\"\/cart\/add\"]');\n    var searchArea = document;\n    if (form) {\n      searchArea = form.closest('section, article, .product, .product-info, .product__info, .product-form, [class*=\"product\"]') || form.parentNode || document;\n    }\n    var pattern = \/^\\s*\\S*\\s*\\d+[.,]\\d+\\s*€?\\s*inkl\\.\\s*\\d+\\s*%?\\s*MwSt\\.\\s*$\/i;\n    var nodes = searchArea.querySelectorAll('p, span, div, td, small, em, strong, b');\n    for (var i = 0; i \u003c nodes.length; i++) {\n      var el = nodes[i];\n      if (el.children.length \u003e 0) continue;\n      var t = (el.textContent || '').trim();\n      if (!pattern.test(t)) continue;\n      el.textContent = formatted;\n      el.dataset.bs24Brutto = '1';\n    }\n  }\n  function updateNettoDisplay(unitNetto){\n    var formatted = eur(unitNetto);\n    var form = document.querySelector('form[action*=\"\/cart\/add\"]');\n    var searchArea = document;\n    if (form) {\n      searchArea = form.closest('section, article, .product, .product-info, .product__info, .product-form, [class*=\"product\"]') || form.parentNode || document;\n    }\n    var pureNettoPattern = \/^\\s*€?\\s*\\d{1,5}[.,]\\d{2}\\s*€?\\s*$\/i;\n    var nodes = searchArea.querySelectorAll('p, span, div, h1, h2, h3, h4, b, strong, em');\n    for (var i = 0; i \u003c nodes.length; i++) {\n      var el = nodes[i];\n      if (el.children.length \u003e 0) continue;\n      if (el.closest \u0026\u0026 el.closest('.bs24-bundle-staffel')) continue;\n      var t = (el.textContent || '').trim();\n      if (!pureNettoPattern.test(t)) continue;\n      var p = el.parentElement;\n      var inBrutto = false;\n      while (p \u0026\u0026 p !== searchArea) {\n        var pt = (p.textContent || '');\n        if (pt.indexOf('inkl.') !== -1) { inBrutto = true; break; }\n        p = p.parentElement;\n      }\n      if (inBrutto) continue;\n      if (!el.dataset.bs24OrigNetto) el.dataset.bs24OrigNetto = t;\n      el.textContent = formatted;\n      el.dataset.bs24Netto = '1';\n    }\n  }\n  function render(){\n    var vid = currentVariantId();\n    var tiers = DATA[vid];\n    var container = document.querySelector('.bs24-bundle-staffel');\n    if (!container || !tiers) return;\n    var qty = currentQty();\n    var activeIdx = pickTierIdx(qty, tiers);\n    var rowsHtml = tiers.map(function(t, idx){\n      var active = idx === activeIdx ? ' class=\"bs24-active\"' : '';\n      var savings = '';\n      if (idx \u003e 0) {\n        var savePct = Math.round((1 - t[1]\/tiers[0][1]) * 100);\n        if (savePct \u003e 0) savings = ' \u003cspan class=\"savings\"\u003e-' + savePct + '%\u003c\/span\u003e';\n      }\n      return '\u003ctr'+active+'\u003e\u003ctd\u003eab '+t[0]+' Bundle\u003c\/td\u003e\u003ctd\u003e'+eur(t[1])+'\u003c\/td\u003e\u003c\/tr\u003e';\n    }).join('');\n    container.querySelector('tbody').innerHTML = rowsHtml;\n    var unit = unitFor(tiers, qty);\n    var totalNetto = unit * qty;\n    var setText = function(sel, val){ var el = container.querySelector(sel); if (el) el.textContent = String(val); };\n    setText('[data-bs24-bun-unit]', eur(unit));\n    setText('[data-bs24-bun-qty]', qty);\n    setText('[data-bs24-bun-total]', eur(totalNetto));\n    setText('[data-bs24-bun-brutto]', eur(totalNetto * (1 + MWST)));\n    \/\/ Theme-Elemente aktualisieren (analog zu BOX-50-Widget)\n    updateCartButton(totalNetto);\n    updateBruttoDisplay(unit * (1 + MWST));\n    updateNettoDisplay(unit);\n  }\n  render();\n  document.addEventListener('change', function(e){\n    var t = e.target; if (!t) return;\n    if (t.name === 'id' || t.name === 'quantity') setTimeout(render, 30);\n    else if (t.closest \u0026\u0026 t.closest('form[action*=\"\/cart\/add\"]')) setTimeout(render, 60);\n  });\n  document.addEventListener('input', function(e){\n    if (e.target \u0026\u0026 e.target.name === 'quantity') setTimeout(render, 30);\n  });\n  window.addEventListener('popstate', render);\n  var lastVid = currentVariantId(); var lastQty = currentQty();\n  setInterval(function(){\n    var v = currentVariantId(); var q = currentQty();\n    if (v !== lastVid || q !== lastQty) { lastVid = v; lastQty = q; render(); }\n  }, 600);\n})();\n\u003c\/script\u003e\n\u003c!-- BS24-STAFFEL-END --\u003e\n\n\u003c!--bs24-sdb-link--\u003e\n\u003cp style=\"background:#f5f8fb;border:1px solid #0B61CD;border-radius:8px;padding:.75rem 1rem;margin:1rem 0;font-size:.9rem\"\u003e\u003cstrong style=\"color:#0B61CD\"\u003e📄 Sicherheitsdatenblatt\u003c\/strong\u003e · \u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0921\/8306\/9050\/files\/002063-AS-DE.pdf?v=1779796688\" target=\"_blank\" rel=\"noopener\" style=\"color:#0B61CD;font-weight:600\"\u003ePDF herunterladen (002063-AS-DE)\u003c\/a\u003e · \u003ca href=\"\/pages\/sicherheitsdatenblaetter\" style=\"color:#0B61CD\"\u003ealle SDBs\u003c\/a\u003e\u003c\/p\u003e\n\u003c!--\/bs24-sdb-link--\u003e","brand":"A.M.P.E.R.E.","offers":[{"title":"Default Title","offer_id":56382536941946,"sku":"12 x 10695","price":80.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0921\/8306\/9050\/files\/10702_trig-a-cap_extra_Dose_Blau_Fluo_c00d7c4d-2877-44ca-9a72-1d8952529085.jpg?v=1766417257","url":"https:\/\/betriebsschutz24.com\/products\/baustellenmarkierspray-trig-a-cap-extra-500-ml-netto-gelb-fluo-12-dosen-1","provider":"Betriebsschutz24","version":"1.0","type":"link"}