{"product_id":"riot-games-x-yourstuffmade-custom-gaming-merchandise-for-a-global-esports-brand","title":"Riot Games","description":"\u003cstyle\u003e\n\/* REMPLACEMENT PLEINE LARGEUR PRODUIT YSM V9 — limité à cette étude de cas produit.\n   Permet à product.description d’occuper toute la largeur du contenu et masque la galerie Shopify native,\n   les commandes d’achat et le titre du produit en double. *\/\nbody:has(.ysm-riot-v9) .product:not(.card__inner),\nbody:has(.ysm-riot-v9) .product.grid {\n  display:block!important;\n  grid-template-columns:minmax(0,1fr)!important;\n  width:100%!important;\n  max-width:none!important;\n  min-width:0!important;\n  margin-inline:auto!important;\n}\nbody:has(.ysm-riot-v9) .product__media-wrapper,\nbody:has(.ysm-riot-v9) .product__media-gallery,\nbody:has(.ysm-riot-v9) .product media-gallery,\nbody:has(.ysm-riot-v9) .product__title,\nbody:has(.ysm-riot-v9) .product .price,\nbody:has(.ysm-riot-v9) .product .product-form,\nbody:has(.ysm-riot-v9) .product product-form,\nbody:has(.ysm-riot-v9) .product variant-selects,\nbody:has(.ysm-riot-v9) .product .shopify-payment-button,\nbody:has(.ysm-riot-v9) .product .product__tax,\nbody:has(.ysm-riot-v9) .product .product__sku,\nbody:has(.ysm-riot-v9) .product .product__inventory,\nbody:has(.ysm-riot-v9) .product .share-button {\n  display:none!important;\n}\nbody:has(.ysm-riot-v9) .product__info-wrapper,\nbody:has(.ysm-riot-v9) .product__info-container,\nbody:has(.ysm-riot-v9) .product__description,\nbody:has(.ysm-riot-v9) .product__description .rte {\n  display:block!important;\n  width:100%!important;\n  max-width:none!important;\n  min-width:0!important;\n  flex:0 0 100%!important;\n  padding:0!important;\n  margin-inline:auto!important;\n}\n\/* Remplace les colonnes d’informations produit à mi-largeur de Dawn par un espacement de type page. *\/\nbody:has(.ysm-riot-v9) .product__info-wrapper.grid__item {\n  width:100%!important;\n  max-width:100%!important;\n}\nbody:has(.ysm-riot-v9) .product__description \u003e .ysm-riot-v9 {\n  width:100%!important;\n  max-width:1160px!important;\n  margin-inline:auto!important;\n}\n\/* Évite que le style générique RTE interfère avec les cartes d’étude de cas conçues sur mesure. *\/\nbody:has(.ysm-riot-v9) .product__description .rte \u003e * { max-width:none; }\n\u003c\/style\u003e\n\u003cstyle\u003e\n\/* Design de l’étude de cas YSM V9 *\/\n.ysm-riot-v9{--green:#2d684a;--ink:#203128;--muted:#617168;--line:#dfe7e0;--soft:#f3f7f3;color:var(--ink);font-family:inherit;line-height:1.5;width:100%;max-width:1160px;margin:auto;overflow:clip}\n.ysm-riot-v9 *,.ysm-riot-v9 *:before,.ysm-riot-v9 *:after{box-sizing:border-box;min-width:0}\n.ysm-riot-v9 .inner{width:min(1160px,calc(100% - 36px));margin-inline:auto}\n.ysm-riot-v9 h1,.ysm-riot-v9 h2,.ysm-riot-v9 h3{font-family:inherit;font-weight:750;letter-spacing:-.035em;line-height:1.12;margin:0;color:var(--ink)}\n.ysm-riot-v9 h1{font-size:clamp(33px,4.2vw,58px)}.ysm-riot-v9 h2{font-size:clamp(25px,3vw,38px)}.ysm-riot-v9 h3{font-size:clamp(17px,1.7vw,21px)}\n.ysm-riot-v9 p{margin:0}.ysm-riot-v9 a{text-decoration:none}.ysm-riot-v9 .eyebrow{color:var(--green);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px}\n.ysm-riot-v9 .lead{color:var(--muted);font-size:clamp(15px,1.45vw,18px);line-height:1.55}\n.ysm-riot-v9 .btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:45px;padding:12px 19px;background:var(--green);color:#fff!important;border-radius:10px;font-size:14px;font-weight:750;text-align:center;text-decoration:none!important;transition:transform .2s,background .2s}\n.ysm-riot-v9 .btn:hover{transform:translateY(-2px);background:#204e36}.ysm-riot-v9 a:focus-visible{outline:3px solid var(--green);outline-offset:3px}\n.ysm-riot-v9 .square{display:block;position:relative;width:100%;aspect-ratio:1\/1;margin:0;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff}\n.ysm-riot-v9 .square img{position:absolute;inset:0;display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;object-position:center;transition:transform .25s ease}\n.ysm-riot-v9 .square.photo img{object-fit:cover!important}.ysm-riot-v9 .square.art img{object-fit:contain!important}.ysm-riot-v9 .square.logo img{object-fit:contain!important;padding:8%!important}.ysm-riot-v9 .gallery a:hover img{transform:scale(1.035)}.ysm-riot-v9 .gallery a:hover .square{border-color:#9db9a5}\n.ysm-riot-v9 .hero{padding:clamp(18px,3vw,38px) 0 32px}.ysm-riot-v9 .hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(22px,4vw,52px);align-items:center}.ysm-riot-v9 .hero .lead{margin-top:16px}\n.ysm-riot-v9 .chips{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 20px}.ysm-riot-v9 .chip{padding:6px 10px;background:#eaf2eb;border-radius:8px;font-size:12px;font-weight:650}\n.ysm-riot-v9 .section{padding:clamp(28px,3.6vw,44px) 0;border-top:1px solid var(--line)}.ysm-riot-v9 .section-lead{max-width:780px;margin-top:12px}\n.ysm-riot-v9 .brand-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,4vw,60px);align-items:center}.ysm-riot-v9 .brand-grid .logo{width:min(100%,300px);justify-self:center}.ysm-riot-v9 .brand-grid .lead{margin-top:13px}\n.ysm-riot-v9 .quote{border-left:3px solid var(--green);padding:0 0 0 16px;margin:18px 0 0;font-size:clamp(17px,1.85vw,22px);font-weight:650;line-height:1.4;letter-spacing:-.02em}\n.ysm-riot-v9 .story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}.ysm-riot-v9 .story-card{padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--soft);transition:transform .2s,box-shadow .2s}.ysm-riot-v9 .story-card:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(24,54,37,.08)}.ysm-riot-v9 .story-card .num{font-size:11px;color:var(--green);font-weight:800;letter-spacing:.12em;margin-bottom:12px}.ysm-riot-v9 .story-card p:last-child{color:var(--muted);font-size:14px;line-height:1.55;margin-top:8px}\n.ysm-riot-v9 .gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px}.ysm-riot-v9 .gallery a{display:block;cursor:zoom-in}\n.ysm-riot-v9 .project-info{margin-top:24px;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.ysm-riot-v9 .project-info h3{margin-bottom:17px}.ysm-riot-v9 .info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 26px}.ysm-riot-v9 .info-item{border-top:1px solid var(--line);padding-top:12px}.ysm-riot-v9 .info-item strong{display:block;font-size:14px;margin-bottom:6px}.ysm-riot-v9 .info-item p{color:var(--muted);font-size:14px;line-height:1.55}\n.ysm-riot-v9 .product-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.ysm-riot-v9 .product-link{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:14px;color:var(--ink)!important;transition:background .2s,transform .2s}.ysm-riot-v9 .product-link:hover{background:var(--soft);transform:translateY(-2px)}.ysm-riot-v9 .product-link strong{font-size:15px}.ysm-riot-v9 .product-link span{font-size:21px;color:var(--green)}\n.ysm-riot-v9 .final{padding:30px 0 40px}.ysm-riot-v9 .cta{padding:clamp(25px,4vw,38px);background:var(--ink);border-radius:17px;display:flex;align-items:center;justify-content:space-between;gap:25px}.ysm-riot-v9 .cta h2{color:#fff}.ysm-riot-v9 .cta .eyebrow{color:#b1d9bd}.ysm-riot-v9 .cta p:not(.eyebrow){color:#d2dfd5;font-size:15px;max-width:580px;margin-top:10px}.ysm-riot-v9 .cta .btn{background:#fff;color:var(--ink)!important;flex-shrink:0}.ysm-riot-v9 .cta .btn:hover{background:#e5f2e8}\n@media(max-width:800px){.ysm-riot-v9 .hero-grid,.ysm-riot-v9 .brand-grid{grid-template-columns:1fr;gap:20px}.ysm-riot-v9 .hero .square{max-width:500px}.ysm-riot-v9 .brand-grid .logo{width:min(100%,230px)}.ysm-riot-v9 .story{grid-template-columns:1fr}.ysm-riot-v9 .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ysm-riot-v9 .cta{flex-direction:column;align-items:stretch}}\n@media(max-width:480px){.ysm-riot-v9 .inner{width:calc(100% - 28px)}.ysm-riot-v9 .hero{padding:14px 0 25px}.ysm-riot-v9 h1{font-size:clamp(31px,8vw,39px)}.ysm-riot-v9 h2{font-size:clamp(24px,6vw,30px)}.ysm-riot-v9 .section{padding:25px 0}.ysm-riot-v9 .story-card{padding:17px}.ysm-riot-v9 .gallery{gap:8px}.ysm-riot-v9 .info-grid{grid-template-columns:1fr;gap:13px}.ysm-riot-v9 .project-info{padding:17px}.ysm-riot-v9 .product-links{grid-template-columns:1fr}.ysm-riot-v9 .hero .btn,.ysm-riot-v9 .cta .btn{width:100%}.ysm-riot-v9 .final{padding:23px 0 30px}.ysm-riot-v9 .cta{padding:24px}}\n@media(prefers-reduced-motion:reduce){.ysm-riot-v9 *{transition:none!important}}\n\u003c\/style\u003e\n\u003carticle class=\"ysm-riot-v9\"\u003e\n\u003cheader class=\"hero\"\u003e\u003cdiv class=\"inner hero-grid\"\u003e\n\u003cdiv\u003e\n\u003cp class=\"eyebrow\"\u003eProjets YSM \/ Jeux vidéo et e-sport\u003c\/p\u003e\n\u003ch1\u003eRiot Games : conçus pour les joueurs. Créés pour les fans.\u003c\/h1\u003e\n\u003cp class=\"lead\"\u003eDe League of Legends à Wild Rift, Riot Games crée des univers qui dépassent le cadre de l’écran. YSM a travaillé sur des articles personnalisés pour les jeux vidéo, des objets de collection haut de gamme et des produits destinés à des communautés de fans passionnées.\u003c\/p\u003e\n\u003cdiv class=\"chips\"\u003e\n\u003cspan class=\"chip\"\u003eObjets de collection gaming\u003c\/span\u003e\u003cspan class=\"chip\"\u003ePins émaillés et pièces\u003c\/span\u003e\u003cspan class=\"chip\"\u003eProduits dérivés d’e-sport\u003c\/span\u003e\n\u003c\/div\u003e\n\u003ca class=\"btn\" href=\"https:\/\/yourstuffmade.com\/collections\/custom-ethical-products\"\u003eDécouvrir la fabrication sur mesure →\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cfigure class=\"square photo\"\u003e\u003cimg alt=\"Pièce de collection Wild Rift\" height=\"900\" loading=\"eager\" src=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/RiotGamescoinswildriftchina.webp?v=1756597048\" width=\"900\"\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\u003c\/header\u003e\n\u003csection class=\"section\"\u003e\u003cdiv class=\"inner brand-grid\"\u003e\n\u003cdiv\u003e\n\u003cp class=\"eyebrow\"\u003eLa marque\u003c\/p\u003e\n\u003ch2\u003eBien plus que des jeux. Des univers entiers.\u003c\/h2\u003e\n\u003cp class=\"lead\"\u003eFondé en 2006, Riot Games a créé des titres reconnus dans le monde entier, notamment League of Legends et VALORANT. Ses univers, ses personnages et ses expériences compétitives sont devenus incontournables dans la culture du jeu vidéo.\u003c\/p\u003e\n\u003cblockquote class=\"quote\"\u003eLes produits dérivés de jeux vidéo doivent donner l’impression d’avoir été collectionnés au cœur de l’univers, et non d’être simplement imprimés avec un logo.\u003c\/blockquote\u003e\n\u003c\/div\u003e\n\u003cfigure class=\"square logo\"\u003e\u003cimg alt=\"Logo Riot Games\" height=\"600\" loading=\"lazy\" src=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/Riotgamesredlogo.png?v=1756597048\" width=\"600\"\u003e\u003c\/figure\u003e\n\u003c\/div\u003e\u003c\/section\u003e\n\u003csection class=\"section\"\u003e\u003cdiv class=\"inner\"\u003e\n\u003cp class=\"eyebrow\"\u003eLa collaboration\u003c\/p\u003e\n\u003ch2\u003eDonner vie aux univers du jeu vidéo.\u003c\/h2\u003e\n\u003cp class=\"lead section-lead\"\u003eLa collaboration met l’accent sur des objets de collection haut de gamme pour les fans, des produits détaillés et une fabrication de qualité.\u003c\/p\u003e\n\u003cdiv class=\"story\"\u003e\n\u003cdiv class=\"story-card\"\u003e\n\u003cp class=\"num\"\u003e01 \/ LE BRIEF\u003c\/p\u003e\n\u003ch3\u003eCréer des objets à collectionner\u003c\/h3\u003e\n\u003cp\u003eTransposer des personnages reconnaissables et des univers de jeu en produits dérivés physiques.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"story-card\"\u003e\n\u003cp class=\"num\"\u003e02 \/ LE RÔLE DE YSM\u003c\/p\u003e\n\u003ch3\u003eUne fabrication haut de gamme\u003c\/h3\u003e\n\u003cp\u003eAccompagner la création des prototypes, le choix des finitions et le contrôle de la qualité des produits.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"story-card\"\u003e\n\u003cp class=\"num\"\u003e03 \/ LE RÉSULTAT\u003c\/p\u003e\n\u003ch3\u003eDes produits pensés pour les fans\u003c\/h3\u003e\n\u003cp\u003eCréer des liens concrets avec les communautés de joueurs.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\n\u003csection class=\"section\"\u003e\u003cdiv class=\"inner\"\u003e\n\u003cp class=\"eyebrow\"\u003eGalerie du projet\u003c\/p\u003e\n\u003ch2\u003eCe sont les détails qui font l’objet de collection.\u003c\/h2\u003e\n\u003cp class=\"lead section-lead\"\u003ePins personnalisés, objets de collection métalliques, peluches à l’effigie des personnages et accessoires inspirés des jeux vidéo.\u003c\/p\u003e\n\u003cdiv class=\"gallery\" data-ysm-expanded-gallery=\"\"\u003e\n\u003ca aria-label=\"Voir le pin émaillé League of Legends Wild Rift\" href=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/Leagueoflegendswilldriftenamelpin.webp?v=1756597048\" rel=\"noopener\" target=\"_blank\"\u003e\u003cfigure class=\"square art\"\u003e\u003cimg alt=\"Pin émaillé League of Legends Wild Rift\" height=\"600\" loading=\"lazy\" src=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/Leagueoflegendswilldriftenamelpin.webp?v=1756597048\" width=\"600\"\u003e\u003c\/figure\u003e\u003c\/a\u003e\n\u003ca aria-label=\"Voir les produits dérivés de collection League of Legends\" href=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/Riot_Games_x_Pinlord-_Crafting_Legendary_Custom_Merchandise_for_the_Global_Gaming_Industry.jpg?v=1756597048\" rel=\"noopener\" target=\"_blank\"\u003e\u003cfigure class=\"square art\"\u003e\u003cimg alt=\"Produits dérivés de collection League of Legends\" height=\"600\" loading=\"lazy\" src=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/Riot_Games_x_Pinlord-_Crafting_Legendary_Custom_Merchandise_for_the_Global_Gaming_Industry.jpg?v=1756597048\" width=\"600\"\u003e\u003c\/figure\u003e\u003c\/a\u003e\n\u003ca aria-label=\"Voir l’illustration de la marque Wild Rift\" href=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/RiotGameswildriftlogo.webp?v=1756597048\" rel=\"noopener\" target=\"_blank\"\u003e\u003cfigure class=\"square art\"\u003e\u003cimg alt=\"Illustration de la marque Wild Rift\" height=\"600\" loading=\"lazy\" src=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/RiotGameswildriftlogo.webp?v=1756597048\" width=\"600\"\u003e\u003c\/figure\u003e\u003c\/a\u003e\n\u003ca aria-label=\"Voir la peluche de collection Gnar\" href=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/Riot_Games_x_Pinlord-_Crafting_Legendary_Custom_Merchandise_for_the_Global_Gaming_Industry_4.webp?v=1756597048\" rel=\"noopener\" target=\"_blank\"\u003e\u003cfigure class=\"square art\"\u003e\u003cimg alt=\"Peluche de collection Gnar\" height=\"600\" loading=\"lazy\" src=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/Riot_Games_x_Pinlord-_Crafting_Legendary_Custom_Merchandise_for_the_Global_Gaming_Industry_4.webp?v=1756597048\" width=\"600\"\u003e\u003c\/figure\u003e\u003c\/a\u003e\n\u003ca aria-label=\"Voir le casque de jeu Riot Games\" href=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/RiotGamesheadphones.webp?v=1756597048\" rel=\"noopener\" target=\"_blank\"\u003e\u003cfigure class=\"square art\"\u003e\u003cimg alt=\"Casque de jeu Riot Games\" height=\"600\" loading=\"lazy\" src=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/RiotGamesheadphones.webp?v=1756597048\" width=\"600\"\u003e\u003c\/figure\u003e\u003c\/a\u003e\n\u003ca aria-label=\"Voir la peluche de collection à l’effigie d’un personnage\" href=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/plushieriotgameslimitededition.webp?v=1756597048\" rel=\"noopener\" target=\"_blank\"\u003e\u003cfigure class=\"square photo\"\u003e\u003cimg alt=\"Peluche de collection à l’effigie d’un personnage\" height=\"600\" loading=\"lazy\" src=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/plushieriotgameslimitededition.webp?v=1756597048\" width=\"600\"\u003e\u003c\/figure\u003e\u003c\/a\u003e\n\u003ca aria-label=\"Voir la peluche personnalisée à l’effigie d’un personnage Riot\" href=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/plushieriotgamescustom.webp?v=1756597048\" rel=\"noopener\" target=\"_blank\"\u003e\u003cfigure class=\"square photo\"\u003e\u003cimg alt=\"Peluche personnalisée à l’effigie d’un personnage Riot\" height=\"600\" loading=\"lazy\" src=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/plushieriotgamescustom.webp?v=1756597048\" width=\"600\"\u003e\u003c\/figure\u003e\u003c\/a\u003e\n\u003ca aria-label=\"Voir les vêtements promotionnels de gaming\" href=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/promotionalriotgamesshirt.webp?v=1756597048\" rel=\"noopener\" target=\"_blank\"\u003e\u003cfigure class=\"square photo\"\u003e\u003cimg alt=\"Vêtements promotionnels de gaming\" height=\"600\" loading=\"lazy\" src=\"https:\/\/yourstuffmade.com\/cdn\/shop\/files\/promotionalriotgamesshirt.webp?v=1756597048\" width=\"600\"\u003e\u003c\/figure\u003e\u003c\/a\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"project-info\"\u003e\n\u003ch3\u003eDétails du projet\u003c\/h3\u003e\n\u003cdiv class=\"info-grid\"\u003e\n\u003cdiv class=\"info-item\"\u003e\n\u003cstrong\u003eProjet\u003c\/strong\u003e\u003cp\u003eObjets de collection gaming et produits dérivés pour les fans.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"info-item\"\u003e\n\u003cstrong\u003eProduits\u003c\/strong\u003e\u003cp\u003ePins émaillés, pièces, peluches et vêtements.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"info-item\"\u003e\n\u003cstrong\u003eProduction\u003c\/strong\u003e\u003cp\u003eIllustrations détaillées, finitions métalliques et fabrication axée sur la qualité.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"info-item\"\u003e\n\u003cstrong\u003eRôle de YSM\u003c\/strong\u003e\u003cp\u003eDéveloppement de plusieurs produits et coordination de la production.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\n\u003csection class=\"section\"\u003e\u003cdiv class=\"inner\"\u003e\n\u003cp class=\"eyebrow\"\u003eCréez quelque chose de similaire\u003c\/p\u003e\n\u003ch2\u003eDonnez vie à votre idée.\u003c\/h2\u003e\n\u003cp class=\"lead section-lead\"\u003eDécouvrez des produits personnalisés et des options de fabrication pour votre prochain projet d’articles promotionnels de marque.\u003c\/p\u003e\n\u003cdiv class=\"product-links\"\u003e\n\u003ca class=\"product-link\" href=\"https:\/\/yourstuffmade.com\/collections\/custom-ethical-products\"\u003e\u003cstrong\u003eProduits dérivés personnalisés\u003c\/strong\u003e\u003cspan\u003e→\u003c\/span\u003e\u003c\/a\u003e\u003ca class=\"product-link\" href=\"https:\/\/yourstuffmade.com\/collections\/custom-ethical-products\"\u003e\u003cstrong\u003eAccessoires de marque\u003c\/strong\u003e\u003cspan\u003e→\u003c\/span\u003e\u003c\/a\u003e\u003ca class=\"product-link\" href=\"https:\/\/yourstuffmade.com\/collections\/custom-ethical-products\"\u003e\u003cstrong\u003eDécouvrir tous les produits\u003c\/strong\u003e\u003cspan\u003e→\u003c\/span\u003e\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/section\u003e\n\u003csection class=\"final\"\u003e\u003cdiv class=\"inner\"\u003e\u003cdiv class=\"cta\"\u003e\n\u003cdiv\u003e\n\u003cp class=\"eyebrow\"\u003eVotre marque prend vie\u003c\/p\u003e\n\u003ch2\u003eCréez des produits dérivés qui méritent d’être collectionnés.\u003c\/h2\u003e\n\u003cp\u003eDes objets de collection uniques aux collections complètes de produits dérivés, YSM associe des principes de fabrication éthique, un développement produit réfléchi et un accompagnement personnalisé.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003ca class=\"btn\" href=\"https:\/\/yourstuffmade.com\/collections\/custom-ethical-products\"\u003eLancez votre prochain projet →\u003c\/a\u003e\n\u003c\/div\u003e\u003c\/div\u003e\u003c\/section\u003e\n\u003c\/article\u003e\n\n\u003cscript\u003e\n\/* YSM V9 : ajoute à la galerie du projet les médias produit Shopify d’origine.\n   Les médias natifs restent masqués à l’écran, mais servent de source d’image fiable.\n   Les photos du projet sélectionnées et déjà présentes dans la galerie restent en premier. *\/\n(function () {\n  'use strict';\n  var articleSelector = '.ysm-riot-v9';\n  function imageKey(url) {\n    if (!url) return '';\n    try {\n      var parsed = new URL(url, window.location.href);\n      var file = decodeURIComponent(parsed.pathname.split('\/').pop() || '');\n      return file.replace(\/_(?:pico|icon|thumb|small|compact|medium|large|grande|master|\\d+x\\d*|x\\d+)\\.(?=[^.]+$)\/i, '.').toLowerCase();\n    } catch (e) { return url.split('?')[0].toLowerCase(); }\n  }\n  function bestURL(img) {\n    if (!img) return '';\n    var url = img.getAttribute('data-zoom-src') || img.getAttribute('data-full-src') || '';\n    if (!url) {\n      var srcset = img.getAttribute('srcset') || img.getAttribute('data-srcset') || '';\n      var choices = srcset.split(',').map(function (s) {\n        var match = s.trim().match(\/^(\\S+)\\s+(\\d+)w$\/);\n        return match ? {url:match[1],width:Number(match[2])} : null;\n      }).filter(Boolean).sort(function(a,b){return b.width-a.width;});\n      if (choices.length) url = choices[0].url;\n    }\n    url = url || img.getAttribute('data-src') || img.getAttribute('src') || '';\n    if (url.indexOf('\/\/')===0) url=window.location.protocol+url;\n    return url;\n  }\n  function addProductMedia() {\n    var project = document.querySelector(articleSelector);\n    if (!project) return;\n    var gallery = project.querySelector('[data-ysm-expanded-gallery]');\n    if (!gallery) return;\n    var seen = new Set();\n    project.querySelectorAll('img').forEach(function(img){ seen.add(imageKey(img.getAttribute('src'))); });\n    gallery.querySelectorAll('a[href]').forEach(function(a){ seen.add(imageKey(a.getAttribute('href'))); });\n    \/\/ N’extrait que les médias d’origine du produit actuel, pas ceux des recommandations ou de la navigation.\n    var candidates = document.querySelectorAll(\n      '.product__media-wrapper .product__media-item img, ' +\n      '.product__media-wrapper .product__media img, ' +\n      '.product__media-wrapper media-gallery img, ' +\n      '.product__media-gallery .product__media img, ' +\n      '.product__media-gallery .product__media-item img'\n    );\n    var added = 0;\n    candidates.forEach(function(img){\n      var url=bestURL(img);\n      var key=imageKey(url);\n      if (!url || !key || seen.has(key)) return;\n      \/\/ Exclut les espaces réservés transparents et les icônes SVG qui ne sont pas des images.\n      if (\/^data:|\\.svg(?:$|\\?)\/i.test(url)) return;\n      seen.add(key);\n      var alt=(img.getAttribute('alt') || '').trim();\n      var label=alt || 'Photo originale du projet';\n      var a=document.createElement('a');\n      a.href=url;\n      a.target='_blank';\n      a.rel='noopener';\n      a.setAttribute('aria-label','Voir l’image originale du projet : '+label);\n      var figure=document.createElement('figure');\n      figure.className='square photo';\n      var picture=document.createElement('img');\n      picture.src=url;\n      picture.alt=label;\n      picture.loading='lazy';\n      picture.width=600;\n      picture.height=600;\n      figure.appendChild(picture);\n      a.appendChild(figure);\n      gallery.appendChild(a);\n      added++;\n    });\n    if (added) gallery.setAttribute('data-extra-photos', String(\n      Number(gallery.getAttribute('data-extra-photos')||0)+added\n    ));\n  }\n  if (document.readyState==='loading') {\n    document.addEventListener('DOMContentLoaded',addProductMedia);\n  } else { addProductMedia(); }\n  window.addEventListener('load',addProductMedia,{once:true});\n  \/\/ Certains thèmes Shopify affichent les médias produit après DOMContentLoaded.\n  setTimeout(addProductMedia,800);\n  setTimeout(addProductMedia,2200);\n})();\n\u003c\/script\u003e","brand":"Riot Games","offers":[{"title":"Default Title","offer_id":43846459686934,"sku":"","price":1.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0068\/7554\/5622\/files\/Riot_Games_x_Pinlord-_Crafting_Legendary_Custom_Merchandise_for_the_Global_Gaming_Industry_4.webp?v=1756597048","url":"https:\/\/yourstuffmade.com\/fr\/products\/riot-games-x-yourstuffmade-articles-de-jeu-personnalises-pour-une-marque-mondiale-d-esport","provider":"Yourstuffmade.com","version":"1.0","type":"link"}