{"product_id":"cast-aluminum-table-legs-austin","title":"Aluminum Table Legs (Austin)","description":"\u003cp\u003eThe Austin Collection aluminum table legs combine industrial strength with refined craftsmanship. Handcrafted in the USA from cast aluminum for exceptional strength at manageable weight, with threaded inserts and mounting bolts included.\u003c\/p\u003e\n\u003ch3\u003eSize Specifications — \u003cspan id=\"bhs-m-size-label\" style=\"color: #555; font-weight: normal; font-size: 0.9em;\"\u003e16\"\u003c\/span\u003e\n\u003c\/h3\u003e\n\u003cp style=\"margin: -4px 0 10px; font-size: 0.82em; color: #555; font-style: italic;\"\u003eTo see specifications for a different size, select a height above.\u003c\/p\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse; height: auto;\"\u003e\n\u003ctbody\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"border: 1px solid rgb(204, 204, 204); padding: 8px; height: 19.5938px; background-color: rgb(242, 242, 242); font-weight: bold;\"\u003eUse Case\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid rgb(204, 204, 204); padding: 8px; height: 19.5938px;\" id=\"bhs-m-use\"\u003eCoffee \/ Bench\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"border: 1px solid rgb(204, 204, 204); padding: 8px; height: 19.5938px; background-color: rgb(242, 242, 242); font-weight: bold;\"\u003eMounting Width\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid rgb(204, 204, 204); padding: 8px; height: 19.5938px;\" id=\"bhs-m-mnt\"\u003e12\"\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"border: 1px solid rgb(204, 204, 204); padding: 8px; height: 19.5938px; background-color: rgb(242, 242, 242); font-weight: bold;\"\u003eFootprint (widest point)\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid rgb(204, 204, 204); padding: 8px; height: 19.5938px;\" id=\"bhs-m-ft\"\u003eN\/A\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"border: 1px solid rgb(204, 204, 204); padding: 8px; height: 19.5938px; background-color: rgb(242, 242, 242); font-weight: bold;\"\u003eWeight per Leg\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid rgb(204, 204, 204); padding: 8px; height: 19.5938px;\" id=\"bhs-m-wt\"\u003eN\/A\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"height: 19.5938px;\"\u003e\n\u003ctd style=\"border: 1px solid rgb(204, 204, 204); padding: 8px; height: 19.5938px; background-color: rgb(242, 242, 242); font-weight: bold;\"\u003eWeight Capacity\u003c\/td\u003e\n\u003ctd style=\"border: 1px solid rgb(204, 204, 204); padding: 8px; height: 19.5938px;\" id=\"bhs-m-cap\"\u003eN\/A\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cscript\u003e\n(function () {\n  'use strict';\n\n  var SPECS = {\n    '16\"': { use: 'Coffee \/ Bench', mnt: '12\"', ft: '12\"', wt: 'N\/A', cap: '800 lbs' },\n    '28\"': { use: 'Dining Table', mnt: '22\"', ft: '22\"', wt: 'N\/A', cap: '800 lbs' }\n  };\n\n  var CELLS = [\n    ['bhs-m-use', 'use'],\n    ['bhs-m-mnt', 'mnt'],\n    ['bhs-m-ft', 'ft'],\n    ['bhs-m-wt', 'wt'],\n    ['bhs-m-cap', 'cap']\n  ];\n\n  function isSizeVal(v) { return Object.prototype.hasOwnProperty.call(SPECS, v); }\n\n  function render(size) {\n    var d = SPECS[size];\n    if (!d) return;\n    CELLS.forEach(function (pair) {\n      var el = document.getElementById(pair[0]);\n      if (el) el.textContent = d[pair[1]];\n    });\n    var lbl = document.getElementById('bhs-m-size-label');\n    if (lbl) lbl.textContent = size;\n  }\n\n  function renderFromVariantId(vid) {\n    document.querySelectorAll('script[type=\"application\/json\"]').forEach(function (s) {\n      try {\n        var obj = JSON.parse(s.textContent);\n        var variants = obj.variants || (obj.product \u0026\u0026 obj.product.variants);\n        if (!variants) return;\n        var match = variants.find(function (v) { return String(v.id) === String(vid); });\n        if (match \u0026\u0026 isSizeVal(match.option1)) render(match.option1);\n      } catch (e) {}\n    });\n  }\n\n  function setup() {\n    var selects = document.querySelectorAll('select');\n    for (var i = 0; i \u003c selects.length; i++) {\n      var sel = selects[i];\n      var vals = Array.prototype.map.call(sel.options, function (o) { return o.value; });\n      if (vals.some(isSizeVal)) {\n        if (isSizeVal(sel.value)) render(sel.value);\n        sel.addEventListener('change', function () { if (isSizeVal(this.value)) render(this.value); });\n        break;\n      }\n    }\n\n    var radios = Array.prototype.slice.call(\n      document.querySelectorAll('input[type=\"radio\"]')\n    ).filter(function (r) { return isSizeVal(r.value); });\n\n    radios.forEach(function (r) {\n      r.addEventListener('change', function () { if (this.checked) render(this.value); });\n    });\n    var checked = radios.find(function (r) { return r.checked; });\n    if (checked) render(checked.value);\n\n    document.addEventListener('change', function (e) {\n      var val = e.target \u0026\u0026 e.target.value;\n      if (val \u0026\u0026 isSizeVal(val)) render(val);\n    });\n\n    ['variant:changed', 'variantchange', 'on:variant:change'].forEach(function (evtName) {\n      document.addEventListener(evtName, function (e) {\n        var d = e.detail;\n        if (!d) return;\n        var v = d.variant || d;\n        if (v \u0026\u0026 v.option1 \u0026\u0026 isSizeVal(v.option1)) render(v.option1);\n      });\n    });\n\n    \/\/ Gusto theme fix: watch input[name=\"id\"] for variant changes\n    var variantInput = document.querySelector('input[name=\"id\"]');\n    if (variantInput) {\n      if (variantInput.value) renderFromVariantId(variantInput.value);\n      variantInput.addEventListener('change', function () {\n        if (this.value) renderFromVariantId(this.value);\n      });\n      var observer = new MutationObserver(function (mutations) {\n        mutations.forEach(function (m) {\n          if (m.type === 'attributes' \u0026\u0026 m.attributeName === 'value') {\n            var val = variantInput.getAttribute('value');\n            if (val) renderFromVariantId(val);\n          }\n        });\n      });\n      observer.observe(variantInput, { attributes: true, attributeFilter: ['value'] });\n      var descriptor = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value');\n      if (descriptor \u0026\u0026 descriptor.set) {\n        var originalSet = descriptor.set;\n        Object.defineProperty(variantInput, 'value', {\n          set: function (val) {\n            originalSet.call(this, val);\n            if (val) renderFromVariantId(val);\n          },\n          get: descriptor.get\n        });\n      }\n    }\n\n    try {\n      var urlVid = new URL(location.href).searchParams.get('variant');\n      if (urlVid) renderFromVariantId(urlVid);\n    } catch (e) {}\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', setup);\n  } else {\n    setup();\n  }\n})();\n\u003c\/script\u003e\n","brand":"Bear Hollow Supply","offers":[{"title":"16\" \/ 1 Set (2 Legs)","offer_id":48544939344123,"sku":"100232","price":170.0,"currency_code":"USD","in_stock":true},{"title":"16\" \/ Bulk Pack: 5 Sets (10 Legs)","offer_id":48544939376891,"sku":"AUST-16-BLK-5PK","price":722.5,"currency_code":"USD","in_stock":false},{"title":"28\" \/ 1 Set (2 Legs)","offer_id":48544939409659,"sku":"100231","price":360.0,"currency_code":"USD","in_stock":true},{"title":"28\" \/ Bulk Pack: 5 Sets (10 Legs)","offer_id":48544939442427,"sku":"AUST-28-BLK-5PK","price":1530.0,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0118\/9160\/5604\/files\/DSC_1205web_1_cb6a00d7-8ac7-44de-992e-69c538becbee.jpg?v=1774291344","url":"https:\/\/bearhollowsupply.com\/products\/cast-aluminum-table-legs-austin","provider":"Bear Hollow Supply","version":"1.0","type":"link"}