{"product_id":"ribbed-glass-dome-pendant-with-one-light-and-ribbed-texture","title":"Suspension dôme en verre nervuré avec une lumière et texture nervurée","description":"\u003cdiv class=\"beltran-page\"\u003e\u003csection class=\"beltran-product-light\"\u003e\u003cdiv class=\"beltran-product-visual\"\u003e\u003cimg class=\"beltran-light-image beltran-light-off\" src=\"https:\/\/d5754b614d.yunchenkeji.com\/media\/product\/561\/image\/2026\/09\/22\/ff0c371b1ca10b80f686015d98576cb2.jpg\" alt=\"Suspension en verre nervuré éteinte\"\u003e\u003cimg class=\"beltran-light-image beltran-light-on\" src=\"https:\/\/d5754b614d.yunchenkeji.com\/media\/product\/561\/image\/2026\/09\/28\/1c65e9795dda3128c39d89a69ee03fc6.jpg\" alt=\"Suspension en verre nervuré éclairée\"\u003e\u003cspan class=\"beltran-light-label\"\u003e La lumière en mouvement\u003c\/span\u003e\u003c\/div\u003e\u003cdiv class=\"beltran-product-copy\"\u003e\u003cp class=\"eyebrow\"\u003e SUSPENSION DÔME UNIQUE EN VERRE NERVRÉ\u003c\/p\u003e\u003ch2\u003e Des détails qui maintiennent la lisibilité du formulaire.\u003c\/h2\u003e\u003cp class=\"intro\"\u003e Une vue plus rapprochée met en valeur le dôme en verre nervuré et la tige aux tons laiton. Il donne de la structure à la composition d’un bureau à domicile.\u003c\/p\u003e\u003cdiv class=\"feature-list\"\u003e\u003cdiv\u003e\u003cspan\u003e Matériels\u003c\/span\u003e \u003cstrong\u003eVerre strié et métal\u003c\/strong\u003e\u003c\/div\u003e\u003cdiv\u003e\u003cspan\u003e Qualité de la lumière\u003c\/span\u003e \u003cstrong\u003eMême lueur ambiante\u003c\/strong\u003e\u003c\/div\u003e\u003cdiv\u003e\u003cspan\u003e Personnage\u003c\/span\u003e \u003cstrong\u003eForme rétro en forme de citrouille\u003c\/strong\u003e\u003c\/div\u003e\u003c\/div\u003e\u003cdiv class=\"light-buttons\"\u003e \u003cbutton type=\"button\" onclick=\"beltranLightOff()\"\u003eDésactivé\u003c\/button\u003e \u003cbutton type=\"button\" onclick=\"beltranLightOn()\"\u003eActivé\u003c\/button\u003e \u003c\/div\u003e\u003c\/div\u003e\u003c\/section\u003e\u003csection class=\"beltran-section beltran-scenes\"\u003e\u003cdiv class=\"section-heading\"\u003e\u003cdiv\u003e\u003cp class=\"eyebrow\"\u003e UNE LUMIÈRE \/ TROIS ESPACES\u003c\/p\u003e\u003ch2\u003e Des détails qui maintiennent le design ensemble\u003c\/h2\u003e\u003c\/div\u003e\u003cp class=\"intro\"\u003e La finition crée une transition visuelle entre le point de montage et la forme visible. \u003c\/p\u003e\u003c\/div\u003e\u003cdiv class=\"card-grid\"\u003e\u003carticle\u003e\u003cdiv class=\"card-image\"\u003e\u003cimg src=\"https:\/\/d5754b614d.yunchenkeji.com\/media\/product\/561\/image\/2026\/09\/28\/c25d74f67f2fee044ab5592c005af342.jpg\" alt=\"Suspension en verre nervuré dans un salon\"\u003e\u003c\/div\u003e\u003cdiv class=\"card-copy\"\u003e\u003cp class=\"eyebrow\"\u003e 01 \/ SALON\u003c\/p\u003e\u003ch3\u003e Texture qui adoucit la lumière.\u003c\/h3\u003e\u003cp\u003e Le verre cannelé ajoute de la texture tout en diffusant doucement la lumière. \u003c\/p\u003e\u003c\/div\u003e\u003c\/article\u003e\u003carticle\u003e\u003cdiv class=\"card-image\"\u003e\u003cimg src=\"https:\/\/d5754b614d.yunchenkeji.com\/media\/product\/561\/image\/2026\/09\/28\/b377aa6f50ed514523a6d258ca4407d4.jpg\" alt=\"Suspension en verre nervuré dans une chambre\"\u003e\u003c\/div\u003e\u003cdiv class=\"card-copy\"\u003e\u003cp class=\"eyebrow\"\u003e 02 \/ CHAMBRE\u003c\/p\u003e\u003ch3\u003e Un accent de soirée reposant.\u003c\/h3\u003e\u003cp\u003e Une lueur ambiante uniforme crée une ambiance détendue et reposante. \u003c\/p\u003e\u003c\/div\u003e\u003c\/article\u003e\u003carticle\u003e\u003cdiv class=\"card-image\"\u003e\u003cimg src=\"https:\/\/d5754b614d.yunchenkeji.com\/media\/product\/561\/image\/2026\/09\/28\/3417f25d6140b0d6b5765bee94d2d626.jpg\" alt=\"Suspension en verre nervuré dans un bureau à domicile\"\u003e\u003c\/div\u003e\u003cdiv class=\"card-copy\"\u003e\u003cp class=\"eyebrow\"\u003e 03 \/ BUREAU À DOMICILE\u003c\/p\u003e\u003ch3\u003e Détails polis au-dessus.\u003c\/h3\u003e\u003cp\u003e Le métal de couleur laiton donne à l'abat-jour sculpté une finition polie. \u003c\/p\u003e\u003c\/div\u003e\u003c\/article\u003e\u003c\/div\u003e\u003c\/section\u003e\u003csection class=\"beltran-section beltran-details\"\u003e\u003cdiv class=\"section-heading\"\u003e\u003cdiv\u003e\u003cp class=\"eyebrow\"\u003e DES DÉTAILS QUI COMPTENT\u003c\/p\u003e\u003ch2\u003e Surface, cadre et connexion.\u003c\/h2\u003e\u003c\/div\u003e\u003cp class=\"intro\"\u003e Le pavillon de plafond, la tige de suspension et le store ouvert allient une construction durable à une apparence soigneusement finie.\u003c\/p\u003e\u003c\/div\u003e\u003cdiv class=\"details-controls\" aria-label=\"Commandes des images détaillées\"\u003e \u003cbutton class=\"details-arrow details-prev\" type=\"button\" aria-label=\"Détail précédent\"\u003e←\u003c\/button\u003e \u003cbutton class=\"details-arrow details-next\" type=\"button\" aria-label=\"Détail suivant\"\u003e→\u003c\/button\u003e \u003c\/div\u003e\u003cdiv class=\"card-grid details-slider\"\u003e\u003carticle\u003e\u003cdiv class=\"card-image\"\u003e\u003cimg src=\"https:\/\/d5754b614d.yunchenkeji.com\/media\/product\/561\/image\/2026\/09\/28\/b98177672248e41a7156f7797b5ed694.jpg\" alt=\"Auvent et tige de suspension de couleur laiton\"\u003e\u003c\/div\u003e\u003cdiv class=\"card-copy\"\u003e\u003cp class=\"eyebrow\"\u003e 01 \/ AUVENT DE PLAFOND\u003c\/p\u003e\u003ch3\u003e Une connexion au plafond propre.\u003c\/h3\u003e\u003cp\u003e L'auvent mince et la tige de suspension maintiennent le profil d'installation visuellement simple. \u003c\/p\u003e\u003c\/div\u003e\u003c\/article\u003e\u003carticle\u003e\u003cdiv class=\"card-image\"\u003e\u003cimg src=\"https:\/\/d5754b614d.yunchenkeji.com\/media\/product\/561\/image\/2026\/09\/28\/0e44bc7871761ca66915d46ebed3751b.jpg\" alt=\"Capuchon d'abat-jour de couleur laiton et verre bleu\"\u003e\u003c\/div\u003e\u003cdiv class=\"card-copy\"\u003e\u003cp class=\"eyebrow\"\u003e 02 \/ BOUCHON D'OMBRE\u003c\/p\u003e\u003ch3\u003e Un accord métal-verre sécurisé.\u003c\/h3\u003e\u003cp\u003e Le capuchon de couleur laiton maintient l'abat-jour en verre arrondi parfaitement en place. \u003c\/p\u003e\u003c\/div\u003e\u003c\/article\u003e\u003carticle\u003e\u003cdiv class=\"card-image\"\u003e\u003cimg src=\"https:\/\/d5754b614d.yunchenkeji.com\/media\/product\/561\/image\/2026\/09\/28\/77f7649941bfb85b4d798cdad6dae9d6.png\" alt=\"Abat-jour en verre bleu vu du dessous\"\u003e\u003c\/div\u003e\u003cdiv class=\"card-copy\"\u003e\u003cp class=\"eyebrow\"\u003e 03 \/ Abat-jour ouvert\u003c\/p\u003e\u003ch3\u003e Verre bombé, lumière visible.\u003c\/h3\u003e\u003cp\u003e La base ouverte laisse l'ampoule visible à travers le verre richement teinté. \u003c\/p\u003e\u003c\/div\u003e\u003c\/article\u003e\u003c\/div\u003e\u003c\/section\u003e\u003csection class=\"beltran-section pendant-motion-section\"\u003e\u003cdiv class=\"pendant-motion-layout\"\u003e\u003cdiv class=\"pendant-motion-copy\"\u003e\u003cp class=\"eyebrow\"\u003e LA FORME EN MOUVEMENT\u003c\/p\u003e\u003ch2\u003eUn examen plus approfondi de la suspension.\u003c\/h2\u003e\u003cp class=\"intro\"\u003e De la tige élancée aux profondes nervures verticales, la finition métallique chaleureuse et le verre bleu sculpté confèrent à cette suspension son profil défini pour les intérieurs français.\u003c\/p\u003e\u003cdiv class=\"motion-highlights\"\u003e\u003cdiv\u003e\u003cspan\u003e VERRE SCULPTÉ\u003c\/span\u003e\u003cp\u003e De profondes nervures verticales façonnent l'abat-jour et adoucissent l'éclat.\u003c\/p\u003e\u003c\/div\u003e\u003cdiv\u003e\u003cspan\u003e PROFIL RAFFINÉ\u003c\/span\u003e\u003cp\u003e Une tige fine de couleur laiton maintient la silhouette légère et équilibrée. \u003c\/p\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003cdiv class=\"pendant-motion-media\"\u003e\u003cvideo width=\"300\" height=\"150\" autoplay=\"autoplay\" muted=\"\" loop=\"loop\" playsinline=\"\" controls=\"controls\" preload=\"metadata\" poster=\"https:\/\/d5754b614d.yunchenkeji.com\/media\/product\/561\/image\/2026\/09\/28\/ad059116ece2b9b351f435cb074c9691.jpg\"\u003e\n\u003csource src=\"https:\/\/d5754b614d.yunchenkeji.com\/media\/product\/561\/video\/2026\/09\/28\/12c438767c86e1940685585f50865f98.mp4\" type=\"video\/mp4\"\u003e\u003c\/source\u003e\nVotre navigateur ne prend pas en charge la vidéo HTML5.\n\u003c\/video\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/section\u003e\u003csection class=\"beltran-section\"\u003e\u003cdiv class=\"section-heading specs-heading\"\u003e\u003cdiv\u003e\u003cp class=\"eyebrow\"\u003eCARACTÉRISTIQUES EN UN COUP D'OEIL\u003c\/p\u003e\u003ch2\u003e Dimensionné pour s'adapter à votre espace.\u003c\/h2\u003e\u003c\/div\u003e\u003cp class=\"intro\"\u003e Un abat-jour de 15 pouces et six tiges de suspension modulaires offrent une hauteur totale réglable de 22,1 à 72 pouces. \u003c\/p\u003e\u003c\/div\u003e\u003cdiv class=\"specs-layout\"\u003e\u003cdiv class=\"specs-image\"\u003e\u003cimg src=\"https:\/\/d5754b614d.yunchenkeji.com\/media\/product\/561\/image\/2026\/09\/22\/5289f34e9ceb97e9a32136cdb8521977.jpg\" alt=\"Dimensions et spécifications de la suspension en verre nervuré\"\u003e\u003c\/div\u003e\u003cdiv class=\"specs-content\"\u003e\u003cdiv class=\"specs-list\"\u003e\u003cdiv\u003e\u003cspan\u003e Dimensions du luminaire\u003c\/span\u003e \u003cstrong\u003e10\" H × 15\" L × 15\" P \u003csmall\u003e25,4 cm H × 38,1 cm L × 38,1 cm P\u003c\/small\u003e\u003c\/strong\u003e\u003c\/div\u003e\u003cdiv\u003e\u003cspan\u003e Hauteur totale réglable\u003c\/span\u003e \u003cstrong\u003e22,1\" à 72\" de hauteur \u003csmall\u003e56,1 à 182,9 cm de hauteur\u003c\/small\u003e\u003c\/strong\u003e\u003c\/div\u003e\u003cdiv\u003e\u003cspan\u003e Tiges de suspension\u003c\/span\u003e \u003cstrong\u003e6 tiges de 10\" \u003csmall\u003e6 tiges de 25,4 cm\u003c\/small\u003e\u003c\/strong\u003e\u003c\/div\u003e\u003cdiv\u003e\u003cspan\u003e Baldaquin\u003c\/span\u003e \u003cstrong\u003e1\" H × 4,7\" L \u003csmall\u003e2,5 cm H × 11,9 cm L\u003c\/small\u003e\u003c\/strong\u003e\u003c\/div\u003e\u003cdiv\u003e\u003cspan\u003e Hauteur de l'abat-jour\u003c\/span\u003e \u003cstrong\u003e9,1\" \u003csmall\u003e23,1 cm\u003c\/small\u003e\u003c\/strong\u003e\u003c\/div\u003e\u003cdiv\u003e\u003cspan\u003e Matériel de fixation\u003c\/span\u003e \u003cstrong\u003eMétal galvanisé\u003c\/strong\u003e\u003c\/div\u003e\u003cdiv\u003e\u003cspan\u003e Matériau de l'ombre\u003c\/span\u003e \u003cstrong\u003eVerre nervuré soufflé à la bouche\u003c\/strong\u003e\u003c\/div\u003e\u003cdiv\u003e\u003cspan\u003e Installation\u003c\/span\u003e \u003cstrong\u003eCâblé ; compatible avec plafond incliné\u003c\/strong\u003e\u003c\/div\u003e\u003cdiv\u003e\u003cspan\u003e Exigence d'ampoule\u003c\/span\u003e \u003cstrong\u003e1 × E26 \/ Ampoule moyenne\u003c\/strong\u003e\u003c\/div\u003e\u003cdiv\u003e\u003cspan\u003e Puissance maximale\u003c\/span\u003e \u003cstrong\u003e100W ; ampoule non incluse\u003c\/strong\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/section\u003e\u003c\/div\u003e\u003cstyle\u003e\n  .beltran-page {\n    --bg: #f4f1ea;\n    --text: #25251f;\n    --muted: #6e6d65;\n    --accent: #8f6534;\n    width: 100%;\n    max-width: 100%;\n    overflow-x: hidden;\n    background: var(--bg);\n    color: var(--text);\n    font-family: Arial, Helvetica, sans-serif;\n  }\n\n  .beltran-page * {\n    box-sizing: border-box;\n  }\n\n  .beltran-page img {\n    display: block;\n  }\n\n  .beltran-page h2,\n  .beltran-page h3 {\n    margin: 0;\n    font-family: Georgia, \"Times New Roman\", serif;\n    font-weight: 400;\n    letter-spacing: 0;\n  }\n\n  .beltran-page h2 {\n    max-width: 12ch;\n    font-size: clamp(30px, 3.1vw, 44px);\n    line-height: 1;\n  }\n\n  .beltran-page h3 {\n    font-size: clamp(21px, 1.8vw, 27px);\n    line-height: 1.08;\n  }\n\n  .eyebrow {\n    margin: 0 0 12px;\n    color: var(--accent);\n    font-size: 11px;\n    letter-spacing: 0.16em;\n    text-transform: uppercase;\n  }\n\n  .intro {\n    max-width: 430px;\n    margin: 16px 0 0;\n    color: var(--muted);\n    font-size: 14px;\n    line-height: 1.55;\n  }\n\n  .beltran-product-light {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    overflow: hidden;\n  }\n\n  .beltran-product-visual {\n    position: relative;\n    aspect-ratio: 1;\n    overflow: hidden;\n    background: #d8d5ca;\n  }\n\n  .beltran-light-image {\n    position: absolute;\n    inset: 0;\n    width: 100% !important;\n    height: 100% !important;\n    object-fit: cover;\n    transform: scale(1.08);\n    transition: opacity 0.8s ease;\n  }\n\n  .beltran-light-off {\n    z-index: 1;\n    opacity: 1;\n  }\n\n  .beltran-light-on {\n    z-index: 2;\n    opacity: 0;\n  }\n\n  .beltran-product-visual::after {\n    content: \"\";\n    position: absolute;\n    z-index: 3;\n    inset: 0;\n    background: linear-gradient(\n      90deg,\n      rgba(0, 0, 0, 0.02),\n      rgba(0, 0, 0, 0.13)\n    );\n    pointer-events: none;\n  }\n\n  .beltran-light-label {\n    position: absolute;\n    z-index: 4;\n    left: 28px;\n    bottom: 28px;\n    padding: 9px 12px;\n    border: 1px solid rgba(255, 255, 255, 0.55);\n    background: rgba(20, 20, 16, 0.42);\n    color: #fff;\n    font-size: 11px;\n    letter-spacing: 0.14em;\n    text-transform: uppercase;\n  }\n\n  .beltran-product-copy {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    padding: 42px clamp(22px, 5vw, 64px);\n  }\n\n  .feature-list {\n    max-width: 430px;\n    margin: 28px 0 25px;\n    border-top: 1px solid rgba(37, 37, 31, 0.16);\n  }\n\n  .feature-list div,\n  .specs-list \u003e div {\n    display: flex;\n    justify-content: space-between;\n    gap: 20px;\n    padding: 12px 0;\n    border-bottom: 1px solid rgba(37, 37, 31, 0.16);\n    color: var(--muted);\n    font-size: 13px;\n    line-height: 1.4;\n  }\n\n  .feature-list strong,\n  .specs-list strong {\n    color: var(--text);\n    font-weight: 500;\n    text-align: right;\n  }\n\n  .light-buttons {\n    display: flex;\n    gap: 8px;\n  }\n\n  .light-buttons button {\n    min-width: 68px;\n    padding: 8px 15px;\n    border: 0;\n    border-radius: 22px;\n    background: #bd8a4c;\n    color: #fff;\n    cursor: pointer;\n  }\n\n  .light-buttons button:hover {\n    background: var(--accent);\n  }\n\n  .beltran-section {\n    width: 100%;\n    padding: 42px clamp(22px, 6vw, 80px);\n    border-top: 1px solid rgba(37, 37, 31, 0.16);\n  }\n\n  .section-heading {\n    display: grid;\n    grid-template-columns: minmax(0, 1fr) minmax(280px, 430px);\n    gap: clamp(32px, 6vw, 90px);\n    max-width: 1380px;\n    margin: 0 auto 36px;\n    align-items: start;\n  }\n\n  .section-heading .intro {\n    width: 100%;\n    margin: 0;\n    justify-self: end;\n  }\n\n  .card-grid {\n    display: grid;\n    grid-template-columns: repeat(3, minmax(0, 1fr));\n    gap: clamp(18px, 3vw, 38px);\n    max-width: 1380px;\n    margin: auto;\n  }\n\n  .card-grid article {\n    min-width: 0;\n  }\n\n  .card-image {\n    position: relative;\n    width: 100%;\n    aspect-ratio: 1;\n    overflow: hidden;\n  }\n\n  .card-image img {\n    position: absolute;\n    inset: 0;\n    width: 100% !important;\n    height: 100% !important;\n    object-fit: cover;\n    transition: transform 0.7s ease;\n  }\n\n  .card-grid article:hover .card-image img {\n    transform: scale(1.04);\n  }\n\n  .card-copy {\n    display: grid;\n    grid-template-rows: auto minmax(2.16em, auto) auto;\n    align-content: start;\n    padding-top: 20px;\n  }\n\n  .card-copy .eyebrow {\n    margin-bottom: 11px;\n  }\n\n  .card-copy \u003e p:last-child {\n    max-width: 30ch;\n    margin: 12px 0 0;\n    color: var(--muted);\n    font-size: 14px;\n    line-height: 1.55;\n  }\n\n  .card-copy h3 + p {\n    align-self: start;\n  }\n\n  .details-controls {\n    display: none;\n  }\n\n  .details-arrow {\n    width: 42px;\n    height: 42px;\n    padding: 0;\n    border: 1px solid rgba(37, 37, 31, 0.28);\n    border-radius: 50%;\n    background: transparent;\n    color: var(--text);\n    font-size: 20px;\n    line-height: 1;\n    cursor: pointer;\n  }\n\n  .details-arrow:hover:not(:disabled) {\n    border-color: var(--accent);\n    background: var(--accent);\n    color: #fff;\n  }\n\n  .details-arrow:disabled {\n    opacity: 0.3;\n    cursor: default;\n  }\n\n  .pendant-motion-layout {\n    display: grid;\n    grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.28fr);\n    gap: clamp(38px, 6vw, 88px);\n    max-width: 1380px;\n    margin: auto;\n    align-items: center;\n  }\n\n  .pendant-motion-copy {\n    max-width: 430px;\n  }\n\n  .pendant-motion-copy .intro {\n    max-width: 420px;\n  }\n\n  .motion-highlights {\n    display: grid;\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n    gap: 22px;\n    margin-top: 28px;\n    border-top: 1px solid rgba(37, 37, 31, 0.16);\n  }\n\n  .motion-highlights \u003e div {\n    padding-top: 14px;\n    font-size: 13px;\n    line-height: 1.4;\n  }\n\n  .motion-highlights span {\n    color: var(--accent);\n    font-size: 11px;\n    letter-spacing: 0.16em;\n  }\n\n  .motion-highlights p {\n    margin: 9px 0 0;\n    color: var(--muted);\n    font-size: 13px;\n    line-height: 1.5;\n  }\n\n  .pendant-motion-media {\n    position: relative;\n    width: 100%;\n    max-width: 860px;\n    justify-self: end;\n    overflow: hidden;\n    background: #d8d5ca;\n    aspect-ratio: 16 \/ 9;\n  }\n\n  .pendant-motion-media video {\n    display: block;\n    width: 100%;\n    height: 100%;\n    object-fit: contain;\n  }\n\n  .specs-heading {\n    margin-bottom: 32px;\n  }\n\n  .specs-layout {\n    display: grid;\n    grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);\n    gap: clamp(34px, 6vw, 90px);\n    max-width: 1380px;\n    margin: auto;\n    align-items: center;\n  }\n\n  .specs-image {\n    overflow: hidden;\n    background: #fff;\n  }\n\n  .specs-image img {\n    width: 100% !important;\n    height: auto !important;\n  }\n\n  .specs-content {\n    width: 100%;\n    max-width: 560px;\n  }\n\n  .specs-list {\n    border-top: 1px solid rgba(37, 37, 31, 0.16);\n  }\n\n  .specs-list strong {\n    max-width: 60%;\n  }\n\n  .specs-list small {\n    display: block;\n    margin-top: 3px;\n    color: var(--muted);\n    font-size: 13px;\n    font-weight: 400;\n  }\n\n  @media (max-width: 900px) {\n    .pendant-motion-layout {\n      grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);\n      gap: 36px;\n    }\n\n    .specs-layout {\n      grid-template-columns: 1fr;\n      gap: 42px;\n    }\n\n    .specs-content {\n      max-width: none;\n    }\n  }\n\n  @media (max-width: 760px) {\n    .beltran-product-light {\n      display: block;\n    }\n\n    .beltran-product-copy {\n      padding: 34px 22px;\n    }\n\n    .beltran-section {\n      padding: 34px 22px;\n    }\n\n    .section-heading {\n      display: block;\n      margin-bottom: 30px;\n    }\n\n    .section-heading .intro {\n      margin-top: 14px;\n    }\n\n    .card-grid {\n      grid-template-columns: 1fr;\n      gap: 21px;\n    }\n\n    .beltran-scenes .card-copy {\n      padding-top: 12px;\n    }\n\n    .card-copy {\n      grid-template-rows: auto auto auto;\n    }\n\n    .pendant-motion-layout {\n      grid-template-columns: 1fr;\n      gap: 28px;\n    }\n\n    .pendant-motion-copy {\n      max-width: none;\n    }\n\n    .motion-highlights {\n      max-width: 430px;\n      grid-template-columns: 1fr;\n      gap: 14px;\n    }\n\n    .motion-highlights \u003e div + div {\n      padding-top: 14px;\n      border-top: 1px solid rgba(37, 37, 31, 0.16);\n    }\n\n    .pendant-motion-media {\n      width: 100%;\n      justify-self: stretch;\n    }\n\n    \/*\n     * Mobile detail slider\n     *\/\n\n    .beltran-details {\n      display: flex;\n      flex-direction: column;\n      width: 100%;\n      min-width: 0;\n      overflow: hidden;\n    }\n\n    .beltran-details .section-heading {\n      order: 0;\n      width: 100%;\n    }\n\n    .beltran-details .details-slider {\n      order: 1;\n    }\n\n    .details-slider {\n      display: flex;\n      grid-template-columns: none;\n      gap: 16px;\n\n      width: 100%;\n      max-width: 100%;\n      min-width: 0;\n      margin: 0;\n      padding: 0;\n\n      overflow-x: auto;\n      overflow-y: hidden;\n\n      scroll-snap-type: x mandatory;\n      scroll-behavior: smooth;\n      overscroll-behavior-x: contain;\n      touch-action: pan-x;\n      -webkit-overflow-scrolling: touch;\n      scrollbar-width: none;\n    }\n\n    .details-slider::-webkit-scrollbar {\n      display: none;\n    }\n\n    .details-slider article {\n      flex: 0 0 100%;\n      width: 100%;\n      max-width: 100%;\n      min-width: 0;\n      scroll-snap-align: start;\n      scroll-snap-stop: always;\n    }\n\n    .details-slider .card-image {\n      width: 100%;\n      max-width: 100%;\n    }\n\n    .details-controls {\n      position: relative;\n      z-index: 5;\n      order: 2;\n\n      display: flex;\n      justify-content: center;\n      align-items: center;\n      gap: 8px;\n\n      width: 100%;\n      max-width: 100%;\n      margin: 18px 0 0;\n      pointer-events: auto;\n    }\n\n    .details-arrow {\n      position: relative;\n      z-index: 6;\n      flex: 0 0 42px;\n      pointer-events: auto;\n      touch-action: manipulation;\n      -webkit-tap-highlight-color: transparent;\n    }\n  }\n\u003c\/style\u003e\u003cscript\u003e\n  (function () {\n    var page = document.querySelector(\".beltran-page\");\n\n    if (!page) return;\n\n    \/*\n     * Light switch\n     *\/\n\n    var offImage = page.querySelector(\".beltran-light-off\");\n    var onImage = page.querySelector(\".beltran-light-on\");\n    var lightIsOn = false;\n\n    window.beltranLightOn = function () {\n      if (!offImage || !onImage) return;\n\n      lightIsOn = true;\n      offImage.style.opacity = \"0\";\n      onImage.style.opacity = \"1\";\n    };\n\n    window.beltranLightOff = function () {\n      if (!offImage || !onImage) return;\n\n      lightIsOn = false;\n      offImage.style.opacity = \"1\";\n      onImage.style.opacity = \"0\";\n    };\n\n    if (offImage \u0026\u0026 onImage) {\n      window.setInterval(function () {\n        if (lightIsOn) {\n          window.beltranLightOff();\n        } else {\n          window.beltranLightOn();\n        }\n      }, 2800);\n    }\n\n    \/*\n     * Mobile detail slider\n     *\/\n\n    var detailsSlider = page.querySelector(\".details-slider\");\n    var detailsPrev = page.querySelector(\".details-prev\");\n    var detailsNext = page.querySelector(\".details-next\");\n    var detailsIndex = 0;\n\n    function getDetailCards() {\n      if (!detailsSlider) return [];\n\n      return detailsSlider.querySelectorAll(\"article\");\n    }\n\n    function getDetailsStep() {\n      if (!detailsSlider) return 0;\n\n      var card = detailsSlider.querySelector(\"article\");\n\n      if (!card) return 0;\n\n      var sliderStyle = window.getComputedStyle(detailsSlider);\n      var gap =\n        parseFloat(sliderStyle.columnGap || sliderStyle.gap) || 0;\n\n      return card.getBoundingClientRect().width + gap;\n    }\n\n    function updateDetailsArrows() {\n      if (!detailsSlider || !detailsPrev || !detailsNext) return;\n\n      var cards = getDetailCards();\n      var step = getDetailsStep();\n\n      if (!cards.length || !step) return;\n\n      detailsIndex = Math.round(detailsSlider.scrollLeft \/ step);\n      detailsIndex = Math.max(\n        0,\n        Math.min(detailsIndex, cards.length - 1)\n      );\n\n      detailsPrev.disabled = detailsIndex === 0;\n      detailsNext.disabled = detailsIndex === cards.length - 1;\n    }\n\n    function moveDetails(direction) {\n      if (!detailsSlider) return;\n\n      updateDetailsArrows();\n\n      var cards = getDetailCards();\n      var step = getDetailsStep();\n\n      if (!cards.length || !step) return;\n\n      detailsIndex += direction;\n      detailsIndex = Math.max(\n        0,\n        Math.min(detailsIndex, cards.length - 1)\n      );\n\n      detailsSlider.scrollTo({\n        left: detailsIndex * step,\n        behavior: \"smooth\"\n      });\n\n      window.setTimeout(updateDetailsArrows, 400);\n    }\n\n    if (detailsSlider \u0026\u0026 detailsPrev \u0026\u0026 detailsNext) {\n      detailsPrev.addEventListener(\"click\", function (event) {\n        event.preventDefault();\n        event.stopPropagation();\n        moveDetails(-1);\n      });\n\n      detailsNext.addEventListener(\"click\", function (event) {\n        event.preventDefault();\n        event.stopPropagation();\n        moveDetails(1);\n      });\n\n      detailsSlider.addEventListener(\n        \"scroll\",\n        updateDetailsArrows,\n        {\n          passive: true\n        }\n      );\n\n      window.addEventListener(\"resize\", function () {\n        var step = getDetailsStep();\n\n        if (step \u0026\u0026 window.innerWidth \u003c= 760) {\n          detailsSlider.scrollLeft = detailsIndex * step;\n        }\n\n        updateDetailsArrows();\n      });\n\n      window.requestAnimationFrame(function () {\n        window.requestAnimationFrame(updateDetailsArrows);\n      });\n\n      window.addEventListener(\"load\", updateDetailsArrows);\n    }\n  })();\n\u003c\/script\u003e","brand":"monulo","offers":[{"title":"Bleu \/ Diamètre 38 cm × Hauteur 25 cm \/ Diamètre 15″ × Hauteur 10″ \/ Laiton","offer_id":67532939624606,"sku":"New2609-1024641-B11","price":199.0,"currency_code":"USD","in_stock":true},{"title":"Bleu clair \/ Diamètre 38 cm × Hauteur 25 cm \/ Diamètre 15″ × Hauteur 10″ \/ Laiton","offer_id":67532939657374,"sku":"New2609-1024640-B11","price":199.0,"currency_code":"USD","in_stock":true},{"title":"Transparent \/ Diamètre 38 cm × Hauteur 25 cm \/ Diamètre 15″ × Hauteur 10″ \/ Laiton","offer_id":67532939690142,"sku":"New2609-1024639-B11","price":199.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0680\/6349\/4302\/files\/a4ae117ce736c1b60d56befa35dbb377.webp?v=1791443158","url":"https:\/\/www.monulo.com\/fr\/products\/ribbed-glass-dome-pendant-with-one-light-and-ribbed-texture","provider":"Monulo","version":"1.0","type":"link"}