{"product_id":"individually-addressable-series-led-strip-light","title":"LED Strip Light Individually Addressable Series","description":"\u003csection class=\"spec-page\"\u003e\u003c!-- FULL-WIDTH CAROUSEL (Top) --\u003e\n\u003csection class=\"spec-carousel\" aria-label=\"Product photos\"\u003e\n\u003cdiv class=\"spec-carousel-track\" id=\"cobCarousel\" tabindex=\"0\"\u003e\n\u003cdiv class=\"spec-carousel-slide\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/685958f1-019f-4d49-94f0-905f0355724d.png?v=1772127921\" alt=\"LED Strip Light SMP Series 1\" loading=\"eager\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"spec-carousel-slide\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/7b861837-6257-4c76-8d13-3e583b82c559.png?v=1772127921\" alt=\"LED Strip Light SMP Series 2\" loading=\"eager\"\u003e\u003c\/div\u003e\n\u003c!-- Add more images like this when you have them --\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"spec-carousel-btn prev\" type=\"button\" aria-label=\"Previous photo\" data-carousel-prev=\"\"\u003e‹\u003c\/button\u003e \u003cbutton class=\"spec-carousel-btn next\" type=\"button\" aria-label=\"Next photo\" data-carousel-next=\"\"\u003e›\u003c\/button\u003e\n\u003cdiv class=\"spec-carousel-dots\" aria-label=\"Carousel navigation\" data-carousel-dots=\"\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/section\u003e\n\u003cscript\u003e\n(function () {\n  const carousel = document.querySelector(\".spec-carousel\");\n  if (!carousel) return;\n\n  const track = carousel.querySelector(\".spec-carousel-track\");\n  const slides = Array.from(carousel.querySelectorAll(\".spec-carousel-slide\"));\n  const prevBtn = carousel.querySelector(\"[data-carousel-prev]\");\n  const nextBtn = carousel.querySelector(\"[data-carousel-next]\");\n  const dotsWrap = carousel.querySelector(\"[data-carousel-dots]\");\n\n  if (!track || slides.length === 0) return;\n\n  let currentIndex = 0;\n  let autoplayTimer = null;\n  const AUTOPLAY_MS = 5000;\n\n  function slideWidth() {\n    return track.getBoundingClientRect().width;\n  }\n\n  function clampIndex(i) {\n    if (i \u003c 0) return 0;\n    if (i \u003e slides.length - 1) return slides.length - 1;\n    return i;\n  }\n\n  function scrollToIndex(i, opts) {\n    currentIndex = clampIndex(i);\n    track.scrollTo({\n      left: currentIndex * slideWidth(),\n      behavior: (opts \u0026\u0026 opts.instant) ? \"auto\" : \"smooth\"\n    });\n    updateDots();\n    updateButtons();\n  }\n\n  function updateButtons() {\n    if (!prevBtn || !nextBtn) return;\n    prevBtn.disabled = currentIndex === 0;\n    nextBtn.disabled = currentIndex === slides.length - 1;\n    prevBtn.style.opacity = prevBtn.disabled ? \"0.45\" : \"1\";\n    nextBtn.style.opacity = nextBtn.disabled ? \"0.45\" : \"1\";\n    prevBtn.style.pointerEvents = prevBtn.disabled ? \"none\" : \"auto\";\n    nextBtn.style.pointerEvents = nextBtn.disabled ? \"none\" : \"auto\";\n  }\n\n  function buildDots() {\n    if (!dotsWrap) return;\n    dotsWrap.innerHTML = \"\";\n    slides.forEach((_, i) =\u003e {\n      const btn = document.createElement(\"button\");\n      btn.type = \"button\";\n      btn.className = \"spec-carousel-dot\";\n      btn.setAttribute(\"aria-label\", \"Go to slide \" + (i + 1));\n      btn.addEventListener(\"click\", () =\u003e scrollToIndex(i));\n      dotsWrap.appendChild(btn);\n    });\n    updateDots();\n  }\n\n  function updateDots() {\n    if (!dotsWrap) return;\n    const dots = Array.from(dotsWrap.querySelectorAll(\".spec-carousel-dot\"));\n    dots.forEach((d, i) =\u003e {\n      const active = i === currentIndex;\n      d.setAttribute(\"aria-current\", active ? \"true\" : \"false\");\n    });\n  }\n\n  function syncIndexFromScroll() {\n    const w = slideWidth();\n    const i = Math.round(track.scrollLeft \/ w);\n    const next = clampIndex(i);\n    if (next !== currentIndex) {\n      currentIndex = next;\n      updateDots();\n      updateButtons();\n    }\n  }\n\n  function startAutoplay() {\n    stopAutoplay();\n    autoplayTimer = window.setInterval(() =\u003e {\n      const next = (currentIndex + 1) % slides.length;\n      scrollToIndex(next);\n    }, AUTOPLAY_MS);\n  }\n\n  function stopAutoplay() {\n    if (autoplayTimer) window.clearInterval(autoplayTimer);\n    autoplayTimer = null;\n  }\n\n  if (prevBtn) prevBtn.addEventListener(\"click\", () =\u003e scrollToIndex(currentIndex - 1));\n  if (nextBtn) nextBtn.addEventListener(\"click\", () =\u003e scrollToIndex(currentIndex + 1));\n\n  track.addEventListener(\"scroll\", () =\u003e {\n    window.requestAnimationFrame(syncIndexFromScroll);\n  });\n\n  carousel.addEventListener(\"mouseenter\", stopAutoplay);\n  carousel.addEventListener(\"mouseleave\", startAutoplay);\n  carousel.addEventListener(\"focusin\", stopAutoplay);\n  carousel.addEventListener(\"focusout\", startAutoplay);\n\n  track.addEventListener(\"keydown\", (e) =\u003e {\n    if (e.key === \"ArrowLeft\") scrollToIndex(currentIndex - 1);\n    if (e.key === \"ArrowRight\") scrollToIndex(currentIndex + 1);\n  });\n\n  window.addEventListener(\"resize\", () =\u003e {\n    scrollToIndex(currentIndex, { instant: true });\n  });\n\n  buildDots();\n  scrollToIndex(0, { instant: true });\n  startAutoplay();\n})();\n\u003c\/script\u003e \u003c!-- HERO --\u003e\n\u003csection class=\"spec-hero\"\u003e\n\u003cdiv style=\"text-align: start;\" class=\"spec-hero-media\"\u003e\n\u003cbr\u003e\u003cimg style=\"margin-bottom: 16px; float: none;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/Product_Photo_34c7ea84-9b9f-4cc8-91d9-eaeb277accf9.png?v=1773425200\" alt=\"Product Photo\" loading=\"lazy\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-hero-content\"\u003e\n\u003ch4 class=\"spec-title\"\u003eLED Strip Light Individually Addressable Series\u003c\/h4\u003e\n\u003cp class=\"spec-tagline\"\u003eSeamless linear illumination for architectural coves, millwork, and detail lighting. Available in SMD and COB constructions, with RGB and RGBW options depending on model.\u003c\/p\u003e\n\u003cdiv class=\"spec-stats\" aria-label=\"Key specifications\"\u003e\n\u003cspan\u003eIP20 Rated\u003c\/span\u003e \u003cspan\u003e10mm PCB Width\u003c\/span\u003e \u003cspan\u003e10m Rill\u003c\/span\u003e \u003cspan\u003e24V DC System\u003c\/span\u003e \u003cspan\u003eUL Listed\u003c\/span\u003e\n\u003c\/div\u003e\n\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/LED_Strip_Light_Individually_Accessible_Series_-_February_26_2026.pdf?v=1772722655\" class=\"spec-btn\" rel=\"noopener\" title=\"Item Spec Sheet\" target=\"_blank\"\u003e Download Spec Sheet \u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c!-- SUPPORT VISUAL --\u003e\u003c!-- FEATURES --\u003e\n\u003csection class=\"spec-features\"\u003e\n\u003ch2 class=\"spec-section-title\"\u003eHighlighted Features\u003c\/h2\u003e\n\u003cdiv class=\"spec-feature-grid\"\u003e\n\u003cdiv class=\"spec-feature\"\u003e\n\u003cdiv class=\"spec-feature-label\"\u003eTechnology Options\u003c\/div\u003e\n\u003cdiv class=\"spec-feature-text\"\u003eAvailable in SMD and COB configurations to match different visual uniformity and application requirements.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-feature\"\u003e\n\u003cdiv class=\"spec-feature-label\"\u003eOutput Performance\u003c\/div\u003e\n\u003cdiv class=\"spec-feature-text\"\u003eMultiple wattage options available by model, including 14.4W\/m, 16W\/m, and 21W\/m for accent and architectural integration.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-feature\"\u003e\n\u003cdiv class=\"spec-feature-label\"\u003eLED Density Options\u003c\/div\u003e\n\u003cdiv class=\"spec-feature-text\"\u003eSMD options include 60 LEDs per meter. COB options include high density configurations up to 784 chips per meter for smoother, dot minimized appearance.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-feature\"\u003e\n\u003cdiv class=\"spec-feature-label\"\u003eColor Options\u003c\/div\u003e\n\u003cdiv class=\"spec-feature-text\"\u003eRGB and RGBW options available depending on model selection.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-feature\"\u003e\n\u003cdiv class=\"spec-feature-label\"\u003e24V DC System\u003c\/div\u003e\n\u003cdiv class=\"spec-feature-text\"\u003e24V low voltage design helps reduce voltage drop over longer runs and supports stable performance.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-feature\"\u003e\n\u003cdiv class=\"spec-feature-label\"\u003eIndoor Rating\u003c\/div\u003e\n\u003cdiv class=\"spec-feature-text\"\u003eIP20 rated for dry interior applications.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-feature\"\u003e\n\u003cdiv class=\"spec-feature-label\"\u003eCompliance\u003c\/div\u003e\n\u003cdiv class=\"spec-feature-text\"\u003eUL Listed for North American compliance.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-feature\"\u003e\n\u003cdiv class=\"spec-feature-label\"\u003eProfile Compatible Design\u003c\/div\u003e\n\u003cdiv class=\"spec-feature-text\"\u003e10mm PCB width supports integration into standard aluminum extrusion channels for clean, concealed installations.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-feature\"\u003e\n\u003cdiv class=\"spec-feature-label\"\u003eHigh Uniformity Output\u003c\/div\u003e\n\u003cdiv class=\"spec-feature-text\"\u003eDesigned to deliver consistent linear illumination suitable for coves, reveals, and indirect lighting applications.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-feature\"\u003e\n\u003cdiv class=\"spec-feature-label\"\u003eField Cuttable Layout\u003c\/div\u003e\n\u003cdiv class=\"spec-feature-text\"\u003eSegmented construction allows on site customization for precise layout adjustments and clean terminations.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-feature\"\u003e\n\u003cdiv class=\"spec-feature-label\"\u003eArchitectural Integration Ready\u003c\/div\u003e\n\u003cdiv class=\"spec-feature-text\"\u003eSuitable for residential, commercial, and hospitality environments requiring seamless linear lighting.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-feature\"\u003e\n\u003cdiv class=\"spec-feature-label\"\u003eThermal Integration Compatible\u003c\/div\u003e\n\u003cdiv class=\"spec-feature-text\"\u003eDesigned for use within aluminum channels to support heat dissipation and long term performance.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c\/section\u003e\n\u003cstyle\u003e\n  .spec-page{\n    max-width: 1180px;\n    margin: 0 auto;\n    padding: 40px 16px 24px;\n  }\n\n  \/* HERO *\/\n  .spec-hero{\n    display: grid;\n    grid-template-columns: 1.05fr 0.95fr;\n    gap: 56px;\n    align-items: center;\n  }\n\n  .spec-hero-media img{\n    width: 100%;\n    height: auto;\n    display: block;\n    border-radius: 14px;\n  }\n\n  .spec-title{\n    margin: 0 0 10px;\n    font-size: clamp(28px, 3vw, 40px);\n    line-height: 1.15;\n    font-weight: 600;\n    letter-spacing: 0.2px;\n  }\n\n  .spec-tagline{\n    margin: 0 0 18px;\n    font-size: 16px;\n    line-height: 1.55;\n    font-weight: 400;\n    color: rgba(0,0,0,0.70);\n    max-width: 46ch;\n  }\n\n  \/* Stat row: minimal pipe-separated *\/\n  .spec-stats{\n    display: flex;\n    flex-wrap: wrap;\n    gap: 10px 14px;\n    margin: 0 0 22px;\n    font-size: 13px;\n    letter-spacing: 0.3px;\n    color: rgba(0,0,0,0.62);\n  }\n\n  .spec-stats span{\n    position: relative;\n    padding-right: 14px;\n    white-space: nowrap;\n  }\n\n  .spec-stats span:not(:last-child)::after{\n    content: \"|\";\n    position: absolute;\n    right: 4px;\n    color: rgba(0,0,0,0.28);\n  }\n\n  \/* CTA button: subtle *\/\n  .spec-btn{\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    padding: 12px 16px;\n    border-radius: 10px;\n    text-decoration: none;\n    font-weight: 600;\n    font-size: 14px;\n    border: 1px solid rgba(0,0,0,0.14);\n    color: rgba(0,0,0,0.86);\n    background: #fff;\n    transition: transform 120ms ease, box-shadow 120ms ease;\n  }\n\n  .spec-btn:hover{\n    transform: translateY(-1px);\n    box-shadow: 0 10px 24px rgba(0,0,0,0.08);\n  }\n\n  \/* SUPPORT *\/\n  .spec-support{\n    margin-top: 32px;\n  }\n\n  .spec-support img{\n    width: 100%;\n    height: auto;\n    display: block;\n    border-radius: 14px;\n  }\n\n  \/* FEATURES *\/\n  .spec-features{\n    margin-top: 40px;\n    padding-top: 26px;\n    border-top: 1px solid rgba(0,0,0,0.08);\n  }\n\n  .spec-section-title{\n    margin: 0 0 18px;\n    font-size: 16px;\n    font-weight: 600;\n    letter-spacing: 0.2px;\n    color: rgba(0,0,0,0.88);\n  }\n\n  .spec-feature-grid{\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 18px 40px;\n    align-items: start;\n  }\n\n  .spec-feature{\n    display: grid;\n    grid-template-columns: 210px 1fr;\n    gap: 14px;\n  }\n\n  .spec-feature-label{\n    font-size: 13px;\n    font-weight: 600;\n    color: rgba(0,0,0,0.90);\n    letter-spacing: 0.2px;\n  }\n\n  .spec-feature-text{\n    font-size: 14px;\n    line-height: 1.6;\n    color: rgba(0,0,0,0.68);\n  }\n\n  \/* Mobile *\/\n  @media (max-width: 900px){\n    .spec-hero{\n      grid-template-columns: 1fr;\n      gap: 24px;\n      align-items: start;\n    }\n\n    .spec-stats span{\n      padding-right: 0;\n      white-space: normal;\n    }\n\n    .spec-stats span:not(:last-child)::after{\n      content: \"\";\n    }\n\n    .spec-feature-grid{\n      grid-template-columns: 1fr;\n      gap: 14px;\n    }\n\n    .spec-feature{\n      grid-template-columns: 1fr;\n      gap: 6px;\n    }\n  }\n\n\/* FULL-WIDTH CAROUSEL *\/\n.spec-carousel{\n  position: relative;\n  width: 100vw;\n  left: 50%;\n  right: 50%;\n  margin-left: -50vw;\n  margin-right: -50vw;\n  margin-top: -40px;\n  margin-bottom: 26px;\n  overflow: hidden;\n  background: #0b0b0b;\n}\n\n.spec-carousel-track{\n  display: flex;\n  overflow-x: auto;\n  scroll-snap-type: x mandatory;\n  scroll-behavior: smooth;\n  -webkit-overflow-scrolling: touch;\n  scrollbar-width: none;\n}\n\n.spec-carousel-track::-webkit-scrollbar{\n  display: none;\n}\n\n.spec-carousel-slide{\n  flex: 0 0 100%;\n  scroll-snap-align: center;\n  position: relative;\n  background: #0b0b0b;\n}\n\n.spec-carousel-slide img{\n  width: 100%;\n  height: auto;\n  display: block;\n}\n\n.spec-carousel-btn{\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n  width: 42px;\n  height: 42px;\n  border-radius: 999px;\n  border: 1px solid rgba(255,255,255,0.22);\n  background: rgba(0,0,0,0.38);\n  color: #fff;\n  font-size: 22px;\n  line-height: 1;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  cursor: pointer;\n  transition: transform 120ms ease, background 120ms ease;\n}\n\n.spec-carousel-btn:hover{\n  background: rgba(0,0,0,0.55);\n  transform: translateY(-50%) scale(1.03);\n}\n\n.spec-carousel-btn.prev{\n  left: 14px;\n}\n\n.spec-carousel-btn.next{\n  right: 14px;\n}\n\n.spec-carousel-dots{\n  position: absolute;\n  left: 50%;\n  bottom: 14px;\n  transform: translateX(-50%);\n  display: flex;\n  gap: 8px;\n  padding: 6px 10px;\n  border-radius: 999px;\n  background: rgba(0,0,0,0.28);\n  border: 1px solid rgba(255,255,255,0.12);\n}\n\n.spec-carousel-dot{\n  width: 8px;\n  height: 8px;\n  border-radius: 999px;\n  background: rgba(255,255,255,0.35);\n  border: 0;\n  cursor: pointer;\n}\n\n.spec-carousel-dot[aria-current=\"true\"]{\n  background: rgba(255,255,255,0.92);\n}\n\n@media (max-width: 900px){\n  .spec-carousel{\n    margin-top: -24px;\n    margin-bottom: 18px;\n  }\n\n  .spec-carousel-btn{\n    width: 36px;\n    height: 36px;\n    font-size: 18px;\n  }\n\n  .spec-carousel-btn.prev{\n    left: 10px;\n  }\n\n  .spec-carousel-btn.next{\n    right: 10px;\n  }\n\n  .spec-carousel-dots{\n    bottom: 10px;\n  }\n}\n\n\u003c\/style\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003c!-- Paste this WHOLE BLOCK under your existing HTML.\n     It keeps your markup and only adds: (1) working dots, (2) working prev\/next,\n     (3) autoplay every 5 seconds, (4) pauses on hover\/focus, (5) supports any # of slides. --\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"C\u0026C Lighting","offers":[{"title":"Default Title","offer_id":42176979664981,"sku":null,"price":0.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/ProductPhoto.png?v=1773425297","url":"https:\/\/candclight.com\/products\/individually-addressable-series-led-strip-light","provider":"C\u0026C Lighting","version":"1.0","type":"link"}