{
  "version": 3,
  "sources": ["/cdn/shop/t/27/assets/lbd-configurator-defaults.js?lbd_gate=20260831p"],
  "sourcesContent": ["(function () {\n  var defaults = {\n    'fauteuil-personnalisation': { ral: '1015', acrylic: 'KAK' },\n    'patere-skoool-personnalisation': { ral: '1023', acrylic: 'VIO' },\n    'chaise-haute-70-personnalisation': { ral: '6013', acrylic: 'BEI' },\n    'chaise-beaubourg-personnalisation': { ral: '4004', acrylic: 'VER' },\n    'chaise-personnalisation': { ral: '5024', acrylic: 'INC' },\n    'tabouret-haut-beaubourg-70-personnalisation': { ral: '2004', acrylic: 'FUM' },\n    'tabouret-haut-70-personnalisation': { ral: '5024', acrylic: 'ORA' },\n    'tabouret-personnalisation': { ral: '3015', acrylic: 'INC' },\n    'tabouret-beaubourg-personnalisation': { ral: '6019', acrylic: 'ROS' }\n  };\n\n  var officialCollectionImages = {\n    'tabouret-haut-70-personnalisation': {\n      '9010-INC': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_70_BLANC_INCOLORE.jpg?v=1773172745',\n      '9005-INC': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_70_NOIR_INCOLORE.jpg?v=1772877664',\n      '4004-VER': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_70_VIOLET_VERT.jpg?v=1773172745',\n      '6019-ROS': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_70_AMANDE_ROSE.jpg?v=1773172745',\n      '1023-VIO': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_70_JAUNE_VIOLET.jpg?v=1773172745',\n      '3015-ROU': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_70_ROSE_CLAIR_ROUGE.jpg?v=1772877664',\n      '5024-ORA': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_70_BLEU_CIEL_ORANGE.jpg?v=1773172745',\n      '2004-FUM': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_70_ORANGE_POP_FUME.jpg?v=1772877665',\n      '6013-BEI': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_70_KAKI_BEIGE.jpg?v=1772877664',\n      '1015-KAK': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_70_BEIGE_KAKI.jpg?v=1773172745'\n    },\n    'fauteuil-personnalisation': {\n      '9010-INC': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/FAUTEUIL_BLANC_INCOLORE.jpg?v=1787241798',\n      '9005-INC': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/FAUTEUIL_NOIR_INCOLORE.jpg?v=1787241798',\n      '4004-VER': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/FAUTEUIL_VIOLET_VERT.jpg?v=1787241799',\n      '6019-ROS': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/FAUTEUIL_AMANDE_ROSE.jpg?v=1787241799',\n      '1023-VIO': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/FAUTEUIL_JAUNE_VIOLET.jpg?v=1787241799',\n      '3015-ROU': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/FAUTEUIL_ROSE_ROUGE.jpg?v=1787241799',\n      '5024-ORA': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/FAUTEUIL_BLEU_ORANGE.jpg?v=1787241799',\n      '2004-FUM': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/FAUTEUIL_ORANGE_POP_FUME.jpg?v=1787241799',\n      '6013-BEI': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/FAUTEUIL_KAKI_BEIGE.jpg?v=1787241799',\n      '1015-KAK': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/FAUTEUIL_BEIGE_KAKI.jpg?v=1787241798'\n    },\n    'tabouret-personnalisation': {\n      '9010-INC': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_BLANC_INCOLORE.jpg?v=1773173719',\n      '9005-INC': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_NOIR_INCOLORE.jpg?v=1773173719',\n      '4004-VER': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_VIOLET_VERT.jpg?v=1773173719',\n      '6019-ROS': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_AMANDE_ROSE.jpg?v=1773173719',\n      '1023-VIO': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_JAUNE_VIOLET.jpg?v=1773173719',\n      '3015-ROU': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_ROSE_CLAIR_ROUGE.jpg?v=1773173719',\n      '5024-ORA': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_BLEU_CLAIR_ORANGE.jpg?v=1773173719',\n      '2004-FUM': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_ORANGE_POP_FUME.jpg?v=1773173719',\n      '6013-BEI': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_KAKI_BEIGE.jpg?v=1773173719',\n      '1015-KAK': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_BEIGE_KAKI.jpg?v=1773173719'\n    },\n    'tabouret-beaubourg-personnalisation': {\n      '9010-INC': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_BG_BLANC_INCOLORE.jpg?v=1773173593',\n      '9005-INC': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_BG_NOIR_INCOLORE.jpg?v=1773173593',\n      '4004-VER': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_BG_VIOLET_VERT.jpg?v=1773173593',\n      '6019-ROS': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_BG_AMANDE_ROSE.jpg?v=1773173593',\n      '1023-VIO': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_BG_JAUNE_VIOLET.jpg?v=1773173593',\n      '3015-ROU': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_BG_ROSE_CLAIR_ROUGE.jpg?v=1773173593',\n      '5024-ORA': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_BG_BLEU_CIEL_ORANGE.jpg?v=1773173593',\n      '2004-FUM': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_BG_ORANGE_POP_FUME.jpg?v=1772872021',\n      '6013-BEI': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_BG_KAKI_BEIGE.jpg?v=1773173593',\n      '1015-KAK': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_BG_BEIGE_KAKI.jpg?v=1773173593'\n    },\n    'tabouret-haut-beaubourg-70-personnalisation': {\n      '9010-INC': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_HAUT_BG_BLANC_INCOLORE.jpg?v=1774052253',\n      '9005-INC': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_HAUT_BG_NOIR_INCOLORE.jpg?v=1774052253',\n      '4004-VER': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_HAUT_BG_VIOLET_VERT.jpg?v=1774052253',\n      '6019-ROS': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_HAUT_BG_AMANDE_ROSE.jpg?v=1774052253',\n      '1023-VIO': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_HAUT_BG_JAUNE_VIOLET.jpg?v=1774052253',\n      '3015-ROU': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_HAUT_BG_ROSE_CLAIR_ROUGE.jpg?v=1774052253',\n      '5024-ORA': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_HAUT_BG_BLEU_CIEL_ORANGE.jpg?v=1774052253',\n      '2004-FUM': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_HAUT_BG_ORANGE_POP_FUME.jpg?v=1774052253',\n      '6013-BEI': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_HAUT_BG_KAKI_BEIGEI.jpg?v=1774052253',\n      '1015-KAK': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/TABOURET_HAUT_BG_BEIGE_KAKI.jpg?v=1774052253'\n    },\n    'chaise-personnalisation': {\n      '9010-INC': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_BLANC_INCOLORE.jpg?v=1773168862',\n      '9005-INC': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_NOIR_INCOLORE.jpg?v=1773168862',\n      '4004-VER': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_VIOLET_VERT.jpg?v=1773038969',\n      '6019-ROS': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_AMANDE_ROSE.jpg?v=1773038969',\n      '1023-VIO': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_JAUNE_VIOLET.jpg?v=1773168862',\n      '3015-ROU': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_ROSE_CLAIR_ROUGE.jpg?v=1773168862',\n      '5024-ORA': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_BLEU_CIEL_ORANGE.jpg?v=1773168862',\n      '2004-FUM': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_ORANGE_POP_FUME.jpg?v=1773168862',\n      '6013-BEI': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_KAKI_BEIGE.jpg?v=1773168862',\n      '1015-KAK': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_BEIGE_KAKI.jpg?v=1773168862'\n    },\n    'chaise-beaubourg-personnalisation': {\n      '9010-INC': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_BG_BLANC_INCOLORE.jpg?v=1773173239',\n      '9005-INC': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_BG_NOIR_INCOLORE.jpg?v=1773173239',\n      '4004-VER': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_BG_VIOLET_VERT.jpg?v=1772873905',\n      '6019-ROS': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_BG_AMANDE_ROSE.jpg?v=1773173239',\n      '1023-VIO': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_BG_JAUNE_VIOLET.jpg?v=1773173239',\n      '3015-ROU': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_BG_ROSE_CLAIR_ROUGE.jpg?v=1773173239',\n      '5024-ORA': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_BG_BLEU_CIEL_ORANGE.jpg?v=1772873905',\n      '2004-FUM': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_BG_ORANGE_POP_FUME.jpg?v=1772873905',\n      '6013-BEI': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_BG_KAKI_BEIGE.jpg?v=1773173239'\n    },\n    'chaise-haute-70-personnalisation': {\n      '9010-INC': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_HAUTE_BLANC_INCOLORE.jpg?v=1774052798',\n      '9005-INC': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_HAUTE_NOIR_INCOLORE.jpg?v=1774052799',\n      '4004-VER': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_HAUTE_VIOLET_VERT.jpg?v=1774052799',\n      '6019-ROS': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_HAUTE_AMANDE_ROSE.jpg?v=1774052799',\n      '1023-VIO': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_HAUTE_JAUNE_VIOLET.jpg?v=1774052799',\n      '3015-ROU': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_HAUTE_ROSE_CLAIR_ROUGE.jpg?v=1774052799',\n      '5024-ORA': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_HAUTE_BLEU_CIEL_ORANGE.jpg?v=1774052799',\n      '2004-FUM': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_HAUTE_ORANGE_POP_FUME.jpg?v=1774052799',\n      '6013-BEI': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/CHAISE_HAUTE_KAKI_BEIGE.jpg?v=1774052799'\n    },\n    'patere-skoool-personnalisation': {\n      '9010-INC': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/PATERE_BLANC_INCOLORE.jpg?v=1773173659',\n      '9005-INC': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/PATERE_NOIR_INCOLORE.jpg?v=1772798065',\n      '4004-VER': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/PATERE_VIOLET_VERT.jpg?v=1772798065',\n      '6019-ROS': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/PATERE_AMANDE_ROSE.jpg?v=1773173659',\n      '1023-VIO': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/PATERE_JAUNE_VIOLET.jpg?v=1773173659',\n      '3015-ROU': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/PATERE_ROSE_CLAIR_ROUGE.jpg?v=1772798065',\n      '5024-ORA': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/PATERE_BLEU_CIEL_ORANGE.jpg?v=1772798065',\n      '2004-FUM': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/PATERE_ORANGE_POP_FUME.jpg?v=1772798065',\n      '6013-BEI': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/PATERE_KAKI_BEIGE.jpg?v=1772798142',\n      '1015-KAK': 'https://cdn.shopify.com/s/files/1/0956/6748/7069/files/PATERE_BEIGE_KAKI.jpg?v=1772798142'\n    }\n  };\n\n  function productVariantImages() {\n    var dataNode = document.getElementById('lbd-configurator-product-data');\n    if (!dataNode) return [];\n    try {\n      var productData = JSON.parse(dataNode.textContent);\n      return Array.isArray(productData.variantImages) ? productData.variantImages : [];\n    } catch (error) {\n      return [];\n    }\n  }\n\n  function selectedVariantImage(metalOption, acrylicOption) {\n    var variants = productVariantImages();\n    var match = variants.find(function (variant) {\n      return Array.isArray(variant.options) &&\n        variant.options[0] === metalOption.value &&\n        variant.options[1] === acrylicOption.value;\n    });\n    return match && match.image ? match.image : '';\n  }\n\n  function generatedTabouretImage(metalOption, acrylicOption) {\n    var ral = metalOption.dataset.ral;\n    var code = acrylicOption.dataset.code;\n    if (!ral || !code) return '';\n    return exactAssetMap('lbd-tabouret-exact-assets')[ral + '-' + code] || '';\n  }\n\n  var exactAssetMapCache = {};\n  function exactAssetMap(id) {\n    if (exactAssetMapCache[id]) return exactAssetMapCache[id];\n    var node = document.getElementById(id);\n    if (!node) return {};\n    try {\n      exactAssetMapCache[id] = JSON.parse(node.textContent);\n    } catch (error) {\n      exactAssetMapCache[id] = {};\n    }\n    return exactAssetMapCache[id];\n  }\n\n  function selectByData(select, key, value) {\n    if (!select) return false;\n    var options = Array.prototype.slice.call(select.options);\n    var index = options.findIndex(function (option) {\n      return option.dataset[key] === value;\n    });\n    if (index < 0) return false;\n    select.selectedIndex = index;\n    return true;\n  }\n\n  function normalizePublicNames(root) {\n    var metal = root.querySelector('[data-lbd-metal]');\n    if (!metal) return;\n    var options = Array.prototype.slice.call(metal.options);\n    var orange2004Index = options.findIndex(function (option) {\n      return option.dataset.ral === '2004';\n    });\n    var swatches = root.querySelector('[data-lbd-metal-swatches]');\n    [\n      { index: orange2004Index, name: 'Orange', label: 'Orange - RAL 2004' },\n      { index: options.findIndex(function (option) { return option.dataset.ral === '1023'; }), name: 'Jaune', label: 'Jaune - RAL 1023' },\n      { index: options.findIndex(function (option) { return option.dataset.ral === '1005'; }), name: 'Jaune', label: 'Jaune - RAL 1005' }\n    ].forEach(function (entry) {\n      if (entry.index < 0) return;\n      var option = options[entry.index];\n      option.dataset.name = entry.name;\n      option.textContent = entry.label;\n      var swatch = swatches && swatches.children[entry.index];\n      if (!swatch) return;\n      swatch.setAttribute('aria-label', entry.label);\n      swatch.title = entry.label;\n    });\n  }\n\n  function applyOfficialAcrylicSwatches(root) {\n    var dataNode = document.getElementById('lbd-configurator-product-data');\n    var acrylic = root.querySelector('[data-lbd-acrylic]');\n    var swatches = root.querySelector('[data-lbd-acrylic-swatches]');\n    if (!dataNode || !acrylic || !swatches) return;\n    try {\n      var productData = JSON.parse(dataNode.textContent);\n      var images = productData.acrylicSwatches || {};\n      var styleId = 'lbd-official-acrylic-swatches';\n      if (!document.getElementById(styleId)) {\n        var style = document.createElement('style');\n        style.id = styleId;\n        style.textContent = '[data-lbd-acrylic-swatches]{grid-template-columns:repeat(5,60px);gap:12px 8px}[data-lbd-acrylic-swatches] .lbd-configurator__swatch--acrylic{width:60px;height:60px}[data-lbd-acrylic-swatches] .lbd-configurator__swatch--acrylic.lbd-official-swatch:before{inset:3px;width:54px;height:54px;background:var(--lbd-official-swatch) center/contain no-repeat;box-shadow:none}[data-lbd-acrylic-swatches] .lbd-configurator__swatch--acrylic.lbd-official-swatch:after{display:none}[data-lbd-acrylic-swatches] .lbd-configurator__swatch--acrylic.lbd-official-swatch.is-selected:before{box-shadow:0 0 0 2px #fff,0 0 0 4px #111}@media(min-width:750px){[data-lbd-acrylic-swatches]{grid-template-columns:repeat(10,60px)}}';\n        document.head.appendChild(style);\n      }\n      Array.prototype.forEach.call(acrylic.options, function (option, index) {\n        var button = swatches.children[index];\n        var image = images[option.dataset.code];\n        if (!button || !image) return;\n        button.classList.add('lbd-official-swatch');\n        button.style.setProperty('--lbd-official-swatch', 'url(\"' + image + '\")');\n      });\n    } catch (error) {\n      return;\n    }\n  }\n\n  function syncConfiguredPreviewProperty(root, handle, imageUrl) {\n    var supportedHandles = {\n      'tabouret-personnalisation': true,\n      'chaise-personnalisation': true,\n      'patere-skoool-personnalisation': true\n    };\n    if (!supportedHandles[handle] || !imageUrl) return;\n\n    var form = root.querySelector('#lbd-configurator-form');\n    if (!form) return;\n    var input = form.querySelector('[data-lbd-preview-url]');\n    if (!input) {\n      input = document.createElement('input');\n      input.type = 'hidden';\n      input.name = 'properties[_Aper\u00E7u configur\u00E9]';\n      input.dataset.lbdPreviewUrl = 'true';\n      form.appendChild(input);\n    }\n    input.value = imageUrl;\n  }\n\n  function syncSwatchSelectionState(root) {\n    ['metal', 'acrylic'].forEach(function (kind) {\n      var select = root.querySelector('[data-lbd-' + kind + ']');\n      var wrapper = root.querySelector('[data-lbd-' + kind + '-swatches]');\n      if (!select || !wrapper) return;\n      Array.prototype.forEach.call(wrapper.querySelectorAll('.lbd-configurator__swatch'), function (button) {\n        var active = button.dataset.index === String(select.selectedIndex);\n        button.classList.toggle('is-selected', active);\n        button.setAttribute('aria-selected', active ? 'true' : 'false');\n      });\n    });\n  }\n\n  function syncExactVariant(root, metalOption, acrylicOption) {\n    var dataNode = document.getElementById('lbd-configurator-product-data');\n    if (!dataNode) return;\n    try {\n      var productData = JSON.parse(dataNode.textContent);\n      var variants = Array.isArray(productData.variants) ? productData.variants : [];\n      var pair = metalOption.dataset.ral + '-' + acrylicOption.dataset.code;\n      root.dataset.exactSyncPair = pair;\n      var variant = variants.find(function (candidate) {\n        return (candidate.sku && candidate.sku.slice(-pair.length) === pair) ||\n          (Array.isArray(candidate.options) &&\n            candidate.options[0] === metalOption.value &&\n            candidate.options[1] === acrylicOption.value);\n      });\n      if (!variant) {\n        root.dataset.exactSyncMissing = pair;\n        return;\n      }\n      root.dataset.exactSyncVariant = String(variant.id);\n      root.dataset.resolvedVariantId = String(variant.id);\n      root.dataset.resolvedVariantSku = variant.sku || '';\n\n      var idInput = root.querySelector('[data-lbd-variant-id]');\n      var referenceInput = root.querySelector('[data-lbd-reference]');\n      var manufacturerInput = root.querySelector('input[name=\"properties[R\u00E9f\u00E9rence fabricant]\"]');\n      var ralInput = root.querySelector('[data-lbd-ral]');\n      var acrylicCodeInput = root.querySelector('[data-lbd-acrylic-code]');\n      var delayInput = root.querySelector('[data-lbd-delay]');\n      var referenceText = root.querySelector('.lbd-configurator__reference');\n      var reassurance = root.querySelector('[data-lbd-reassurance]');\n      var submit = root.querySelector('.lbd-configurator__submit');\n\n      if (idInput) idInput.value = variant.id;\n      if (referenceInput && variant.sku) referenceInput.value = variant.sku;\n      if (manufacturerInput && variant.sku) manufacturerInput.value = variant.sku.split('-')[0];\n      if (ralInput) ralInput.value = metalOption.dataset.ral || '';\n      if (acrylicCodeInput) acrylicCodeInput.value = acrylicOption.dataset.code || '';\n      if (referenceText && variant.sku) referenceText.textContent = 'R\u00E9f\u00E9rence : ' + variant.sku;\n      if (delayInput && reassurance) {\n        delayInput.value = reassurance.textContent.indexOf('2 semaines') !== -1 ? '2 semaines' : '3 \u00E0 4 semaines';\n      }\n      root.querySelectorAll('[data-lbd-price]').forEach(function (node) {\n        node.textContent = (variant.price / 100).toLocaleString('fr-FR', { maximumFractionDigits: 0 }) + ' \u20AC';\n      });\n      if (submit) submit.disabled = variant.available === false;\n    } catch (error) {\n      root.dataset.exactSyncError = String(error && error.message || error);\n      return;\n    }\n  }\n\n  function currentPair(root) {\n    var metal = root.querySelector('[data-lbd-metal]');\n    var acrylic = root.querySelector('[data-lbd-acrylic]');\n    if (!metal || !acrylic) return '';\n    return metal.options[metal.selectedIndex].dataset.ral + '-' + acrylic.options[acrylic.selectedIndex].dataset.code;\n  }\n\n  function beginVisualRender(root) {\n    var epoch = (parseInt(root.dataset.lbdVisualEpoch || '0', 10) || 0) + 1;\n    root.dataset.lbdVisualEpoch = String(epoch);\n    return epoch;\n  }\n\n  function isCurrentVisualRender(root, epoch, pair) {\n    return root.dataset.lbdVisualEpoch === String(epoch) && currentPair(root) === pair;\n  }\n\n  function lockExactCommercialState(root, handle, fileName, metalOption, acrylicOption, epoch, pair) {\n    [0, 120, 500, 1500, 3200, 6000].forEach(function (delay) {\n      window.setTimeout(function () {\n        if (!isCurrentVisualRender(root, epoch, pair)) return;\n        syncConfiguredPreviewProperty(root, handle, fileName);\n        syncExactVariant(root, metalOption, acrylicOption);\n      }, delay);\n    });\n  }\n\n  function installCommercialStateLock(root, handle) {\n    if (root.dataset.commercialStateLock === 'true') return;\n    root.dataset.commercialStateLock = 'true';\n    window.setInterval(function () {\n      var metal = root.querySelector('[data-lbd-metal]');\n      var acrylic = root.querySelector('[data-lbd-acrylic]');\n      if (!metal || !acrylic) return;\n      var metalOption = metal.options[metal.selectedIndex];\n      var acrylicOption = acrylic.options[acrylic.selectedIndex];\n      var pair = metalOption.dataset.ral + '-' + acrylicOption.dataset.code;\n      var fileName = '';\n      if (handle === 'tabouret-personnalisation') {\n        fileName = generatedTabouretImage(metalOption, acrylicOption);\n      } else if (handle === 'patere-skoool-personnalisation') {\n        fileName = exactAssetMap('lbd-patere-exact-assets')[pair] || (officialCollectionImages['patere-skoool-personnalisation'] || {})[pair] || '';\n      } else if (handle === 'chaise-personnalisation') {\n        var staticImage = root.querySelector('[data-lbd-static-image]');\n        fileName = staticImage && staticImage.src || '';\n      }\n      if (!fileName || root.dataset.visualUnavailable === pair) {\n        var unavailableSubmit = root.querySelector('.lbd-configurator__submit');\n        if (unavailableSubmit) {\n          unavailableSubmit.disabled = true;\n          unavailableSubmit.setAttribute('aria-disabled', 'true');\n          unavailableSubmit.classList.add('is-lbd-unavailable');\n        }\n        delete root.dataset.resolvedVariantId;\n        delete root.dataset.resolvedVariantSku;\n        return;\n      }\n      var availableSubmit = root.querySelector('.lbd-configurator__submit');\n      if (availableSubmit) {\n        availableSubmit.removeAttribute('aria-disabled');\n        availableSubmit.classList.remove('is-lbd-unavailable');\n      }\n      syncConfiguredPreviewProperty(root, handle, fileName);\n      syncExactVariant(root, metalOption, acrylicOption);\n      if (handle !== 'chaise-personnalisation') {\n        var imageCandidates = Array.prototype.slice.call(document.querySelectorAll(\n          handle === 'tabouret-personnalisation'\n            ? 'img[alt*=\"Tabouret personnalisable\"]'\n            : 'img[alt*=\"Pat\u00E8re\"],img[alt*=\"Patere\"]'\n        ));\n        imageCandidates.sort(function (a, b) {\n          return (b.clientWidth * b.clientHeight) - (a.clientWidth * a.clientHeight);\n        });\n        var imageTarget = imageCandidates[0];\n        if (imageTarget && imageTarget.src !== fileName) {\n          imageTarget.src = fileName;\n          imageTarget.removeAttribute('srcset');\n          var imagePicture = imageTarget.closest('picture');\n          if (imagePicture) Array.prototype.forEach.call(imagePicture.querySelectorAll('source'), function (source) {\n            source.removeAttribute('srcset');\n            source.removeAttribute('sizes');\n          });\n        }\n      }\n    }, 250);\n  }\n\n  function installReliableAddToCart(root, handle) {\n    if (root.dataset.reliableAddToCart === 'true') return;\n    var form = root.querySelector('#lbd-configurator-form');\n    var submit = root.querySelector('.lbd-configurator__submit');\n    if (!form || !submit) return;\n    root.dataset.reliableAddToCart = 'true';\n    form.addEventListener('submit', function (event) {\n      event.preventDefault();\n      event.stopImmediatePropagation();\n      if (submit.disabled || submit.getAttribute('aria-disabled') === 'true' || submit.dataset.loading === 'true') return;\n      var metal = root.querySelector('[data-lbd-metal]');\n      var acrylic = root.querySelector('[data-lbd-acrylic]');\n      var metalOption = metal && metal.options[metal.selectedIndex];\n      var acrylicOption = acrylic && acrylic.options[acrylic.selectedIndex];\n      var variantId = root.dataset.resolvedVariantId;\n      var sku = root.dataset.resolvedVariantSku;\n      if (!metalOption || !acrylicOption || !variantId || !sku) return;\n      var pair = metalOption.dataset.ral + '-' + acrylicOption.dataset.code;\n      var preview = '';\n      if (handle === 'tabouret-personnalisation') preview = generatedTabouretImage(metalOption, acrylicOption);\n      if (handle === 'patere-skoool-personnalisation') preview = exactAssetMap('lbd-patere-exact-assets')[pair] || (officialCollectionImages['patere-skoool-personnalisation'] || {})[pair] || '';\n      if (handle === 'chaise-personnalisation') {\n        var staticImage = root.querySelector('[data-lbd-static-image]');\n        preview = staticImage && staticImage.src || '';\n      }\n      if (!preview) return;\n      var quantity = Math.max(1, parseInt((form.querySelector('[name=\"quantity\"]') || {}).value || '1', 10));\n      var delay = (root.querySelector('[data-lbd-reassurance]') || {}).textContent || '';\n      submit.dataset.loading = 'true';\n      submit.disabled = true;\n      fetch('/cart/add.js', {\n        method: 'POST',\n        headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' },\n        body: JSON.stringify({ items: [{\n          id: Number(variantId),\n          quantity: quantity,\n          properties: {\n            'R\u00E9f\u00E9rence fabricant': sku.split('-')[0],\n            'RAL m\u00E9tal': metalOption.dataset.ral,\n            'Code verre acrylique': acrylicOption.dataset.code,\n            'R\u00E9f\u00E9rence configur\u00E9e': sku,\n            'D\u00E9lai annonc\u00E9': delay.indexOf('2 semaines') !== -1 ? '2 semaines' : '3 \u00E0 4 semaines',\n            'Couleur du m\u00E9tal': metalOption.value,\n            'Couleur du verre acrylique': acrylicOption.value,\n            '_Aper\u00E7u configur\u00E9': preview\n          }\n        }] })\n      }).then(function (response) {\n        if (!response.ok) throw new Error('Ajout au panier refus\u00E9');\n        return response.json();\n      }).then(function () {\n        window.location.assign('/cart');\n      }).catch(function () {\n        submit.disabled = false;\n        delete submit.dataset.loading;\n        root.dataset.cartAddError = 'true';\n      });\n    }, true);\n    if (!document.getElementById('lbd-unavailable-submit-style')) {\n      var unavailableStyle = document.createElement('style');\n      unavailableStyle.id = 'lbd-unavailable-submit-style';\n      unavailableStyle.textContent = '.lbd-configurator__submit.is-lbd-unavailable{pointer-events:none!important;opacity:.42!important;cursor:not-allowed!important}';\n      document.head.appendChild(unavailableStyle);\n    }\n  }\n\n  function syncValidatedGateVariant(root, handle, metalOption, acrylicOption) {\n    return;\n  }\n\n  function showVioPrototype(root, handle, metalOption, acrylicOption) {\n    /* Prototype de transfert mati\u00E8re rejet\u00E9 le 2026-08-30 : ne rien fabriquer. */\n    return;\n    var prototypeCodes = { VIO: true, JAU: true, KAK: true, NOI: true };\n    var acrylicCode = acrylicOption.dataset.code;\n    if (handle !== 'tabouret-personnalisation' || metalOption.dataset.ral !== '3015' || !prototypeCodes[acrylicCode]) return;\n    var canvas = root.querySelector('[data-lbd-render]');\n    var dataNode = document.getElementById('lbd-configurator-product-data');\n    if (!canvas || !dataNode || !canvas.dataset.base || !canvas.dataset.black || !canvas.dataset.seat) return;\n    var productData;\n    try { productData = JSON.parse(dataNode.textContent); } catch (error) { return; }\n    var plexiMaster = productData.acrylicSwatches && productData.acrylicSwatches[acrylicCode];\n    var immutableBase = window.LBD_TABOURET_3015_IMMUTABLE_BASE;\n    if (!plexiMaster || !immutableBase) return;\n\n    function load(src) {\n      return new Promise(function (resolve, reject) {\n        var image = new Image();\n        image.crossOrigin = 'anonymous';\n        image.onload = function () { resolve(image); };\n        image.onerror = reject;\n        image.src = src;\n      });\n    }\n\n    Promise.all([load(canvas.dataset.base), load(canvas.dataset.black), load(canvas.dataset.seat), load(plexiMaster), load(immutableBase)]).then(function (images) {\n      if (metalOption.dataset.ral !== '3015' || acrylicOption.dataset.code !== acrylicCode) return;\n      var width = canvas.width;\n      var height = canvas.height;\n      var work = document.createElement('canvas');\n      work.width = width;\n      work.height = height;\n      var context = work.getContext('2d', { willReadFrequently: true });\n      function pixels(image) {\n        context.clearRect(0, 0, width, height);\n        context.drawImage(image, 0, 0, width, height);\n        return context.getImageData(0, 0, width, height).data;\n      }\n      var base = pixels(images[0]);\n      var black = pixels(images[1]);\n      var seat = pixels(images[2]);\n      var exactBase = pixels(images[4]);\n      var metalMask = new Uint8Array(width * height);\n      var seatMask = new Uint8Array(width * height);\n      var hardwareMask = new Uint8Array(width * height);\n      var seatBounds = { minX: width, maxX: 0, minY: height, maxY: 0 };\n      for (var p = 0; p < width * height; p += 1) {\n        var i = p * 4;\n        var metalDifference = Math.max(Math.abs(base[i] - black[i]), Math.abs(base[i + 1] - black[i + 1]), Math.abs(base[i + 2] - black[i + 2]));\n        var metalAlpha = Math.max(0, Math.min(1, (metalDifference - 24) / 90));\n        if (metalAlpha < 0.08) metalAlpha = 0;\n        metalMask[p] = Math.round(metalAlpha * 255);\n        var seatDifference = Math.max(Math.abs(base[i] - seat[i]), Math.abs(base[i + 1] - seat[i + 1]), Math.abs(base[i + 2] - seat[i + 2]));\n        var differenceAlpha = Math.max(0, Math.min(1, (seatDifference - 8) / 46));\n        var violetScore = ((seat[i] + seat[i + 2]) * 0.5) - seat[i + 1];\n        var colourAlpha = Math.max(0, Math.min(1, (violetScore - 8) / 32));\n        var metalProtection = 1 - Math.min(1, metalAlpha * 1.08);\n        var x = p % width;\n        var y = Math.floor(p / width);\n        var inSeat = x > width * 0.25 && x < width * 0.75 && y > height * 0.20 && y < height * 0.48;\n        if (inSeat && violetScore > 10 && differenceAlpha > 0.12) {\n          seatBounds.minX = Math.min(seatBounds.minX, x);\n          seatBounds.maxX = Math.max(seatBounds.maxX, x);\n          seatBounds.minY = Math.min(seatBounds.minY, y);\n          seatBounds.maxY = Math.max(seatBounds.maxY, y);\n        }\n        var alpha = Math.max(colourAlpha, inSeat ? differenceAlpha * 0.78 : 0) * metalProtection;\n        if (alpha < 0.08) alpha = 0;\n        seatMask[p] = Math.round(Math.min(255, alpha * 255));\n      }\n\n      /* L'empreinte du plateau est d\u00E9duite du calque assise lui-m\u00EAme. Elle couvre\n         toute la surface, y compris les \u00E9l\u00E9ments visibles au travers. */\n      if (seatBounds.maxX > seatBounds.minX && seatBounds.maxY > seatBounds.minY) {\n        var centreX = (seatBounds.minX + seatBounds.maxX) / 2;\n        var centreY = (seatBounds.minY + seatBounds.maxY) / 2;\n        var radiusX = Math.max(1, (seatBounds.maxX - seatBounds.minX) / 2);\n        var radiusY = Math.max(1, (seatBounds.maxY - seatBounds.minY) / 2);\n        for (var ep = 0; ep < width * height; ep += 1) {\n          var ex = ep % width;\n          var ey = Math.floor(ep / width);\n          var ellipseDistance = Math.sqrt(Math.pow((ex - centreX) / radiusX, 2) + Math.pow((ey - centreY) / radiusY, 2));\n          if (ellipseDistance > 1.025) continue;\n          var ellipseAlpha = ellipseDistance <= 0.985 ? 1 : Math.max(0, Math.min(1, (1.025 - ellipseDistance) / 0.04));\n          seatMask[ep] = Math.max(seatMask[ep], Math.round(ellipseAlpha * 255));\n        }\n\n        /* Les fixations sup\u00E9rieures sont les petites composantes m\u00E9talliques\n           isol\u00E9es dans l'empreinte. Les grandes composantes sont la structure\n           situ\u00E9e sous le plateau et doivent rester cach\u00E9es pour un plexi opaque. */\n        var visited = new Uint8Array(width * height);\n        var componentLimit = Math.max(120, Math.round(radiusX * radiusY * 0.018));\n        function isExactPink(point) {\n          var pixel = point * 4;\n          var red = exactBase[pixel];\n          var green = exactBase[pixel + 1];\n          var blue = exactBase[pixel + 2];\n          return red > 120 && red - green > 22 && red - blue > 8;\n        }\n        for (var hp = 0; hp < width * height; hp += 1) {\n          if (visited[hp] || !isExactPink(hp)) continue;\n          var hx = hp % width;\n          var hy = Math.floor(hp / width);\n          var hd = Math.sqrt(Math.pow((hx - centreX) / radiusX, 2) + Math.pow((hy - centreY) / radiusY, 2));\n          if (hd > 1.02) { visited[hp] = 1; continue; }\n          var queue = [hp];\n          var component = [];\n          var componentBounds = { minX: hx, maxX: hx, minY: hy, maxY: hy };\n          visited[hp] = 1;\n          while (queue.length) {\n            var current = queue.pop();\n            component.push(current);\n            var cx = current % width;\n            var cy = Math.floor(current / width);\n            componentBounds.minX = Math.min(componentBounds.minX, cx);\n            componentBounds.maxX = Math.max(componentBounds.maxX, cx);\n            componentBounds.minY = Math.min(componentBounds.minY, cy);\n            componentBounds.maxY = Math.max(componentBounds.maxY, cy);\n            var neighbours = [current - width, current + width];\n            if (cx > 0) neighbours.push(current - 1);\n            if (cx < width - 1) neighbours.push(current + 1);\n            for (var ni = 0; ni < neighbours.length; ni += 1) {\n              var next = neighbours[ni];\n              if (next < 0 || next >= width * height || visited[next] || !isExactPink(next)) continue;\n              var nx = next % width;\n              var ny = Math.floor(next / width);\n              var nd = Math.sqrt(Math.pow((nx - centreX) / radiusX, 2) + Math.pow((ny - centreY) / radiusY, 2));\n              if (nd > 1.02) continue;\n              visited[next] = 1;\n              queue.push(next);\n            }\n          }\n          var componentWidth = componentBounds.maxX - componentBounds.minX + 1;\n          var componentHeight = componentBounds.maxY - componentBounds.minY + 1;\n          var componentRatio = Math.max(componentWidth / componentHeight, componentHeight / componentWidth);\n          var componentDensity = component.length / (componentWidth * componentHeight);\n          if (component.length <= componentLimit && componentRatio <= 2.15 && componentDensity >= 0.28) {\n            for (var ci = 0; ci < component.length; ci += 1) hardwareMask[component[ci]] = 255;\n          }\n        }\n      }\n\n      var masterCanvas = document.createElement('canvas');\n      masterCanvas.width = images[3].naturalWidth;\n      masterCanvas.height = images[3].naturalHeight;\n      var masterContext = masterCanvas.getContext('2d', { willReadFrequently: true });\n      masterContext.drawImage(images[3], 0, 0);\n      var master = masterContext.getImageData(0, 0, masterCanvas.width, masterCanvas.height).data;\n      var opaquePlexi = { NOI: true, KAK: true, BEI: true, MAR: true, BLA: true }[acrylicCode] === true;\n      var sums = [0, 0, 0];\n      var samples = 0;\n      for (var my = Math.floor(masterCanvas.height * 0.28); my < masterCanvas.height * 0.72; my += 1) {\n        for (var mx = Math.floor(masterCanvas.width * 0.28); mx < masterCanvas.width * 0.72; mx += 1) {\n          var mi = (my * masterCanvas.width + mx) * 4;\n          var maximum = Math.max(master[mi], master[mi + 1], master[mi + 2]);\n          var minimum = Math.min(master[mi], master[mi + 1], master[mi + 2]);\n          if (!opaquePlexi && (maximum - minimum < 18 || maximum > 245)) continue;\n          sums[0] += master[mi]; sums[1] += master[mi + 1]; sums[2] += master[mi + 2]; samples += 1;\n        }\n      }\n      if (!samples) return;\n      var plexi = sums.map(function (sum) { return sum / samples; });\n      var metal = metalOption.dataset.color;\n      var metalRgb = [parseInt(metal.slice(1, 3), 16), parseInt(metal.slice(3, 5), 16), parseInt(metal.slice(5, 7), 16)];\n      var output = new Uint8ClampedArray(exactBase);\n      for (var op = 0; op < width * height; op += 1) {\n        var oi = op * 4;\n        var luminance = (exactBase[oi] + exactBase[oi + 1] + exactBase[oi + 2]) / 765;\n        var sa = seatMask[op] / 255 * (opaquePlexi ? 1 : 0.86);\n        for (var channel = 0; channel < 3; channel += 1) {\n          var plexiTarget = plexi[channel] * (opaquePlexi ? (0.58 + 0.42 * luminance) : (0.72 + 0.28 * luminance));\n          output[oi + channel] = output[oi + channel] * (1 - sa) + plexiTarget * sa;\n          if (hardwareMask[op]) output[oi + channel] = exactBase[oi + channel];\n        }\n      }\n      canvas.getContext('2d').putImageData(new ImageData(output, width, height), 0, 0);\n      var url = canvas.toDataURL('image/png');\n      var candidates = Array.prototype.slice.call(document.querySelectorAll('img[alt*=\"Tabouret personnalisable\"]'));\n      candidates.sort(function (a, b) { return (b.clientWidth * b.clientHeight) - (a.clientWidth * a.clientHeight); });\n      var target = candidates[0];\n      if (target) {\n        target.src = url;\n        target.removeAttribute('srcset');\n        var picture = target.closest('picture');\n        if (picture) Array.prototype.forEach.call(picture.querySelectorAll('source'), function (source) { source.removeAttribute('srcset'); });\n      }\n      syncConfiguredPreviewProperty(root, handle, url);\n      syncExactVariant(root, metalOption, acrylicOption);\n      root.dataset.vioPrototype = '3015-' + acrylicCode;\n    }).catch(function () { root.dataset.vioPrototypeError = 'true'; });\n  }\n\n  function showOfficialCollectionImage(root, handle) {\n    /* La matrice Chaise valid\u00E9e est pilot\u00E9e par le moteur d'images statiques. */\n    if (handle === 'chaise-personnalisation' && window.LBD_CHAIR_VALIDATED_TEMPLATE) return;\n    var handleImages = officialCollectionImages[handle];\n    if (!handleImages) return;\n    var metal = root.querySelector('[data-lbd-metal]');\n    var acrylic = root.querySelector('[data-lbd-acrylic]');\n    if (!metal || !acrylic) return;\n\n    var metalOption = metal.options[metal.selectedIndex];\n    var acrylicOption = acrylic.options[acrylic.selectedIndex];\n    var pair = metalOption.dataset.ral + '-' + acrylicOption.dataset.code;\n    var renderEpoch = beginVisualRender(root);\n    var fileName = handle === 'tabouret-personnalisation'\n      ? generatedTabouretImage(metalOption, acrylicOption)\n      : handle === 'patere-skoool-personnalisation'\n        ? exactAssetMap('lbd-patere-exact-assets')[pair] || (officialCollectionImages['patere-skoool-personnalisation'] || {})[pair] || ''\n        : handleImages[pair];\n    if (!fileName) {\n      delete root.dataset.officialCollectionImage;\n      var unavailable = 'data:image/svg+xml;charset=UTF-8,' + encodeURIComponent(\n        '<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1125\" height=\"1125\" viewBox=\"0 0 1125 1125\">' +\n        '<rect width=\"1125\" height=\"1125\" fill=\"#f2f2f2\"/>' +\n        '<text x=\"562.5\" y=\"562.5\" text-anchor=\"middle\" dominant-baseline=\"middle\" ' +\n        'font-family=\"Arial,sans-serif\" font-size=\"34\" font-weight=\"600\" fill=\"#111\">' +\n        'Visuel non disponible pour cette association.</text></svg>'\n      );\n      function applyUnavailable() {\n        if (!isCurrentVisualRender(root, renderEpoch, pair)) return;\n        var unavailableCanvas = root.querySelector('[data-lbd-render]');\n        if (unavailableCanvas) {\n          var unavailableCanvasImage = new Image();\n          unavailableCanvasImage.onload = function () {\n            if (!isCurrentVisualRender(root, renderEpoch, pair)) return;\n            var unavailableContext = unavailableCanvas.getContext('2d');\n            unavailableContext.clearRect(0, 0, unavailableCanvas.width, unavailableCanvas.height);\n            unavailableContext.drawImage(unavailableCanvasImage, 0, 0, unavailableCanvas.width, unavailableCanvas.height);\n          };\n          unavailableCanvasImage.src = unavailable;\n        }\n        var unavailableCandidates = Array.prototype.slice.call(document.querySelectorAll(\n          'img[alt*=\"Tabouret personnalisable\"],img[alt*=\"Chaise\"],img[alt*=\"Pat\u00E8re\"],img[alt*=\"Patere\"]'\n        ));\n        unavailableCandidates.sort(function (a, b) {\n          return (b.clientWidth * b.clientHeight) - (a.clientWidth * a.clientHeight);\n        });\n        var unavailableTarget = unavailableCandidates[0];\n        if (unavailableTarget) {\n          unavailableTarget.src = unavailable;\n          unavailableTarget.removeAttribute('srcset');\n          var unavailablePicture = unavailableTarget.closest('picture');\n          if (unavailablePicture) Array.prototype.forEach.call(unavailablePicture.querySelectorAll('source'), function (source) {\n            source.removeAttribute('srcset');\n          });\n        }\n        syncConfiguredPreviewProperty(root, handle, '');\n        syncExactVariant(root, metalOption, acrylicOption);\n        var unavailablePreview = root.querySelector('[data-lbd-preview-url]');\n        var unavailableSubmit = root.querySelector('.lbd-configurator__submit');\n        if (unavailablePreview) unavailablePreview.value = '';\n        if (unavailableSubmit) unavailableSubmit.disabled = true;\n        root.dataset.visualUnavailable = pair;\n      }\n      window.setTimeout(applyUnavailable, 80);\n      window.setTimeout(applyUnavailable, 600);\n      window.setTimeout(applyUnavailable, 1600);\n      return;\n    }\n\n    window.setTimeout(function () {\n      if (!isCurrentVisualRender(root, renderEpoch, pair)) return;\n      delete root.dataset.visualUnavailable;\n      var renderCanvas = root.querySelector('[data-lbd-render]');\n      if (renderCanvas) {\n        var officialImage = new Image();\n        officialImage.crossOrigin = 'anonymous';\n        officialImage.onload = function () {\n          if (!isCurrentVisualRender(root, renderEpoch, pair)) return;\n          var context = renderCanvas.getContext('2d');\n          context.clearRect(0, 0, renderCanvas.width, renderCanvas.height);\n          context.drawImage(officialImage, 0, 0, renderCanvas.width, renderCanvas.height);\n        };\n        officialImage.src = fileName;\n      }\n\n      var candidates = Array.prototype.slice.call(document.querySelectorAll(\n        'img[alt*=\"Tabouret haut 70 cm\"],img[alt*=\"Tabouret haut personnalisable\"],img[alt*=\"Tabouret personnalisable\"],img[alt*=\"Tabouret Beaubourg\"],img[alt*=\"Tabouret haut Beaubourg\"],img[alt*=\"Fauteuil\"],img[alt*=\"Chaise\"],img[alt*=\"Pat\u00E8re\"],img[alt*=\"Patere\"]'\n      ));\n      candidates.sort(function (a, b) {\n        return (b.clientWidth * b.clientHeight) - (a.clientWidth * a.clientHeight);\n      });\n      var target = candidates[0];\n      if (!target) return;\n      target.src = fileName;\n      target.removeAttribute('srcset');\n      var picture = target.closest('picture');\n      if (picture) {\n        Array.prototype.forEach.call(picture.querySelectorAll('source'), function (source) {\n          source.removeAttribute('srcset');\n        });\n      }\n      root.dataset.officialCollectionImage = pair;\n      lockExactCommercialState(root, handle, fileName, metalOption, acrylicOption, renderEpoch, pair);\n    }, 80);\n  }\n\n  function applyDefault() {\n    var root = document.querySelector('.lbd-configurator');\n    if (!root || root.dataset.heroDefaultApplied === 'true') return Boolean(root);\n\n    normalizePublicNames(root);\n    applyOfficialAcrylicSwatches(root);\n\n    var handle = root.dataset.lbdHandle || '';\n    var target = defaults[handle];\n    if (!target) return true;\n    installCommercialStateLock(root, handle);\n    installReliableAddToCart(root, handle);\n\n    var metal = root.querySelector('[data-lbd-metal]');\n    var acrylic = root.querySelector('[data-lbd-acrylic]');\n    if (!metal || !acrylic) return false;\n    if (root.dataset.officialImageListeners !== 'true') {\n      root.dataset.officialImageListeners = 'true';\n      metal.addEventListener('change', function () {\n        syncSwatchSelectionState(root);\n        syncValidatedGateVariant(root, handle, metal.options[metal.selectedIndex], acrylic.options[acrylic.selectedIndex]);\n        showOfficialCollectionImage(root, handle);\n      });\n      acrylic.addEventListener('change', function () {\n        syncSwatchSelectionState(root);\n        syncValidatedGateVariant(root, handle, metal.options[metal.selectedIndex], acrylic.options[acrylic.selectedIndex]);\n        showOfficialCollectionImage(root, handle);\n      });\n    }\n\n    var parameters = new URLSearchParams(window.location.search);\n    if (parameters.has('variant') || parameters.has('ral') || parameters.has('plexi')) {\n      root.dataset.heroDefaultApplied = 'preserved-explicit-selection';\n      syncSwatchSelectionState(root);\n      syncValidatedGateVariant(root, handle, metal.options[metal.selectedIndex], acrylic.options[acrylic.selectedIndex]);\n      showOfficialCollectionImage(root, handle);\n      return true;\n    }\n\n    if (!selectByData(metal, 'ral', target.ral) || !selectByData(acrylic, 'code', target.acrylic)) {\n      root.dataset.heroDefaultError = target.ral + '-' + target.acrylic;\n      return true;\n    }\n\n    root.dataset.heroDefaultApplied = target.ral + '-' + target.acrylic;\n    metal.dispatchEvent(new Event('change', { bubbles: true }));\n    acrylic.dispatchEvent(new Event('change', { bubbles: true }));\n    syncSwatchSelectionState(root);\n    showOfficialCollectionImage(root, handle);\n    return true;\n  }\n\n  var attempts = 0;\n  function mount() {\n    attempts += 1;\n    if (!applyDefault() && attempts < 120) requestAnimationFrame(mount);\n  }\n\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', mount, { once: true });\n  else mount();\n  document.addEventListener('shopify:section:load', function () {\n    attempts = 0;\n    requestAnimationFrame(mount);\n  });\n})();\n"],
  "mappings": "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",
  "names": ["applyUnavailable"]
}
