{"product_id":"flower-glass-plug-in-pendant-lamp-28n5siu8","title":"Petal Glass Plug-In Pendant","description":"\u003cstyle\u003e\n#fecify-typography-scope { scroll-behavior: auto; overflow-x: visible; display: flow-root; width: 100%; max-width: none; margin: 0; font-weight: 400 !important; }\n#fecify-typography-scope *, #fecify-typography-scope *::before, #fecify-typography-scope *::after { box-sizing: border-box; }\n#fecify-typography-scope img { display: block; max-width: 100%; }\n#fecify-typography-scope video { display: block; max-width: 100%; }\n\n    #fecify-typography-scope {\n      --bg: #f5efe8;\n      --bg-soft: #ebe2d8;\n      --bg-band: #efe6dc;\n      --ink: #2c221c;\n      --text: #3f322a;\n      --text-soft: #64554a;\n      --muted: #8a7a6c;\n      --line: rgba(44, 34, 28, 0.11);\n      --accent: #a66b52;\n      --accent-deep: #84533e;\n      --rose: #c86b8f;\n      --copper: #c4a06a;\n      --leaf: #7a9470;\n      --clear: #f0ebe3;\n      --paper: #fffaf5;\n      --glow: rgba(255, 214, 170, 0.35);\n      --fs-eyebrow: 0.75rem;\n      --fs-meta: 0.875rem;\n      --fs-body: 1rem;\n      --fs-lead: 1rem;\n      --fs-h3: 1.375rem;\n      --fs-h2: clamp(1.7rem, 2.6vw, 2.15rem);\n      --fs-display: clamp(1.95rem, 3.2vw, 2.55rem);\n      --font-title: \"Cormorant Garamond\", Georgia, \"Times New Roman\", serif;\n      --font-ui: \"Figtree\", \"Helvetica Neue\", Arial, sans-serif;\n      --space: clamp(1.35rem, 2.8vw, 2.15rem);\n      --max: 1180px;\n      --ease: cubic-bezier(0.22, 1, 0.36, 1);\n      --radius: 18px;\n      margin: 0;\n      color: var(--text);\n      background:\n        radial-gradient(ellipse 70% 48% at 12% -5%, rgba(200, 107, 143, 0.16), transparent 58%),\n        radial-gradient(ellipse 55% 42% at 92% 8%, rgba(122, 148, 112, 0.14), transparent 55%),\n        radial-gradient(ellipse 60% 45% at 70% 95%, rgba(196, 160, 106, 0.18), transparent 58%),\n        radial-gradient(ellipse 40% 30% at 40% 40%, var(--glow), transparent 70%),\n        linear-gradient(165deg, #faf4ee 0%, #f3ebe3 38%, #efe6dc 72%, #e8dfd4 100%);\n      font-family: var(--font-ui);\n      font-size: var(--fs-body);\n      font-weight: 400 !important;\n      line-height: 1.62;\n      -webkit-font-smoothing: antialiased;\n    }\n    #fecify-typography-scope *, #fecify-typography-scope *::before, #fecify-typography-scope *::after { box-sizing: border-box; }\n    #fecify-typography-scope img { display: block; width: 100%; height: auto; max-width: 100%; }\n    #fecify-typography-scope a { color: inherit; text-decoration: none; }\n    #fecify-typography-scope p, #fecify-typography-scope span, #fecify-typography-scope li, #fecify-typography-scope div { font-weight: inherit; }\n    #fecify-typography-scope .wrap { width: min(100% - 2rem, var(--max)); margin-inline: auto; }\n    #fecify-typography-scope .eyebrow {\n      display: inline-flex; align-items: center; gap: 0.55rem;\n      margin: 0 0 0.75rem; color: var(--accent-deep);\n      font-family: var(--font-ui); font-size: var(--fs-eyebrow); font-weight: 700 !important;\n      letter-spacing: 0.16em; text-transform: uppercase;\n    }\n    #fecify-typography-scope .eyebrow::before {\n      content: \"\"; width: 1.5rem; height: 3px; border-radius: 2px;\n      background: linear-gradient(90deg, var(--rose), var(--copper), var(--leaf));\n    }\n    #fecify-typography-scope .display {\n      margin: 0; font-family: var(--font-title); font-size: var(--fs-display);\n      font-weight: 500 !important; font-style: italic; line-height: 1.14;\n      letter-spacing: -0.02em; color: var(--ink);\n      text-wrap: balance;\n    }\n    #fecify-typography-scope .h2 {\n      margin: 0; font-family: var(--font-title); font-size: var(--fs-h2);\n      font-weight: 500 !important; line-height: 1.12; letter-spacing: -0.02em; color: var(--ink);\n    }\n    #fecify-typography-scope .h3 {\n      margin: 0; font-family: var(--font-title); font-size: var(--fs-h3);\n      font-weight: 500 !important; line-height: 1.22; color: var(--ink);\n    }\n    #fecify-typography-scope .lead {\n      margin: 0.55rem 0 0; max-width: 34rem; color: var(--text-soft);\n      font-size: var(--fs-lead); font-weight: 400 !important; line-height: 1.58;\n    }\n    #fecify-typography-scope .body {\n      margin: 0.35rem 0 0; color: var(--text-soft);\n      font-size: var(--fs-body); font-weight: 400 !important; line-height: 1.55;\n    }\n    #fecify-typography-scope .section { padding: var(--space) 0; }\n    #fecify-typography-scope .section-band {\n      background:\n        linear-gradient(180deg, rgba(200, 107, 143, 0.06), transparent 40%),\n        linear-gradient(0deg, rgba(122, 148, 112, 0.05), transparent 45%),\n        linear-gradient(180deg, rgba(255, 250, 245, 0.65), rgba(245, 236, 226, 0.9));\n      border-block: 1px solid rgba(166, 107, 82, 0.12);\n    }\n    #fecify-typography-scope .section-head { margin-bottom: clamp(0.75rem, 1.5vw, 1.1rem); max-width: 38rem; }\n    #fecify-typography-scope .reveal { opacity: 1; transform: none; }\n    #fecify-typography-scope.js-animate .reveal { opacity: 0; transform: translateY(18px); transition: opacity 0.7s var(--ease), transform 0.7s var(--ease); }\n    #fecify-typography-scope.js-animate .reveal.is-in { opacity: 1; transform: none; }\n\n    #fecify-typography-scope .shot {\n      position: relative; overflow: hidden; border-radius: var(--radius);\n      background: var(--bg-soft);\n      box-shadow:\n        0 12px 32px rgba(44, 34, 28, 0.08),\n        0 2px 0 rgba(255, 250, 245, 0.8) inset;\n      line-height: 0;\n    }\n    #fecify-typography-scope .shot img { width: 100%; height: auto; transition: transform 0.9s var(--ease); }\n    #fecify-typography-scope .shot:hover img { transform: scale(1.03); }\n\n    #fecify-typography-scope .hero-grid {\n      display: grid; grid-template-columns: 1.2fr 0.8fr;\n      gap: clamp(1rem, 2.2vw, 1.75rem); align-items: center;\n    }\n    #fecify-typography-scope .media-frame {\n      position: relative; overflow: hidden; border-radius: calc(var(--radius) + 6px);\n      background: #2a221c;\n      box-shadow:\n        0 28px 64px rgba(44, 34, 28, 0.18),\n        0 0 0 1px rgba(196, 160, 106, 0.2);\n      line-height: 0;\n    }\n    #fecify-typography-scope .media-frame::after {\n      content: \"\"; position: absolute; inset: auto 0 0 0; height: 5px; z-index: 3;\n      background: linear-gradient(90deg, var(--rose), var(--clear), var(--leaf), var(--copper), var(--rose));\n    }\n    #fecify-typography-scope .swap-stack {\n      position: relative;\n      display: grid; width: 100%;\n    }\n    #fecify-typography-scope .swap-stack img {\n      grid-area: 1 \/ 1;\n      width: 100%; height: auto;\n      display: block;\n    }\n    #fecify-typography-scope .swap-day { z-index: 0; }\n    #fecify-typography-scope .swap-night {\n      z-index: 1; opacity: 0;\n      animation: pt-day-night 5.5s ease-in-out infinite;\n    }\n    @keyframes pt-day-night {\n      0%, 12% { opacity: 0; }\n      40%, 60% { opacity: 1; }\n      88%, 100% { opacity: 0; }\n    }\n    @media (prefers-reduced-motion: reduce) {\n      #fecify-typography-scope .swap-night { animation: none; opacity: 1; }\n    }\n    #fecify-typography-scope .media-badge {\n      position: absolute; left: 0.9rem; bottom: 1.15rem; z-index: 2;\n      padding: 0.5rem 0.85rem; border-radius: 999px;\n      background: linear-gradient(135deg, var(--accent) 0%, #b8835c 100%);\n      color: #fff;\n      box-shadow: 0 8px 20px rgba(166, 107, 82, 0.35);\n      font-family: var(--font-ui); font-size: var(--fs-eyebrow); font-weight: 700 !important;\n      letter-spacing: 0.14em; text-transform: uppercase;\n    }\n    #fecify-typography-scope .hero-copy .meta { display: flex; flex-wrap: wrap; gap: 0.45rem; margin: 0.9rem 0 0; }\n    #fecify-typography-scope .chip {\n      display: inline-flex; align-items: center; gap: 0.4rem;\n      padding: 0.45rem 0.8rem; border-radius: 999px;\n      background: rgba(255, 250, 245, 0.75);\n      border: 1px solid rgba(166, 107, 82, 0.18);\n      color: var(--accent-deep);\n      font-size: var(--fs-meta); font-weight: 600 !important;\n      backdrop-filter: blur(6px);\n    }\n    #fecify-typography-scope .chip::before { content: \"\"; width: 7px; height: 7px; border-radius: 50%; background: var(--copper); }\n    #fecify-typography-scope .swatches { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1rem; align-items: center; }\n    #fecify-typography-scope .swatches-label {\n      margin: 0; font-size: var(--fs-eyebrow); font-weight: 700 !important; letter-spacing: 0.12em;\n      text-transform: uppercase; color: var(--muted);\n    }\n    #fecify-typography-scope .swatch {\n      width: 1.45rem; height: 1.45rem; border-radius: 50%;\n      border: 2px solid #fff; box-shadow: 0 0 0 1px rgba(44,34,28,.16), 0 4px 10px rgba(44,34,28,.08);\n    }\n\n    #fecify-typography-scope .detail-grid {\n      display: grid;\n      grid-template-columns: repeat(3, minmax(0, 1fr));\n      gap: clamp(0.85rem, 1.8vw, 1.15rem);\n    }\n    #fecify-typography-scope .carousel { position: relative; }\n    #fecify-typography-scope .carousel-nav {\n      display: flex; align-items: center; justify-content: center; gap: 0.5rem;\n      margin-top: 0.75rem; width: 100%;\n    }\n    #fecify-typography-scope .carousel-nav.is-disabled { display: none !important; }\n    \/* Details shows all 3 cards on desktop \u0026mdash; never show dead arrows there. *\/\n    @media (min-width: 721px) {\n      #fecify-typography-scope .carousel:has(.detail-grid) .carousel-nav { display: none !important; }\n    }\n    #fecify-typography-scope .carousel-btn {\n      display: inline-grid; place-items: center; width: 2.55rem; height: 2.55rem; padding: 0;\n      border: 1.5px solid rgba(166, 107, 82, 0.45); border-radius: 999px; background: var(--paper);\n      color: var(--accent-deep); cursor: pointer; pointer-events: auto !important;\n      touch-action: manipulation; appearance: none; -webkit-appearance: none;\n      box-shadow: 0 6px 16px rgba(44, 34, 28, 0.06);\n      transition: background 0.25s var(--ease), color 0.25s var(--ease), opacity 0.25s, border-color 0.25s;\n    }\n    #fecify-typography-scope .carousel-btn:hover { background: var(--accent); border-color: var(--accent); color: #fff; }\n    #fecify-typography-scope .carousel-btn.is-dim { opacity: 0.35; }\n    #fecify-typography-scope .carousel-btn svg { width: 14px; height: 14px; pointer-events: none; }\n    #fecify-typography-scope .carousel-track {\n      display: flex; gap: clamp(0.85rem, 1.8vw, 1.15rem);\n      overflow-x: scroll !important; overflow-y: hidden !important;\n      -webkit-overflow-scrolling: touch !important;\n      touch-action: pan-x !important;\n      overscroll-behavior-x: contain;\n      scrollbar-width: none;\n      -ms-overflow-style: none;\n      cursor: grab;\n      scroll-snap-type: none;\n      scroll-behavior: auto;\n    }\n    #fecify-typography-scope .carousel-track.is-dragging { cursor: grabbing; }\n    #fecify-typography-scope .carousel-track::-webkit-scrollbar { display: none; }\n    #fecify-typography-scope .carousel-track img,\n    #fecify-typography-scope .carousel-track a,\n    #fecify-typography-scope .carousel-track button {\n      -webkit-user-drag: none !important;\n      user-select: none;\n      -webkit-user-select: none;\n    }\n    #fecify-typography-scope .space-grid.carousel-track \u003e * {\n      flex: 0 0 calc((100% - 2 * clamp(0.85rem, 1.8vw, 1.15rem)) \/ 3);\n      max-width: calc((100% - 2 * clamp(0.85rem, 1.8vw, 1.15rem)) \/ 3);\n      min-width: 0;\n    }\n    \/* Details: grid on desktop; carousel styles only activate on small screens *\/\n    #fecify-typography-scope .detail-grid.carousel-track {\n      display: grid;\n      overflow: visible !important;\n      cursor: default;\n      touch-action: auto;\n    }\n    #fecify-typography-scope .space-card {\n      padding: 0.7rem; border-radius: calc(var(--radius) + 2px);\n      background: linear-gradient(180deg, rgba(255,250,245,0.95), rgba(255,247,240,0.88));\n      border: 1px solid rgba(166, 107, 82, 0.12);\n      box-shadow: 0 10px 28px rgba(44, 34, 28, 0.05);\n      min-width: 0;\n    }\n    #fecify-typography-scope .space-card .h3 { margin-top: 0.65rem; }\n    #fecify-typography-scope .detail-card {\n      margin: 0; padding: 0.8rem; border-radius: var(--radius);\n      background: linear-gradient(165deg, #fffaf5 0%, #f7efe6 100%);\n      border: 1px solid rgba(166, 107, 82, 0.12);\n      box-shadow: 0 10px 28px rgba(44, 34, 28, 0.05);\n      min-width: 0;\n    }\n    #fecify-typography-scope .detail-card .meta { margin-top: 0.65rem; }\n    #fecify-typography-scope .detail-card .eyebrow { margin-bottom: 0.35rem; color: var(--accent-deep); }\n    #fecify-typography-scope .detail-card .eyebrow::before { background: linear-gradient(90deg, var(--rose), var(--copper)); }\n\n    #fecify-typography-scope .feature-grid {\n      display: grid; grid-template-columns: 0.8fr 1.2fr;\n      gap: clamp(1rem, 2.2vw, 1.75rem); align-items: center;\n    }\n    #fecify-typography-scope .feature-grid--flip { grid-template-columns: 1.2fr 0.8fr; }\n    #fecify-typography-scope .feature-points {\n      margin: 1rem 0 0; padding: 0; list-style: none !important;\n    }\n    #fecify-typography-scope .feature-point {\n      position: relative; display: block;\n      margin: 0; padding: 0.65rem 0 0.65rem 1.15rem;\n      border-bottom: 1px solid var(--line); color: var(--text-soft);\n      font-size: var(--fs-body); font-weight: 400 !important; line-height: 1.5;\n      list-style: none !important;\n    }\n    #fecify-typography-scope .feature-point:last-child { border-bottom: 0; }\n    #fecify-typography-scope .feature-point::before {\n      content: \"\"; position: absolute; left: 0; top: 1.05rem;\n      width: 0.45rem; height: 0.45rem; border-radius: 50%;\n      background: linear-gradient(135deg, var(--rose), var(--copper));\n    }\n\n    #fecify-typography-scope .specs-block {\n      padding: clamp(1.25rem, 2.8vw, 1.85rem);\n      border-radius: calc(var(--radius) + 4px);\n      background:\n        radial-gradient(ellipse 60% 50% at 0% 0%, rgba(200, 107, 143, 0.08), transparent 55%),\n        radial-gradient(ellipse 50% 45% at 100% 100%, rgba(122, 148, 112, 0.08), transparent 55%),\n        linear-gradient(165deg, #fffaf5 0%, #f6eee5 100%);\n      border: 1px solid rgba(166, 107, 82, 0.14);\n      box-shadow: 0 16px 40px rgba(44, 34, 28, 0.06);\n    }\n    #fecify-typography-scope .specs-layout {\n      display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);\n      gap: clamp(1rem, 2.2vw, 1.75rem); align-items: center; margin-top: 0.95rem;\n    }\n    #fecify-typography-scope .spec-list { border-top: 1px solid var(--line); margin: 0; padding: 0; min-width: 0; }\n    #fecify-typography-scope .spec-row {\n      display: grid; grid-template-columns: 6.5rem minmax(0, 1fr);\n      gap: 0.3rem 0.55rem; padding: 0.5rem 0; border-bottom: 1px solid var(--line);\n      align-items: center;\n    }\n    #fecify-typography-scope .spec-k {\n      margin: 0; color: var(--muted);\n      font-size: 1rem !important; font-weight: 500 !important;\n      text-transform: none; letter-spacing: 0.01em; line-height: 1.35;\n      align-self: center;\n    }\n    #fecify-typography-scope .spec-v {\n      margin: 0; color: var(--text);\n      font-size: 1rem !important; font-weight: 400 !important;\n      line-height: 1.45; overflow-wrap: break-word; align-self: center;\n    }\n    #fecify-typography-scope .spec-chips { display: flex; flex-wrap: wrap; gap: 0.28rem; align-items: center; }\n    #fecify-typography-scope .spec-chips span {\n      display: inline-block; padding: 0.22rem 0.6rem; border-radius: 999px;\n      background: rgba(255, 250, 245, 0.9);\n      border: 1px solid rgba(166, 107, 82, 0.16);\n      color: var(--accent-deep);\n      font-size: 1rem !important; font-weight: 500 !important;\n    }\n\n    @media (max-width: 980px) {\n      #fecify-typography-scope .hero-grid,\n      #fecify-typography-scope .feature-grid,\n      #fecify-typography-scope .feature-grid--flip,\n      #fecify-typography-scope .specs-layout { grid-template-columns: 1fr; }\n      #fecify-typography-scope .detail-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }\n      #fecify-typography-scope .space-grid.carousel-track \u003e * {\n        flex: 0 0 calc((100% - clamp(0.85rem, 1.8vw, 1.15rem)) \/ 2);\n        max-width: calc((100% - clamp(0.85rem, 1.8vw, 1.15rem)) \/ 2);\n      }\n    }\n    @media (max-width: 720px) {\n      #fecify-typography-scope {\n        --fs-eyebrow: 0.71875rem;\n        --fs-meta: 0.875rem;\n        --fs-body: 0.9375rem;\n        --fs-lead: 0.9375rem;\n        --fs-h3: 1.25rem;\n        --fs-h2: 1.5rem;\n        --fs-display: 1.5rem;\n        width: 100vw !important; max-width: 100vw !important;\n        margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important;\n        \/* Keep atmospheric full-bleed bg, but restore side inset to match theme (~20px). *\/\n        padding-left: max(24px, env(safe-area-inset-left, 0px)) !important;\n        padding-right: max(24px, env(safe-area-inset-right, 0px)) !important;\n        box-sizing: border-box !important; overflow-x: visible;\n      }\n      #fecify-typography-scope .wrap { width: 100%; max-width: none; padding-inline: 0; box-sizing: border-box; }\n      \/* .wrap.specs-block shares both classes \u0026mdash; restore card side padding after wrap zeros it. *\/\n      #fecify-typography-scope .wrap.specs-block {\n        padding: 1.35rem 1.25rem !important;\n      }\n      #fecify-typography-scope .hero-copy .display {\n        font-size: 1.5rem;\n        line-height: 1.22;\n        letter-spacing: -0.015em;\n      }\n      #fecify-typography-scope .section { padding-top: 1.35rem; padding-bottom: 1.35rem; }\n      #fecify-typography-scope .spec-row {\n        grid-template-columns: 1fr;\n        gap: 0.18rem;\n        padding: 0.62rem 0;\n        align-items: start;\n      }\n      #fecify-typography-scope .spec-k {\n        font-size: 0.875rem !important;\n        letter-spacing: 0.01em;\n      }\n      #fecify-typography-scope .spec-v {\n        font-size: 0.875rem !important;\n        line-height: 1.45;\n      }\n      #fecify-typography-scope .spec-chips span {\n        font-size: 0.875rem !important;\n        padding: 0.2rem 0.55rem;\n      }\n      #fecify-typography-scope .detail-grid.carousel-track {\n        display: flex !important;\n        overflow-x: scroll !important;\n        overflow-y: hidden !important;\n        cursor: grab;\n        touch-action: pan-x !important;\n        scroll-snap-type: none;\n        -webkit-overflow-scrolling: touch !important;\n      }\n      #fecify-typography-scope .detail-grid.carousel-track \u003e *,\n      #fecify-typography-scope .space-grid.carousel-track \u003e * {\n        flex: 0 0 min(78%, 300px);\n        max-width: min(78%, 300px);\n      }\n      #fecify-typography-scope .specs-block { border-radius: 14px; }\n    }\n\n    \/*\n      Shopify mobile full-bleed: only expand description CONTENT.\n      Do NOT restyle .fec-collapse \/ .el-collapse-item \u0026mdash; that kills Product Description tab padding.\n    *\/\n    @media (max-width: 720px) {\n      .el-collapse-item__wrap:has(#ml-petal-pdp),\n      .el-collapse-item__wrap:has(#fecify-typography-scope),\n      .el-collapse-item__content:has(#ml-petal-pdp),\n      .el-collapse-item__content:has(#fecify-typography-scope),\n      .body_html:has(#ml-petal-pdp),\n      .body_html:has(#fecify-typography-scope) {\n        overflow: visible !important;\n        height: auto !important;\n        max-height: none !important;\n      }\n\n      \/* Keep theme tab\/header gutters intact *\/\n      .el-collapse-item:has(#ml-petal-pdp) \u003e .el-collapse-item__header,\n      .el-collapse-item:has(#fecify-typography-scope) \u003e .el-collapse-item__header {\n        padding-left: 20px !important;\n        padding-right: 20px !important;\n        box-sizing: border-box !important;\n      }\n\n      \/* Break out only the richtext body under the tab *\/\n      .body_html:has(#ml-petal-pdp),\n      .body_html:has(#fecify-typography-scope) {\n        width: 100vw !important;\n        max-width: 100vw !important;\n        margin-left: calc(50% - 50vw) !important;\n        margin-right: calc(50% - 50vw) !important;\n        padding-left: 0 !important;\n        padding-right: 0 !important;\n        box-sizing: border-box !important;\n        background: transparent !important;\n      }\n\n      #ml-petal-pdp,\n      #fecify-typography-scope {\n        box-shadow:\n          -100vw 0 0 0 #f3ebe3,\n          100vw 0 0 0 #f3ebe3;\n      }\n    }\n  \n\u003c\/style\u003e\u003cdiv id=\"fecify-typography-scope\"\u003e\n\u003csection class=\"section\"\u003e\u003cdiv class=\"wrap hero-grid reveal\"\u003e\n\u003cdiv class=\"media-frame\" aria-label=\"On and off light comparison\"\u003e\n\u003cdiv class=\"swap-stack\"\u003e\n\u003cimg class=\"swap-day\" src=\"https:\/\/d5754b614d.yunchenkeji.com\/media\/product\/561\/image\/2026\/09\/08\/c49360088345307ff0ad6d0386c7012b.jpg\" alt=\"Petal Glass plug-in pendant over a dining table by day\" width=\"1672\" height=\"941\"\u003e \u003cimg class=\"swap-night\" src=\"https:\/\/d5754b614d.yunchenkeji.com\/media\/product\/561\/image\/2026\/09\/08\/7a7a81da403ea8369f574f79e7ffc559.jpg\" alt=\"Petal Glass plug-in pendant glowing over a dining table\" width=\"1672\" height=\"941\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"media-badge\"\u003eOn \/ Off\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"hero-copy\"\u003e\n\u003cp class=\"eyebrow\"\u003ePetal Glass\u003c\/p\u003e\n\u003ch1 class=\"display\"\u003eFlower glass. Soft glow.\u003c\/h1\u003e\n\u003cp class=\"lead\"\u003ePetal-shaped glass in pink, clear, or green—paired with warm copper hardware. Hang it over the table, bedside, or reading corner without hardwiring.\u003c\/p\u003e\n\u003cdiv class=\"meta\"\u003e\n\u003cspan class=\"chip\"\u003ePlug-in pendant\u003c\/span\u003e \u003cspan class=\"chip\"\u003e177 in \/ 450 cm wire\u003c\/span\u003e \u003cspan class=\"chip\"\u003eDimmer compatible\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"swatches\" aria-label=\"Shade color options\"\u003e\n\u003cp class=\"swatches-label\"\u003eShade colors\u003c\/p\u003e\n\u003cspan class=\"swatch\" style=\"background: #c45d8a;\" title=\"Pink\"\u003e\u003c\/span\u003e \u003cspan class=\"swatch\" style=\"background: #f2ece6;\" title=\"Clear\"\u003e\u003c\/span\u003e \u003cspan class=\"swatch\" style=\"background: #6d8a6e;\" title=\"Green\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003csection class=\"section\"\u003e\u003cdiv class=\"wrap\"\u003e\u003cdiv class=\"carousel\"\u003e\n\u003cdiv class=\"section-head reveal\"\u003e\n\u003cp class=\"eyebrow\"\u003eDetails\u003c\/p\u003e\n\u003ch2 class=\"h2\"\u003ePetal glass, warm metal\u003c\/h2\u003e\n\u003cp class=\"lead\"\u003eRibbed glass and copper-toned hardware—details that hold across every shade color.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"detail-grid carousel-track\"\u003e\n\u003carticle class=\"detail-card reveal\"\u003e\u003cdiv class=\"shot\"\u003e\u003cimg src=\"https:\/\/d5754b614d.yunchenkeji.com\/media\/product\/561\/image\/2026\/09\/08\/3fc58eb1e0b8189952d22a4e1379c551.jpg\" alt=\"Close-up of illuminated Petal Glass shade\" width=\"1254\" height=\"1254\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"meta\"\u003e\n\u003cp class=\"eyebrow\"\u003eGlow\u003c\/p\u003e\n\u003ch3 class=\"h3\"\u003eLit from within\u003c\/h3\u003e\n\u003cp class=\"body\"\u003eWarm light fills the translucent petals, softening the room without harsh glare.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\u003carticle class=\"detail-card reveal\"\u003e\u003cdiv class=\"shot\"\u003e\u003cimg src=\"https:\/\/d5754b614d.yunchenkeji.com\/media\/product\/561\/image\/2026\/09\/08\/0a3c0cc316860df048d679cfda828633.jpg\" alt=\"Close-up of ribbed flower glass shade and copper socket\" width=\"1254\" height=\"1254\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"meta\"\u003e\n\u003cp class=\"eyebrow\"\u003eShade\u003c\/p\u003e\n\u003ch3 class=\"h3\"\u003eRibbed petal form\u003c\/h3\u003e\n\u003cp class=\"body\"\u003eA wavy glass rim and fine radial texture catch daylight even when the bulb is off.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\u003carticle class=\"detail-card reveal\"\u003e\u003cdiv class=\"shot\"\u003e\u003cimg src=\"https:\/\/d5754b614d.yunchenkeji.com\/media\/product\/561\/image\/2026\/09\/08\/ce903b00472b5ffa8a87578411247304.jpg\" alt=\"Braided fabric cord with in-line switch and plug\" width=\"1254\" height=\"1254\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"meta\"\u003e\n\u003cp class=\"eyebrow\"\u003eCord\u003c\/p\u003e\n\u003ch3 class=\"h3\"\u003eFabric wire \u0026amp; switch\u003c\/h3\u003e\n\u003cp class=\"body\"\u003eTwisted fabric cord with an in-line switch—ready to plug in once hung.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/article\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"carousel-nav\" aria-label=\"Details carousel controls\"\u003e\n\u003cbutton type=\"button\" class=\"carousel-btn carousel-btn--prev\" aria-label=\"Previous\" onclick=\"(function(b){var c=b.closest('.carousel');var t=c\u0026amp;\u0026amp;c.querySelector('.carousel-track');if(!t)return;var i=t.children[0];var g=parseFloat(getComputedStyle(t).columnGap||getComputedStyle(t).gap||0)||0;var w=(i?i.getBoundingClientRect().width:280)+g;if(t.scrollBy)t.scrollBy({left:-w,behavior:'smooth'});else t.scrollLeft-=w;})(this)\"\u003e\u003csvg viewbox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\"\u003e\u003cpath d=\"M9 2L4 7l5 5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/button\u003e \u003cbutton type=\"button\" class=\"carousel-btn carousel-btn--next\" aria-label=\"Next\" onclick=\"(function(b){var c=b.closest('.carousel');var t=c\u0026amp;\u0026amp;c.querySelector('.carousel-track');if(!t)return;var i=t.children[0];var g=parseFloat(getComputedStyle(t).columnGap||getComputedStyle(t).gap||0)||0;var w=(i?i.getBoundingClientRect().width:280)+g;if(t.scrollBy)t.scrollBy({left:w,behavior:'smooth'});else t.scrollLeft+=w;})(this)\"\u003e\u003csvg viewbox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\"\u003e\u003cpath d=\"M5 2l5 5-5 5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e\u003c\/section\u003e\u003csection class=\"section section-band\"\u003e\u003cdiv class=\"wrap\"\u003e\u003cdiv class=\"carousel\"\u003e\n\u003cdiv class=\"section-head reveal\"\u003e\n\u003cp class=\"eyebrow\"\u003eStyled scenes\u003c\/p\u003e\n\u003ch2 class=\"h2\"\u003eWherever you need soft light\u003c\/h2\u003e\n\u003cp class=\"lead\"\u003eLiving room, bedroom, study, and dining—one plug-in pendant that finds its place.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"space-grid carousel-track\"\u003e\n\u003carticle class=\"space-card reveal\"\u003e\u003cdiv class=\"shot\"\u003e\u003cimg src=\"https:\/\/d5754b614d.yunchenkeji.com\/media\/product\/561\/image\/2026\/09\/08\/1a6fc912c110aa75debcce37bb47d6cd.jpg\" alt=\"Petal Glass pendant over a living room coffee table\" width=\"1254\" height=\"1254\"\u003e\u003c\/div\u003e\n\u003ch3 class=\"h3\"\u003eLiving room accent\u003c\/h3\u003e\n\u003cp class=\"body\"\u003eHung over the coffee table—a soft accent for the living room.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"space-card reveal\"\u003e\u003cdiv class=\"shot\"\u003e\u003cimg src=\"https:\/\/d5754b614d.yunchenkeji.com\/media\/product\/561\/image\/2026\/09\/08\/dfdd26df371d1229deb37f1cc85c29c3.jpg\" alt=\"Petal Glass pendant above a bedroom nightstand\" width=\"1254\" height=\"1254\"\u003e\u003c\/div\u003e\n\u003ch3 class=\"h3\"\u003eBeside the bed\u003c\/h3\u003e\n\u003cp class=\"body\"\u003eAt the bedside for reading—plug in, no ceiling box needed.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"space-card reveal\"\u003e\u003cdiv class=\"shot\"\u003e\u003cimg src=\"https:\/\/d5754b614d.yunchenkeji.com\/media\/product\/561\/image\/2026\/09\/08\/ae96a8add3f51307b952d53919d0c5be.jpg\" alt=\"Petal Glass pendant over a study desk\" width=\"1254\" height=\"1254\"\u003e\u003c\/div\u003e\n\u003ch3 class=\"h3\"\u003eAt the desk\u003c\/h3\u003e\n\u003cp class=\"body\"\u003eOver the desk—soft downward light for reading or work.\u003c\/p\u003e\u003c\/article\u003e\u003carticle class=\"space-card reveal\"\u003e\u003cdiv class=\"shot\"\u003e\u003cimg src=\"https:\/\/d5754b614d.yunchenkeji.com\/media\/product\/561\/image\/2026\/09\/08\/048009b2276fccbd3a89dd1af6f451ea.jpg\" alt=\"Petal Glass pendant over a round dining table\" width=\"1254\" height=\"1254\"\u003e\u003c\/div\u003e\n\u003ch3 class=\"h3\"\u003eOver the table\u003c\/h3\u003e\n\u003cp class=\"body\"\u003eCentered above the dining table—ambient light for meals.\u003c\/p\u003e\u003c\/article\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"carousel-nav\" aria-label=\"Scenes carousel controls\"\u003e\n\u003cbutton type=\"button\" class=\"carousel-btn carousel-btn--prev\" aria-label=\"Previous\" onclick=\"(function(b){var c=b.closest('.carousel');var t=c\u0026amp;\u0026amp;c.querySelector('.carousel-track');if(!t)return;var i=t.children[0];var g=parseFloat(getComputedStyle(t).columnGap||getComputedStyle(t).gap||0)||0;var w=(i?i.getBoundingClientRect().width:280)+g;if(t.scrollBy)t.scrollBy({left:-w,behavior:'smooth'});else t.scrollLeft-=w;})(this)\"\u003e\u003csvg viewbox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\"\u003e\u003cpath d=\"M9 2L4 7l5 5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/button\u003e \u003cbutton type=\"button\" class=\"carousel-btn carousel-btn--next\" aria-label=\"Next\" onclick=\"(function(b){var c=b.closest('.carousel');var t=c\u0026amp;\u0026amp;c.querySelector('.carousel-track');if(!t)return;var i=t.children[0];var g=parseFloat(getComputedStyle(t).columnGap||getComputedStyle(t).gap||0)||0;var w=(i?i.getBoundingClientRect().width:280)+g;if(t.scrollBy)t.scrollBy({left:w,behavior:'smooth'});else t.scrollLeft+=w;})(this)\"\u003e\u003csvg viewbox=\"0 0 14 14\" fill=\"none\" aria-hidden=\"true\"\u003e\u003cpath d=\"M5 2l5 5-5 5\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e\u003c\/section\u003e\u003csection class=\"section\"\u003e\u003cdiv class=\"wrap feature-grid reveal\"\u003e\n\u003cdiv class=\"feature-copy\"\u003e\n\u003cp class=\"eyebrow\"\u003ePlug-in design\u003c\/p\u003e\n\u003ch2 class=\"h2\"\u003eHang it. Plug it in.\u003c\/h2\u003e\n\u003cp class=\"lead\"\u003eUse the adjustable fabric cord and hooks to set the height, then plug into a nearby outlet—no hardwiring needed.\u003c\/p\u003e\n\u003cdiv class=\"feature-points\"\u003e\n\u003cdiv class=\"feature-point\"\u003e177 in \/ 450 cm adjustable plug-in wire\u003c\/div\u003e\n\u003cdiv class=\"feature-point\"\u003eIn-line switch on the cord for easy on\/off\u003c\/div\u003e\n\u003cdiv class=\"feature-point\"\u003eUS \/ UK \/ AU \/ EU plug options\u003c\/div\u003e\n\u003cdiv class=\"feature-point\"\u003eSloped-ceiling ready up to 30°\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"shot\"\u003e\u003cimg src=\"https:\/\/d5754b614d.yunchenkeji.com\/media\/product\/561\/image\/2026\/09\/08\/515ce4da794d3bdb1adf11a1c1507cf6.jpg\" alt=\"Petal Glass plug-in pendant hanging with fabric cord to the wall\" width=\"1254\" height=\"1254\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003csection class=\"section\"\u003e\u003cdiv class=\"wrap specs-block reveal\"\u003e\n\u003cdiv class=\"section-head\"\u003e\n\u003cp class=\"eyebrow\"\u003eSpecifications\u003c\/p\u003e\n\u003ch2 class=\"h2\"\u003eProduct details at a glance\u003c\/h2\u003e\n\u003cp class=\"lead\"\u003eSize, finishes, and plug options at a glance.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"specs-layout\"\u003e\n\u003cdiv class=\"shot\"\u003e\u003cimg src=\"https:\/\/d5754b614d.yunchenkeji.com\/media\/product\/561\/image\/2026\/09\/03\/af9e64cd9f4ba83553df1477c2e7f356.jpg\" alt=\"Petal Glass pendant dimension diagram 28cm by 13cm\" width=\"1000\" height=\"1000\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"spec-list\"\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cdiv class=\"spec-k\"\u003eProduct type\u003c\/div\u003e\n\u003cdiv class=\"spec-v\"\u003ePendant lamp\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cdiv class=\"spec-k\"\u003eSize\u003c\/div\u003e\n\u003cdiv class=\"spec-v\"\u003eDia 28 cm × H 13 cm \/ ∅ 11″ × H 5.1″ (2 hooks)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cdiv class=\"spec-k\"\u003eShade colors\u003c\/div\u003e\n\u003cdiv class=\"spec-v\"\u003e\u003cdiv class=\"spec-chips\"\u003e\n\u003cspan\u003ePink\u003c\/span\u003e\u003cspan\u003eClear\u003c\/span\u003e\u003cspan\u003eGreen\u003c\/span\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cdiv class=\"spec-k\"\u003ePlug options\u003c\/div\u003e\n\u003cdiv class=\"spec-v\"\u003e\u003cdiv class=\"spec-chips\"\u003e\n\u003cspan\u003eUS\u003c\/span\u003e\u003cspan\u003eUK\u003c\/span\u003e\u003cspan\u003eAU\u003c\/span\u003e\u003cspan\u003eEU\u003c\/span\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cdiv class=\"spec-k\"\u003eMaterials\u003c\/div\u003e\n\u003cdiv class=\"spec-v\"\u003eGlass \u0026amp; copper\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cdiv class=\"spec-k\"\u003eVoltage\u003c\/div\u003e\n\u003cdiv class=\"spec-v\"\u003eAC 110–240V\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cdiv class=\"spec-k\"\u003eWire\u003c\/div\u003e\n\u003cdiv class=\"spec-v\"\u003ePlug-in — 177 in \/ 450 cm adjustable\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cdiv class=\"spec-k\"\u003eDimming\u003c\/div\u003e\n\u003cdiv class=\"spec-v\"\u003eDimmer compatible (dimmer not included)\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cdiv class=\"spec-k\"\u003eSloped ceiling\u003c\/div\u003e\n\u003cdiv class=\"spec-v\"\u003eCompatible up to 30°\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"spec-row\"\u003e\n\u003cdiv class=\"spec-k\"\u003eBulbs\u003c\/div\u003e\n\u003cdiv class=\"spec-v\"\u003eNot included\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\u003cscript\u003e\n(function () {\n      var roots = [];\n      function addRoot(el) {\n        if (!el || roots.indexOf(el) !== -1) return;\n        roots.push(el);\n      }\n      addRoot(document.getElementById(\"fecify-typography-scope\"));\n      Array.prototype.forEach.call(document.querySelectorAll(\"#fecify-typography-scope\"), addRoot);\n      if (!roots.length) return;\n\n      function unclipAncestors(root) {\n        var node = root.parentElement;\n        var depth = 0;\n        while (node \u0026\u0026 node !== document.body \u0026\u0026 depth \u003c 14) {\n          var cs = window.getComputedStyle(node);\n          if (cs.overflow !== \"visible\" || cs.overflowX !== \"visible\" || cs.overflowY !== \"visible\") {\n            node.style.setProperty(\"overflow\", \"visible\", \"important\");\n          }\n          if (node.classList) {\n            if (node.classList.contains(\"el-collapse-item__wrap\")) {\n              node.style.setProperty(\"overflow\", \"visible\", \"important\");\n              node.style.setProperty(\"height\", \"auto\", \"important\");\n            }\n            if (\n              node.classList.contains(\"el-collapse-item__content\") ||\n              node.classList.contains(\"body_html\") ||\n              node.classList.contains(\"rte\") ||\n              node.classList.contains(\"product-single__description\")\n            ) {\n              node.style.setProperty(\"overflow\", \"visible\", \"important\");\n            }\n          }\n          node = node.parentElement;\n          depth += 1;\n        }\n      }\n\n      function applyBleed(root) {\n        if (window.innerWidth \u003e 720) {\n          root.style.removeProperty(\"width\");\n          root.style.removeProperty(\"max-width\");\n          root.style.removeProperty(\"margin-left\");\n          root.style.removeProperty(\"margin-right\");\n          root.style.removeProperty(\"position\");\n          return;\n        }\n        unclipAncestors(root);\n        root.style.setProperty(\"width\", \"100vw\", \"important\");\n        root.style.setProperty(\"max-width\", \"100vw\", \"important\");\n        root.style.setProperty(\"margin-left\", \"calc(50% - 50vw)\", \"important\");\n        root.style.setProperty(\"margin-right\", \"calc(50% - 50vw)\", \"important\");\n        root.style.setProperty(\"box-sizing\", \"border-box\", \"important\");\n        root.style.setProperty(\"position\", \"relative\", \"important\");\n        root.style.setProperty(\"overflow-x\", \"visible\", \"important\");\n      }\n\n      function stepWidth(track) {\n        var item = track.children[0];\n        if (!item) return 280;\n        var styles = window.getComputedStyle(track);\n        var gap = parseFloat(styles.columnGap || styles.gap || \"0\") || 0;\n        return Math.max(160, item.getBoundingClientRect().width + gap);\n      }\n\n      function scrollTrack(track, dir) {\n        if (!track) return;\n        var w = stepWidth(track);\n        if (typeof track.scrollBy === \"function\") {\n          track.scrollBy({ left: dir * w, behavior: \"smooth\" });\n        } else {\n          track.scrollLeft += dir * w;\n        }\n      }\n\n      function updateNav(carousel) {\n        var track = carousel.querySelector(\".carousel-track\");\n        var nav = carousel.querySelector(\".carousel-nav\");\n        if (!track || !nav) return;\n        var maxScroll = track.scrollWidth - track.clientWidth;\n        if (maxScroll \u003c 8) {\n          nav.classList.add(\"is-disabled\");\n          return;\n        }\n        nav.classList.remove(\"is-disabled\");\n        var prev = carousel.querySelector(\".carousel-btn--prev\");\n        var next = carousel.querySelector(\".carousel-btn--next\");\n        if (prev) prev.classList.toggle(\"is-dim\", track.scrollLeft \u003c= 2);\n        if (next) next.classList.toggle(\"is-dim\", track.scrollLeft \u003e= maxScroll - 2);\n      }\n\n      function bindCarousels(root) {\n        root.querySelectorAll(\".carousel\").forEach(function (carousel) {\n          var track = carousel.querySelector(\".carousel-track\");\n          if (!track) return;\n          var prev = carousel.querySelector(\".carousel-btn--prev\");\n          var next = carousel.querySelector(\".carousel-btn--next\");\n          if (prev) prev.addEventListener(\"click\", function (e) {\n            e.preventDefault();\n            e.stopPropagation();\n            scrollTrack(track, -1);\n            window.setTimeout(function () { updateNav(carousel); }, 120);\n          });\n          if (next) next.addEventListener(\"click\", function (e) {\n            e.preventDefault();\n            e.stopPropagation();\n            scrollTrack(track, 1);\n            window.setTimeout(function () { updateNav(carousel); }, 120);\n          });\n          track.addEventListener(\"scroll\", function () { updateNav(carousel); }, { passive: true });\n          window.addEventListener(\"resize\", function () { updateNav(carousel); });\n          window.setTimeout(function () { updateNav(carousel); }, 60);\n          window.setTimeout(function () { updateNav(carousel); }, 400);\n\n          var drag = false, startX = 0, startLeft = 0, moved = false;\n          function onDown(e) {\n            \/* Touch\/pen: keep native finger-swipe. Mouse-only custom drag. *\/\n            if (e.pointerType !== \"mouse\" || e.button !== 0) return;\n            drag = true; moved = false;\n            startX = e.clientX;\n            startLeft = track.scrollLeft;\n            track.classList.add(\"is-dragging\");\n            try { track.setPointerCapture(e.pointerId); } catch (err) {}\n          }\n          function onMove(e) {\n            if (!drag) return;\n            var dx = e.clientX - startX;\n            if (Math.abs(dx) \u003e 3) moved = true;\n            track.scrollLeft = startLeft - dx;\n          }\n          function onUp(e) {\n            if (!drag) return;\n            drag = false;\n            track.classList.remove(\"is-dragging\");\n            try { track.releasePointerCapture(e.pointerId); } catch (err) {}\n            updateNav(carousel);\n          }\n          track.addEventListener(\"pointerdown\", onDown);\n          track.addEventListener(\"pointermove\", onMove);\n          track.addEventListener(\"pointerup\", onUp);\n          track.addEventListener(\"pointercancel\", onUp);\n          track.addEventListener(\"click\", function (e) {\n            if (moved) { e.preventDefault(); e.stopPropagation(); }\n          }, true);\n        });\n      }\n\n      function initRoot(root) {\n        if (root.getAttribute(\"data-petal-ready\") === \"1\") return;\n        root.setAttribute(\"data-petal-ready\", \"1\");\n        root.classList.add(\"js-animate\");\n\n        if (\"IntersectionObserver\" in window) {\n          var io = new IntersectionObserver(function (entries) {\n            entries.forEach(function (entry) {\n              if (entry.isIntersecting) { entry.target.classList.add(\"is-in\"); io.unobserve(entry.target); }\n            });\n          }, { threshold: 0.12, rootMargin: \"0px 0px -4% 0px\" });\n          root.querySelectorAll(\".reveal\").forEach(function (el) { io.observe(el); });\n        } else {\n          root.querySelectorAll(\".reveal\").forEach(function (el) { el.classList.add(\"is-in\"); });\n        }\n\n        applyBleed(root);\n        window.addEventListener(\"resize\", function () { applyBleed(root); });\n        \/\/ Re-apply after accordion\/tab open animations that re-clip overflow.\n        window.setTimeout(function () { applyBleed(root); }, 300);\n        window.setTimeout(function () { applyBleed(root); }, 1000);\n        document.addEventListener(\"click\", function () {\n          window.setTimeout(function () { applyBleed(root); }, 50);\n          window.setTimeout(function () { applyBleed(root); }, 350);\n        }, true);\n\n        bindCarousels(root);\n      }\n\n      roots.forEach(initRoot);\n    })();\n\u003c\/script\u003e\n\u003c\/div\u003e","brand":"FIMULL","offers":[{"title":"Dia 28cm x H 13cm \/ \u0026empty; 11\u0026Prime; x H 5.1\u0026Prime; (2 hooks) \/ Pink \/ US plug","offer_id":49581999521947,"sku":"TCPLUG-DOC-1023284","price":122.0,"currency_code":"EUR","in_stock":true},{"title":"Dia 28cm x H 13cm \/ \u0026empty; 11\u0026Prime; x H 5.1\u0026Prime; (2 hooks) \/ Pink \/ UK plug","offer_id":49581999554715,"sku":"TCPLUG-DOC-1023283","price":122.0,"currency_code":"EUR","in_stock":true},{"title":"Dia 28cm x H 13cm \/ \u0026empty; 11\u0026Prime; x H 5.1\u0026Prime; (2 hooks) \/ Pink \/ AU plug","offer_id":49581999587483,"sku":"TCPLUG-DOC-1023282","price":122.0,"currency_code":"EUR","in_stock":true},{"title":"Dia 28cm x H 13cm \/ \u0026empty; 11\u0026Prime; x H 5.1\u0026Prime; (2 hooks) \/ Pink \/ EU plug","offer_id":49581999620251,"sku":"TCPLUG-DOC-1023281","price":122.0,"currency_code":"EUR","in_stock":true},{"title":"Dia 28cm x H 13cm \/ \u0026empty; 11\u0026Prime; x H 5.1\u0026Prime; (2 hooks) \/ Clear \/ US plug","offer_id":49581999653019,"sku":"TCPLUG-DOC-1023280","price":122.0,"currency_code":"EUR","in_stock":true},{"title":"Dia 28cm x H 13cm \/ \u0026empty; 11\u0026Prime; x H 5.1\u0026Prime; (2 hooks) \/ Clear \/ UK plug","offer_id":49581999685787,"sku":"TCPLUG-DOC-1023279","price":122.0,"currency_code":"EUR","in_stock":true},{"title":"Dia 28cm x H 13cm \/ \u0026empty; 11\u0026Prime; x H 5.1\u0026Prime; (2 hooks) \/ Clear \/ AU plug","offer_id":49581999718555,"sku":"TCPLUG-DOC-1023278","price":122.0,"currency_code":"EUR","in_stock":true},{"title":"Dia 28cm x H 13cm \/ \u0026empty; 11\u0026Prime; x H 5.1\u0026Prime; (2 hooks) \/ Clear \/ EU plug","offer_id":49581999751323,"sku":"TCPLUG-DOC-1023277","price":122.0,"currency_code":"EUR","in_stock":true},{"title":"Dia 28cm x H 13cm \/ \u0026empty; 11\u0026Prime; x H 5.1\u0026Prime; (2 hooks) \/ Green \/ US plug","offer_id":49581999784091,"sku":"TCPLUG-DOC-1023276","price":122.0,"currency_code":"EUR","in_stock":true},{"title":"Dia 28cm x H 13cm \/ \u0026empty; 11\u0026Prime; x H 5.1\u0026Prime; (2 hooks) \/ Green \/ UK plug","offer_id":49581999816859,"sku":"TCPLUG-DOC-1023275","price":122.0,"currency_code":"EUR","in_stock":true},{"title":"Dia 28cm x H 13cm \/ \u0026empty; 11\u0026Prime; x H 5.1\u0026Prime; (2 hooks) \/ Green \/ AU plug","offer_id":49581999849627,"sku":"TCPLUG-DOC-1023274","price":122.0,"currency_code":"EUR","in_stock":true},{"title":"Dia 28cm x H 13cm \/ \u0026empty; 11\u0026Prime; x H 5.1\u0026Prime; (2 hooks) \/ Green \/ EU plug","offer_id":49581999882395,"sku":"TCPLUG-DOC-1023273","price":122.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0674\/1540\/8795\/files\/ddf1e94d17eeae766cae5687cf4635e8.jpg?v=1789887641","url":"https:\/\/fimull.com\/products\/flower-glass-plug-in-pendant-lamp-28n5siu8","provider":"FIMULL","version":"1.0","type":"link"}