{"product_id":"6-metre-dry-ridge-kit-best-value-in-the-uk","title":"6 Metre Dry Ridge Kit – Best Value in the UK","description":"\u003cdiv id=\"drk-product-wrap\" style=\"font-family: sans-serif; max-width: 800px;\"\u003e\n\n\u003ch2 style=\"color: #111; font-size: 28px; font-weight: 900; text-transform: uppercase; margin-bottom: 8px;\"\u003e6 Metre Dry Ridge Kit\u003c\/h2\u003e\n\u003cp style=\"font-size: 16px; font-weight: 700; color: #c00; margin-bottom: 16px;\"\u003e⭐ BEST VALUE DRY RIDGE KIT IN THE UK ⭐\u003c\/p\u003e\n\n\u003cdiv id=\"drk-price-banner\" style=\"background:#1a4fba;color:#fff;border-radius:4px;padding:14px 20px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;\"\u003e\n  \u003cdiv\u003e\n    \u003cdiv style=\"font-size:13px;text-transform:uppercase;letter-spacing:1px;opacity:0.85;\"\u003eYour price per kit\u003c\/div\u003e\n    \u003cdiv id=\"drk-unit-price\" style=\"font-size:32px;font-weight:900;\"\u003e£22.99\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv id=\"drk-tier-badge\" style=\"background:rgba(255,255,255,0.15);border-radius:3px;padding:8px 14px;font-size:13px;font-weight:700;text-align:center;\"\u003e\n    1–9 kits — Standard Price\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv style=\"margin-bottom:24px;\"\u003e\n  \u003ctable style=\"width:100%;border-collapse:collapse;font-size:14px;\"\u003e\n    \u003cthead\u003e\n      \u003ctr style=\"background:#111;color:#fff;\"\u003e\n        \u003cth style=\"padding:10px 14px;text-align:left;\"\u003eQuantity\u003c\/th\u003e\n        \u003cth style=\"padding:10px 14px;text-align:left;\"\u003ePrice Per Kit\u003c\/th\u003e\n        \u003cth style=\"padding:10px 14px;text-align:left;\"\u003eYou Save\u003c\/th\u003e\n      \u003c\/tr\u003e\n    \u003c\/thead\u003e\n    \u003ctbody\u003e\n      \u003ctr id=\"drk-row-1\"\u003e\n\u003ctd style=\"padding:9px 14px;border-bottom:1px solid #eee;font-weight:700;\"\u003e1–9 kits\u003c\/td\u003e\n\u003ctd style=\"padding:9px 14px;border-bottom:1px solid #eee;font-weight:700;\"\u003e£22.99\u003c\/td\u003e\n\u003ctd style=\"padding:9px 14px;border-bottom:1px solid #eee;color:#555;\"\u003e—\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr id=\"drk-row-10\"\u003e\n\u003ctd style=\"padding:9px 14px;border-bottom:1px solid #eee;\"\u003e10–24 kits\u003c\/td\u003e\n\u003ctd style=\"padding:9px 14px;border-bottom:1px solid #eee;font-weight:700;\"\u003e£21.99\u003c\/td\u003e\n\u003ctd style=\"padding:9px 14px;border-bottom:1px solid #eee;color:#1a4fba;font-weight:600;\"\u003eSave £1.00 each\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr id=\"drk-row-25\"\u003e\n\u003ctd style=\"padding:9px 14px;border-bottom:1px solid #eee;\"\u003e25–49 kits\u003c\/td\u003e\n\u003ctd style=\"padding:9px 14px;border-bottom:1px solid #eee;font-weight:700;\"\u003e£19.99\u003c\/td\u003e\n\u003ctd style=\"padding:9px 14px;border-bottom:1px solid #eee;color:#1a4fba;font-weight:600;\"\u003eSave £3.00 each\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr id=\"drk-row-50\"\u003e\n\u003ctd style=\"padding:9px 14px;border-bottom:1px solid #eee;\"\u003e50–124 kits\u003c\/td\u003e\n\u003ctd style=\"padding:9px 14px;border-bottom:1px solid #eee;font-weight:700;\"\u003e£18.99\u003c\/td\u003e\n\u003ctd style=\"padding:9px 14px;border-bottom:1px solid #eee;color:#1a4fba;font-weight:600;\"\u003eSave £4.00 each\u003c\/td\u003e\n\u003c\/tr\u003e\n      \u003ctr id=\"drk-row-125\"\u003e\n\u003ctd style=\"padding:9px 14px;\"\u003e125+ kits\u003c\/td\u003e\n\u003ctd style=\"padding:9px 14px;font-weight:700;\"\u003e£17.99\u003c\/td\u003e\n\u003ctd style=\"padding:9px 14px;color:#1a4fba;font-weight:600;\"\u003eSave £5.00 each\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003c\/tbody\u003e\n  \u003c\/table\u003e\n\u003c\/div\u003e\n\n\u003cp style=\"font-size:15px;color:#333;line-height:1.7;margin-bottom:20px;\"\u003eKeep your ridge line sealed, secure and weatherproof with our professional-grade \u003cstrong\u003e6 Metre Dry Ridge Kit\u003c\/strong\u003e. Trusted by roofers across the UK — enter your quantity and the best price applies automatically.\u003c\/p\u003e\n\n\u003ch3 style=\"font-size:15px;font-weight:800;text-transform:uppercase;margin-bottom:12px;color:#111;\"\u003e✅ Why Choose Our Dry Ridge Kit?\u003c\/h3\u003e\n\u003cul style=\"list-style:none;padding:0;margin-bottom:24px;\"\u003e\n  \u003cli style=\"padding:8px 0;border-bottom:1px solid #eee;font-size:14px;\"\u003e\n\u003cstrong\u003e🛡 Maximum Protection\u003c\/strong\u003e — Keeps out rain, wind \u0026amp; pests\u003c\/li\u003e\n  \u003cli style=\"padding:8px 0;border-bottom:1px solid #eee;font-size:14px;\"\u003e\n\u003cstrong\u003e🔧 Easy to Install\u003c\/strong\u003e — Saves time \u0026amp; labour on every job\u003c\/li\u003e\n  \u003cli style=\"padding:8px 0;border-bottom:1px solid #eee;font-size:14px;\"\u003e\n\u003cstrong\u003e💎 Built to Last\u003c\/strong\u003e — Durable. Reliable. Trade approved.\u003c\/li\u003e\n  \u003cli style=\"padding:8px 0;border-bottom:1px solid #eee;font-size:14px;\"\u003e\n\u003cstrong\u003e£ Great Value\u003c\/strong\u003e — Top quality at unbeatable prices\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp style=\"font-size:13px;color:#555;margin-bottom:16px;\"\u003e🚚 \u003cstrong\u003eFast UK Delivery\u003c\/strong\u003e  |  ✅ \u003cstrong\u003ePremium Quality\u003c\/strong\u003e  |  🤝 \u003cstrong\u003eTrusted by Roofers\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"font-size:13px;color:#777;border-top:1px solid #eee;padding-top:14px;\"\u003eTrade \u0026amp; bulk enquiries: \u003cstrong\u003e01772 500044\u003c\/strong\u003e  |  \u003cstrong\u003esales@uk-hardware.com\u003c\/strong\u003e\u003c\/p\u003e\n\n\u003c\/div\u003e\n\n\u003cscript\u003e\n(function(){\n  var TIERS = [\n    [1,   '6 Metre Kit',               22.99, 'drk-row-1',   '1\\u20139 kits \\u2014 Standard Price'],\n    [10,  'Buy 10 (\\u00a321.99 each)',  21.99, 'drk-row-10',  '10+ kits \\u2014 Save \\u00a31.00 each'],\n    [25,  'Buy 25 (\\u00a319.99 each)',  19.99, 'drk-row-25',  '25+ kits \\u2014 Save \\u00a33.00 each'],\n    [50,  'Buy 50 (\\u00a318.99 each)',  18.99, 'drk-row-50',  '50+ kits \\u2014 Save \\u00a34.00 each'],\n    [125, 'Buy 125 (\\u00a317.99 each)', 17.99, 'drk-row-125', '125+ kits \\u2014 Save \\u00a35.00 each']\n  ];\n  var ROW_BASE   = ['background:#f0f5ff','background:#fff','background:#f9f9f9','background:#fff','background:#f9f9f9'];\n  var ROW_ACTIVE = 'background:#dce8ff;border-left:4px solid #1a4fba';\n\n  var _lock      = false; \/\/ true while WE are programmatically setting qty or variant\n  var _debounce  = null;  \/\/ debounce timer for qty input\n\n  function getTierByQty(qty){\n    var t = TIERS[0];\n    for(var i = 0; i \u003c TIERS.length; i++){ if(qty \u003e= TIERS[i][0]) t = TIERS[i]; }\n    return t;\n  }\n  function getTierByOption(val){\n    for(var i = 0; i \u003c TIERS.length; i++){ if(TIERS[i][1] === val) return TIERS[i]; }\n    return null;\n  }\n  function highlightTable(tier){\n    TIERS.forEach(function(t, i){\n      var row = document.getElementById(t[3]);\n      if(row) row.style.cssText = (t === tier) ? ROW_ACTIVE : ROW_BASE[i];\n    });\n  }\n  function updateBanner(tier){\n    var u = document.getElementById('drk-unit-price');\n    var b = document.getElementById('drk-tier-badge');\n    if(u) u.textContent = '\\u00a3' + tier[2].toFixed(2);\n    if(b) b.textContent = tier[4];\n    highlightTable(tier);\n  }\n\n  \/\/ Check a radio + fire change on variant-picker (theme reads checked state internally)\n  function switchVariantByOption(optionValue){\n    var radios = document.querySelectorAll('[data-picker-field] input[type=\"radio\"]');\n    for(var i = 0; i \u003c radios.length; i++){\n      if(radios[i].value === optionValue){\n        radios[i].checked = true;\n        var vp = document.querySelector('variant-picker');\n        if(vp) vp.dispatchEvent(new Event('change', {bubbles:true}));\n        return;\n      }\n    }\n  }\n\n  \/\/ Set qty display only — guarded by _lock so our own qty listener ignores it\n  function setQtyDisplay(qty){\n    _lock = true;\n    document.querySelectorAll('input[name=\"quantity\"], .quantity__input').forEach(function(inp){\n      inp.value = qty;\n      inp.dispatchEvent(new Event('input',  {bubbles:true}));\n      inp.dispatchEvent(new Event('change', {bubbles:true}));\n    });\n    setTimeout(function(){ _lock = false; }, 400);\n  }\n\n  \/\/ Called AFTER user has finished typing (blur or debounced)\n  function applyQty(val){\n    if(_lock) return;\n    var qty  = Math.max(1, parseInt(val) || 1);\n    var tier = getTierByQty(qty);\n    updateBanner(tier);\n    switchVariantByOption(tier[1]);\n  }\n\n  \/\/ Called when user clicks a variant button\n  function onVariantSelected(optionValue){\n    var tier = getTierByOption(optionValue);\n    if(!tier) return;\n    updateBanner(tier);\n    setQtyDisplay(tier[0]);\n  }\n\n  function bindQtyInputs(){\n    document.querySelectorAll('input[name=\"quantity\"], .quantity__input').forEach(function(inp){\n      if(inp._drk) return;\n      inp._drk = true;\n\n      \/\/ Update banner live as user types (visual only — no variant switch yet)\n      inp.addEventListener('input', function(){\n        if(_lock) return;\n        var qty = Math.max(1, parseInt(this.value) || 1);\n        updateBanner(getTierByQty(qty)); \/\/ just highlight table, no variant switch\n\n        \/\/ Debounce: switch variant 600ms after user stops typing\n        clearTimeout(_debounce);\n        var v = this.value;\n        _debounce = setTimeout(function(){ applyQty(v); }, 600);\n      });\n\n      \/\/ When user leaves the field (tab\/click away) — apply immediately\n      inp.addEventListener('blur', function(){\n        clearTimeout(_debounce);\n        applyQty(this.value);\n      });\n\n      \/\/ Enter key\n      inp.addEventListener('keydown', function(e){\n        if(e.key === 'Enter' || e.keyCode === 13){\n          clearTimeout(_debounce);\n          applyQty(this.value);\n        }\n      });\n    });\n\n    \/\/ +\/- stepper buttons — apply after button settles\n    document.querySelectorAll('.quantity__button, [data-quantity-plus], [data-quantity-minus]').forEach(function(btn){\n      if(btn._drk) return;\n      btn._drk = true;\n      btn.addEventListener('click', function(){\n        clearTimeout(_debounce);\n        _debounce = setTimeout(function(){\n          var inp = document.querySelector('input[name=\"quantity\"], .quantity__input');\n          if(inp \u0026\u0026 !_lock) applyQty(inp.value);\n        }, 150);\n      });\n    });\n  }\n\n  function bindVariantPicker(){\n    var vp = document.querySelector('variant-picker');\n    if(!vp || vp._drk) return;\n    vp._drk = true;\n    vp.addEventListener('change', function(){\n      if(_lock) return;\n      setTimeout(function(){\n        var checked = vp.querySelector('[data-picker-field] input[type=\"radio\"]:checked');\n        if(checked) onVariantSelected(checked.value);\n      }, 60);\n    });\n  }\n\n  function init(){\n    bindQtyInputs();\n    bindVariantPicker();\n    var inp = document.querySelector('input[name=\"quantity\"], .quantity__input');\n    updateBanner(getTierByQty(inp ? parseInt(inp.value)||1 : 1));\n  }\n\n  if(document.readyState === 'loading'){\n    document.addEventListener('DOMContentLoaded', function(){ init(); setTimeout(init,800); setTimeout(init,2000); });\n  } else {\n    init(); setTimeout(init,800); setTimeout(init,2000);\n  }\n\n  new MutationObserver(function(){ bindQtyInputs(); bindVariantPicker(); })\n    .observe(document.body, {childList:true, subtree:true});\n})();\n\u003c\/script\u003e","brand":"UK Hardware","offers":[{"title":"6 Metre Kit","offer_id":54175687082326,"sku":"DRK-6M-1","price":22.99,"currency_code":"GBP","in_stock":true},{"title":"Buy 10 (£21.99 each)","offer_id":54175689277782,"sku":null,"price":219.9,"currency_code":"GBP","in_stock":true},{"title":"Buy 25 (£19.99 each)","offer_id":54175689310550,"sku":null,"price":499.75,"currency_code":"GBP","in_stock":true},{"title":"Buy 50 (£18.99 each)","offer_id":54175689343318,"sku":null,"price":949.5,"currency_code":"GBP","in_stock":true},{"title":"Buy 125 (£17.99 each)","offer_id":54175689376086,"sku":null,"price":2248.75,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0937\/6730\/3510\/files\/f5562ed6-2a17-4c2a-ae07-0d9127ec55de.png?v=1781273090","url":"https:\/\/www.uk-hardware.com\/products\/6-metre-dry-ridge-kit-best-value-in-the-uk","provider":"UK Hardware","version":"1.0","type":"link"}