{"title":"吸顶灯","description":"\u003cp data-start=\"230\" data-end=\"518\"\u003eLED明装吸顶灯是一种适用于住宅和商业空间的\u003cstrong data-start=\"273\" data-end=\"320\"\u003e纤薄、现代且节能的解决方案\u003c\/strong\u003e。其超薄设计可直接安装在天花板上，无需嵌入式外壳，非常适合天花板深度有限的空间。\u003c\/p\u003e\n\u003cp data-start=\"520\" data-end=\"840\"\u003e该灯采用\u003cstrong data-start=\"536\" data-end=\"571\"\u003e集成式高效LED设计\u003c\/strong\u003e，可提供明亮、均匀的照明和出色的显色性，同时显著降低能耗和维护成本。\u003cstrong data-start=\"718\" data-end=\"749\"\u003e其简洁百搭的设计\u003c\/strong\u003e与从现代简约到古典优雅的各种室内风格相得益彰。\u003c\/p\u003e","products":[{"product_id":"led-double-ring-ceiling-lights-25w","title":"LED双环吸顶灯","description":"\u003csection class=\"spec-page\"\u003e\u003c!-- FULL-WIDTH CAROUSEL (Top) --\u003e\n\u003csection class=\"spec-carousel\"\u003e\n\u003cdiv id=\"cobCarousel\" class=\"spec-carousel-track\"\u003e\n\n\u003cdiv class=\"spec-carousel-slide\"\u003e\u003cimg loading=\"eager\" alt=\"C\u0026amp;C Lighting 25W LED吸顶灯安装在现代酒店卧室中，拉丝镍嵌入式灯具发出温暖均匀的光线\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/cclighting_ledceilinglight25w_hotel_bedroom_flushmount_installation.png?v=1783006815\"\u003e\u003c\/div\u003e\n\n\u003c!-- Add more images like this when you have them --\u003e\n\n\u003c\/div\u003e\n\n\u003cbutton type=\"button\" class=\"spec-carousel-btn prev\"\u003e‹\u003c\/button\u003e \u003cbutton type=\"button\" class=\"spec-carousel-btn next\"\u003e›\u003c\/button\u003e\n\u003cdiv class=\"spec-carousel-dots\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\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\n\u003cbr\u003e\u003cimg alt=\"C\u0026amp;C Lighting 25W LED吸顶灯，带拉丝镍边框和白色玻璃扩散器，白色背景上的嵌入式灯具\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/LED_Flushed_Light_C_C_Lighting.png?v=1783006696\"\u003e\u003cbr\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-hero-content\"\u003e\n\n\u003ch4 class=\"spec-title\"\u003e25W LED吸顶灯\u003c\/h4\u003e\n\n\u003cp class=\"spec-tagline\"\u003e一款可调光嵌入式吸顶灯，色温可选2700K至6500K，为酒店、客厅、卧室和其他室内空间提供均匀、无阴影的照明。\u003c\/p\u003e\n\n\u003cdiv class=\"spec-stats\"\u003e\n\n\u003cspan\u003e25W\u003c\/span\u003e \u003cspan\u003e90-132VAC输入\u003c\/span\u003e \u003cspan\u003e2700-6500K\u003c\/span\u003e \u003cspan\u003e1,958流明\u003c\/span\u003e \u003cspan\u003e可调光\u003c\/span\u003e \u003cspan\u003eIP44防护等级\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/Double_Ring_Ceiling_Light_Spec_Sheet.pdf?v=1787331993\" class=\"spec-btn\" rel=\"noopener\" title=\"LED吸顶灯25W规格表\" target=\"_blank\"\u003e 下载规格表 \u003c\/a\u003e\n\n\u003c\/div\u003e\n\n\u003c\/section\u003e\n\u003c!-- SUPPORT VISUAL --\u003e\u003c!-- FEATURES --\u003e\n\u003csection class=\"spec-features\"\u003e\n\u003ch2 class=\"spec-section-title\"\u003e主要特点\u003c\/h2\u003e\n\n\u003cdiv class=\"spec-feature-grid\"\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e灯具类型\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e嵌入式LED吸顶灯，型号LJ000H025XA，设计用于直接替代酒店、客厅、卧室和类似室内空间中的传统环形管吸顶灯。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e输入电压\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e90-132VAC输入，频率50\/60Hz，功率因数0.92或更高，电源效率0.85或更高。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e功率与输出\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e25W灯具，产生1,958流明光通量，由20颗进口SMD3030 LED芯片提供动力，实现高亮度输出。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e色温\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e色温可选范围为2700K至6500K，显色指数（CRI）85或更高，可实现准确、自然的色彩再现。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e光束角\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e128°宽广开角，在房间内提供均匀亮度、无阴影的照明。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e调光\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e可调光，灵活控制光照水平，以适应空间氛围和功能。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e结构\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e塑料和铝制外壳，带高透光率玻璃扩散器，实现清洁、均匀的光线分布，易于安装和维护。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e尺寸\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003eØ356 x 98mm，尺寸适用于标准嵌入式吸顶安装。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e操作环境\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e额定工作温度为-25°C至40°C，湿度10-90%，储存温度范围为-30°C至60°C。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e安全与认证\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003eIP44防护等级。通过CE、FCC、ES和cUL认证，符合安全和法规要求。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e寿命\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e额定50,000小时，节能持久。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\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 \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\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e","brand":"C\u0026C Lighting","offers":[{"title":"Default Title","offer_id":32779306500181,"sku":"","price":38.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/products\/Flush_Mount_Ceiling_C_C_Lighting.jpg?v=1783006430"},{"product_id":"2x2-led-back-lit-panel-light","title":"2英尺X2英尺LED面板灯","description":"\u003csection class=\"spec-page\"\u003e\u003c!-- FULL-WIDTH CAROUSEL (Top) --\u003e\n\u003csection aria-label=\"Product photos\" class=\"spec-carousel\"\u003e\n\u003cdiv id=\"cobCarousel\" class=\"spec-carousel-track\" tabindex=\"0\"\u003e\n\n\u003cdiv class=\"spec-carousel-slide\"\u003e\u003cimg loading=\"eager\" alt=\"C\u0026amp;C Lighting 2x2 LED back-lit panel light installed in exposed T-bar grid ceiling in modern open-plan office.\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/2x2-led-backlit-panel-office-ceiling-installation.png?v=1778870233\"\u003e\u003c\/div\u003e\n\n\u003c!-- Add more images like this when you have them --\u003e\n\n\u003c\/div\u003e\n\n\u003cbutton data-carousel-prev=\"\" aria-label=\"Previous photo\" type=\"button\" class=\"spec-carousel-btn prev\"\u003e‹\u003c\/button\u003e \u003cbutton data-carousel-next=\"\" aria-label=\"Next photo\" type=\"button\" class=\"spec-carousel-btn next\"\u003e›\u003c\/button\u003e\n\u003cdiv data-carousel-dots=\"\" aria-label=\"Carousel navigation\" class=\"spec-carousel-dots\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\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\n\u003cbr\u003e\u003cimg alt=\"C\u0026amp;C Lighting 2x2 LED back-lit flat panel light with white aluminum frame and PMMA diffuser lens, front view on white background.\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/2x2-led-backlit-panel-light-white-background.png?v=1778870328\"\u003e\u003cbr\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-hero-content\"\u003e\n\n\u003ch4 class=\"spec-title\"\u003e2×2 LED 背光平板灯\u003c\/h4\u003e\n\n\u003cp class=\"spec-tagline\"\u003e一款高效的背光 LED 面板灯，适用于外露式 T 型龙骨吊顶，可在办公室、零售店、工作室和学校环境中提供均匀、减少眩光的照明 — 采用超薄 38 毫米外形设计，价格具有竞争力。\u003c\/p\u003e\n\n\u003cdiv class=\"spec-stats\" aria-label=\"Key specifications\"\u003e\n\n\u003cspan\u003e高达 125 流明\/瓦\u003c\/span\u003e \u003cspan\u003e3500K \/ 4000K \/ 5000K\u003c\/span\u003e \u003cspan\u003e0–10V 可调光\u003c\/span\u003e \u003cspan\u003e50,000 小时寿命\u003c\/span\u003e \u003cspan\u003ecUL 认证\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/LED_Panel_Light_Spec_Sheet.pdf?v=1780510256\" class=\"spec-btn\" rel=\"noopener\" title=\"2x2 LED Back-Lit Panel Light Spec Sheet\" target=\"_blank\"\u003e 下载规格表 \u003c\/a\u003e\n\n\u003c\/div\u003e\n\n\u003c\/section\u003e\n\u003c!-- SUPPORT VISUAL --\u003e\u003c!-- FEATURES --\u003e\n\u003csection class=\"spec-features\"\u003e\n\u003ch2 class=\"spec-section-title\"\u003e亮点特性\u003c\/h2\u003e\n\n\u003cdiv class=\"spec-feature-grid\"\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e背光技术\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e采用带 PMMA 透镜的背光 LED 技术 — 不再受导光板 (LGP) 的限制。提供高均匀度和出色的效率，并显著降低后续维护成本。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e高效率\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e以 80 的显色指数实现高达 125 流明\/瓦的功效。2×2 型号工作功率为 40W、35W 或 20W（可通过拨码开关选择），最高功率下可产生高达 4,600 流明（冷白光\/自然白光）或 3,312 流明（暖白光）。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e超薄 38 毫米外形\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e厚度仅为 38 毫米，驱动器安装在侧框架上，使面板与 T 型格栅平齐且低调。面板总尺寸为 604×604 毫米，驱动器盒偏移量为 375 毫米。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e三功率拨码开关\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e驱动器上内置拨码开关，可在三种瓦数设置（40W、35W 和 20W）之间进行选择，无需重新接线。提供灵活性，可根据每个空间平衡光输出和能耗。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e0–10V 调光 + DALI 选项\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e标配 0–10V 调光（10% 至 100%）。对于需要高级照明控制集成的项目，还提供数字可寻址照明接口 (DALI) 驱动器选项。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e50,000 小时寿命\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003eLED 模块和驱动器均设计用于运行 50,000 小时 (L70B50)。光学模块永久密封，无需内部清洁，最大限度地减少长期维护要求。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e色温选项\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e提供 3500K、4000K 和 5000K 色温，SDCM 为 6，UGR 为 22。120° 光束角和朗伯极地分布确保工作区下方宽广舒适的覆盖范围。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e宽输入电压\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e接受 100–347Vac @ 50\/60Hz，与标准北美电气基础设施兼容。功率因数为 0.95，THD 低于 20%，确保清洁高效的电源消耗。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e材料与结构\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e透镜为 PMMA，框架为铝（RAL 9010 白色），背盖外壳为白色喷漆铁板。IP40 防护等级，IK02 抗冲击性，SELV 隔离驱动器在 3750Vdc\/5mA\/60S 下测试。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\u003c!--nl--\"\u003e\u003cdiv class=\"spec-feature-label\"\u003e易于 T 型格栅安装\u003c\/div\u003e\n\u003cdiv class=\"spec-feature-text\"\u003e设计用于外露式 T 型格栅吊顶作为默认安装方法（手册：92301）。也支持钢丝悬挂（手册：92203），使用附件套件 PJB.DJ002-2 (2×2 和 1×4) 或 PJB.DJ002-3 (2×4)。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e应用环境\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e适用于办公室、零售店、工作室和学校。高效率、可调光性和长寿命的结合使其成为任何需要可靠、均匀的顶棚照明的商业空间的实用选择。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e制造商\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e由位于加拿大安大略省康科德的 C\u0026amp;C Lighting 设计和分销。联系方式：info@candclight.com | 1-647-887-7403。适用于加拿大和美国各地的商业项目。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003c\/section\u003e\n\u003c\/section\u003e\n\u003c!--$1--\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e```\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003c\/section\u003e","brand":"C\u0026C Lighting","offers":[{"title":"Default Title","offer_id":32900929847381,"sku":"","price":65.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/products\/2x2panel1.jpg?v=1605816390"},{"product_id":"t8-vapor-light-fixture","title":"T8 蒸汽灯具","description":"\u003csection class=\"spec-page\"\u003e\u003c!-- FULL-WIDTH CAROUSEL (Top) --\u003e\n\u003csection class=\"spec-carousel\"\u003e\n\u003cdiv id=\"cobCarousel\" class=\"spec-carousel-track\"\u003e\n\n\u003cdiv class=\"spec-carousel-slide\"\u003e\u003cimg loading=\"eager\" alt=\"C\u0026amp;C Lighting T8 Vapor Light Fixture, IP65 tri-proof luminaires mounted in parallel rows across an industrial garage ceiling, casting even neutral-white light on a concrete floor\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/cclighting_t8vaporlight_garageinstall.png?v=1787077150\"\u003e\u003c\/div\u003e\n\n\u003c!-- Add more images like this when you have them --\u003e\n\n\u003c\/div\u003e\n\n\u003cbutton type=\"button\" class=\"spec-carousel-btn prev\"\u003e‹\u003c\/button\u003e \u003cbutton type=\"button\" class=\"spec-carousel-btn next\"\u003e›\u003c\/button\u003e\n\u003cdiv class=\"spec-carousel-dots\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\u003c\/section\u003e\n\u003cscript\u003e\n(function () {\n  const carousel = document.querySelector(\".spec-carousel\");\n  if (!carousel) return;\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  if (!track || slides.length === 0) return;\n  let currentIndex = 0;\n  let autoplayTimer = null;\n  const AUTOPLAY_MS = 5000;\n  function slideWidth() {\n    return track.getBoundingClientRect().width;\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  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  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  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  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  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  function startAutoplay() {\n    stopAutoplay();\n    autoplayTimer = window.setInterval(() =\u003e {\n      const next = (currentIndex + 1) % slides.length;\n      scrollToIndex(next);\n    }, AUTOPLAY_MS);\n  }\n  function stopAutoplay() {\n    if (autoplayTimer) window.clearInterval(autoplayTimer);\n    autoplayTimer = null;\n  }\n  if (prevBtn) prevBtn.addEventListener(\"click\", () =\u003e scrollToIndex(currentIndex - 1));\n  if (nextBtn) nextBtn.addEventListener(\"click\", () =\u003e scrollToIndex(currentIndex + 1));\n  track.addEventListener(\"scroll\", () =\u003e {\n    window.requestAnimationFrame(syncIndexFromScroll);\n  });\n  carousel.addEventListener(\"mouseenter\", stopAutoplay);\n  carousel.addEventListener(\"mouseleave\", startAutoplay);\n  carousel.addEventListener(\"focusin\", stopAutoplay);\n  carousel.addEventListener(\"focusout\", startAutoplay);\n  track.addEventListener(\"keydown\", (e) =\u003e {\n    if (e.key === \"ArrowLeft\") scrollToIndex(currentIndex - 1);\n    if (e.key === \"ArrowRight\") scrollToIndex(currentIndex + 1);\n  });\n  window.addEventListener(\"resize\", () =\u003e {\n    scrollToIndex(currentIndex, { instant: true });\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\n\u003cbr\u003e\u003cimg alt=\"C\u0026amp;C Lighting T8 Vapor Light Fixture, sealed IP65 tri-proof linear luminaire with frosted PC housing and gray waterproof end caps, holds three 4FT T8 LED tubes, 100-347V\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/cclighting_t8vaporlight_productisolated.png?v=1787077149\"\u003e\u003cbr\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-hero-content\"\u003e\n\n\u003ch4 class=\"spec-title\"\u003eT8 防潮灯具\u003c\/h4\u003e\n\n\u003cp class=\"spec-tagline\"\u003eT8 防潮灯具（3 支灯管）是一款 IP65 等级的防潮灯具，专为潮湿、多尘和腐蚀性环境设计，可替代传统灯具。其密封、防腐蚀外壳适用于需要可靠密封照明的停车场、仓库、冷藏库、食品加工厂、洗车场、车间和有遮盖的户外区域。该灯具可安装三支 4 英尺 T8 LED 灯管，需单独购买。\u003c\/p\u003e\n\n\u003cdiv class=\"spec-stats\"\u003e\n\n\u003cspan\u003e100-347V\u003c\/span\u003e \u003cspan\u003e3 x 4 英尺 T8\u003c\/span\u003e \u003cspan\u003eIP65 等级\u003c\/span\u003e \u003cspan\u003e三防\u003c\/span\u003e \u003cspan\u003e50\/60Hz\u003c\/span\u003e \u003cspan\u003eUL \/ cUL 认证\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/T8_Vapor_Light_Fixture_Spec_Sheet.pdf?v=1787077149\" class=\"spec-btn\" rel=\"noopener\" title=\"T8 Vapor Light Fixture Spec Sheet\" target=\"_blank\"\u003e 下载规格表 \u003c\/a\u003e\n\n\u003c\/div\u003e\n\n\u003c\/section\u003e\n\u003c!-- SUPPORT VISUAL --\u003e\u003c!-- FEATURES --\u003e\n\u003csection class=\"spec-features\"\u003e\n\u003ch2 class=\"spec-section-title\"\u003e主要特点\u003c\/h2\u003e\n\n\u003cdiv class=\"spec-feature-grid\"\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e外壳\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e透明 PC 灯体，带密封、防腐蚀、IP65 等级密封外壳。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e灯管容量\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e可安装三支 4 英尺 T8 LED 灯管，需单独购买。仅含灯具外壳。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e反射器\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e22 号钢反射板，表面涂有高反射白色涂层，以实现最大输出。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e灯座\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003eG13 灯座，UL 认证，意大利制造 (A.A.G STUCCHI)，额定电压 600V\/600W，防止灯管脱落。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e接线\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003eUL 认证单芯铜线，125°C 耐热等级，5VA 阻燃等级。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e电源\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e支持单端或双端供电配置。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e电压\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e宽电压输入范围 100-347V，50\/60Hz。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e耐化学腐蚀性\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e耐受多种酸、碱和有机溶剂。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e硬件\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e不锈钢安装硬件，带树脂防水线圈保护。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\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  \/* HERO *\/\n  .spec-hero{\n    display: grid;\n    grid-template-columns: 1.05fr 0.95fr;\n    gap: 56px;\n    align-items: center;\n  }\n  .spec-hero-media img{\n    width: 100%;\n    height: auto;\n    display: block;\n    border-radius: 14px;\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  .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  \/* 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  .spec-stats span{\n    position: relative;\n    padding-right: 14px;\n    white-space: nowrap;\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  \/* 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  .spec-btn:hover{\n    transform: translateY(-1px);\n    box-shadow: 0 10px 24px rgba(0,0,0,0.08);\n  }\n  \/* SUPPORT *\/\n  .spec-support{\n    margin-top: 32px;\n  }\n  .spec-support img{\n    width: 100%;\n    height: auto;\n    display: block;\n    border-radius: 14px;\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  .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  .spec-feature-grid{\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 18px 40px;\n    align-items: start;\n  }\n  .spec-feature{\n    display: grid;\n    grid-template-columns: 210px 1fr;\n    gap: 14px;\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  .spec-feature-text{\n    font-size: 14px;\n    line-height: 1.6;\n    color: rgba(0,0,0,0.68);\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    .spec-stats span{\n      padding-right: 0;\n      white-space: normal;\n    }\n    .spec-stats span:not(:last-child)::after{\n      content: \"\";\n    }\n    .spec-feature-grid{\n      grid-template-columns: 1fr;\n      gap: 14px;\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.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.spec-carousel-track::-webkit-scrollbar{\n  display: none;\n}\n.spec-carousel-slide{\n  flex: 0 0 100%;\n  scroll-snap-align: center;\n  position: relative;\n  background: #0b0b0b;\n}\n.spec-carousel-slide img{\n  width: 100%;\n  height: auto;\n  display: block;\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.spec-carousel-btn:hover{\n  background: rgba(0,0,0,0.55);\n  transform: translateY(-50%) scale(1.03);\n}\n.spec-carousel-btn.prev{\n  left: 14px;\n}\n.spec-carousel-btn.next{\n  right: 14px;\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.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.spec-carousel-dot[aria-current=\"true\"]{\n  background: rgba(255,255,255,0.92);\n}\n@media (max-width: 900px){\n  .spec-carousel{\n    margin-top: -24px;\n    margin-bottom: 18px;\n  }\n  .spec-carousel-btn{\n    width: 36px;\n    height: 36px;\n    font-size: 18px;\n  }\n  .spec-carousel-btn.prev{\n    left: 10px;\n  }\n  .spec-carousel-btn.next{\n    right: 10px;\n  }\n  .spec-carousel-dots{\n    bottom: 10px;\n  }\n}\n\u003c\/style\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e","brand":"C\u0026C Lighting","offers":[{"title":"Default Title","offer_id":22880827506773,"sku":"","price":0.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/cclighting_t8vaporlight_productisolated.png?v=1787077149"},{"product_id":"12in-led-slim-ceiling-lights","title":"LED超薄吸顶灯","description":"\u003csection class=\"spec-page\"\u003e\u003c!-- FULL-WIDTH CAROUSEL (Top) --\u003e\n\u003csection class=\"spec-carousel\"\u003e\n\n\u003cdiv class=\"spec-carousel-track\" id=\"cobCarousel\" tabindex=\"0\"\u003e\n\n\n\u003cdiv class=\"spec-carousel-slide\"\u003e\n\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/12_Slim_LED_Ceiling_Light_Installation_Render.png?v=1775149906\" alt=\"12 inch slim flush mount rendered installation above a modern living room with a blue sofa, white cabinet, and floor lamp.\" loading=\"eager\"\u003e\n\n\u003c\/div\u003e\n\n\n\u003c!-- Add more images like this when you have them --\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003cbutton class=\"spec-carousel-btn prev\" type=\"button\"\u003e‹\u003c\/button\u003e\n\u003cbutton class=\"spec-carousel-btn next\" type=\"button\"\u003e›\u003c\/button\u003e\n\n\u003cdiv class=\"spec-carousel-dots\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\n\u003c\/section\u003e\n\n\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\n  const prevBtn =\n    carousel.querySelector(\"[data-carousel-prev]\") ||\n    carousel.querySelector(\".spec-carousel-btn.prev\");\n\n  const nextBtn =\n    carousel.querySelector(\"[data-carousel-next]\") ||\n    carousel.querySelector(\".spec-carousel-btn.next\");\n\n  const dotsWrap =\n    carousel.querySelector(\"[data-carousel-dots]\") ||\n    carousel.querySelector(\".spec-carousel-dots\");\n\n  if (!track || slides.length === 0) return;\n\n  const hasMultipleSlides = slides.length \u003e 1;\n\n  \/* Hide carousel navigation if only one image exists *\/\n  if (prevBtn) {\n    prevBtn.style.display = hasMultipleSlides ? \"flex\" : \"none\";\n  }\n\n  if (nextBtn) {\n    nextBtn.style.display = hasMultipleSlides ? \"flex\" : \"none\";\n  }\n\n  if (dotsWrap) {\n    dotsWrap.style.display = hasMultipleSlides ? \"flex\" : \"none\";\n  }\n\n  let currentIndex = 0;\n  let autoplayTimer = null;\n\n  const AUTOPLAY_MS = 5000;\n\n\n  function slideWidth() {\n    return track.getBoundingClientRect().width;\n  }\n\n\n  function clampIndex(i) {\n\n    if (i \u003c 0) return 0;\n\n    if (i \u003e slides.length - 1) {\n      return slides.length - 1;\n    }\n\n    return i;\n  }\n\n\n  function scrollToIndex(i, opts) {\n\n    currentIndex = clampIndex(i);\n\n    track.scrollTo({\n      left: currentIndex * slideWidth(),\n      behavior: (opts \u0026\u0026 opts.instant) ? \"auto\" : \"smooth\"\n    });\n\n    updateDots();\n    updateButtons();\n  }\n\n\n  function updateButtons() {\n\n    if (!hasMultipleSlides || !prevBtn || !nextBtn) return;\n\n    prevBtn.disabled = currentIndex === 0;\n    nextBtn.disabled = currentIndex === slides.length - 1;\n\n    prevBtn.style.opacity =\n      prevBtn.disabled ? \"0.45\" : \"1\";\n\n    nextBtn.style.opacity =\n      nextBtn.disabled ? \"0.45\" : \"1\";\n\n    prevBtn.style.pointerEvents =\n      prevBtn.disabled ? \"none\" : \"auto\";\n\n    nextBtn.style.pointerEvents =\n      nextBtn.disabled ? \"none\" : \"auto\";\n  }\n\n\n  function buildDots() {\n\n    if (!dotsWrap || !hasMultipleSlides) return;\n\n    dotsWrap.innerHTML = \"\";\n\n    slides.forEach((_, i) =\u003e {\n\n      const btn = document.createElement(\"button\");\n\n      btn.type = \"button\";\n      btn.className = \"spec-carousel-dot\";\n\n      btn.setAttribute(\n        \"aria-label\",\n        \"Go to slide \" + (i + 1)\n      );\n\n      btn.addEventListener(\n        \"click\",\n        () =\u003e scrollToIndex(i)\n      );\n\n      dotsWrap.appendChild(btn);\n\n    });\n\n    updateDots();\n  }\n\n\n  function updateDots() {\n\n    if (!dotsWrap || !hasMultipleSlides) return;\n\n    const dots = Array.from(\n      dotsWrap.querySelectorAll(\".spec-carousel-dot\")\n    );\n\n    dots.forEach((d, i) =\u003e {\n\n      const active = i === currentIndex;\n\n      d.setAttribute(\n        \"aria-current\",\n        active ? \"true\" : \"false\"\n      );\n\n    });\n  }\n\n\n  function syncIndexFromScroll() {\n\n    const w = slideWidth();\n\n    if (!w) return;\n\n    const i = Math.round(\n      track.scrollLeft \/ w\n    );\n\n    const next = clampIndex(i);\n\n    if (next !== currentIndex) {\n\n      currentIndex = next;\n\n      updateDots();\n      updateButtons();\n    }\n  }\n\n\n  function startAutoplay() {\n\n    if (!hasMultipleSlides) return;\n\n    stopAutoplay();\n\n    autoplayTimer = window.setInterval(() =\u003e {\n\n      const next =\n        (currentIndex + 1) % slides.length;\n\n      scrollToIndex(next);\n\n    }, AUTOPLAY_MS);\n  }\n\n\n  function stopAutoplay() {\n\n    if (autoplayTimer) {\n      window.clearInterval(autoplayTimer);\n    }\n\n    autoplayTimer = null;\n  }\n\n\n  if (prevBtn) {\n\n    prevBtn.addEventListener(\n      \"click\",\n      () =\u003e scrollToIndex(currentIndex - 1)\n    );\n\n  }\n\n\n  if (nextBtn) {\n\n    nextBtn.addEventListener(\n      \"click\",\n      () =\u003e scrollToIndex(currentIndex + 1)\n    );\n\n  }\n\n\n  track.addEventListener(\"scroll\", () =\u003e {\n\n    window.requestAnimationFrame(\n      syncIndexFromScroll\n    );\n\n  });\n\n\n  carousel.addEventListener(\n    \"mouseenter\",\n    stopAutoplay\n  );\n\n\n  carousel.addEventListener(\n    \"mouseleave\",\n    startAutoplay\n  );\n\n\n  carousel.addEventListener(\n    \"focusin\",\n    stopAutoplay\n  );\n\n\n  carousel.addEventListener(\n    \"focusout\",\n    startAutoplay\n  );\n\n\n  track.addEventListener(\"keydown\", (e) =\u003e {\n\n    if (e.key === \"ArrowLeft\") {\n      scrollToIndex(currentIndex - 1);\n    }\n\n    if (e.key === \"ArrowRight\") {\n      scrollToIndex(currentIndex + 1);\n    }\n\n  });\n\n\n  window.addEventListener(\"resize\", () =\u003e {\n\n    scrollToIndex(\n      currentIndex,\n      { instant: true }\n    );\n\n  });\n\n\n  buildDots();\n\n  scrollToIndex(\n    0,\n    { instant: true }\n  );\n\n  startAutoplay();\n\n})();\n\u003c\/script\u003e\n\n\n\u003c!-- HERO --\u003e\n\n\u003csection class=\"spec-hero\"\u003e\n\n\u003cdiv class=\"spec-hero-media\" style=\"text-align: start;\"\u003e\n\n\u003cbr\u003e\n\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/12_Slim_LED_Ceiling_Light_Product_Photo.png?v=1775149847\" alt=\"12 inch slim flush mount light on a white background\"\u003e\n\n\u003cbr\u003e\n\n\u003c\/div\u003e\n\n\n\n\u003cdiv class=\"spec-hero-content\"\u003e\n\n\n\u003ch4 class=\"spec-title\"\u003e\n\n超薄嵌入式安装\n\n\u003c\/h4\u003e\n\n\n\n\u003cp class=\"spec-tagline\"\u003e\n超薄LED吸顶灯，专为住宅和轻型商业室内空间提供整洁、均匀的照明而设计，纤薄的嵌入式外观非常适合紧凑空间。\n\u003c\/p\u003e\n\n\n\n\u003cdiv class=\"spec-stats\"\u003e\n\n\n\u003cspan\u003e5英寸至12英寸尺寸\u003c\/span\u003e\n\n\u003cspan\u003e12W至27W\u003c\/span\u003e\n\n\u003cspan\u003e5CCT \/ 3CCT选项\u003c\/span\u003e\n\n\u003cspan\u003e可调光\u003c\/span\u003e\n\n\u003cspan\u003e适用于潮湿场所\u003c\/span\u003e\n\n\u003cspan\u003eAC120V，60Hz\u003c\/span\u003e\n\n\n\u003c\/div\u003e\n\n\n\n\u003ca title=\"Item Spec Sheet\" rel=\"noopener\" class=\"spec-btn\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/Slim_Flush_Mount.pdf?v=1788106708\" target=\"_blank\"\u003e\n\n下载规格表\n\n\u003c\/a\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/section\u003e\n\n\n\u003c!-- SUPPORT VISUAL --\u003e\n\u003c!-- FEATURES --\u003e\n\n\n\u003csection class=\"spec-features\"\u003e\n\n\u003ch2 class=\"spec-section-title\"\u003e\n\n亮点功能\n\n\u003c\/h2\u003e\n\n\n\n\u003cdiv class=\"spec-feature-grid\"\u003e\n\n\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\n\u003cdiv class=\"spec-feature-label\"\u003e\n\n纤薄，低矮设计\n\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"spec-feature-text\"\u003e\n\n纤薄的嵌入式结构营造出整洁的嵌入式外观，同时提供均匀的吸顶照明。\n\n\u003c\/div\u003e\n\n\n\n\u003c\/div\u003e\n\n\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\n\u003cdiv class=\"spec-feature-label\"\u003e\n\n可选色温\n\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"spec-feature-text\"\u003e\n\n内置5CCT开关，可选择2700K、3000K、3500K、4000K或5000K；9英寸型号采用3CCT，分别为3000K、4000K和5000K。\n\n\u003c\/div\u003e\n\n\n\n\u003c\/div\u003e\n\n\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\n\u003cdiv class=\"spec-feature-label\"\u003e\n\n可调光驱动\n\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"spec-feature-text\"\u003e\n\n可调光驱动器提供可调节的光照水平，以适应不同的房间设置和照明需求。\n\n\u003c\/div\u003e\n\n\n\n\u003c\/div\u003e\n\n\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\n\u003cdiv class=\"spec-feature-label\"\u003e\n\n四种可用尺寸\n\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"spec-feature-text\"\u003e\n\n有5英寸、7英寸、9英寸和12英寸四种尺寸可供选择，适用于各种紧凑型天花板应用。\n\n\u003c\/div\u003e\n\n\n\n\u003c\/div\u003e\n\n\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003c!--nl--\"\u003e\u003cdiv class=\"spec-feature-label\"\u003e\n适用于潮湿场所\n\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"spec-feature-text\"\u003e\n\n适用于潮湿场所，包括浴室和有顶棚的天花板。\n\n\u003c\/div\u003e\n\n\n\n\u003c\/div\u003e\n\n\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\n\u003cdiv class=\"spec-feature-label\"\u003e\n\n标准120V输入\n\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"spec-feature-text\"\u003e\n\n专为AC120V，60Hz输入设计。\n\n\u003c\/div\u003e\n\n\n\n\u003c\/div\u003e\n\n\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\n\u003cdiv class=\"spec-feature-label\"\u003e\n\n90°C电源导体\n\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"spec-feature-text\"\u003e\n\n额定适用于90°C电源导体。\n\n\u003c\/div\u003e\n\n\n\n\u003c\/div\u003e\n\n\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\n\u003cdiv class=\"spec-feature-label\"\u003e\n\nHF-045 | 5英寸\n\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"spec-feature-text\"\u003e\n\nHF-045是5英寸型号，额定功率为12W，可选5CCT。\n\n\u003c\/div\u003e\n\n\n\n\u003c\/div\u003e\n\n\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\n\u003cdiv class=\"spec-feature-label\"\u003e\n\nHF-046 | 7英寸\n\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"spec-feature-text\"\u003e\n\nHF-046是7英寸型号，额定功率为16W，可选5CCT。\n\n\u003c\/div\u003e\n\n\n\n\u003c\/div\u003e\n\n\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\n\u003cdiv class=\"spec-feature-label\"\u003e\n\nHF-047 | 9英寸\n\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"spec-feature-text\"\u003e\n\nHF-047是9英寸型号，额定功率为18W，可选3CCT：3000K、4000K和5000K。\n\n\u003c\/div\u003e\n\n\n\n\u003c\/div\u003e\n\n\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\n\u003cdiv class=\"spec-feature-label\"\u003e\n\nHF-049 | 12英寸\n\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"spec-feature-text\"\u003e\n\nHF-049是12英寸型号，额定功率为27W，可选5CCT。\n\n\u003c\/div\u003e\n\n\n\n\u003c\/div\u003e\n\n\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\n\u003cdiv class=\"spec-feature-label\"\u003e\n\n应用多样性\n\n\u003c\/div\u003e\n\n\n\u003cdiv class=\"spec-feature-text\"\u003e\n\n\n\u003cp\u003e\n适用于走廊、衣帽间、入口、浴室、洗衣房、有顶棚的天花板以及其他住宅或轻型商业室内空间。\n\u003c\/p\u003e\n\n\n\n\u003c\/div\u003e\n\n\n\n\u003c\/div\u003e\n\n\n\n\n\n\u003c\/section\u003e\n\n\u003c\/section\u003e\n\n\n\n\u003c!--$1--\u003e\n\n\n\u003cp\u003e \u003c\/p\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003c\/section\u003e","brand":"C\u0026C Lighting","offers":[{"title":"Default Title","offer_id":32779287232597,"sku":"","price":32.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/12_Slim_LED_Ceiling_Light_Product_Photo.png?v=1775149847"},{"product_id":"2ft-x-4ft-led-panel-lights","title":"2英尺X4英尺LED面板灯","description":"\u003csection class=\"spec-page\"\u003e\u003c!-- FULL-WIDTH CAROUSEL (Top) --\u003e\n\u003csection aria-label=\"Product photos\" class=\"spec-carousel\"\u003e\n\u003cdiv id=\"cobCarousel\" class=\"spec-carousel-track\" tabindex=\"0\"\u003e\n\n\u003cdiv class=\"spec-carousel-slide\"\u003e\u003cimg loading=\"eager\" alt=\"2x4 LED back-lit panel lights installed in open-plan office T-bar grid ceiling commercial LED lighting 50W 5000K uniform illumination C\u0026amp;C Lighting Canada.\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/2ftx4ft_LED_Panel_Light_Installation_Photo.png?v=1779894024\"\u003e\u003c\/div\u003e\n\n\u003c!-- Add more images like this when you have them --\u003e\n\n\u003c\/div\u003e\n\n\u003cbutton data-carousel-prev=\"\" aria-label=\"Previous photo\" type=\"button\" class=\"spec-carousel-btn prev\"\u003e‹\u003c\/button\u003e \u003cbutton data-carousel-next=\"\" aria-label=\"Next photo\" type=\"button\" class=\"spec-carousel-btn next\"\u003e›\u003c\/button\u003e\n\u003cdiv data-carousel-dots=\"\" aria-label=\"Carousel navigation\" class=\"spec-carousel-dots\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\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\n\u003cbr\u003e\u003cimg alt=\"2x4 LED panel light back-lit flat panel white aluminum frame PMMA diffuser lens T-bar ceiling light 50W 4000K dimmable commercial lighting C\u0026amp;C Lighting.\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/2ftx4ft_LED_Panel_Light_Product_Photo.png?v=1779894013\"\u003e\u003cbr\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-hero-content\"\u003e\n\n\u003ch4 class=\"spec-title\"\u003e2×4 LED背光面板灯\u003c\/h4\u003e\n\n\u003cp class=\"spec-tagline\"\u003e高效背光LED面板，适用于外露式T型格栅天花板，在办公室、零售店、工作室和学校环境中提供均匀、无眩光的照明，拥有36毫米超薄外形和极具竞争力的价格。\u003c\/p\u003e\n\n\u003cdiv class=\"spec-stats\" aria-label=\"Key specifications\"\u003e\n\n\u003cspan\u003e高达123流明\/瓦\u003c\/span\u003e \u003cspan\u003e3500K \/ 4000K \/ 5000K\u003c\/span\u003e \u003cspan\u003e0–10V调光\u003c\/span\u003e \u003cspan\u003e50,000小时寿命\u003c\/span\u003e \u003cspan\u003ecUL认证\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/LED_Panel_Light_Spec_Sheet.pdf?v=1780510256\" class=\"spec-btn\" rel=\"noopener\" title=\"2x4 LED Back-Lit Panel Light Spec Sheet\" target=\"_blank\"\u003e下载规格表\u003c\/a\u003e\n\n\u003c\/div\u003e\n\n\u003c\/section\u003e\n\u003c!-- SUPPORT VISUAL --\u003e\u003c!-- FEATURES --\u003e\n\u003csection class=\"spec-features\"\u003e\n\u003ch2 class=\"spec-section-title\"\u003e突出特点\u003c\/h2\u003e\n\n\u003cdiv class=\"spec-feature-grid\"\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e背光技术\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e采用PMMA透镜的背光LED技术，不再受导光板（LGP）限制。提供高均匀度和卓越效率，并显著降低后续维护成本。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e高效率\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e显色指数（CRI）为80时，功效高达123流明\/瓦。2x4型号以50W、40W或30W（通过拨码开关选择）运行，在最高功率下可产生高达6,320流明（冷白\/自然白）或4,526流明（暖白）的亮度。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e超薄36毫米外形\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e厚度仅为36毫米，驱动器安装在侧框上，使面板在T型格栅内保持平齐和低调。面板总尺寸为604×1214毫米，驱动盒偏移量为375毫米。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e三功率拨码开关\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e驱动器上内置拨码开关，无需重新布线即可在50W、40W和30W三种功率设置之间进行选择。为每个空间提供平衡光输出和能耗的灵活性。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e0-10V调光+DALI选项\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e标准0-10V调光，可从10%调至100%。还提供数字可寻址照明接口（DALI）驱动选项，适用于需要高级照明控制集成的项目。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e50,000小时寿命\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003eLED模块和驱动器均设计为可运行50,000小时（L70B50）。光学模块是终身密封的，无需内部清洁，从而最大限度地减少长期维护要求。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e色温选项\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e提供3500K、4000K和5000K色温，SDCM为6，UGR为22。120°光束角和朗伯极坐标分布确保在下方工作区域实现宽广舒适的覆盖。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e宽输入电压\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e支持100–347Vac，50\/60Hz，兼容北美标准电气基础设施。功率因数为0.95，THD低于20%，确保清洁高效的功耗。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e材料与结构\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e透镜为PMMA，边框为铝（RAL 9010白色），背盖外壳为白色烤漆铁板。IP40防护等级，IK02抗冲击性，SELV隔离驱动器经过3750Vdc\/5mA\/60S测试。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e简易T型格栅安装\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e默认为外露式T型格栅天花板设计（手册：92301）。也可使用附件套件PJB.DJ002-3（2×4）支持吊线安装（手册：92203）。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e应用环境\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e适用于办公室、零售店、工作室和学校。高效、可调光和长寿命的结合，使其成为任何需要可靠、均匀顶部照明的商业空间的实用选择。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e制造商\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e由位于加拿大安大略省康科德的C\u0026amp;C Lighting设计和分销。联系方式：info@candclight.com | 1-647-887-7403。可用于加拿大和美国的商业项目。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\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 \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\u003cp\u003e \u003c\/p\u003e","brand":"C\u0026C Lighting","offers":[{"title":"30-50W\/三色温\/120V-347V\/普通调光","offer_id":32900940988501,"sku":"","price":96.7,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/products\/2x4panel1.jpg?v=1605816727"},{"product_id":"led-flushed-mount-ceiling-lights","title":"14英寸LED嵌入式吸顶灯","description":"\u003ch3 style=\"margin-top: 10px margin-bottom: 12px;\"\u003e\u003cstrong\u003e描述：\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cp style=\"text-align: justify; margin-bottom:10px; margin-top:20px;\"\u003e这款LED吸顶灯设计节能环保，易于安装、维护，使用寿命长。扩散器采用高透光率玻璃材料，光线明亮、均匀、无阴影。\u003c\/p\u003e\n\u003cp style=\"text-align: justify; margin-bottom:10px; margin-top:20px;\"\u003e灯具配备进口芯片和LED，亮度高，发光角度大。该吸顶灯是传统环形灯管吸顶灯的理想替代品。\u003c\/p\u003e\n\u003chr\u003e\n\u003ch3\u003e\u003cstrong\u003e主要特点和优势：\u003c\/strong\u003e\u003c\/h3\u003e\n\u003ctable width=\"100%\" cellpadding=\"8\" cellspacing=\"0\"\u003e\n\n\u003ctbody\u003e\n\n\u003ctr\u003e\n\n\u003ctd width=\"30%\"\u003e\u003cstrong\u003e功率：\u003c\/strong\u003e\u003c\/td\u003e\n\n\u003ctd width=\"70%\"\u003e18W\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003e\u003cstrong\u003e电压：\u003c\/strong\u003e\u003c\/td\u003e\n\n\u003ctd\u003e120V\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003e\u003cstrong\u003e可调光： \u003c\/strong\u003e\u003c\/td\u003e\n\n\u003ctd\u003e常规调光\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003e\u003cstrong\u003e色温：\u003c\/strong\u003e\u003c\/td\u003e\n\n\u003ctd\u003e4000K\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003e\u003cstrong\u003e认证：\u003c\/strong\u003e\u003c\/td\u003e\n\n\u003ctd\u003eCE FCC ES cUL IP44\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\u003ctr\u003e\n\n\u003ctd\u003e\u003cstrong\u003e保修：\u003c\/strong\u003e\u003c\/td\u003e\n\n\u003ctd\u003e3年保修。\u003c\/td\u003e\n\n\n\u003c\/tr\u003e\n\n\n\u003c\/tbody\u003e\n\n\n\u003c\/table\u003e\n\u003cp style=\"margin-top: 14px;\"\u003e\u003ca data-mce-fragment=\"1\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/CEILING_LIGHT_25W.pdf?21\" class=\"btn technical-data-btn\" target=\"_blank\"\u003eLED吸顶灯技术数据\u003c\/a\u003e\u003c\/p\u003e\n","brand":"C\u0026C Lighting","offers":[{"title":"Default Title","offer_id":32902659965013,"sku":"","price":20.0,"currency_code":"CAD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/products\/Flushmountceilinglight3.jpg?v=1605909426"},{"product_id":"products-mono-point-cylinder-down-light","title":"单点筒灯","description":"\u003csection class=\"spec-page\"\u003e\u003c!-- FULL-WIDTH CAROUSEL (Top) --\u003e\n\u003csection class=\"spec-carousel\"\u003e\n\u003cdiv class=\"spec-carousel-track\" id=\"cobCarousel\" tabindex=\"0\"\u003e\n\n\u003cdiv class=\"spec-carousel-slide\"\u003e\u003cimg alt=\"C\u0026amp;C Lighting LED Gimbal Spot Down Light LP-G0325 installed in a modern commercial interior — black cylindrical surface mount COB fixture on white ceiling casting focused downlight on display surface below, clean architectural environment with neutral tones\" loading=\"eager\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/ChatGPT_Image_Jan_30_2026_02_52_50_PM.png?v=1769807347\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"spec-carousel-slide\"\u003e\u003cimg alt=\"C\u0026amp;C Lighting LED Gimbal Spot Down Light LP-G0325 installed in a modern commercial interior — black cylindrical surface mount COB fixture on white ceiling casting focused downlight on display surface below, clean architectural environment with neutral tones\" loading=\"eager\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/Shoot_enhance.png?v=1769807348\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"spec-carousel-slide\"\u003e\u003cimg alt=\"C\u0026amp;C Lighting LED Gimbal Spot Down Light LP-G0325 installed in a modern commercial interior — black cylindrical surface mount COB fixture on white ceiling casting downlight on display surface below, clean architectural environment with neutral tones\" loading=\"eager\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/Mask_group.png?v=1770238920\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"spec-carousel-slide\"\u003e\u003cimg alt=\"C\u0026amp;C Lighting LED Gimbal Spot Down Light LP-G0325 installed in a modern commercial interior — black cylindrical surface mount COB fixture on white ceiling casting focused downlight on display surface below, clean architectural environment with neutral tones\" loading=\"eager\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/Render.png?v=1770239003\"\u003e\u003c\/div\u003e\n\n\u003c!-- Add more images like this when you have them --\u003e\n\n\u003c\/div\u003e\n\n\u003cbutton class=\"spec-carousel-btn prev\" type=\"button\"\u003e‹\u003c\/button\u003e \u003cbutton class=\"spec-carousel-btn next\" type=\"button\"\u003e›\u003c\/button\u003e\n\u003cdiv class=\"spec-carousel-dots\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\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 class=\"spec-hero-media\" style=\"text-align: start;\"\u003e\n\n\u003cbr\u003e\u003cimg alt=\"C\u0026amp;C Lighting LED Gimbal Spot Down Light LP-G0325 in white — precision aluminum cylindrical COB surface mount fixture with black interior anti-glare optics, suitable for indoor and outdoor IP65-rated residential and commercial applications\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/cc_lighting_led_gimbal_spot_down_light_lp_g0325_white_surface_mount_cob_cylinder_indoor_outdoor.png?v=1781030968\"\u003e\u003cbr\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-hero-content\"\u003e\n\n\u003ch4 class=\"spec-title\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e单点筒灯\u003c\/h4\u003e\n\n\u003cp dir=\"ltr\"\u003e单点筒灯是一款时尚多功能、适用于住宅和商业空间的表面安装和吊装灯具，旨在提供精准、聚焦的照明。它提供清晰、受控的光线，同时与现代室内设计无缝融合，是重点照明、艺术品、零售陈列、工作区域和一般环境照明的理想选择。\u003c\/p\u003e\n\n\u003cp dir=\"ltr\"\u003e这款筒灯采用精密铝制圆柱形外壳和防眩光光学器件，可提供均匀且穿透力强的光线，同时最大限度地减少眩光。多种安装配置、表面处理和光束角选择，使该平台能够适应画廊、展厅、酒店、厨房和生活空间，无论是室内还是有遮盖的室外场所均可使用。\u003c\/p\u003e\n\n\u003cdiv class=\"spec-stats\"\u003e\n\n\u003cspan\u003e10W–100W\u003c\/span\u003e \u003cspan\u003e100–347VAC 输入\u003c\/span\u003e \u003cspan\u003e3 种色温可选\u003c\/span\u003e \u003cspan\u003eCRI 83 \/ CRI 95\u003c\/span\u003e \u003cspan\u003eIP65 防护等级\u003c\/span\u003e \u003cspan\u003eETL 列名\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\u003ca title=\"LED Gimbal Spot Down Light LP-G0325 Spec Sheet\" rel=\"noopener\" class=\"spec-btn\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/Cylinder_Down_Light_Fix.pdf_44520e46-ab26-4a53-8442-627a4bdcc381.pdf?v=1787667220\" target=\"_blank\"\u003e 下载规格表 \u003c\/a\u003e\n\n\u003c\/div\u003e\n\n\u003c\/section\u003e\n\u003c!-- SUPPORT VISUAL --\u003e\u003c!-- FEATURES --\u003e\n\u003csection class=\"spec-features\"\u003e\n\u003ch2 class=\"spec-section-title\"\u003e突出特点\u003c\/h2\u003e\n\n\u003cdiv class=\"spec-feature-grid\"\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e灯具类型\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e单点表面安装和吊装筒灯，采用精密铝制圆柱形外壳，配备防眩光光学器件。专为住宅和商业空间设计。有黑色或白色饰面可供选择，支持表面或悬挂安装配置，并可选配 H 型轨道适配器。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e输入电压\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e提供三种输入电压范围：100–130V、100–277V 和 100–347V，兼容北美住宅和商业电气系统。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e瓦数选项\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e提供 10W、15W、20W、30W、40W、50W、60W 和 100W 配置，适用于各种空间大小和安装高度的重点照明、任务照明和一般照明应用。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e色温可选\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e现场可选 3 种色温：3000K、4000K 和 5000K。单一 SKU 可满足多种项目规格，无需库存不同色温的 SKU。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e光束角\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e可选光束角为 20°、30°、45° 和 60°，以满足零售、酒店、住宅和商业环境中的重点照明、任务照明或环境通用照明需求。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003eCOB LED 技术\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e高品质 COB LED 芯片提供均匀的光线分布、强大的穿透力和最小的阴影。流明输出高达 4,140 流明，光效高达 100 流明\/瓦。额定寿命为 50,000 小时（L70）。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003eCRI 选项\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e提供 CRI 83 或 CRI 95，可在零售、住宅和商业应用中实现准确的色彩再现。对于色彩还原精度至关重要的应用，推荐使用 CRI 95。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e调光\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e兼容 0-10V 调光、相位调光和 DALI，适用于所有配置。功率因数大于 0.90。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e安装配置\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e支持表面安装 (SF) 和悬挂式吊装 (SP)。还提供钢丝悬挂、延长杆安装和 H 型轨道适配器选项。订购悬挂式时，请注明电线长度（毫米）。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e反光罩选项\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e反光罩有五种饰面可供选择：黑色、白色、银色、金色和镍色。三重防眩光光学器件，带防水透镜和双光学反光罩，可实现低 UGR 性能。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e结构\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e精密铝制圆柱形外壳。IP65 等级，适用于潮湿场所，室内和室外均可使用。灯具饰面有黑色或白色可选。工作温度范围符合商业级 LED 灯具标准。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e认证\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003eETL 列名。能源之星、IC 等级、符合 FCC 和 RoHS 标准。提供 CRI 90+ 等级。适用于室内和室外 IP65 级安装。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\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 \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\u003cp\u003e \u003c\/p\u003e","brand":"C\u0026C Lighting","offers":[{"title":"Default Title","offer_id":40877504856149,"sku":"500","price":0.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/cc_lighting_led_gimbal_spot_down_light_lp_g0325_white_surface_mount_cob_cylinder_indoor_outdoor.png?v=1781030968"},{"product_id":"stretch-ceiling-lighting-immers","title":"IMMERS 定制弹力天花灯","description":"\u003csection class=\"spec-page\"\u003e\n\u003csection aria-label=\"Product photos\" class=\"spec-carousel\"\u003e\n\u003cdiv id=\"cobCarousel\" class=\"spec-carousel-track\" tabindex=\"0\"\u003e\n\n\u003cdiv class=\"spec-carousel-slide\"\u003e\u003cimg loading=\"eager\" alt=\"IMMERS Hotel Application\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/Hotel_Horizontal.png?v=1772649171\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"spec-carousel-slide\"\u003e\u003cimg loading=\"eager\" alt=\"IMMERS Restaurant Application\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/Horizontal_Restaurant.png?v=1772649171\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"spec-carousel-slide\"\u003e\u003cimg loading=\"eager\" alt=\"IMMERS Office Application\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/Office_Horizontal.png?v=1772649165\"\u003e\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cbutton data-carousel-prev=\"\" aria-label=\"Previous photo\" type=\"button\" class=\"spec-carousel-btn prev\"\u003e‹\u003c\/button\u003e \u003cbutton data-carousel-next=\"\" aria-label=\"Next photo\" type=\"button\" class=\"spec-carousel-btn next\"\u003e›\u003c\/button\u003e\n\u003cdiv data-carousel-dots=\"\" aria-label=\"Carousel navigation\" class=\"spec-carousel-dots\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\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 class=\"spec-hero-media\" style=\"text-align: start;\"\u003e\n\n\u003cbr\u003e\u003cimg loading=\"lazy\" alt=\"IMMERS Stretch ceiling light fixture on a white background\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/IMMERS_Stretch_Ceiling_Light_Product_Photo.png?v=1775150565\" style=\"margin-bottom: 16px; float: none;\"\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-hero-content\"\u003e\n\n\u003ch4 class=\"spec-title\"\u003eIMMERS 定制拉伸天花灯\u003c\/h4\u003e\n\n\u003cp class=\"spec-tagline\"\u003e高性能建筑拉伸天花照明系统，旨在大型室内空间中创造无缝的发光表面。\u003c\/p\u003e\n\n\u003cdiv aria-label=\"Key specifications\" class=\"spec-stats\"\u003e\n\n\u003cspan\u003e提供定制形状\u003c\/span\u003e \u003cspan\u003e高效 LED 系统\u003c\/span\u003e \u003cspan\u003e均匀扩散\u003c\/span\u003e \u003cspan\u003e建筑集成\u003c\/span\u003e \u003cspan\u003e高达 160 流明\/瓦\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\u003ca title=\"Item Spec Sheet\" rel=\"noopener\" class=\"spec-btn\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/IMMERS_Stretch_Ceiling_Light_Spec_Sheet-_March_4_2026.pdf?v=1772649946\" target=\"_blank\"\u003e 下载规格表 \u003c\/a\u003e\n\n\u003c\/div\u003e\n\n\u003c\/section\u003e\n\u003c!-- SUPPORT VISUAL --\u003e\u003c!-- FEATURES --\u003e\n\u003csection class=\"spec-features\"\u003e\n\u003ch2 class=\"spec-section-title\"\u003e主要特点\u003c\/h2\u003e\n\n\u003cdiv class=\"spec-feature-grid\"\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e无缝发光表面\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003eIMMERS™ 利用张拉拉伸膜技术创造大型连续照明天花板，在广阔的建筑表面上提供平滑无影的照明。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e定制形状的灵活性\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e提供矩形、圆形、椭圆形和自定义几何配置，可与现代建筑布局和室内概念无缝集成。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e光束控制\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e可选的 10°、15°、24°、36° 和 50° 光束角可实现对重点照明、洗墙或普通照明的精确控制。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e均匀光分布\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e先进的扩散膜与高效 LED 背光相结合，可产生一致的照明，而不会出现可见的 LED 点或热点。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e集成系统设计\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e完整的系统包括铝制框架结构、拉伸膜扩散器和高效 LED 模块，旨在作为单一建筑照明解决方案发挥作用。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e印花天花选项\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e拉伸膜可以融合定制图形，如天空图像、品牌元素或装饰视觉效果，以增强空间体验。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e可维修的照明平台\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003eLED 模块和驱动器在拉伸膜后面仍然可访问，允许在不完全拆卸灯具的情况下进行维护和组件更换。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e高效 LED 照明\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e优化的 LED 系统提供高流明输出和出色的能源效率，同时保持舒适的环境照明条件。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e建筑规模应用\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e专为大型室内环境设计，包括酒店大堂、办公室、零售环境、医疗保健设施和酒店空间。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e模块化安装系统\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e铝制周边框架允许在小型特色天花板或大型建筑跨度上进行可扩展安装。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\u003c!--nl--\"\u003e\u003cdiv class=\"spec-feature-label\"\u003e低眩光照明\u003c\/div\u003e\n\u003cdiv class=\"spec-feature-text\"\u003e柔和的扩散膜提供舒适的照明，减少眩光，提高公共和工作环境中的视觉舒适度。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e定制尺寸能力\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e每个 IMMERS™ 安装都根据项目规范进行工程设计，允许设计师创建适合空间的照明表面。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e室内建筑应用\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e适用于照明成为建筑设计语言一部分的商业室内环境。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003c\/section\u003e\n\u003c\/section\u003e\n\u003c!--$1--\u003e\n\u003csection class=\"spec-page\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\n\u003c\/section\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003c\/section\u003e","brand":"C\u0026C Lighting","offers":[{"title":"Default Title","offer_id":40948717781077,"sku":"","price":0.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/IMMERS_Stretch_Ceiling_Light_Product_Photo.png?v=1775150565"},{"product_id":"e-window-skylight-artificial-sunlight-cc-lighting","title":"电动天窗","description":"\u003csection class=\"spec-page\"\u003e\u003c!-- FULL-WIDTH CAROUSEL (Top) --\u003e\n\u003csection aria-label=\"Product photos\" class=\"spec-carousel\"\u003e\n\u003cdiv id=\"cobCarousel\" class=\"spec-carousel-track\" tabindex=\"0\"\u003e\n\n\u003cdiv class=\"spec-carousel-slide\"\u003e\u003cimg loading=\"eager\" alt=\"Artificial skylight installation in a modern architectural corridor, simulating natural sunlight through ceiling panels to illuminate textured walls and interior space\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/ewindow_commercial_use.png?v=1775070593\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"spec-carousel-slide\"\u003e\u003cimg loading=\"eager\" alt=\"Artificial skylight ceiling window in a minimalist room, projecting natural sunlight effect onto wooden flooring and creating a bright indoor environment\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/ewindow_room_use.png?v=1775070594\"\u003e\u003c\/div\u003e\n\n\u003c!-- Add more images like this when you have them --\u003e\n\n\u003c\/div\u003e\n\n\u003cbutton data-carousel-prev=\"\" aria-label=\"Previous photo\" type=\"button\" class=\"spec-carousel-btn prev\"\u003e‹\u003c\/button\u003e \u003cbutton data-carousel-next=\"\" aria-label=\"Next photo\" type=\"button\" class=\"spec-carousel-btn next\"\u003e›\u003c\/button\u003e\n\u003cdiv data-carousel-dots=\"\" aria-label=\"Carousel navigation\" class=\"spec-carousel-dots\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\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\n\u003cbr\u003e\u003cimg alt=\"ewindow skylight product photo on a plain white background\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/Untitleddesign_5.png?v=1775069852\"\u003e\u003cbr\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-hero-content\"\u003e\n\n\u003ch4 class=\"spec-title\"\u003e天窗 E-Window\u003c\/h4\u003e\n\n\u003cp class=\"spec-tagline\"\u003e先进的人造阳光系统，旨在复制自然日光，提升人类福祉，并通过沉浸式天空模拟和精密光学技术改变室内环境。\u003c\/p\u003e\n\n\u003cdiv class=\"spec-stats\" aria-label=\"Key specifications\"\u003e\n\n\u003cspan\u003e阳光模拟技术\u003c\/span\u003e \u003cspan\u003e高达90%的阳光光谱相似度\u003c\/span\u003e \u003cspan\u003eCRI Ra98高保真光\u003c\/span\u003e \u003cspan\u003e24小时昼夜节律支持\u003c\/span\u003e \u003cspan\u003eUSmart控制集成\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/Skylight_EWindow_Information_Fixed.pdf_1.pdf?v=1783614952\" class=\"spec-btn\" rel=\"noopener\" title=\"Item Information\" target=\"_blank\"\u003e下载规格表\u003c\/a\u003e\n\n\u003c\/div\u003e\n\n\u003c\/section\u003e\n\u003c!-- SUPPORT VISUAL --\u003e\u003c!-- FEATURES --\u003e\n\u003csection class=\"spec-features\"\u003e\n\u003ch2 class=\"spec-section-title\"\u003e亮点特色\u003c\/h2\u003e\n\n\u003cdiv class=\"spec-feature-grid\"\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e真实阳光复刻\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e经过精密设计，可模拟高达90%的自然太阳光谱，提供高度准确的色彩还原和真实的日光质量。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e动态天空体验\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e模拟从日出到日落的实时天空状况，包括蓝天、云朵、温暖的黄昏色调和星空环境，提供完全沉浸式的照明体验。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e昼夜节律照明\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e智能控制系统复制自然的24小时阳光周期，支持人体生物节律，提高舒适度、生产力和整体健康。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e双重光线合成系统\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e结合天光（漫射环境照明）和阳光（直射光束投影），在空间内同时再现柔和的日光填充和锐利的阳光穿透。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e精密微光学技术\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e先进的光学系统生成大面积平行光束，精确模拟阳光穿过建筑开口的方式。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e高强度自然照明\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e在3米处提供高达5000勒克斯的光照，提供强烈的视觉冲击力，使几乎没有自然光的空间也能感到开阔和充满活力。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e超高色彩准确度\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003eCRI高达Ra98，确保零售、住宅和商业应用中的色彩还原真实，与自然日光条件非常接近。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e智能控制与自动化\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e支持DALI、移动应用程序、有线、无线和定时器等多种控制方式，可自动或手动调节亮度和色温。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e基于地理位置的阳光校准\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e能够根据地理纬度调整照明周期，确保逼真的日照时长和季节变化模拟。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e无缝建筑融合\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e提供大尺寸和线性配置（例如2400毫米以上），创造连续的天窗效果，将室内空间与室外视觉连接起来。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e动态视觉冲击\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e支持动画天空过渡和多面板联动，使大型装置能够创造出不断演变、具有高冲击力的天花板特色。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e增强空间体验\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e通过引入感知到的自然光，改变封闭或地下环境，增加空间的开放性、舒适度和情感连接。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e多功能应用\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e适用于商业、零售、酒店、办公室、健康空间和住宅环境，特别适合那些自然采光有限的区域。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\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 \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","brand":"C\u0026C Lighting","offers":[{"title":"Default Title","offer_id":41124061151317,"sku":"","price":0.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/Untitleddesign_5.png?v=1775069852"},{"product_id":"ceiling-panel-surface-mounting-frame","title":"平板灯明装框","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\n\u003cdiv class=\"spec-carousel-slide\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/CC_Lighting_Surface_Mounting_Frame_SMF14_1x4_LED_Panel_Office_Corridor_Installation.png?v=1781405811\" alt=\"C\u0026amp;C Lighting Surface Mounting Frame SMF14 1x4 installed on a smooth white sheetrock ceiling in a modern office corridor — two surface-mounted LED flat panels casting even 4000K light down a bright hallway with polished concrete floors, white walls, and glazed office doors\" loading=\"eager\"\u003e\u003c\/div\u003e\n\n\u003c!-- Add more images like this when you have them --\u003e\n\n\u003c\/div\u003e\n\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\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 class=\"spec-hero-media\" style=\"text-align: start;\"\u003e\n\n\u003cbr\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/NEWVanitylightandCeilingproductAlart-13.png?v=1759513529\" alt=\"\"\u003e\u003cbr\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-hero-content\"\u003e\n\n\u003ch4 class=\"spec-title\"\u003e明装框架 — SMF14 \/ SMF22 \/ SMF24\u003c\/h4\u003e\n\n\u003cp class=\"spec-tagline\"\u003e当无法进行嵌入式安装时，LED平板灯的明装套件。提供1x4、2x2和2x4配置，采用超薄铝框架和白色粉末涂层饰面 — 与隔热和非隔热石膏板天花板兼容。\u003c\/p\u003e\n\n\u003cdiv aria-label=\"Key specifications\" class=\"spec-stats\"\u003e\n\n\u003cspan\u003e1x4 \/ 2x2 \/ 2x4\u003c\/span\u003e \u003cspan\u003e18号铝\u003c\/span\u003e \u003cspan\u003e2.13英寸深度\u003c\/span\u003e \u003cspan\u003e白色粉末涂层\u003c\/span\u003e \u003cspan\u003e美国制造\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\u003ca title=\"Surface Mounting Frame SMF14 SMF22 SMF24 Spec Sheet\" rel=\"noopener\" class=\"spec-btn\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/Surface_mounting_frame-2.pdf?v=1750867934\" target=\"_blank\"\u003e 下载规格表 \u003c\/a\u003e\n\n\u003c\/div\u003e\n\n\u003c\/section\u003e\n\u003c!-- SUPPORT VISUAL --\u003e\u003c!-- FEATURES --\u003e\n\u003csection class=\"spec-features\"\u003e\n\u003ch2 class=\"spec-section-title\"\u003e亮点特性\u003c\/h2\u003e\n\n\u003cdiv class=\"spec-feature-grid\"\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e灯具类型\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e适用于无法进行嵌入式安装的LED平板灯的明装附件套件。提供三种面板配置：SMF14 (1x4)、SMF22 (2x2) 和 SMF24 (2x4)。在任何现代天花板表面提供干净、具有建筑感的饰面。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e结构\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e由耐用的18号铝（1.7毫米\/0.067英寸厚）制成，带有干净的白色粉末涂层饰面。所有三种配置的超薄框架深度均为2.13英寸（54毫米）。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e配置\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e三种尺寸选项，以匹配标准LED平板灯格式：SMF14为48英寸 x 12英寸（1219毫米 x 300毫米），SMF22为24英寸 x 24英寸（609毫米 x 609毫米），SMF24为48英寸 x 24英寸（1219毫米 x 609毫米）。所有尺寸均具有统一的2.13英寸（54毫米）深度。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e重量\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e所有尺寸均轻巧：SMF14重2.6磅（1.18千克），SMF22重1.9磅（0.86千克），SMF24重3.0磅（1.36千克）。在安装过程中易于操作和定位。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e安装\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e专为在隔热和非隔热石膏板天花板上快速简便的现场安装而设计。时尚的薄型设计最大程度地减少了天花板突出部分，以实现平齐、一体化的外观。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e兼容性\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e与C\u0026amp;C Lighting LED平板灯兼容，无论是否带应急备用选项。支持1x4、2x2和2x4外形尺寸的标准面板尺寸。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e产地\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e美国制造。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\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 \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\u003cp\u003e \u003c\/p\u003e","brand":"C\u0026C Lighting","offers":[{"title":"Default Title","offer_id":41417221865557,"sku":"","price":0.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/NEWVanitylightandCeilingproductAlart-13.png?v=1759513529"},{"product_id":"led-flush-mount-ceiling-light-30w-3cct-black-gold","title":"LED吸顶灯 30W 3色温 黑\/白+金色","description":"\u003ch3 style=\"margin-top: 10px margin-bottom: 12px;\"\u003e\u003cstrong\u003e描述：\u003c\/strong\u003e\u003c\/h3\u003e\n\u003cp style=\"text-align: justify; margin-bottom:10px; margin-top:20px;\"\u003e这款现代吸顶灯将光滑的金属框架与精致的亚克力装饰相结合，采用优雅的黑\/白和金色配色方案。它设计灵活，配备 30W 集成 LED，具有 3CCT 可选色温（3000K \/ 4000K \/ 5000K），可适应不同的氛围和空间。\u003c\/p\u003e\n\u003cp style=\"text-align: justify; margin-bottom:10px; margin-top:10px;\"\u003e该灯具采用 120V 输入，直径为 15 英寸，高 3 英寸，是住宅或商业室内时尚低调的选择。\u003c\/p\u003e\n","brand":"C\u0026C Lighting","offers":[{"title":"Default Title","offer_id":41715531415637,"sku":null,"price":0.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/Lightspeedproductphoto4-66.png?v=1758568047"},{"product_id":"custom-linear-extrusion-lighting-system","title":"定制线性挤压照明系统","description":"\u003csection class=\"spec-page\"\u003e\u003c!-- FULL-WIDTH CAROUSEL (Top) --\u003e\n\u003csection aria-label=\"Product photos\" class=\"spec-carousel\"\u003e\n\u003cdiv id=\"cobCarousel\" class=\"spec-carousel-track\" tabindex=\"0\"\u003e\n\n\u003cdiv class=\"spec-carousel-slide\"\u003e\u003cimg loading=\"eager\" alt=\"Modern office interior featuring recessed linear lighting system with continuous illumination across workspace and seating areas\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/Office_interior_with_installed_linear_lighting.png?v=1776270867\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"spec-carousel-slide\"\u003e\u003cimg loading=\"eager\" alt=\"Architectural linear LED lighting fixtures with precision lens optics and anti-glare design, close-up of modular recessed lighting system in black aluminum housing\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/Linear_lighting_fixtures_with_precision_optic_modules.png?v=1776271424\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"spec-carousel-slide\"\u003e\u003cimg loading=\"eager\" alt=\"Aluminum linear LED extrusion profile with frosted diffuser, showcasing modular housing design for architectural lighting systems\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/Linear_extrusion_close-up_on_dark_background.png?v=1776270834\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"spec-carousel-slide\"\u003e\u003cimg loading=\"eager\" alt=\"Ultra-thin recessed linear LED light fixtures with anti-glare louver design in white aluminum housing, minimal architectural lighting detail\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/White_linear_fixtures_on_light_background.png?v=1776270819\"\u003e\u003c\/div\u003e\n\n\u003c!-- Add more images like this when you have them --\u003e\n\n\u003c\/div\u003e\n\n\u003cbutton data-carousel-prev=\"\" aria-label=\"Previous photo\" type=\"button\" class=\"spec-carousel-btn prev\"\u003e‹\u003c\/button\u003e \u003cbutton data-carousel-next=\"\" aria-label=\"Next photo\" type=\"button\" class=\"spec-carousel-btn next\"\u003e›\u003c\/button\u003e\n\u003cdiv data-carousel-dots=\"\" aria-label=\"Carousel navigation\" class=\"spec-carousel-dots\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\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\n\u003cbr\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/Custom_Linear_Lighting_System_Product_Photo.png?v=1776273236\"\u003e\u003cbr\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-hero-content\"\u003e\n\n\u003ch4 class=\"spec-title\"\u003e定制线性挤压照明系统\u003c\/h4\u003e\n\n\u003cp class=\"spec-tagline\"\u003e适用于建筑、商业和住宅应用的完整铝制线性挤压型材，专为无缝集成、视觉舒适度和灵活安装而设计。\u003c\/p\u003e\n\n\u003cdiv class=\"spec-stats\" aria-label=\"Key specifications\"\u003e\n\n\u003cspan\u003e嵌入式齐平\u003c\/span\u003e \u003cspan\u003e表面安装\u003c\/span\u003e \u003cspan\u003e悬挂吊灯\u003c\/span\u003e \u003cspan\u003e可选磁力系统\u003c\/span\u003e \u003cspan\u003e直射\/间接\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/Custom_Linear_Extrusion_Lighting_System_Catalog_Compressed.pdf?v=1776269250\" class=\"spec-btn\" rel=\"noopener\" title=\"Item Spec Sheet\" target=\"_blank\"\u003e下载规格表\u003c\/a\u003e\n\n\u003c\/div\u003e\n\n\u003c\/section\u003e\n\u003c!-- SUPPORT VISUAL --\u003e\u003c!-- FEATURES --\u003e\n\u003csection class=\"spec-features\"\u003e\n\u003ch2 class=\"spec-section-title\"\u003e突出特点\u003c\/h2\u003e\n\n\u003cdiv class=\"spec-feature-grid\"\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e灵活的电源解决方案\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e提供低压直流 24V\/48V 用于连续线性照明，以及交流 120-347V 用于商业和大型安装。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e多种调光协议\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e兼容 0-10V、可控硅\/ELV\/MLV、DALI\/DMX 以及 2.4G 无线或智能控制系统，实现可调节的照明性能。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e定制形状配置\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e提供直线型、L型、U型、方形、矩形或弧形轮廓，以适应各种建筑布局和设计意图。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e定制尺寸和饰面\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e定制漫射器类型、外壳饰面和项目特定尺寸，使每个系统都能根据精确的应用要求进行指定。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e多功能安装解决方案\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e支持嵌入式齐平、表面安装、悬挂吊灯、角落\/洗墙、磁性轨道、天花板、墙壁以及直射\/间接安装应用。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e无缝建筑集成\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e每个外壳都旨在实现天花板或墙壁的整洁集成，为商业、住宅和建筑环境带来精致的外观。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e持续均匀照明\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e旨在在整个运行过程中提供连续、均匀的光输出，以实现协调专业的照明效果。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e高质量光输出\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003eCRI 90+ LED 技术，可选择 2700K 至 5000K 的色温选项，支持视觉舒适度和准确的色彩还原。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e光度规划支持\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e通过 DIALux 和 AGi32 进行光度研究和布局模拟，有助于在制造前确保精确的照明规划。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e预组装交付选项\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e提供预组装和预接线部分，以加快安装速度，提高现场工作效率。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e包含技术文档\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e项目交付物包括技术图纸、定制报价和剪切表，以及接线和安装图。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e专业设计支持\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e提供 5 年保修和专业设计支持，帮助将定制线性照明概念转化为实际安装。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\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 \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","brand":"C\u0026C Lighting","offers":[{"title":"Default Title","offer_id":42407072825429,"sku":null,"price":0.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/Custom_Linear_Lighting_System_Product_Photo.png?v=1776273236"},{"product_id":"custom-curved-led-linear-light","title":"定制弧形LED线性灯","description":"\u003csection class=\"spec-page\"\u003e\u003c!-- FULL-WIDTH CAROUSEL (Top) --\u003e\n\u003csection aria-label=\"Product photos\" class=\"spec-carousel\"\u003e\n\u003cdiv id=\"cobCarousel\" class=\"spec-carousel-track\" tabindex=\"0\"\u003e\n\n\u003cdiv class=\"spec-carousel-slide\"\u003e\u003cimg loading=\"eager\" alt=\"Large custom curved LED ring lights suspended in a modern commercial lobby with warm white illumination and matte black architectural profiles by C\u0026amp;C Lighting.\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/architectural-curved-led-ring-lighting-installation-lobby-cc-lighting.png?v=1778865957\"\u003e\u003c\/div\u003e\n\n\u003c!-- Add more images like this when you have them --\u003e\n\n\u003c\/div\u003e\n\n\u003cbutton data-carousel-prev=\"\" aria-label=\"Previous photo\" type=\"button\" class=\"spec-carousel-btn prev\"\u003e‹\u003c\/button\u003e \u003cbutton data-carousel-next=\"\" aria-label=\"Next photo\" type=\"button\" class=\"spec-carousel-btn next\"\u003e›\u003c\/button\u003e\n\u003cdiv data-carousel-dots=\"\" aria-label=\"Carousel navigation\" class=\"spec-carousel-dots\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\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\n\u003cbr\u003e\u003cimg alt=\"Custom curved LED ring pendant light in matte black finish with warm 3000K illumination suspended on a seamless white studio background by C\u0026amp;C Lighting.\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/custom-curved-led-ring-pendant-light-black-white-background-cc-lighting.png?v=1778865982\"\u003e\u003cbr\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-hero-content\"\u003e\n\n\u003ch4 class=\"spec-title\"\u003e定制弧形LED线性灯\u003c\/h4\u003e\n\n\u003cp class=\"spec-tagline\"\u003e一种建筑弧形LED线性系统，可将直线和弧线无缝拼接成自由形状——非常适合商业空间、酒店环境、办公室和大型定制天花板设计。\u003c\/p\u003e\n\n\u003cdiv class=\"spec-stats\" aria-label=\"Key specifications\"\u003e\n\n\u003cspan\u003e8种标准形状\u003c\/span\u003e \u003cspan\u003e可定制形状\u003c\/span\u003e \u003cspan\u003e15×15mm至150×30mm型材\u003c\/span\u003e \u003cspan\u003e白色和黑色饰面\u003c\/span\u003e \u003cspan\u003ecUL认证\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/Custom_Circle_Light_Spec_Sheet_3.0.pdf?v=1779937630\" class=\"spec-btn\" rel=\"noopener\" title=\"Customized Curved LED Linear Light Spec Sheet\" target=\"_blank\"\u003e 下载规格表 \u003c\/a\u003e\n\n\u003c\/div\u003e\n\n\u003c\/section\u003e\n\u003c!-- SUPPORT VISUAL --\u003e\u003c!-- FEATURES --\u003e\n\u003csection class=\"spec-features\"\u003e\n\u003ch2 class=\"spec-section-title\"\u003e亮点功能\u003c\/h2\u003e\n\n\u003cdiv class=\"spec-feature-grid\"\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e创新弧形轮廓\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e突破传统弯曲工艺，实现直线与弧线的无缝拼接。从二维转换到三维配置，为线性照明设计开辟了新的可能性。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e柔性硅胶面罩\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e表面创新性地采用“柔性硅胶面罩”系统。直线和弧线段可以通过50米和100米卷材的连续灯罩进行任意配置连接，消除拼接漏光，实现无缝的整体效果。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e形状多样性\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e提供八种标准型号配置：CCL-1至CCL-8。选项包括圆形环、自由曲线、椭圆形、多环簇和角度几何形状。可根据提供的网格模板进行特殊定制形状。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e型材尺寸选项\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e提供多种型材截面尺寸——90°弧线处为15×15mm、20×20mm、35×35mm和50×35mm；45°弧线处为30×30mm、50×30mm、80×30mm和150×30mm。90°配置还提供最大100×40mm的40mm深型材。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e半径和直径范围\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e90°弧线半径范围从R416mm (16.3\") 到 R1068mm (42.0\")，具体取决于型材尺寸。45°弧线半径范围从R261mm (10.2\") 到 R716mm (28.2\")。涵盖了从私密特色区域到大型大堂装置的广泛建筑尺度。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e模块化组合系统\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e直线和弧线基础模块可以自由组合，形成圆形灯具、自由拼接曲线和定制多元素配置。无论是吸顶式还是悬挂式应用，都拥有无限的设计可能性。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e饰面选项\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e标准饰面有白色 (W) 或黑色 (B)。可提供定制颜色选项 (O) — 订购时请注明所需颜色。饰面是根据项目作为订单配置的一部分选择的。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e定制形状订购\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e对于完全定制的设计，请选择型号C（定制），并使用提供的网格模板绘制所需形状并标注尺寸。请注明首选颜色和所有必要的测量值以供制造审核。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e广泛的应用范围\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e专为商业空间设计，包括购物中心、零售店和展厅；酒店环境，如酒店、大堂、餐厅和酒吧；公共区域，包括机场、博物馆和画廊；办公室和现代住宅内饰。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e认证\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003ecUL认证。符合加拿大和美国商业和建筑照明装置标准。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e三维设计自由度\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e该系统使流动的光线能够几乎在任何方向上自由地穿梭于天花板平面——从一组核心的直线和弧线模块中衍生出数千种可能的形状，适用于任何规模或复杂性的特色天花板。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e制造商\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e由位于加拿大安大略省康科德的C\u0026amp;C Lighting设计和分销。联系方式：info@candclight.com | 1-905-856-0903。可为加拿大和美国的商业项目提供服务。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\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 \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\u003cp\u003e \u003c\/p\u003e","brand":"C\u0026C Lighting","offers":[{"title":"Default Title","offer_id":42501108891733,"sku":null,"price":0.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/custom-curved-led-ring-pendant-light-black-white-background-cc-lighting.png?v=1778865982"},{"product_id":"orbit-round-led-flush-mount-ceiling-light","title":"Orbit 圆形 LED 吸顶灯","description":"\u003csection class=\"spec-page\"\u003e\u003c!-- FULL-WIDTH CAROUSEL (Top) --\u003e\n\u003csection class=\"spec-carousel\"\u003e\n\u003cdiv id=\"cobCarousel\" class=\"spec-carousel-track\"\u003e\n\n\u003cdiv class=\"spec-carousel-slide\"\u003e\u003cimg loading=\"eager\" alt=\"C\u0026amp;C Lighting Orbit 黑色圆形LED嵌入式吸顶灯，安装在明亮现代的厨房和开放式起居空间，散发柔和均匀的光线\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/cc-lighting-orbit-round-led-flush-mount-ceiling-light-black-kitchen.png?v=1788895274\"\u003e\u003c\/div\u003e\n\n\u003c!-- Add more images like this when you have them --\u003e\n\n\u003c\/div\u003e\n\n\u003cbutton type=\"button\" class=\"spec-carousel-btn prev\"\u003e‹\u003c\/button\u003e \u003cbutton type=\"button\" class=\"spec-carousel-btn next\"\u003e›\u003c\/button\u003e\n\u003cdiv class=\"spec-carousel-dots\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\u003c\/section\u003e\n\u003cscript\u003e\n(function () {\n  const carousel = document.querySelector(\".spec-carousel\");\n  if (!carousel) return;\n  const track = carousel.querySelector(\".spec-carousel-track\");\n  const slides = Array.from(carousel.querySelectorAll(\".spec-carousel-slide\"));\n  const prevBtn = carousel.querySelector(\".spec-carousel-btn.prev\");\n  const nextBtn = carousel.querySelector(\".spec-carousel-btn.next\");\n  const dotsWrap = carousel.querySelector(\".spec-carousel-dots\");\n  if (!track || slides.length === 0) return;\n\n  if (slides.length \u003c= 1) {\n    if (prevBtn) prevBtn.style.display = \"none\";\n    if (nextBtn) nextBtn.style.display = \"none\";\n    if (dotsWrap) dotsWrap.style.display = \"none\";\n    return;\n  }\n\n  let currentIndex = 0;\n  let autoplayTimer = null;\n  const AUTOPLAY_MS = 5000;\n  function slideWidth() {\n    return track.getBoundingClientRect().width;\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  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  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  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  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  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  function startAutoplay() {\n    stopAutoplay();\n    autoplayTimer = window.setInterval(() =\u003e {\n      const next = (currentIndex + 1) % slides.length;\n      scrollToIndex(next);\n    }, AUTOPLAY_MS);\n  }\n  function stopAutoplay() {\n    if (autoplayTimer) window.clearInterval(autoplayTimer);\n    autoplayTimer = null;\n  }\n  if (prevBtn) prevBtn.addEventListener(\"click\", () =\u003e scrollToIndex(currentIndex - 1));\n  if (nextBtn) nextBtn.addEventListener(\"click\", () =\u003e scrollToIndex(currentIndex + 1));\n  track.addEventListener(\"scroll\", () =\u003e {\n    window.requestAnimationFrame(syncIndexFromScroll);\n  });\n  carousel.addEventListener(\"mouseenter\", stopAutoplay);\n  carousel.addEventListener(\"mouseleave\", startAutoplay);\n  carousel.addEventListener(\"focusin\", stopAutoplay);\n  carousel.addEventListener(\"focusout\", startAutoplay);\n  track.addEventListener(\"keydown\", (e) =\u003e {\n    if (e.key === \"ArrowLeft\") scrollToIndex(currentIndex - 1);\n    if (e.key === \"ArrowRight\") scrollToIndex(currentIndex + 1);\n  });\n  window.addEventListener(\"resize\", () =\u003e {\n    scrollToIndex(currentIndex, { instant: true });\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\n\u003cbr\u003e\u003cimg alt=\"C\u0026amp;C Lighting Orbit 黑色圆形LED嵌入式吸顶灯，带磨砂白色扩散器，可选3CCT，薄型表面安装设计\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/cc-lighting-orbit-round-led-flush-mount-ceiling-light-black-3cct.png?v=1788895274\"\u003e\u003cbr\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-hero-content\"\u003e\n\n\u003ch4 class=\"spec-title\"\u003eOrbit 吸顶灯\u003c\/h4\u003e\n\n\u003cp class=\"spec-tagline\"\u003eOrbit 吸顶灯是一款简洁、薄型的圆形 LED 吸顶灯具，为住宅和轻型商业室内空间带来均匀的环境照明。其纤薄的嵌入式外观轮廓和优质金属饰面适用于走廊、入口、卧室、客厅、厨房和衣帽间。可选择的 3CCT 开关可在安装时将一个灯具调整为暖光、中性光或冷光环境。\u003c\/p\u003e\n\n\u003cdiv class=\"spec-stats\"\u003e\n\n\u003cspan\u003e24W\u003c\/span\u003e \u003cspan\u003e3000K \/ 4000K \/ 5000K\u003c\/span\u003e \u003cspan\u003e110-120V\u003c\/span\u003e \u003cspan\u003e50\/60Hz\u003c\/span\u003e \u003cspan\u003e黑色 \/ 黄铜色 \/ 金色\u003c\/span\u003e \u003cspan\u003e集成LED\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\u003ca href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/Orbit_Spec_Sheet_1.pdf?v=1788966034\" class=\"spec-btn\" rel=\"noopener\" title=\"Orbit 吸顶灯规格表\" target=\"_blank\"\u003e 下载规格表 \u003c\/a\u003e\n\n\u003c\/div\u003e\n\n\u003c\/section\u003e\n\u003c!-- SUPPORT VISUAL --\u003e\u003c!-- FEATURES --\u003e\n\u003csection class=\"spec-features\"\u003e\n\u003ch2 class=\"spec-section-title\"\u003e主要特点\u003c\/h2\u003e\n\n\u003cdiv class=\"spec-feature-grid\"\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e外形\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e纤薄、薄型的圆形吸顶灯，打造简洁现代的吊顶外观。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e可选CCT\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e板载 3CCT 开关可选择 3000K、4000K 或 5000K。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e饰面选项\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e有黑色、抛光黄铜和金色可选。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e集成LED\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e内置LED模块，免维护运行。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e电压\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e宽输入范围，110V 至 120V，50\/60Hz。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e功率\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e24W集成LED，提供明亮均匀的光输出。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature\"\u003e\n\n\u003cdiv class=\"spec-feature-label\"\u003e安装\u003c\/div\u003e\n\n\u003cdiv class=\"spec-feature-text\"\u003e直接表面安装到天花板，快速安装。\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\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  \/* HERO *\/\n  .spec-hero{\n    display: grid;\n    grid-template-columns: 1.05fr 0.95fr;\n    gap: 56px;\n    align-items: center;\n  }\n  .spec-hero-media img{\n    width: 100%;\n    height: auto;\n    display: block;\n    border-radius: 14px;\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  .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  \/* 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  .spec-stats span{\n    position: relative;\n    padding-right: 14px;\n    white-space: nowrap;\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  \/* 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  .spec-btn:hover{\n    transform: translateY(-1px);\n    box-shadow: 0 10px 24px rgba(0,0,0,0.08);\n  }\n  \/* SUPPORT *\/\n  .spec-support{\n    margin-top: 32px;\n  }\n  .spec-support img{\n    width: 100%;\n    height: auto;\n    display: block;\n    border-radius: 14px;\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  .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  .spec-feature-grid{\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 18px 40px;\n    align-items: start;\n  }\n  .spec-feature{\n    display: grid;\n    grid-template-columns: 210px 1fr;\n    gap: 14px;\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  .spec-feature-text{\n    font-size: 14px;\n    line-height: 1.6;\n    color: rgba(0,0,0,0.68);\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    .spec-stats span{\n      padding-right: 0;\n      white-space: normal;\n    }\n    .spec-stats span:not(:last-child)::after{\n      content: \"\";\n    }\n    .spec-feature-grid{\n      grid-template-columns: 1fr;\n      gap: 14px;\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.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.spec-carousel-track::-webkit-scrollbar{\n  display: none;\n}\n.spec-carousel-slide{\n  flex: 0 0 100%;\n  scroll-snap-align: center;\n  position: relative;\n  background: #0b0b0b;\n}\n.spec-carousel-slide img{\n  width: 100%;\n  height: auto;\n  display: block;\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.spec-carousel-btn:hover{\n  background: rgba(0,0,0,0.55);\n  transform: translateY(-50%) scale(1.03);\n}\n.spec-carousel-btn.prev{\n  left: 14px;\n}\n.spec-carousel-btn.next{\n  right: 14px;\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.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.spec-carousel-dot[aria-current=\"true\"]{\n  background: rgba(255,255,255,0.92);\n}\n@media (max-width: 900px){\n  .spec-carousel{\n    margin-top: -24px;\n    margin-bottom: 18px;\n  }\n  .spec-carousel-btn{\n    width: 36px;\n    height: 36px;\n    font-size: 18px;\n  }\n  .spec-carousel-btn.prev{\n    left: 10px;\n  }\n  .spec-carousel-btn.next{\n    right: 10px;\n  }\n  .spec-carousel-dots{\n    bottom: 10px;\n  }\n}\n\u003c\/style\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e","brand":"C\u0026C Lighting","offers":[{"title":"Default Title","offer_id":42965034958933,"sku":null,"price":0.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/files\/cc-lighting-orbit-round-led-flush-mount-ceiling-light-black-3cct.png?v=1788895274"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0986\/0548\/collections\/Lightspeedproductphoto4-66.png?v=1759490784","url":"https:\/\/candclight.com\/zh\/collections\/surface-mounted-ceiling-light.oembed","provider":"C\u0026C Lighting","version":"1.0","type":"link"}