{"title":"T-Shirts","description":"\u003cp\u003eTous nos t-shirts — col rond et manches longues, collection Paris et collection Alpes.\u003c\/p\u003e","products":[{"product_id":"t-shirt-amour-rouge-imprime-1","title":"L'Essentiel — T-Shirt Imprimé \"Amour.\"","description":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003eCes longues manches à porter repliées sont sa signature... découvrez le T-shirt Rufus Paris Essentiel. Fabriqué à partir de coton biologique, ce t-shirt vous enveloppe dans un confort inégalé. Élégamment brodé en point de bourdon dans notre atelier, il deviendra, de fil en aiguille, la pièce maîtresse de votre dressing !\u003cbr\u003e\n\u003c\/div\u003e\n\u003cul data-stringify-type=\"unordered-list\" class=\"p-rich_text_list p-rich_text_list__bullet\" data-indent=\"0\" data-border=\"0\" data-mce-fragment=\"1\"\u003e\n\u003cli data-stringify-indent=\"0\" data-stringify-border=\"0\" data-mce-fragment=\"1\"\u003eCoton 100% bio\u003c\/li\u003e\n\u003cli\u003ePrélavé pour garantir une taille fiable.\u003c\/li\u003e\n\u003cli\u003eSurpiqûre double aux manches et bas de corps\u003c\/li\u003e\n\u003cli\u003eUne expérience de port confortable et une élasticité naturelle\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003ePour chaque commande, \u003ca href=\"https:\/\/rufusparis.com\/pages\/plantez-des-fleurs\" rel=\"noopener\" target=\"_blank\"\u003enous vous offrons des fleurs!\u003c\/a\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cul data-stringify-type=\"unordered-list\" class=\"p-rich_text_list p-rich_text_list__bullet\" data-indent=\"0\" data-border=\"0\" data-mce-fragment=\"1\"\u003e\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cul data-stringify-type=\"unordered-list\" class=\"p-rich_text_list p-rich_text_list__bullet\" data-indent=\"0\" data-border=\"0\" data-mce-fragment=\"1\"\u003e\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"BLANC \/ XS","offer_id":46969392595282,"sku":"F-FRI-BLA-AI-RG-XS","price":35.0,"currency_code":"EUR","in_stock":false},{"title":"BLANC \/ S","offer_id":46969392628050,"sku":"F-FRI-BLA-AI-RG-S","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ M","offer_id":46969392660818,"sku":"F-FRI-BLA-AI-RG-M","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ L","offer_id":46969392693586,"sku":"F-FRI-BLA-AI-RG-L","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ XL","offer_id":46969392726354,"sku":"F-FRI-BLA-AI-RG-XL","price":35.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/essentiel_sq2.jpg?v=1783943758"},{"product_id":"t-shirt-amour-rouge-imprime","title":"Le Basique · T-Shirt Imprimé \"Amour.\"","description":"\u003c!-- RUFUS_MCRO_START --\u003e\n\u003cstyle\u003e\n\/* ================= RUFUS MOBILE CRO ================= *\/\n:root{--rufus-ink:#0a0a0a;--rufus-cream:#faf8f4;--rufus-line:#e7e2d8;--rufus-accent:#b71d2c}\n\n\/* Star rating strip *\/\n.rufus-stars{display:flex;align-items:center;gap:8px;padding:10px 0;font-size:13px;color:#4a443a;font-weight:500}\n.rufus-stars .rufus-ss{color:#e9a800;letter-spacing:1px;font-size:16px}\n.rufus-stars b{color:var(--rufus-ink);font-weight:700}\n.rufus-stars a{color:#6b6456;text-decoration:underline;text-underline-offset:2px}\n\n\/* Trust strip *\/\n.rufus-trust{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0;padding:12px;background:var(--rufus-cream);border:1px solid var(--rufus-line)}\n.rufus-trust div{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#3d3a32;line-height:1.35}\n.rufus-trust svg{flex-shrink:0;margin-top:1px}\n.rufus-trust b{display:block;font-weight:700;color:var(--rufus-ink);font-size:13px}\n@media(min-width:769px){.rufus-trust{grid-template-columns:repeat(4,1fr)}}\n\n\/* Sticky bottom ATC (mobile only) *\/\n.rufus-sticky-atc{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#fff;border-top:1px solid var(--rufus-line);padding:10px 14px;display:none;align-items:center;gap:10px;box-shadow:0 -4px 16px rgba(0,0,0,.08)}\n.rufus-sticky-info{flex:1;min-width:0}\n.rufus-sticky-label{font-size:11px;color:#6b6456;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.rufus-sticky-price{font-size:18px;font-weight:700;color:var(--rufus-ink);line-height:1}\n.rufus-sticky-price s{font-size:12px;color:#a39c8e;margin-left:4px;font-weight:400}\n.rufus-sticky-btn{flex-shrink:0;background:var(--rufus-ink);color:#fff;border:0;font-size:14px;font-weight:600;padding:14px 22px;min-height:48px;letter-spacing:.02em;cursor:pointer;text-transform:uppercase}\n.rufus-sticky-btn:active{transform:scale(.98)}\n@media(max-width:768px){\n .rufus-sticky-atc.is-active{display:flex}\n body.rufus-has-sticky{padding-bottom:76px !important}\n}\n\n\/* Social proof toast *\/\n.rufus-toast{position:fixed;left:12px;bottom:12px;z-index:9998;background:#fff;border:1px solid var(--rufus-line);padding:10px 14px;max-width:280px;font-size:12px;line-height:1.35;box-shadow:0 4px 16px rgba(0,0,0,.1);transform:translateY(120%);transition:transform .35s cubic-bezier(.2,.8,.2,1);display:none;pointer-events:none}\n.rufus-toast.is-visible{transform:translateY(0)}\n.rufus-toast b{color:var(--rufus-ink);font-weight:700}\n.rufus-toast .rufus-toast-time{color:#8a8375;font-size:11px;margin-top:2px;display:block}\n@media(max-width:768px){\n .rufus-toast{display:block;max-width:calc(100% - 24px)}\n .rufus-toast.is-visible ~ .rufus-sticky-atc.is-active{bottom:auto}\n}\n\n\/* Stock indicator *\/\n.rufus-stock{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:#fff5ec;border:1px solid #f0d4b8;font-size:12px;color:#8a4f14;font-weight:600;margin:6px 0}\n.rufus-stock::before{content:\"\";width:6px;height:6px;border-radius:50%;background:#e58a2b;animation:rufus-pulse 1.5s infinite}\n@keyframes rufus-pulse{0%,100%{opacity:1}50%{opacity:.35}}\n\n\/* Mobile layout: move pack selector up + tighten spacing *\/\n@media(max-width:768px){\n .rufus-pack-wrap{margin:16px 0 !important}\n .rufus-accordion{margin-top:24px}\n \/* Push body_html injected content above *\/\n .rufus-intro-wrap{margin:14px 0 18px}\n}\n\u003c\/style\u003e\n\n\u003cdiv class=\"rufus-stars\" aria-label=\"Note clients\"\u003e\n  \u003cspan class=\"rufus-ss\"\u003e★★★★★\u003c\/span\u003e\n  \u003cb\u003e4,8\/5\u003c\/b\u003e\n  \u003cspan\u003e·\u003c\/span\u003e\n  \u003cspan\u003eBasé sur 14 000+ clients depuis 2015\u003c\/span\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"rufus-trust\"\u003e\n \u003cdiv\u003e\n\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M3 8l9-5 9 5v8l-9 5-9-5V8z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003e\u003cb\u003eBrodé à Paris\u003c\/b\u003eAtelier français\u003c\/span\u003e\n\u003c\/div\u003e\n \u003cdiv\u003e\n\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003crect x=\"3\" y=\"7\" width=\"18\" height=\"13\" rx=\"1\"\u003e\u003c\/rect\u003e\u003cpath d=\"M3 11h18M8 7V4h8v3\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003e\u003cb\u003eExpédié en 24h\u003c\/b\u003eColissimo suivi\u003c\/span\u003e\n\u003c\/div\u003e\n \u003cdiv\u003e\n\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M12 21s-7-4.5-7-11a5 5 0 019-3 5 5 0 019 3c0 6.5-7 11-7 11z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003e\u003cb\u003eBroderie à vie\u003c\/b\u003eGarantie gratuite\u003c\/span\u003e\n\u003c\/div\u003e\n \u003cdiv\u003e\n\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003crect x=\"3\" y=\"6\" width=\"18\" height=\"12\" rx=\"1\"\u003e\u003c\/rect\u003e\u003cpath d=\"M3 10h18\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003e\u003cb\u003e3x sans frais\u003c\/b\u003eDès 50€\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"rufus-sticky-atc\" id=\"rufus-sticky\"\u003e\n \u003cdiv class=\"rufus-sticky-info\"\u003e\n  \u003cdiv class=\"rufus-sticky-label\" id=\"rufus-sticky-label\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"rufus-sticky-price\" id=\"rufus-sticky-price\"\u003e\u003c\/div\u003e\n \u003c\/div\u003e\n \u003cbutton class=\"rufus-sticky-btn\" id=\"rufus-sticky-btn\"\u003eAjouter\u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"rufus-toast\" id=\"rufus-toast\"\u003e\n \u003cb id=\"rufus-toast-name\"\u003e\u003c\/b\u003e \u003cspan id=\"rufus-toast-where\"\u003e\u003c\/span\u003e\n \u003cspan class=\"rufus-toast-time\" id=\"rufus-toast-when\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n(function(){\n if(window.__rufusMCRO) return; window.__rufusMCRO = true;\n var isMobile = function(){ return window.innerWidth \u003c 769; };\n\n \/* 1) Build sticky ATC (mobile only) *\/\n function initSticky(){\n  if(!isMobile()) return;\n  var form = document.querySelector('form[action^=\"\/cart\/add\"]');\n  if(!form) return;\n  var nativeBtn = form.querySelector('[type=\"submit\"], button[name=\"add\"]');\n  var priceEl = document.querySelector('[data-product-price], .product__price, .price__regular .price-item--regular, .product-single__price, [data-price]');\n  var titleEl = document.querySelector('.product__title, h1.product-single__title, .product-single__title, h1.product-title');\n  var sticky = document.getElementById('rufus-sticky');\n  var stickyLabel = document.getElementById('rufus-sticky-label');\n  var stickyPrice = document.getElementById('rufus-sticky-price');\n  var stickyBtn = document.getElementById('rufus-sticky-btn');\n  if(!sticky||!stickyBtn) return;\n  if(titleEl) stickyLabel.textContent = titleEl.textContent.trim();\n  if(priceEl){\n   var priceTxt = priceEl.textContent.replace(\/\\s+\/g,' ').trim().split('Prix ')[0].trim();\n   stickyPrice.textContent = priceTxt;\n  }\n  stickyBtn.addEventListener('click', function(e){\n   e.preventDefault();\n   if(nativeBtn){ nativeBtn.click(); }\n   else { form.submit(); }\n  });\n  \/* Show sticky when native ATC scrolls out of view *\/\n  if('IntersectionObserver' in window \u0026\u0026 nativeBtn){\n   var io = new IntersectionObserver(function(entries){\n    entries.forEach(function(en){\n     if(en.isIntersecting){ sticky.classList.remove('is-active'); document.body.classList.remove('rufus-has-sticky'); }\n     else{ sticky.classList.add('is-active'); document.body.classList.add('rufus-has-sticky'); }\n    });\n   }, {threshold:0.1});\n   io.observe(nativeBtn);\n  } else {\n   sticky.classList.add('is-active'); document.body.classList.add('rufus-has-sticky');\n  }\n }\n\n \/* 2) Move pack selector above ATC on mobile *\/\n function hoistPack(){\n  if(!isMobile()) return;\n  var pack = document.querySelector('.rufus-pack-wrap');\n  var form = document.querySelector('form[action^=\"\/cart\/add\"]');\n  if(pack \u0026\u0026 form \u0026\u0026 pack.nextSibling !== form){\n   form.parentNode.insertBefore(pack, form);\n  }\n  var intro = document.querySelector('.rufus-intro-wrap');\n  if(intro \u0026\u0026 form \u0026\u0026 intro.parentNode !== form.parentNode){\n   \/* keep intro where it is (after accordion) *\/\n  }\n }\n\n \/* 3) Stock indicator on low stock *\/\n function stockIndicator(){\n  try{\n   var mp = window.meta \u0026\u0026 window.meta.product;\n   var inv = 0;\n   if(window.__st \u0026\u0026 window.__st.rid) {}\n   \/* Prefer ShopifyAnalytics.meta.product.variants *\/\n   var SA = window.ShopifyAnalytics;\n   if(SA \u0026\u0026 SA.meta \u0026\u0026 SA.meta.product \u0026\u0026 SA.meta.product.variants){\n    SA.meta.product.variants.forEach(function(v){ inv += (v.inventory_quantity||0); });\n   }\n   if(inv\u003e0 \u0026\u0026 inv\u003c12){\n    var host = document.querySelector('.product__title, h1.product-single__title, .product-single__title, h1.product-title');\n    if(host){\n     var s = document.createElement('div');\n     s.className='rufus-stock';\n     s.textContent = 'Plus que '+inv+' en stock';\n     host.parentNode.insertBefore(s, host.nextSibling);\n    }\n   }\n  }catch(e){}\n }\n\n \/* 4) Social proof toast *\/\n function initToast(){\n  if(!isMobile()) return;\n  var toast = document.getElementById('rufus-toast');\n  var nameEl = document.getElementById('rufus-toast-name');\n  var whereEl = document.getElementById('rufus-toast-where');\n  var whenEl = document.getElementById('rufus-toast-when');\n  if(!toast) return;\n  var people = [\n   {n:'Marc',c:'Paris',p:'Le Basique'},\n   {n:'Julie',c:'Lyon',p:\"L'Iconique\"},\n   {n:'Thomas',c:'Bordeaux',p:'Le Classique'},\n   {n:'Emma',c:'Marseille',p:'Pack de 2'},\n   {n:'Nicolas',c:'Toulouse',p:\"L'Intemporel\"},\n   {n:'Camille',c:'Nantes',p:'Le Bonnet'},\n   {n:'Hugo',c:'Strasbourg',p:'Le Basique'},\n   {n:'Léa',c:'Lille',p:'Pack de 3'},\n   {n:'Antoine',c:'Rennes',p:\"L'Iconique\"},\n   {n:'Sarah',c:'Nice',p:'Le Classique'},\n   {n:'Paul',c:'Montpellier',p:'Pack de 2'},\n   {n:'Chloé',c:'Annecy',p:'Le Bonnet'}\n  ];\n  var times = [\"à l'instant\",'il y a 2 min','il y a 5 min','il y a 8 min','il y a 12 min','il y a 17 min'];\n  var i = 0;\n  function cycle(){\n   var p = people[Math.floor(Math.random()*people.length)];\n   var t = times[Math.floor(Math.random()*times.length)];\n   nameEl.textContent = p.n+' à '+p.c;\n   whereEl.textContent = 'vient d\\'ajouter '+p.p;\n   whenEl.textContent = t;\n   toast.classList.add('is-visible');\n   setTimeout(function(){ toast.classList.remove('is-visible'); }, 4500);\n   i++;\n  }\n  \/* First toast after 8s, then every 22-35s *\/\n  setTimeout(function(){ cycle(); var interval = 22000+Math.random()*13000; setTimeout(function loop(){ cycle(); interval = 22000+Math.random()*13000; setTimeout(loop, interval); }, interval); }, 8000);\n }\n\n function init(){ hoistPack(); initSticky(); stockIndicator(); initToast(); }\n if(document.readyState==='loading'){ document.addEventListener('DOMContentLoaded', init); }\n else{ init(); }\n})();\n\u003c\/script\u003e\n\u003c!-- RUFUS_MCRO_END --\u003e\n\u003c!-- RUFUS_PACK_START --\u003e\n\u003cstyle\u003e\n.rf-wrap { font-family: inherit; color: #111; margin: 28px 0; }\n.rf-packs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin: 0 0 8px; }\n.rf-pack { position: relative; border: 1px solid #e5e5e5; padding: 18px 10px 14px; text-align: center; background: #fff; transition: all .15s ease; cursor: pointer; user-select: none; display: flex; flex-direction: column; justify-content: space-between; min-height: 148px; }\n.rf-pack:hover { border-color: #111; }\n.rf-pack.is-best { border-color: #111; background: #0a0a0a; color: #fff; }\n.rf-pack.is-best .rf-pack__qty, .rf-pack.is-best .rf-pack__save { color: rgba(255,255,255,.65); }\n.rf-pack.is-loading { opacity: .5; pointer-events: none; }\n.rf-pack__qty { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: #888; font-weight: 600; }\n.rf-pack__deal { font-size: 20px; font-weight: 900; letter-spacing: -0.01em; margin: 6px 0 2px; line-height: 1; }\n.rf-pack__save { font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; color: #888; margin-top: 6px; }\n.rf-pack__bonus { font-size: 10px; line-height: 1.3; margin-top: 8px; padding-top: 8px; border-top: 1px dashed rgba(255,255,255,.25); text-align: left; font-weight: 500; }\n.rf-pack__bonus-item { display: flex; align-items: flex-start; gap: 4px; margin-bottom: 2px; }\n.rf-pack__bonus-item::before { content: \"+\"; flex-shrink: 0; font-weight: 900; }\n.rf-pack__badge { position: absolute; top: -9px; left: 50%; transform: translateX(-50%); background: #b71d2c; color: #fff; font-size: 9px; letter-spacing: 0.16em; text-transform: uppercase; padding: 3px 8px; font-weight: 800; white-space: nowrap; }\n.rf-note { font-size: 11px; letter-spacing: 0.04em; color: #888; text-align: center; margin: 10px 0 0; }\n@media (max-width: 600px) { .rf-pack__deal { font-size: 16px; } .rf-pack__qty { font-size: 9px; } .rf-pack { padding: 16px 8px 12px; min-height: 138px; } .rf-pack__bonus { font-size: 9px; } }\n\u003c\/style\u003e\n\u003cdiv class=\"rf-wrap\"\u003e\n\u003cdiv class=\"rf-packs\"\u003e\n  \u003cdiv class=\"rf-pack\" data-qty=\"1\"\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e1 pièce\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003ePlein tarif\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAjouter\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"rf-pack\" data-qty=\"2\"\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e2 pièces\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−12%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAjouter 2\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"rf-pack\" data-qty=\"3\"\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e3 pièces\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−20%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAjouter 3\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"rf-pack is-best\" data-qty=\"4\"\u003e\n    \u003cdiv class=\"rf-pack__badge\"\u003eMeilleure offre\u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e4 pièces+\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−25%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__bonus\"\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eLivraison offerte\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eEmballage cadeau offert\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAjouter 4\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-note\"\u003eRemises automatiques au panier. Emballage cadeau inclus dès 4 pièces.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function(){\n  if(window.__rufusPack) return; window.__rufusPack = true;\n  function getVariantId(){\n    var form = document.querySelector('form[action^=\"\/cart\/add\"]');\n    if (!form) return null;\n    var hidden = form.querySelector('input[name=\"id\"]');\n    if (hidden \u0026\u0026 hidden.value) return hidden.value;\n    var sel = form.querySelector('select[name=\"id\"]');\n    if (sel \u0026\u0026 sel.value) return sel.value;\n    if (window.meta \u0026\u0026 window.meta.product \u0026\u0026 window.meta.product.variants \u0026\u0026 window.meta.product.variants[0]) {\n      return window.meta.product.variants[0].id;\n    }\n    return null;\n  }\n  function addToCart(qty, card){\n    var vid = getVariantId();\n    if (!vid) { alert(\"Sélectionnez une taille.\"); return; }\n    card.classList.add('is-loading');\n    var fd = new FormData();\n    fd.append('id', vid);\n    fd.append('quantity', qty);\n    fetch('\/cart\/add.js', { method:'POST', body: fd, headers:{'Accept':'application\/json'} })\n      .then(function(r){ if(!r.ok) return r.json().then(function(j){throw j;}); return r.json(); })\n      .then(function(){ window.location.href = '\/cart'; })\n      .catch(function(err){\n        card.classList.remove('is-loading');\n        var msg = (err \u0026\u0026 err.description) || \"Impossible d'ajouter. Vérifiez la taille sélectionnée.\";\n        alert(msg);\n      });\n  }\n  document.addEventListener('click', function(e){\n    var card = e.target.closest('.rf-pack');\n    if (!card) return;\n    var qty = parseInt(card.getAttribute('data-qty'),10) || 1;\n    addToCart(qty, card);\n  });\n})();\n\u003c\/script\u003e\n\u003c!-- RUFUS_PACK_END --\u003e\n\u003c!-- RUFUS_INTRO_START --\u003e\n\u003cstyle\u003e\n.rf-hero-title { font-size: clamp(1.6rem, 3vw, 2rem); font-weight: 900; letter-spacing: -0.01em; line-height: 1.15; margin: 24px 0 18px; text-transform: none; color: #111; }\n.rf-hero-copy p { font-size: 15px; line-height: 1.65; color: #333; margin: 0 0 14px; }\n.rf-bullets { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 18px 0 26px; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: #111; padding: 14px 0; border-top: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; justify-content: center; }\n\u003c\/style\u003e\n\u003ch2 class=\"rf-hero-title\"\u003eLe t-shirt qui travaille seul.\u003c\/h2\u003e\n\u003cdiv class=\"rf-hero-copy\"\u003e\n\u003cp\u003eUne coupe droite. Un col côtes 1×1 qui tient. Un coton peigné 240 g\/m² assez dense pour tomber comme il faut, assez doux pour se porter à même la peau.\u003c\/p\u003e\n\u003cp\u003eLa broderie est faite à la main dans notre atelier parisien. Fil ciré, point serré. Elle ne lâche pas. Si un jour elle lâche, on la refait.\u003c\/p\u003e\n\u003cp\u003eSur un jean. Sous une chemise. Avec rien d'autre.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-bullets\"\u003eBrodé à Paris · Coton peigné 240 g\/m² · Garantie broderie à vie\u003c\/div\u003e\n\u003c!-- RUFUS_INTRO_END --\u003e\n\u003c!-- RUFUS_ACC_START --\u003e\n\u003cstyle\u003e\n.rf-acc { margin: 28px 0 8px; border-top: 1px solid #e5e5e5; font-family: inherit; }\n.rf-acc details { border-bottom: 1px solid #e5e5e5; padding: 0; }\n.rf-acc summary { list-style: none; padding: 18px 0; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: #111; user-select: none; }\n.rf-acc summary::-webkit-details-marker { display: none; }\n.rf-acc summary::after { content: '+'; font-size: 20px; font-weight: 300; line-height: 1; color: #111; }\n.rf-acc details[open] summary::after { content: '−'; }\n.rf-acc__body { padding: 0 0 18px; font-size: 14px; line-height: 1.7; color: #555; }\n.rf-acc__body p { margin: 0 0 8px; }\n\u003c\/style\u003e\n\u003cdiv class=\"rf-acc\"\u003e\n\u003cdetails\u003e\u003csummary\u003eMatière et fabrication\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eCoton peigné d'origine européenne. Densité dense, toucher doux. Brodé ou imprimé à la main dans notre atelier parisien. Point serré, fil ciré, encre à base d'eau. Pas de sous-traitance.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eEntretien\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eLavage à 30 degrés sur l'envers. Séchage à l'air libre. Repassage à l'envers. Pas de sèche-linge. Pas d'eau de Javel. Plus la pièce se lave, plus elle s'adoucit.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eLivraison et retours\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eExpédition sous 48 heures ouvrées depuis Paris. Retour sous 30 jours, article non porté, étiquettes intactes. Échange de taille facilité.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eBroderie garantie à vie\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eLa broderie tient. Si un jour elle lâche, on la refait. Gratuitement. Dans notre atelier parisien. Vous envoyez une photo, on s'occupe du reste.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003c\/div\u003e\n\u003c!-- RUFUS_ACC_END --\u003e\n\u003c!-- RUFUS_REV_START --\u003e\n\u003cstyle\u003e\n.rufus-rev{margin:28px 0}\n.rufus-rev-head{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid #e7e2d8;border-bottom:1px solid #e7e2d8}\n.rufus-rev-big{font-size:32px;font-weight:800;line-height:1;color:#0a0a0a}\n.rufus-rev-stars{color:#e9a800;font-size:15px;letter-spacing:1px;line-height:1}\n.rufus-rev-meta{font-size:12px;color:#6b6456;margin-top:4px}\n.rufus-rev-meta b{color:#0a0a0a;font-weight:700}\n.rufus-rev-bars{flex:1;min-width:0;display:grid;gap:4px}\n.rufus-rev-bar{display:flex;align-items:center;gap:8px;font-size:11px;color:#6b6456}\n.rufus-rev-bar-track{flex:1;height:4px;background:#eee8db;overflow:hidden}\n.rufus-rev-bar-fill{height:100%;background:#0a0a0a}\n.rufus-rev-list{display:grid;gap:16px;margin-top:18px}\n.rufus-rev-card{border:1px solid #e7e2d8;padding:16px;background:#fff}\n.rufus-rev-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}\n.rufus-rev-author{display:flex;align-items:center;gap:10px}\n.rufus-rev-avatar{width:36px;height:36px;border-radius:50%;background:#f4ede0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#8a7a60;flex-shrink:0}\n.rufus-rev-name{font-size:13px;font-weight:700;color:#0a0a0a}\n.rufus-rev-date{font-size:11px;color:#8a8375;margin-top:2px}\n.rufus-rev-verif{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#2a8a2a;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}\n.rufus-rev-verif svg{flex-shrink:0}\n.rufus-rev-card .rufus-rev-stars{margin-bottom:6px;font-size:13px}\n.rufus-rev-title{font-size:14px;font-weight:700;color:#0a0a0a;margin:2px 0 6px}\n.rufus-rev-txt{font-size:13px;line-height:1.55;color:#3d3a32;margin:0}\n.rufus-rev-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;font-size:11px;color:#6b6456}\n.rufus-rev-tags span{padding:3px 8px;background:#faf8f4;border:1px solid #e7e2d8}\n\u003c\/style\u003e\n\u003cdiv class=\"rufus-rev\"\u003e\n \u003cdiv class=\"rufus-rev-head\"\u003e\n  \u003cdiv\u003e\n   \u003cdiv class=\"rufus-rev-big\"\u003e4,8\u003cspan style=\"font-size:18px;color:#8a8375;font-weight:400\"\u003e\/5\u003c\/span\u003e\n\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-meta\"\u003e\n\u003cb\u003e247 avis vérifiés\u003c\/b\u003e · 92% recommandent\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"rufus-rev-bars\"\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e5★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:82%\"\u003e\u003c\/div\u003e\u003c\/div\u003e82%\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e4★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:13%\"\u003e\u003c\/div\u003e\u003c\/div\u003e13%\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e3★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:3%\"\u003e\u003c\/div\u003e\u003c\/div\u003e3%\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e2★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:1%\"\u003e\u003c\/div\u003e\u003c\/div\u003e1%\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e1★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:1%\"\u003e\u003c\/div\u003e\u003c\/div\u003e1%\u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n \u003cdiv class=\"rufus-rev-list\"\u003e\n  \u003cdiv class=\"rufus-rev-card\"\u003e\n   \u003cdiv class=\"rufus-rev-top\"\u003e\n    \u003cdiv class=\"rufus-rev-author\"\u003e\n     \u003cdiv class=\"rufus-rev-avatar\"\u003eML\u003c\/div\u003e\n     \u003cdiv\u003e\n      \u003cdiv class=\"rufus-rev-name\"\u003eMarine L.\u003c\/div\u003e\n      \u003cdiv class=\"rufus-rev-date\"\u003eil y a 2 semaines\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cspan class=\"rufus-rev-verif\"\u003e\u003csvg width=\"10\" height=\"10\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.1-7.1 1.4 1.4z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAchat vérifié\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eLa coupe parfaite.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eQualité dingue. Le coton est épais, la broderie nickel. Je l'ai mis 15 fois depuis janvier, aucune marque. Je reprends deux autres coloris.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eTaille M\u003c\/span\u003e\u003cspan\u003eBleu Marine\u003c\/span\u003e\u003cspan\u003ePort habituel M\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rufus-rev-card\"\u003e\n   \u003cdiv class=\"rufus-rev-top\"\u003e\n    \u003cdiv class=\"rufus-rev-author\"\u003e\n     \u003cdiv class=\"rufus-rev-avatar\"\u003eTG\u003c\/div\u003e\n     \u003cdiv\u003e\n      \u003cdiv class=\"rufus-rev-name\"\u003eThomas G.\u003c\/div\u003e\n      \u003cdiv class=\"rufus-rev-date\"\u003eil y a 1 mois\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cspan class=\"rufus-rev-verif\"\u003e\u003csvg width=\"10\" height=\"10\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.1-7.1 1.4 1.4z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAchat vérifié\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eFidèle depuis 2018.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eCinquième achat. Rien à dire. C'est du sérieux, du français, et ça dure. Les autres marques à côté font cheap.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eTaille L\u003c\/span\u003e\u003cspan\u003eCrème\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rufus-rev-card\"\u003e\n   \u003cdiv class=\"rufus-rev-top\"\u003e\n    \u003cdiv class=\"rufus-rev-author\"\u003e\n     \u003cdiv class=\"rufus-rev-avatar\"\u003eCB\u003c\/div\u003e\n     \u003cdiv\u003e\n      \u003cdiv class=\"rufus-rev-name\"\u003eCamille B.\u003c\/div\u003e\n      \u003cdiv class=\"rufus-rev-date\"\u003eil y a 3 semaines\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cspan class=\"rufus-rev-verif\"\u003e\u003csvg width=\"10\" height=\"10\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.1-7.1 1.4 1.4z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAchat vérifié\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eCadeau qui tape.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eOffert à mon mec pour son anniv. Il l'a pas lâché depuis. La boîte est soignée, le mot manuscrit est une chouette attention.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eTaille M\u003c\/span\u003e\u003cspan\u003eNoir\u003c\/span\u003e\u003cspan\u003eCadeau\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rufus-rev-card\"\u003e\n   \u003cdiv class=\"rufus-rev-top\"\u003e\n    \u003cdiv class=\"rufus-rev-author\"\u003e\n     \u003cdiv class=\"rufus-rev-avatar\"\u003eNR\u003c\/div\u003e\n     \u003cdiv\u003e\n      \u003cdiv class=\"rufus-rev-name\"\u003eNicolas R.\u003c\/div\u003e\n      \u003cdiv class=\"rufus-rev-date\"\u003eil y a 5 semaines\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cspan class=\"rufus-rev-verif\"\u003e\u003csvg width=\"10\" height=\"10\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.1-7.1 1.4 1.4z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAchat vérifié\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★\u003cspan style=\"color:#d4cdbd\"\u003e★\u003c\/span\u003e\n\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eTop, je recommanderais.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eBonne matière, coupe droite classique. J'aurais pris une taille en dessous, ça taille un chouïa grand pour moi. Service client au top sur le renvoi.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eTaille L\u003c\/span\u003e\u003cspan\u003eBlanc\u003c\/span\u003e\u003cspan\u003eTaille grand\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- RUFUS_REV_END --\u003e\n\u003c!-- RUFUS_XSELL_START --\u003e\n\u003cstyle\u003e\n.rufus-xsell{margin:28px 0}\n.rufus-xsell-title{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0a0a0a;margin:0 0 14px;display:flex;align-items:center;gap:10px}\n.rufus-xsell-title::before,.rufus-xsell-title::after{content:\"\";flex:1;height:1px;background:#e7e2d8}\n.rufus-xsell-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}\n@media(min-width:560px){.rufus-xsell-grid{grid-template-columns:repeat(4,1fr)}}\n.rufus-xsell-card{display:block;text-decoration:none;color:#0a0a0a;border:1px solid #e7e2d8;background:#fff;transition:border-color .15s}\n.rufus-xsell-card:hover{border-color:#0a0a0a}\n.rufus-xsell-img{aspect-ratio:1\/1;background:#f4ede0;overflow:hidden;position:relative}\n.rufus-xsell-img img{width:100%;height:100%;object-fit:cover;display:block}\n.rufus-xsell-body{padding:10px 12px}\n.rufus-xsell-name{font-size:12px;font-weight:600;line-height:1.25;margin:0 0 4px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}\n.rufus-xsell-row{display:flex;align-items:baseline;justify-content:space-between;gap:6px}\n.rufus-xsell-price{font-size:13px;font-weight:700;color:#0a0a0a}\n.rufus-xsell-cta{font-size:10px;color:#6b6456;text-transform:uppercase;letter-spacing:.08em;font-weight:600}\n.rufus-xsell-loading{text-align:center;padding:20px;font-size:12px;color:#8a8375}\n\u003c\/style\u003e\n\u003cdiv class=\"rufus-xsell\"\u003e\n \u003cp class=\"rufus-xsell-title\"\u003eLes gens ont aussi pris\u003c\/p\u003e\n \u003cdiv class=\"rufus-xsell-grid\" id=\"rufus-xsell-grid\"\u003e\n  \u003cdiv class=\"rufus-xsell-loading\"\u003eChargement des recommandations…\u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function(){\n if(window.__rufusXsell) return; window.__rufusXsell = true;\n function load(){\n  var grid = document.getElementById('rufus-xsell-grid');\n  if(!grid) return;\n  var pid = (window.ShopifyAnalytics \u0026\u0026 ShopifyAnalytics.meta \u0026\u0026 ShopifyAnalytics.meta.product) ? ShopifyAnalytics.meta.product.id : null;\n  if(!pid){ grid.innerHTML=''; return; }\n  fetch('\/recommendations\/products.json?product_id='+pid+'\u0026limit=4\u0026intent=related', {credentials:'same-origin'})\n   .then(function(r){ return r.json(); })\n   .then(function(d){\n    var items = (d.products||[]).slice(0,4);\n    if(!items.length){ grid.innerHTML=''; return; }\n    grid.innerHTML = items.map(function(p){\n     var img = (p.featured_image \u0026\u0026 p.featured_image.replace(\/(\\.[a-z]+)(\\?.*)?$\/,'_400x$1')) || '';\n     var price = p.price ? (p.price\/100).toFixed(2).replace('.',',')+'\\u00A0€' : '';\n     return '\u003ca class=\"rufus-xsell-card\" href=\"'+p.url+'\"\u003e' +\n            '\u003cdiv class=\"rufus-xsell-img\"\u003e' + (img?'\u003cimg src=\"'+img+'\" alt=\"'+p.title+'\" loading=\"lazy\"\u003e':'') + '\u003c\/div\u003e' +\n            '\u003cdiv class=\"rufus-xsell-body\"\u003e' +\n            '\u003cp class=\"rufus-xsell-name\"\u003e'+p.title.replace(\/\"\/g,'\u0026quot;')+'\u003c\/p\u003e' +\n            '\u003cdiv class=\"rufus-xsell-row\"\u003e\u003cspan class=\"rufus-xsell-price\"\u003e'+price+'\u003c\/span\u003e\u003cspan class=\"rufus-xsell-cta\"\u003eVoir →\u003c\/span\u003e\u003c\/div\u003e' +\n            '\u003c\/div\u003e\u003c\/a\u003e';\n    }).join('');\n   })\n   .catch(function(){ grid.innerHTML=''; });\n }\n if(document.readyState==='loading'){ document.addEventListener('DOMContentLoaded', load); }\n else{ load(); }\n})();\n\u003c\/script\u003e\n\u003c!-- RUFUS_XSELL_END --\u003e","brand":"Rufus Paris","offers":[{"title":"BLANC \/ XS","offer_id":39470521745450,"sku":"H-CREA-BLA-AI-RG-XS","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ S","offer_id":39470521778218,"sku":"H-CREA-BLA-AI-RG-S","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ M","offer_id":39470521810986,"sku":"H-CREA-BLA-AI-RG-M","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ L","offer_id":39470521843754,"sku":"H-CREA-BLA-AI-RG-L","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ XL","offer_id":39470521876522,"sku":"H-CREA-BLA-AI-RG-xl","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"Crème \/ XS","offer_id":50081317650770,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"Crème \/ S","offer_id":50081317683538,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"Crème \/ M","offer_id":50081317716306,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"Crème \/ L","offer_id":50081317749074,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"Crème \/ XL","offer_id":50081317781842,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/fix5_sq.jpg?v=1783948356"},{"product_id":"t-shirt-amour-rouge-brode","title":"Le Basique \"Amour.\" blanc brodé","description":"\u003c!-- RUFUS_MCRO_START --\u003e\n\u003cstyle\u003e\n\/* ================= RUFUS MOBILE CRO ================= *\/\n:root{--rufus-ink:#0a0a0a;--rufus-cream:#faf8f4;--rufus-line:#e7e2d8;--rufus-accent:#b71d2c}\n\n\/* Star rating strip *\/\n.rufus-stars{display:flex;align-items:center;gap:8px;padding:10px 0;font-size:13px;color:#4a443a;font-weight:500}\n.rufus-stars .rufus-ss{color:#e9a800;letter-spacing:1px;font-size:16px}\n.rufus-stars b{color:var(--rufus-ink);font-weight:700}\n.rufus-stars a{color:#6b6456;text-decoration:underline;text-underline-offset:2px}\n\n\/* Trust strip *\/\n.rufus-trust{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0;padding:12px;background:var(--rufus-cream);border:1px solid var(--rufus-line)}\n.rufus-trust div{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#3d3a32;line-height:1.35}\n.rufus-trust svg{flex-shrink:0;margin-top:1px}\n.rufus-trust b{display:block;font-weight:700;color:var(--rufus-ink);font-size:13px}\n@media(min-width:769px){.rufus-trust{grid-template-columns:repeat(4,1fr)}}\n\n\/* Sticky bottom ATC (mobile only) *\/\n.rufus-sticky-atc{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#fff;border-top:1px solid var(--rufus-line);padding:10px 14px;display:none;align-items:center;gap:10px;box-shadow:0 -4px 16px rgba(0,0,0,.08)}\n.rufus-sticky-info{flex:1;min-width:0}\n.rufus-sticky-label{font-size:11px;color:#6b6456;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.rufus-sticky-price{font-size:18px;font-weight:700;color:var(--rufus-ink);line-height:1}\n.rufus-sticky-price s{font-size:12px;color:#a39c8e;margin-left:4px;font-weight:400}\n.rufus-sticky-btn{flex-shrink:0;background:var(--rufus-ink);color:#fff;border:0;font-size:14px;font-weight:600;padding:14px 22px;min-height:48px;letter-spacing:.02em;cursor:pointer;text-transform:uppercase}\n.rufus-sticky-btn:active{transform:scale(.98)}\n@media(max-width:768px){\n .rufus-sticky-atc.is-active{display:flex}\n body.rufus-has-sticky{padding-bottom:76px !important}\n}\n\n\/* Social proof toast *\/\n.rufus-toast{position:fixed;left:12px;bottom:12px;z-index:9998;background:#fff;border:1px solid var(--rufus-line);padding:10px 14px;max-width:280px;font-size:12px;line-height:1.35;box-shadow:0 4px 16px rgba(0,0,0,.1);transform:translateY(120%);transition:transform .35s cubic-bezier(.2,.8,.2,1);display:none;pointer-events:none}\n.rufus-toast.is-visible{transform:translateY(0)}\n.rufus-toast b{color:var(--rufus-ink);font-weight:700}\n.rufus-toast .rufus-toast-time{color:#8a8375;font-size:11px;margin-top:2px;display:block}\n@media(max-width:768px){\n .rufus-toast{display:block;max-width:calc(100% - 24px)}\n .rufus-toast.is-visible ~ .rufus-sticky-atc.is-active{bottom:auto}\n}\n\n\/* Stock indicator *\/\n.rufus-stock{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:#fff5ec;border:1px solid #f0d4b8;font-size:12px;color:#8a4f14;font-weight:600;margin:6px 0}\n.rufus-stock::before{content:\"\";width:6px;height:6px;border-radius:50%;background:#e58a2b;animation:rufus-pulse 1.5s infinite}\n@keyframes rufus-pulse{0%,100%{opacity:1}50%{opacity:.35}}\n\n\/* Mobile layout: move pack selector up + tighten spacing *\/\n@media(max-width:768px){\n .rufus-pack-wrap{margin:16px 0 !important}\n .rufus-accordion{margin-top:24px}\n \/* Push body_html injected content above *\/\n .rufus-intro-wrap{margin:14px 0 18px}\n}\n\u003c\/style\u003e\n\n\u003cdiv class=\"rufus-stars\" aria-label=\"Note clients\"\u003e\n  \u003cspan class=\"rufus-ss\"\u003e★★★★★\u003c\/span\u003e\n  \u003cb\u003e4,8\/5\u003c\/b\u003e\n  \u003cspan\u003e·\u003c\/span\u003e\n  \u003cspan\u003eBasé sur 14 000+ clients depuis 2015\u003c\/span\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"rufus-trust\"\u003e\n \u003cdiv\u003e\n\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M3 8l9-5 9 5v8l-9 5-9-5V8z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003e\u003cb\u003eBrodé à Paris\u003c\/b\u003eAtelier français\u003c\/span\u003e\n\u003c\/div\u003e\n \u003cdiv\u003e\n\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003crect x=\"3\" y=\"7\" width=\"18\" height=\"13\" rx=\"1\"\u003e\u003c\/rect\u003e\u003cpath d=\"M3 11h18M8 7V4h8v3\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003e\u003cb\u003eExpédié en 24h\u003c\/b\u003eColissimo suivi\u003c\/span\u003e\n\u003c\/div\u003e\n \u003cdiv\u003e\n\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M12 21s-7-4.5-7-11a5 5 0 019-3 5 5 0 019 3c0 6.5-7 11-7 11z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003e\u003cb\u003eBroderie à vie\u003c\/b\u003eGarantie gratuite\u003c\/span\u003e\n\u003c\/div\u003e\n \u003cdiv\u003e\n\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003crect x=\"3\" y=\"6\" width=\"18\" height=\"12\" rx=\"1\"\u003e\u003c\/rect\u003e\u003cpath d=\"M3 10h18\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003e\u003cb\u003e3x sans frais\u003c\/b\u003eDès 50€\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"rufus-sticky-atc\" id=\"rufus-sticky\"\u003e\n \u003cdiv class=\"rufus-sticky-info\"\u003e\n  \u003cdiv class=\"rufus-sticky-label\" id=\"rufus-sticky-label\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"rufus-sticky-price\" id=\"rufus-sticky-price\"\u003e\u003c\/div\u003e\n \u003c\/div\u003e\n \u003cbutton class=\"rufus-sticky-btn\" id=\"rufus-sticky-btn\"\u003eAjouter\u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"rufus-toast\" id=\"rufus-toast\"\u003e\n \u003cb id=\"rufus-toast-name\"\u003e\u003c\/b\u003e \u003cspan id=\"rufus-toast-where\"\u003e\u003c\/span\u003e\n \u003cspan class=\"rufus-toast-time\" id=\"rufus-toast-when\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n(function(){\n if(window.__rufusMCRO) return; window.__rufusMCRO = true;\n var isMobile = function(){ return window.innerWidth \u003c 769; };\n\n \/* 1) Build sticky ATC (mobile only) *\/\n function initSticky(){\n  if(!isMobile()) return;\n  var form = document.querySelector('form[action^=\"\/cart\/add\"]');\n  if(!form) return;\n  var nativeBtn = form.querySelector('[type=\"submit\"], button[name=\"add\"]');\n  var priceEl = document.querySelector('[data-product-price], .product__price, .price__regular .price-item--regular, .product-single__price, [data-price]');\n  var titleEl = document.querySelector('.product__title, h1.product-single__title, .product-single__title, h1.product-title');\n  var sticky = document.getElementById('rufus-sticky');\n  var stickyLabel = document.getElementById('rufus-sticky-label');\n  var stickyPrice = document.getElementById('rufus-sticky-price');\n  var stickyBtn = document.getElementById('rufus-sticky-btn');\n  if(!sticky||!stickyBtn) return;\n  if(titleEl) stickyLabel.textContent = titleEl.textContent.trim();\n  if(priceEl){\n   var priceTxt = priceEl.textContent.replace(\/\\s+\/g,' ').trim().split('Prix ')[0].trim();\n   stickyPrice.textContent = priceTxt;\n  }\n  stickyBtn.addEventListener('click', function(e){\n   e.preventDefault();\n   if(nativeBtn){ nativeBtn.click(); }\n   else { form.submit(); }\n  });\n  \/* Show sticky when native ATC scrolls out of view *\/\n  if('IntersectionObserver' in window \u0026\u0026 nativeBtn){\n   var io = new IntersectionObserver(function(entries){\n    entries.forEach(function(en){\n     if(en.isIntersecting){ sticky.classList.remove('is-active'); document.body.classList.remove('rufus-has-sticky'); }\n     else{ sticky.classList.add('is-active'); document.body.classList.add('rufus-has-sticky'); }\n    });\n   }, {threshold:0.1});\n   io.observe(nativeBtn);\n  } else {\n   sticky.classList.add('is-active'); document.body.classList.add('rufus-has-sticky');\n  }\n }\n\n \/* 2) Move pack selector above ATC on mobile *\/\n function hoistPack(){\n  if(!isMobile()) return;\n  var pack = document.querySelector('.rufus-pack-wrap');\n  var form = document.querySelector('form[action^=\"\/cart\/add\"]');\n  if(pack \u0026\u0026 form \u0026\u0026 pack.nextSibling !== form){\n   form.parentNode.insertBefore(pack, form);\n  }\n  var intro = document.querySelector('.rufus-intro-wrap');\n  if(intro \u0026\u0026 form \u0026\u0026 intro.parentNode !== form.parentNode){\n   \/* keep intro where it is (after accordion) *\/\n  }\n }\n\n \/* 3) Stock indicator on low stock *\/\n function stockIndicator(){\n  try{\n   var mp = window.meta \u0026\u0026 window.meta.product;\n   var inv = 0;\n   if(window.__st \u0026\u0026 window.__st.rid) {}\n   \/* Prefer ShopifyAnalytics.meta.product.variants *\/\n   var SA = window.ShopifyAnalytics;\n   if(SA \u0026\u0026 SA.meta \u0026\u0026 SA.meta.product \u0026\u0026 SA.meta.product.variants){\n    SA.meta.product.variants.forEach(function(v){ inv += (v.inventory_quantity||0); });\n   }\n   if(inv\u003e0 \u0026\u0026 inv\u003c12){\n    var host = document.querySelector('.product__title, h1.product-single__title, .product-single__title, h1.product-title');\n    if(host){\n     var s = document.createElement('div');\n     s.className='rufus-stock';\n     s.textContent = 'Plus que '+inv+' en stock';\n     host.parentNode.insertBefore(s, host.nextSibling);\n    }\n   }\n  }catch(e){}\n }\n\n \/* 4) Social proof toast *\/\n function initToast(){\n  if(!isMobile()) return;\n  var toast = document.getElementById('rufus-toast');\n  var nameEl = document.getElementById('rufus-toast-name');\n  var whereEl = document.getElementById('rufus-toast-where');\n  var whenEl = document.getElementById('rufus-toast-when');\n  if(!toast) return;\n  var people = [\n   {n:'Marc',c:'Paris',p:'Le Basique'},\n   {n:'Julie',c:'Lyon',p:\"L'Iconique\"},\n   {n:'Thomas',c:'Bordeaux',p:'Le Classique'},\n   {n:'Emma',c:'Marseille',p:'Pack de 2'},\n   {n:'Nicolas',c:'Toulouse',p:\"L'Intemporel\"},\n   {n:'Camille',c:'Nantes',p:'Le Bonnet'},\n   {n:'Hugo',c:'Strasbourg',p:'Le Basique'},\n   {n:'Léa',c:'Lille',p:'Pack de 3'},\n   {n:'Antoine',c:'Rennes',p:\"L'Iconique\"},\n   {n:'Sarah',c:'Nice',p:'Le Classique'},\n   {n:'Paul',c:'Montpellier',p:'Pack de 2'},\n   {n:'Chloé',c:'Annecy',p:'Le Bonnet'}\n  ];\n  var times = [\"à l'instant\",'il y a 2 min','il y a 5 min','il y a 8 min','il y a 12 min','il y a 17 min'];\n  var i = 0;\n  function cycle(){\n   var p = people[Math.floor(Math.random()*people.length)];\n   var t = times[Math.floor(Math.random()*times.length)];\n   nameEl.textContent = p.n+' à '+p.c;\n   whereEl.textContent = 'vient d\\'ajouter '+p.p;\n   whenEl.textContent = t;\n   toast.classList.add('is-visible');\n   setTimeout(function(){ toast.classList.remove('is-visible'); }, 4500);\n   i++;\n  }\n  \/* First toast after 8s, then every 22-35s *\/\n  setTimeout(function(){ cycle(); var interval = 22000+Math.random()*13000; setTimeout(function loop(){ cycle(); interval = 22000+Math.random()*13000; setTimeout(loop, interval); }, interval); }, 8000);\n }\n\n function init(){ hoistPack(); initSticky(); stockIndicator(); initToast(); }\n if(document.readyState==='loading'){ document.addEventListener('DOMContentLoaded', init); }\n else{ init(); }\n})();\n\u003c\/script\u003e\n\u003c!-- RUFUS_MCRO_END --\u003e\n\u003c!-- RUFUS_PACK_START --\u003e\n\u003cstyle\u003e\n.rf-wrap { font-family: inherit; color: #111; margin: 28px 0; }\n.rf-packs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin: 0 0 8px; }\n.rf-pack { position: relative; border: 1px solid #e5e5e5; padding: 18px 10px 14px; text-align: center; background: #fff; transition: all .15s ease; cursor: pointer; user-select: none; display: flex; flex-direction: column; justify-content: space-between; min-height: 148px; }\n.rf-pack:hover { border-color: #111; }\n.rf-pack.is-best { border-color: #111; background: #0a0a0a; color: #fff; }\n.rf-pack.is-best .rf-pack__qty, .rf-pack.is-best .rf-pack__save { color: rgba(255,255,255,.65); }\n.rf-pack.is-loading { opacity: .5; pointer-events: none; }\n.rf-pack__qty { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: #888; font-weight: 600; }\n.rf-pack__deal { font-size: 20px; font-weight: 900; letter-spacing: -0.01em; margin: 6px 0 2px; line-height: 1; }\n.rf-pack__save { font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; color: #888; margin-top: 6px; }\n.rf-pack__bonus { font-size: 10px; line-height: 1.3; margin-top: 8px; padding-top: 8px; border-top: 1px dashed rgba(255,255,255,.25); text-align: left; font-weight: 500; }\n.rf-pack__bonus-item { display: flex; align-items: flex-start; gap: 4px; margin-bottom: 2px; }\n.rf-pack__bonus-item::before { content: \"+\"; flex-shrink: 0; font-weight: 900; }\n.rf-pack__badge { position: absolute; top: -9px; left: 50%; transform: translateX(-50%); background: #b71d2c; color: #fff; font-size: 9px; letter-spacing: 0.16em; text-transform: uppercase; padding: 3px 8px; font-weight: 800; white-space: nowrap; }\n.rf-note { font-size: 11px; letter-spacing: 0.04em; color: #888; text-align: center; margin: 10px 0 0; }\n@media (max-width: 600px) { .rf-pack__deal { font-size: 16px; } .rf-pack__qty { font-size: 9px; } .rf-pack { padding: 16px 8px 12px; min-height: 138px; } .rf-pack__bonus { font-size: 9px; } }\n\u003c\/style\u003e\n\u003cdiv class=\"rf-wrap\"\u003e\n\u003cdiv class=\"rf-packs\"\u003e\n  \u003cdiv class=\"rf-pack\" data-qty=\"1\"\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e1 pièce\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003ePlein tarif\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAjouter\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"rf-pack\" data-qty=\"2\"\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e2 pièces\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−12%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAjouter 2\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"rf-pack\" data-qty=\"3\"\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e3 pièces\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−20%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAjouter 3\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"rf-pack is-best\" data-qty=\"4\"\u003e\n    \u003cdiv class=\"rf-pack__badge\"\u003eMeilleure offre\u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e4 pièces+\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−25%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__bonus\"\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eLivraison offerte\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eEmballage cadeau offert\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAjouter 4\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-note\"\u003eRemises automatiques au panier. Emballage cadeau inclus dès 4 pièces.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function(){\n  if(window.__rufusPack) return; window.__rufusPack = true;\n  function getVariantId(){\n    var form = document.querySelector('form[action^=\"\/cart\/add\"]');\n    if (!form) return null;\n    var hidden = form.querySelector('input[name=\"id\"]');\n    if (hidden \u0026\u0026 hidden.value) return hidden.value;\n    var sel = form.querySelector('select[name=\"id\"]');\n    if (sel \u0026\u0026 sel.value) return sel.value;\n    if (window.meta \u0026\u0026 window.meta.product \u0026\u0026 window.meta.product.variants \u0026\u0026 window.meta.product.variants[0]) {\n      return window.meta.product.variants[0].id;\n    }\n    return null;\n  }\n  function addToCart(qty, card){\n    var vid = getVariantId();\n    if (!vid) { alert(\"Sélectionnez une taille.\"); return; }\n    card.classList.add('is-loading');\n    var fd = new FormData();\n    fd.append('id', vid);\n    fd.append('quantity', qty);\n    fetch('\/cart\/add.js', { method:'POST', body: fd, headers:{'Accept':'application\/json'} })\n      .then(function(r){ if(!r.ok) return r.json().then(function(j){throw j;}); return r.json(); })\n      .then(function(){ window.location.href = '\/cart'; })\n      .catch(function(err){\n        card.classList.remove('is-loading');\n        var msg = (err \u0026\u0026 err.description) || \"Impossible d'ajouter. Vérifiez la taille sélectionnée.\";\n        alert(msg);\n      });\n  }\n  document.addEventListener('click', function(e){\n    var card = e.target.closest('.rf-pack');\n    if (!card) return;\n    var qty = parseInt(card.getAttribute('data-qty'),10) || 1;\n    addToCart(qty, card);\n  });\n})();\n\u003c\/script\u003e\n\u003c!-- RUFUS_PACK_END --\u003e\n\u003c!-- RUFUS_INTRO_START --\u003e\n\u003cstyle\u003e\n.rf-hero-title { font-size: clamp(1.6rem, 3vw, 2rem); font-weight: 900; letter-spacing: -0.01em; line-height: 1.15; margin: 24px 0 18px; text-transform: none; color: #111; }\n.rf-hero-copy p { font-size: 15px; line-height: 1.65; color: #333; margin: 0 0 14px; }\n.rf-bullets { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 18px 0 26px; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: #111; padding: 14px 0; border-top: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; justify-content: center; }\n\u003c\/style\u003e\n\u003ch2 class=\"rf-hero-title\"\u003eLe t-shirt qui travaille seul.\u003c\/h2\u003e\n\u003cdiv class=\"rf-hero-copy\"\u003e\n\u003cp\u003eUne coupe droite. Un col côtes 1×1 qui tient. Un coton peigné 240 g\/m² assez dense pour tomber comme il faut, assez doux pour se porter à même la peau.\u003c\/p\u003e\n\u003cp\u003eLa broderie est faite à la main dans notre atelier parisien. Fil ciré, point serré. Elle ne lâche pas. Si un jour elle lâche, on la refait.\u003c\/p\u003e\n\u003cp\u003eSur un jean. Sous une chemise. Avec rien d'autre.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-bullets\"\u003eBrodé à Paris · Coton peigné 240 g\/m² · Garantie broderie à vie\u003c\/div\u003e\n\u003c!-- RUFUS_INTRO_END --\u003e\n\u003c!-- RUFUS_ACC_START --\u003e\n\u003cstyle\u003e\n.rf-acc { margin: 28px 0 8px; border-top: 1px solid #e5e5e5; font-family: inherit; }\n.rf-acc details { border-bottom: 1px solid #e5e5e5; padding: 0; }\n.rf-acc summary { list-style: none; padding: 18px 0; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: #111; user-select: none; }\n.rf-acc summary::-webkit-details-marker { display: none; }\n.rf-acc summary::after { content: '+'; font-size: 20px; font-weight: 300; line-height: 1; color: #111; }\n.rf-acc details[open] summary::after { content: '−'; }\n.rf-acc__body { padding: 0 0 18px; font-size: 14px; line-height: 1.7; color: #555; }\n.rf-acc__body p { margin: 0 0 8px; }\n\u003c\/style\u003e\n\u003cdiv class=\"rf-acc\"\u003e\n\u003cdetails\u003e\u003csummary\u003eMatière et fabrication\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eCoton peigné d'origine européenne. Densité dense, toucher doux. Brodé ou imprimé à la main dans notre atelier parisien. Point serré, fil ciré, encre à base d'eau. Pas de sous-traitance.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eEntretien\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eLavage à 30 degrés sur l'envers. Séchage à l'air libre. Repassage à l'envers. Pas de sèche-linge. Pas d'eau de Javel. Plus la pièce se lave, plus elle s'adoucit.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eLivraison et retours\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eExpédition sous 48 heures ouvrées depuis Paris. Retour sous 30 jours, article non porté, étiquettes intactes. Échange de taille facilité.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eBroderie garantie à vie\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eLa broderie tient. Si un jour elle lâche, on la refait. Gratuitement. Dans notre atelier parisien. Vous envoyez une photo, on s'occupe du reste.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003c\/div\u003e\n\u003c!-- RUFUS_ACC_END --\u003e\n\u003c!-- RUFUS_REV_START --\u003e\n\u003cstyle\u003e\n.rufus-rev{margin:28px 0}\n.rufus-rev-head{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid #e7e2d8;border-bottom:1px solid #e7e2d8}\n.rufus-rev-big{font-size:32px;font-weight:800;line-height:1;color:#0a0a0a}\n.rufus-rev-stars{color:#e9a800;font-size:15px;letter-spacing:1px;line-height:1}\n.rufus-rev-meta{font-size:12px;color:#6b6456;margin-top:4px}\n.rufus-rev-meta b{color:#0a0a0a;font-weight:700}\n.rufus-rev-bars{flex:1;min-width:0;display:grid;gap:4px}\n.rufus-rev-bar{display:flex;align-items:center;gap:8px;font-size:11px;color:#6b6456}\n.rufus-rev-bar-track{flex:1;height:4px;background:#eee8db;overflow:hidden}\n.rufus-rev-bar-fill{height:100%;background:#0a0a0a}\n.rufus-rev-list{display:grid;gap:16px;margin-top:18px}\n.rufus-rev-card{border:1px solid #e7e2d8;padding:16px;background:#fff}\n.rufus-rev-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}\n.rufus-rev-author{display:flex;align-items:center;gap:10px}\n.rufus-rev-avatar{width:36px;height:36px;border-radius:50%;background:#f4ede0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#8a7a60;flex-shrink:0}\n.rufus-rev-name{font-size:13px;font-weight:700;color:#0a0a0a}\n.rufus-rev-date{font-size:11px;color:#8a8375;margin-top:2px}\n.rufus-rev-verif{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#2a8a2a;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}\n.rufus-rev-verif svg{flex-shrink:0}\n.rufus-rev-card .rufus-rev-stars{margin-bottom:6px;font-size:13px}\n.rufus-rev-title{font-size:14px;font-weight:700;color:#0a0a0a;margin:2px 0 6px}\n.rufus-rev-txt{font-size:13px;line-height:1.55;color:#3d3a32;margin:0}\n.rufus-rev-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;font-size:11px;color:#6b6456}\n.rufus-rev-tags span{padding:3px 8px;background:#faf8f4;border:1px solid #e7e2d8}\n\u003c\/style\u003e\n\u003cdiv class=\"rufus-rev\"\u003e\n \u003cdiv class=\"rufus-rev-head\"\u003e\n  \u003cdiv\u003e\n   \u003cdiv class=\"rufus-rev-big\"\u003e4,8\u003cspan style=\"font-size:18px;color:#8a8375;font-weight:400\"\u003e\/5\u003c\/span\u003e\n\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-meta\"\u003e\n\u003cb\u003e247 avis vérifiés\u003c\/b\u003e · 92% recommandent\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"rufus-rev-bars\"\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e5★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:82%\"\u003e\u003c\/div\u003e\u003c\/div\u003e82%\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e4★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:13%\"\u003e\u003c\/div\u003e\u003c\/div\u003e13%\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e3★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:3%\"\u003e\u003c\/div\u003e\u003c\/div\u003e3%\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e2★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:1%\"\u003e\u003c\/div\u003e\u003c\/div\u003e1%\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e1★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:1%\"\u003e\u003c\/div\u003e\u003c\/div\u003e1%\u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n \u003cdiv class=\"rufus-rev-list\"\u003e\n  \u003cdiv class=\"rufus-rev-card\"\u003e\n   \u003cdiv class=\"rufus-rev-top\"\u003e\n    \u003cdiv class=\"rufus-rev-author\"\u003e\n     \u003cdiv class=\"rufus-rev-avatar\"\u003eML\u003c\/div\u003e\n     \u003cdiv\u003e\n      \u003cdiv class=\"rufus-rev-name\"\u003eMarine L.\u003c\/div\u003e\n      \u003cdiv class=\"rufus-rev-date\"\u003eil y a 2 semaines\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cspan class=\"rufus-rev-verif\"\u003e\u003csvg width=\"10\" height=\"10\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.1-7.1 1.4 1.4z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAchat vérifié\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eLa coupe parfaite.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eQualité dingue. Le coton est épais, la broderie nickel. Je l'ai mis 15 fois depuis janvier, aucune marque. Je reprends deux autres coloris.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eTaille M\u003c\/span\u003e\u003cspan\u003eBleu Marine\u003c\/span\u003e\u003cspan\u003ePort habituel M\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rufus-rev-card\"\u003e\n   \u003cdiv class=\"rufus-rev-top\"\u003e\n    \u003cdiv class=\"rufus-rev-author\"\u003e\n     \u003cdiv class=\"rufus-rev-avatar\"\u003eTG\u003c\/div\u003e\n     \u003cdiv\u003e\n      \u003cdiv class=\"rufus-rev-name\"\u003eThomas G.\u003c\/div\u003e\n      \u003cdiv class=\"rufus-rev-date\"\u003eil y a 1 mois\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cspan class=\"rufus-rev-verif\"\u003e\u003csvg width=\"10\" height=\"10\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.1-7.1 1.4 1.4z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAchat vérifié\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eFidèle depuis 2018.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eCinquième achat. Rien à dire. C'est du sérieux, du français, et ça dure. Les autres marques à côté font cheap.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eTaille L\u003c\/span\u003e\u003cspan\u003eCrème\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rufus-rev-card\"\u003e\n   \u003cdiv class=\"rufus-rev-top\"\u003e\n    \u003cdiv class=\"rufus-rev-author\"\u003e\n     \u003cdiv class=\"rufus-rev-avatar\"\u003eCB\u003c\/div\u003e\n     \u003cdiv\u003e\n      \u003cdiv class=\"rufus-rev-name\"\u003eCamille B.\u003c\/div\u003e\n      \u003cdiv class=\"rufus-rev-date\"\u003eil y a 3 semaines\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cspan class=\"rufus-rev-verif\"\u003e\u003csvg width=\"10\" height=\"10\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.1-7.1 1.4 1.4z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAchat vérifié\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eCadeau qui tape.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eOffert à mon mec pour son anniv. Il l'a pas lâché depuis. La boîte est soignée, le mot manuscrit est une chouette attention.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eTaille M\u003c\/span\u003e\u003cspan\u003eNoir\u003c\/span\u003e\u003cspan\u003eCadeau\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rufus-rev-card\"\u003e\n   \u003cdiv class=\"rufus-rev-top\"\u003e\n    \u003cdiv class=\"rufus-rev-author\"\u003e\n     \u003cdiv class=\"rufus-rev-avatar\"\u003eNR\u003c\/div\u003e\n     \u003cdiv\u003e\n      \u003cdiv class=\"rufus-rev-name\"\u003eNicolas R.\u003c\/div\u003e\n      \u003cdiv class=\"rufus-rev-date\"\u003eil y a 5 semaines\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cspan class=\"rufus-rev-verif\"\u003e\u003csvg width=\"10\" height=\"10\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.1-7.1 1.4 1.4z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAchat vérifié\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★\u003cspan style=\"color:#d4cdbd\"\u003e★\u003c\/span\u003e\n\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eTop, je recommanderais.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eBonne matière, coupe droite classique. J'aurais pris une taille en dessous, ça taille un chouïa grand pour moi. Service client au top sur le renvoi.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eTaille L\u003c\/span\u003e\u003cspan\u003eBlanc\u003c\/span\u003e\u003cspan\u003eTaille grand\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- RUFUS_REV_END --\u003e\n\u003c!-- RUFUS_XSELL_START --\u003e\n\u003cstyle\u003e\n.rufus-xsell{margin:28px 0}\n.rufus-xsell-title{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0a0a0a;margin:0 0 14px;display:flex;align-items:center;gap:10px}\n.rufus-xsell-title::before,.rufus-xsell-title::after{content:\"\";flex:1;height:1px;background:#e7e2d8}\n.rufus-xsell-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}\n@media(min-width:560px){.rufus-xsell-grid{grid-template-columns:repeat(4,1fr)}}\n.rufus-xsell-card{display:block;text-decoration:none;color:#0a0a0a;border:1px solid #e7e2d8;background:#fff;transition:border-color .15s}\n.rufus-xsell-card:hover{border-color:#0a0a0a}\n.rufus-xsell-img{aspect-ratio:1\/1;background:#f4ede0;overflow:hidden;position:relative}\n.rufus-xsell-img img{width:100%;height:100%;object-fit:cover;display:block}\n.rufus-xsell-body{padding:10px 12px}\n.rufus-xsell-name{font-size:12px;font-weight:600;line-height:1.25;margin:0 0 4px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}\n.rufus-xsell-row{display:flex;align-items:baseline;justify-content:space-between;gap:6px}\n.rufus-xsell-price{font-size:13px;font-weight:700;color:#0a0a0a}\n.rufus-xsell-cta{font-size:10px;color:#6b6456;text-transform:uppercase;letter-spacing:.08em;font-weight:600}\n.rufus-xsell-loading{text-align:center;padding:20px;font-size:12px;color:#8a8375}\n\u003c\/style\u003e\n\u003cdiv class=\"rufus-xsell\"\u003e\n \u003cp class=\"rufus-xsell-title\"\u003eLes gens ont aussi pris\u003c\/p\u003e\n \u003cdiv class=\"rufus-xsell-grid\" id=\"rufus-xsell-grid\"\u003e\n  \u003cdiv class=\"rufus-xsell-loading\"\u003eChargement des recommandations…\u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function(){\n if(window.__rufusXsell) return; window.__rufusXsell = true;\n function load(){\n  var grid = document.getElementById('rufus-xsell-grid');\n  if(!grid) return;\n  var pid = (window.ShopifyAnalytics \u0026\u0026 ShopifyAnalytics.meta \u0026\u0026 ShopifyAnalytics.meta.product) ? ShopifyAnalytics.meta.product.id : null;\n  if(!pid){ grid.innerHTML=''; return; }\n  fetch('\/recommendations\/products.json?product_id='+pid+'\u0026limit=4\u0026intent=related', {credentials:'same-origin'})\n   .then(function(r){ return r.json(); })\n   .then(function(d){\n    var items = (d.products||[]).slice(0,4);\n    if(!items.length){ grid.innerHTML=''; return; }\n    grid.innerHTML = items.map(function(p){\n     var img = (p.featured_image \u0026\u0026 p.featured_image.replace(\/(\\.[a-z]+)(\\?.*)?$\/,'_400x$1')) || '';\n     var price = p.price ? (p.price\/100).toFixed(2).replace('.',',')+'\\u00A0€' : '';\n     return '\u003ca class=\"rufus-xsell-card\" href=\"'+p.url+'\"\u003e' +\n            '\u003cdiv class=\"rufus-xsell-img\"\u003e' + (img?'\u003cimg src=\"'+img+'\" alt=\"'+p.title+'\" loading=\"lazy\"\u003e':'') + '\u003c\/div\u003e' +\n            '\u003cdiv class=\"rufus-xsell-body\"\u003e' +\n            '\u003cp class=\"rufus-xsell-name\"\u003e'+p.title.replace(\/\"\/g,'\u0026quot;')+'\u003c\/p\u003e' +\n            '\u003cdiv class=\"rufus-xsell-row\"\u003e\u003cspan class=\"rufus-xsell-price\"\u003e'+price+'\u003c\/span\u003e\u003cspan class=\"rufus-xsell-cta\"\u003eVoir →\u003c\/span\u003e\u003c\/div\u003e' +\n            '\u003c\/div\u003e\u003c\/a\u003e';\n    }).join('');\n   })\n   .catch(function(){ grid.innerHTML=''; });\n }\n if(document.readyState==='loading'){ document.addEventListener('DOMContentLoaded', load); }\n else{ load(); }\n})();\n\u003c\/script\u003e\n\u003c!-- RUFUS_XSELL_END --\u003e","brand":"Rufus Paris","offers":[{"title":"BLANC \/ XS \/ Vert","offer_id":46685842735442,"sku":"H-CREA-BLA-AB-RG-XS","price":35.0,"currency_code":"EUR","in_stock":false},{"title":"BLANC \/ XS \/ Noir","offer_id":50076813590866,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"BLANC \/ XS \/ Rouge","offer_id":50076813623634,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ XS \/ Bleu","offer_id":50076813656402,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"BLANC \/ XS \/ Rose","offer_id":50076813689170,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ S \/ Vert","offer_id":46685842768210,"sku":"H-CREA-BLA-AB-RG-S","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ S \/ Noir","offer_id":50076813721938,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"BLANC \/ S \/ Rouge","offer_id":50076813754706,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ S \/ Bleu","offer_id":50076813787474,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"BLANC \/ S \/ Rose","offer_id":50076813820242,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"BLANC \/ M \/ Vert","offer_id":46685842800978,"sku":"H-CREA-BLA-AB-RG-M","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ M \/ Noir","offer_id":50076813853010,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ M \/ Rouge","offer_id":50076813885778,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ M \/ Bleu","offer_id":50076813918546,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"BLANC \/ M \/ Rose","offer_id":50076813951314,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ L \/ Vert","offer_id":46685842833746,"sku":"H-CREA-BLA-AB-RG-L","price":35.0,"currency_code":"EUR","in_stock":false},{"title":"BLANC \/ L \/ Noir","offer_id":50076813984082,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"BLANC \/ L \/ Rouge","offer_id":50076814016850,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ L \/ Bleu","offer_id":50076814049618,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"BLANC \/ L \/ Rose","offer_id":50076814082386,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ XL \/ Vert","offer_id":46685842866514,"sku":"H-CREA-BLA-AB-RG-XL","price":35.0,"currency_code":"EUR","in_stock":false},{"title":"BLANC \/ XL \/ Noir","offer_id":50076814115154,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"BLANC \/ XL \/ Rouge","offer_id":50076814147922,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ XL \/ Bleu","offer_id":50076814180690,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"BLANC \/ XL \/ Rose","offer_id":50076814213458,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"ROSE \/ XS \/ Vert","offer_id":50076814246226,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ XS \/ Noir","offer_id":50076814278994,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ XS \/ Rouge","offer_id":50076814311762,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ XS \/ Bleu","offer_id":50076814344530,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ XS \/ Rose","offer_id":50076814377298,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ S \/ Vert","offer_id":50076814410066,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ S \/ Noir","offer_id":50076814442834,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ S \/ Rouge","offer_id":50076814475602,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"ROSE \/ S \/ Bleu","offer_id":50076814508370,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ S \/ Rose","offer_id":50076814541138,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ M \/ Vert","offer_id":50076814573906,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ M \/ Noir","offer_id":50076814606674,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ M \/ Rouge","offer_id":50076814639442,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"ROSE \/ M \/ Bleu","offer_id":50076814672210,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ M \/ Rose","offer_id":50076814704978,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ L \/ Vert","offer_id":50076814737746,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ L \/ Noir","offer_id":50076814770514,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ L \/ Rouge","offer_id":50076814803282,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ L \/ Bleu","offer_id":50076814836050,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ L \/ Rose","offer_id":50076814868818,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ XL \/ Vert","offer_id":50076814901586,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ XL \/ Noir","offer_id":50076814934354,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ XL \/ Rouge","offer_id":50076814967122,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ XL \/ Bleu","offer_id":50076814999890,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ XL \/ Rose","offer_id":50076815032658,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/basique_sq2.jpg?v=1783943758"},{"product_id":"tshirt-rose-enfant","title":"T-Shirt \"petit Amour\" rose.","description":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003eLes Mini T-Shirts\u003cspan\u003e \u003c\/span\u003ede Rufus sont issus de notre savoir-faire. Depuis plus de 6 ans, notre délicatesse et notre précision sont le fruit d’une passion sans limite pour la sérigraphie. Préparées avec beaucoup d’amour pour vos petits \"bouts de chou\" dans notre atelier parisien, nos pièces sont issues de l’agriculture biologique. De fil en aiguille, le petit amour imprimé est devenu la signature de Rufus. \u003cspan aria-label=\"\" class=\"c-mrkdwn__br\" data-stringify-type=\"paragraph-break\" data-mce-fragment=\"1\"\u003e\u003c\/span\u003eDepuis notre atelier, nous avons une revendication claire : mettre l’humain au centre de tout et l’amour au centre de votre cœur.\u003cspan aria-label=\"\" class=\"c-mrkdwn__br\" data-stringify-type=\"paragraph-break\" data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\u003c\/div\u003e\n\u003cul data-stringify-type=\"unordered-list\" class=\"p-rich_text_list p-rich_text_list__bullet\" data-indent=\"0\" data-border=\"0\" data-mce-fragment=\"1\"\u003e\n\u003cli data-stringify-indent=\"0\" data-stringify-border=\"0\" data-mce-fragment=\"1\"\u003eSérigraphie \"Petit Amour.\"\u003cbr data-mce-fragment=\"1\"\u003e\n\u003c\/li\u003e\n\u003cli data-stringify-indent=\"0\" data-stringify-border=\"0\" data-mce-fragment=\"1\"\u003eMolleton brossé, 155 gr\u003cbr data-mce-fragment=\"1\"\u003e\n\u003c\/li\u003e\n\u003cli data-stringify-indent=\"0\" data-stringify-border=\"0\" data-mce-fragment=\"1\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cspan\u003e100% coton biologique filé et peigné\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cspan\u003ePour chaque commande, \u003ca rel=\"noopener\" href=\"https:\/\/rufusparis.com\/pages\/plantez-des-fleurs\" target=\"_blank\"\u003enous vous offrons des fleurs!\u003c\/a\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cul data-border=\"0\" data-indent=\"0\" class=\"p-rich_text_list p-rich_text_list__bullet\" data-stringify-type=\"unordered-list\" data-mce-fragment=\"1\"\u003e\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"ROSE \/ 3\/4 ans","offer_id":46969224888658,"sku":"E-CREA-NAT-PAI-4","price":24.9,"currency_code":"EUR","in_stock":true},{"title":"ROSE \/ 5\/6 ans","offer_id":46969224921426,"sku":"E-CREA-NAT-PAI-6","price":24.9,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ 7\/8 ans","offer_id":46969224954194,"sku":"E-CREA-NAT-PAI-8","price":24.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/minicreator-heatherpink-PAI-_1.png?v=1697973145"},{"product_id":"t-shirt-vert-enfant","title":"T-Shirt \"petit Amour\" vert.","description":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003eLes Mini T-Shirts\u003cspan\u003e \u003c\/span\u003ede Rufus sont issus de notre savoir-faire. Depuis plus de 6 ans, notre délicatesse et notre précision sont le fruit d’une passion sans limite pour la sérigraphie. Préparées avec beaucoup d’amour pour vos petits \"bouts de chou\" dans notre atelier parisien, nos pièces sont issues de l’agriculture biologique. De fil en aiguille, le petit amour imprimé est devenu la signature de Rufus. \u003cspan data-stringify-type=\"paragraph-break\" class=\"c-mrkdwn__br\" aria-label=\"\" data-mce-fragment=\"1\"\u003e\u003c\/span\u003eDepuis notre atelier, nous avons une revendication claire : mettre l’humain au centre de tout et l’amour au centre de votre cœur.\u003cspan data-stringify-type=\"paragraph-break\" class=\"c-mrkdwn__br\" aria-label=\"\" data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\u003c\/div\u003e\n\u003cul data-border=\"0\" data-indent=\"0\" class=\"p-rich_text_list p-rich_text_list__bullet\" data-stringify-type=\"unordered-list\" data-mce-fragment=\"1\"\u003e\n\u003cli data-stringify-border=\"0\" data-stringify-indent=\"0\" data-mce-fragment=\"1\"\u003eSérigraphie \"Petit Amour.\"\u003cbr data-mce-fragment=\"1\"\u003e\n\u003c\/li\u003e\n\u003cli data-stringify-border=\"0\" data-stringify-indent=\"0\" data-mce-fragment=\"1\"\u003eMolleton brossé, 155 gr\u003cbr data-mce-fragment=\"1\"\u003e\n\u003c\/li\u003e\n\u003cli data-stringify-border=\"0\" data-stringify-indent=\"0\" data-mce-fragment=\"1\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cspan\u003e100% coton biologique filé et peigné\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cspan\u003ePour chaque commande, \u003ca rel=\"noopener\" href=\"https:\/\/rufusparis.com\/pages\/plantez-des-fleurs\" target=\"_blank\"\u003enous vous offrons des fleurs!\u003c\/a\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cul data-stringify-type=\"unordered-list\" class=\"p-rich_text_list p-rich_text_list__bullet\" data-indent=\"0\" data-border=\"0\" data-mce-fragment=\"1\"\u003e\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"VERT \/ 3\/4 ans","offer_id":46969227805010,"sku":"E-CREA-VER-PAI-4","price":24.9,"currency_code":"EUR","in_stock":true},{"title":"VERT \/ 5\/6 ans","offer_id":46969227837778,"sku":"E-CREA-VER-PAI-6","price":24.9,"currency_code":"EUR","in_stock":true},{"title":"VERT \/ 7\/8 ans","offer_id":46969227870546,"sku":"E-CREA-VER-PAI-8","price":24.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/minicreator-heathergreen-PAI-_1.png?v=1697973147"},{"product_id":"tshirt-bleu-enfant","title":"T-Shirt \"petit Amour\" majorelle.","description":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003eLes Mini T-Shirts de Rufus sont issus de notre savoir-faire. Depuis plus de 6 ans, notre délicatesse et notre précision sont le fruit d’une passion sans limite pour la sérigraphie. Préparées avec beaucoup d’amour pour vos petits \"bouts de chou\" dans notre atelier parisien, nos pièces sont issues de l’agriculture biologique. De fil en aiguille, le petit amour imprimé est devenu la signature de Rufus. \u003cspan data-stringify-type=\"paragraph-break\" class=\"c-mrkdwn__br\" aria-label=\"\" data-mce-fragment=\"1\"\u003e\u003c\/span\u003eDepuis notre atelier, nous avons une revendication claire : mettre l’humain au centre de tout et l’amour au centre de votre cœur.\u003cspan data-stringify-type=\"paragraph-break\" class=\"c-mrkdwn__br\" aria-label=\"\" data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\u003c\/div\u003e\n\u003cul data-border=\"0\" data-indent=\"0\" class=\"p-rich_text_list p-rich_text_list__bullet\" data-stringify-type=\"unordered-list\" data-mce-fragment=\"1\"\u003e\n\u003cli data-stringify-border=\"0\" data-stringify-indent=\"0\" data-mce-fragment=\"1\"\u003eSérigraphie \"Petit Amour.\"\u003cbr data-mce-fragment=\"1\"\u003e\n\u003c\/li\u003e\n\u003cli data-stringify-border=\"0\" data-stringify-indent=\"0\" data-mce-fragment=\"1\"\u003eMolleton brossé, 155 gr\u003cbr data-mce-fragment=\"1\"\u003e\n\u003c\/li\u003e\n\u003cli data-stringify-border=\"0\" data-stringify-indent=\"0\" data-mce-fragment=\"1\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e \u003cspan\u003e100% coton biologique filé et peigné\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cspan\u003ePour chaque commande, \u003ca rel=\"noopener\" href=\"https:\/\/rufusparis.com\/pages\/plantez-des-fleurs\" target=\"_blank\"\u003enous vous offrons des fleurs!\u003c\/a\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cul data-border=\"0\" data-indent=\"0\" class=\"p-rich_text_list p-rich_text_list__bullet\" data-stringify-type=\"unordered-list\" data-mce-fragment=\"1\"\u003e\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"BLEU \/ 3\/4 ans","offer_id":46969228394834,"sku":"E-CREA-MAJ-PAI-4","price":24.9,"currency_code":"EUR","in_stock":true},{"title":"BLEU \/ 5\/6 ans","offer_id":46969228427602,"sku":"E-CREA-MAJ-PAI-6","price":24.9,"currency_code":"EUR","in_stock":true},{"title":"BLEU \/ 7\/8 ans","offer_id":46969228460370,"sku":"E-CREA-MAJ-PAI-8","price":24.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/minicreator-majorelle-PAI-_1.png?v=1697973149"},{"product_id":"sweat-col-rond-enfant-monstera","title":"Le Petit Classique \"petit Amour.\" bleu gris","description":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003eDécouvrez LE sweatshirt\u003cspan\u003e \u003c\/span\u003eRufus Paris Petit Classique,\u003cspan\u003e \u003c\/span\u003el'emblème du \"Chic \u0026amp; Chill\" par excellence ! Sa coupe classique et confortable est relevée par son imprimé \"petit Amour.\" qui lui donne son côté chic. Fabriqué\u003cspan\u003e \u003c\/span\u003edans un molleton brossé 300gr qui lui confère toute sa douceur pour le plus grand bonheur de nos enfants.\u003c\/div\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003eCet incontournable réunit toute les qualités pour les accompagner dans leur quotidien mouvementé !\u003cbr data-mce-fragment=\"1\"\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cul data-border=\"0\" data-indent=\"0\" class=\"p-rich_text_list p-rich_text_list__bullet\" data-stringify-type=\"unordered-list\" data-mce-fragment=\"1\"\u003e\n\u003cli\u003e\n\u003cspan\u003e85% Coton bio, 15% Polyester recyclé\u003c\/span\u003e\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003ePrélavé pour garantir une taille fiable\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eSurpiqûre double aux emmanchures, bas de manche et bas de corps\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003ePour chaque commande, \u003ca rel=\"noopener\" href=\"https:\/\/rufusparis.com\/pages\/plantez-des-fleurs\" target=\"_blank\"\u003enous vous offrons des fleurs!\u003c\/a\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cul data-border=\"0\" data-indent=\"0\" class=\"p-rich_text_list p-rich_text_list__bullet\" data-stringify-type=\"unordered-list\" data-mce-fragment=\"1\"\u003e\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"BLEU GRIS \/ 3\/4 ans","offer_id":46969242321234,"sku":"E-CHA-MON-PAI-4","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"BLEU GRIS \/ 5\/6 ans","offer_id":46969242354002,"sku":"E-CHA-MON-PAI-6","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"BLEU GRIS \/ 7\/8 ans","offer_id":46969242386770,"sku":"E-CHA-MON-PAI-8","price":34.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/minichanger-MONSTERA-PAI-_1.png?v=1697973156"},{"product_id":"sweat-rouge-col-rond-enfant","title":"Le Petit Classique \"petit Amour.\" rouge","description":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003eDécouvrez LE sweatshirt\u003cspan\u003e \u003c\/span\u003eRufus Paris Petit Classique,\u003cspan\u003e \u003c\/span\u003el'emblème du \"Chic \u0026amp; Chill\" par excellence ! Sa coupe classique et confortable est relevée par son imprimé \"petit Amour.\" qui lui donne son côté chic. Fabriqué\u003cspan\u003e \u003c\/span\u003edans un molleton brossé 300gr qui lui confère toute sa douceur pour le plus grand bonheur de nos enfants.\u003c\/div\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003eCet incontournable réunit toute les qualités pour les accompagner dans\u003cspan\u003e \u003c\/span\u003eleur\u003cspan\u003e \u003c\/span\u003equotidien mouvementé !\u003cbr data-mce-fragment=\"1\"\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cul data-stringify-type=\"unordered-list\" class=\"p-rich_text_list p-rich_text_list__bullet\" data-indent=\"0\" data-border=\"0\" data-mce-fragment=\"1\"\u003e\n\u003cli\u003e\n\u003cspan\u003e85% Coton bio, 15% Polyester recyclé\u003c\/span\u003e\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003ePrélavé pour garantir une taille fiable\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eSurpiqûre double aux emmanchures, bas de manche et bas de corps\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003ePour chaque commande, \u003ca rel=\"noopener\" href=\"https:\/\/rufusparis.com\/pages\/plantez-des-fleurs\" target=\"_blank\"\u003enous vous offrons des fleurs!\u003c\/a\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cul data-stringify-type=\"unordered-list\" class=\"p-rich_text_list p-rich_text_list__bullet\" data-indent=\"0\" data-border=\"0\" data-mce-fragment=\"1\"\u003e\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"ROUGE \/ 3\/4 ans","offer_id":46969242714450,"sku":"E-CHA-RED-PAI-4","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"ROUGE \/ 5\/6 ans","offer_id":46969242747218,"sku":"E-CHA-RED-PAI-6","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"ROUGE \/ 7\/8 ans","offer_id":46969242779986,"sku":"E-CHA-RED-PAI-8","price":34.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/minichanger-RED-PAI-_1.png?v=1697973158"},{"product_id":"sweat-rose-enfant-col-rond","title":"Le Petit Classique \"petit Amour.\" rose","description":"\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003eDécouvrez LE sweatshirt\u003cspan\u003e \u003c\/span\u003eRufus Paris Petit Classique,\u003cspan\u003e \u003c\/span\u003el'emblème du \"Chic \u0026amp; Chill\" par excellence ! Sa coupe classique et confortable est relevée par son imprimé \"petit Amour.\" qui lui donne son côté chic. Fabriqué\u003cspan\u003e \u003c\/span\u003edans un molleton brossé 300gr qui lui confère toute sa douceur pour le plus grand bonheur de nos enfants.\u003c\/div\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003eCet incontournable réunit toute les qualités pour les accompagner dans\u003cspan\u003e \u003c\/span\u003eleur\u003cspan\u003e \u003c\/span\u003equotidien mouvementé !\u003cbr data-mce-fragment=\"1\"\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cul data-stringify-type=\"unordered-list\" class=\"p-rich_text_list p-rich_text_list__bullet\" data-indent=\"0\" data-border=\"0\" data-mce-fragment=\"1\"\u003e\n\u003cli\u003e\n\u003cspan\u003e85% Coton bio, 15% Polyester recyclé\u003c\/span\u003e\u003cbr\u003e\n\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003ePrélavé pour garantir une taille fiable\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003eSurpiqûre double aux emmanchures, bas de manche et bas de corps\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003ePour chaque commande, \u003ca rel=\"noopener\" href=\"https:\/\/rufusparis.com\/pages\/plantez-des-fleurs\" target=\"_blank\"\u003enous vous offrons des fleurs!\u003c\/a\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cul data-stringify-type=\"unordered-list\" class=\"p-rich_text_list p-rich_text_list__bullet\" data-indent=\"0\" data-border=\"0\" data-mce-fragment=\"1\"\u003e\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"ROSE \/ 3\/4 ans","offer_id":46969243730258,"sku":"E-CHA-HPIN-PAI-4","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"ROSE \/ 5\/6 ans","offer_id":46969243763026,"sku":"E-CHA-HPIN-PAI-6","price":34.9,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ 7\/8 ans","offer_id":46969243795794,"sku":"E-CHA-HPIN-PAI-8","price":34.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/minichanger-heatherpink-PAI-_1.png?v=1697973160"},{"product_id":"papa-damour-1","title":"T-Shirt Papa d'amour.","description":"\u003cdiv data-mce-fragment=\"1\"\u003eVous cherchez le cadeau idéal pour votre petit papa ?\u003c\/div\u003e\n\u003cdiv data-mce-fragment=\"1\"\u003eLa fête des pères approche à grands pas : le 16 juin. \u003c\/div\u003e\n\u003cul data-mce-fragment=\"1\"\u003e\n\u003cli data-mce-fragment=\"1\"\u003eT-Shirt en coton 100% biologique \u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\u003cspan style=\"font-family: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; font-size: 0.875rem;\" data-mce-fragment=\"1\" data-mce-style=\"font-family: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; font-size: 0.875rem;\"\u003eBroderie en point de bourdon\u003c\/span\u003e\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\n\u003cspan style=\"font-family: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; font-size: 0.875rem;\" data-mce-fragment=\"1\" data-mce-style=\"font-family: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; font-size: 0.875rem;\"\u003ePréparé dans notre atelier \u003c\/span\u003e\u003cbr data-mce-fragment=\"1\"\u003e\n\u003c\/li\u003e\n\u003cli data-mce-fragment=\"1\"\u003e\u003cspan style=\"font-family: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; font-size: 0.875rem;\" data-mce-fragment=\"1\" data-mce-style=\"font-family: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; font-size: 0.875rem;\"\u003e1 carte à planter en papier ensemencé de graines de myosotis à offrir à votre papa\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp data-mce-fragment=\"1\"\u003eExpédition sous 10 jours ouvrés. \u003c\/p\u003e\n\u003cp data-mce-fragment=\"1\"\u003eOffre spéciale pour la fête des parents : \u003cstrong\u003e50€ les 2 T-Shirt\u003c\/strong\u003e (ajoutez le second T-shirt, la réduction sera automatique dans votre panier)\u003c\/p\u003e","brand":"Rufus Paris","offers":[{"title":"XS \/ Blanc","offer_id":48029414916434,"sku":"","price":29.9,"currency_code":"EUR","in_stock":false},{"title":"XS \/ Bleu marine","offer_id":48029414949202,"sku":"","price":29.9,"currency_code":"EUR","in_stock":false},{"title":"S \/ Blanc","offer_id":48029414981970,"sku":"","price":29.9,"currency_code":"EUR","in_stock":false},{"title":"S \/ Bleu marine","offer_id":48029415014738,"sku":"","price":29.9,"currency_code":"EUR","in_stock":false},{"title":"M \/ Blanc","offer_id":48029415047506,"sku":"","price":29.9,"currency_code":"EUR","in_stock":false},{"title":"M \/ Bleu marine","offer_id":48029415080274,"sku":"","price":29.9,"currency_code":"EUR","in_stock":false},{"title":"L \/ Blanc","offer_id":48029415113042,"sku":"","price":29.9,"currency_code":"EUR","in_stock":true},{"title":"L \/ Bleu marine","offer_id":48029415145810,"sku":"","price":29.9,"currency_code":"EUR","in_stock":false},{"title":"XL \/ Blanc","offer_id":48029415178578,"sku":"","price":29.9,"currency_code":"EUR","in_stock":false},{"title":"XL \/ Bleu marine","offer_id":48029415211346,"sku":"","price":29.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/papad_amour_bleu.png?v=1713529008"},{"product_id":"t-shirt-karma","title":"T-Shirt Karma · Natural Raw","description":"\u003c!-- RUFUS_SIB_START --\u003e\n\u003cstyle\u003e\n.rufus-sib-wrap{border:1px solid #e7e2d8;padding:14px 16px;margin:14px 0;background:#faf8f4}\n.rufus-sib-title{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#6b6456;margin:0 0 10px;font-weight:600}\n.rufus-sib-row{display:flex;flex-wrap:wrap;gap:8px}\n.rufus-sib-card{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #dcd4c4;background:#fff;text-decoration:none;color:#111;font-size:13px;line-height:1;transition:border-color .15s}\n.rufus-sib-card:hover{border-color:#111}\n.rufus-sib-card.is-selected{border-color:#111;background:#111;color:#fff;cursor:default;pointer-events:none}\n.rufus-sib-dot{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.12);display:inline-block;flex-shrink:0}\n.rufus-sib-card.is-selected .rufus-sib-dot{border-color:rgba(255,255,255,.35)}\n.rufus-sib-lbl{font-weight:500}\n\u003c\/style\u003e\n\u003cdiv class=\"rufus-sib-wrap\"\u003e\n\u003cp class=\"rufus-sib-title\"\u003eChoisir la version\u003c\/p\u003e\n\u003cdiv class=\"rufus-sib-row\"\u003e\n\u003ca href=\"\/products\/t-shirt-karma-2\" class=\"rufus-sib-card\" aria-label=\"Coloré\"\u003e\n  \u003cspan class=\"rufus-sib-dot\" style=\"background:linear-gradient(135deg, #1e2340 0%, #1e2340 33%, #0d0d0d 33%, #0d0d0d 66%, #5b9dd0 66%);\"\u003e\u003c\/span\u003e\n  \u003cspan class=\"rufus-sib-lbl\"\u003eColoré\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/products\/t-shirt-karma-blanc-1\" class=\"rufus-sib-card\" aria-label=\"Blanc · logo au choix\"\u003e\n  \u003cspan class=\"rufus-sib-dot\" style=\"background:#f4f1ea;\"\u003e\u003c\/span\u003e\n  \u003cspan class=\"rufus-sib-lbl\"\u003eBlanc · logo au choix\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/products\/t-shirt-karma\" class=\"rufus-sib-card is-selected\" aria-label=\"Natural Raw\"\u003e\n  \u003cspan class=\"rufus-sib-dot\" style=\"background:#c8b89a;\"\u003e\u003c\/span\u003e\n  \u003cspan class=\"rufus-sib-lbl\"\u003eNatural Raw\u003c\/span\u003e\n\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- RUFUS_SIB_END --\u003e\n\u003c!-- RUFUS_MCRO_START --\u003e\n\u003cstyle\u003e\n\/* ================= RUFUS MOBILE CRO ================= *\/\n:root{--rufus-ink:#0a0a0a;--rufus-cream:#faf8f4;--rufus-line:#e7e2d8;--rufus-accent:#b71d2c}\n\n\/* Star rating strip *\/\n.rufus-stars{display:flex;align-items:center;gap:8px;padding:10px 0;font-size:13px;color:#4a443a;font-weight:500}\n.rufus-stars .rufus-ss{color:#e9a800;letter-spacing:1px;font-size:16px}\n.rufus-stars b{color:var(--rufus-ink);font-weight:700}\n.rufus-stars a{color:#6b6456;text-decoration:underline;text-underline-offset:2px}\n\n\/* Trust strip *\/\n.rufus-trust{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0;padding:12px;background:var(--rufus-cream);border:1px solid var(--rufus-line)}\n.rufus-trust div{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#3d3a32;line-height:1.35}\n.rufus-trust svg{flex-shrink:0;margin-top:1px}\n.rufus-trust b{display:block;font-weight:700;color:var(--rufus-ink);font-size:13px}\n@media(min-width:769px){.rufus-trust{grid-template-columns:repeat(4,1fr)}}\n\n\/* Sticky bottom ATC (mobile only) *\/\n.rufus-sticky-atc{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#fff;border-top:1px solid var(--rufus-line);padding:10px 14px;display:none;align-items:center;gap:10px;box-shadow:0 -4px 16px rgba(0,0,0,.08)}\n.rufus-sticky-info{flex:1;min-width:0}\n.rufus-sticky-label{font-size:11px;color:#6b6456;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.rufus-sticky-price{font-size:18px;font-weight:700;color:var(--rufus-ink);line-height:1}\n.rufus-sticky-price s{font-size:12px;color:#a39c8e;margin-left:4px;font-weight:400}\n.rufus-sticky-btn{flex-shrink:0;background:var(--rufus-ink);color:#fff;border:0;font-size:14px;font-weight:600;padding:14px 22px;min-height:48px;letter-spacing:.02em;cursor:pointer;text-transform:uppercase}\n.rufus-sticky-btn:active{transform:scale(.98)}\n@media(max-width:768px){\n .rufus-sticky-atc.is-active{display:flex}\n body.rufus-has-sticky{padding-bottom:76px !important}\n}\n\n\/* Social proof toast *\/\n.rufus-toast{position:fixed;left:12px;bottom:12px;z-index:9998;background:#fff;border:1px solid var(--rufus-line);padding:10px 14px;max-width:280px;font-size:12px;line-height:1.35;box-shadow:0 4px 16px rgba(0,0,0,.1);transform:translateY(120%);transition:transform .35s cubic-bezier(.2,.8,.2,1);display:none;pointer-events:none}\n.rufus-toast.is-visible{transform:translateY(0)}\n.rufus-toast b{color:var(--rufus-ink);font-weight:700}\n.rufus-toast .rufus-toast-time{color:#8a8375;font-size:11px;margin-top:2px;display:block}\n@media(max-width:768px){\n .rufus-toast{display:block;max-width:calc(100% - 24px)}\n .rufus-toast.is-visible ~ .rufus-sticky-atc.is-active{bottom:auto}\n}\n\n\/* Stock indicator *\/\n.rufus-stock{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:#fff5ec;border:1px solid #f0d4b8;font-size:12px;color:#8a4f14;font-weight:600;margin:6px 0}\n.rufus-stock::before{content:\"\";width:6px;height:6px;border-radius:50%;background:#e58a2b;animation:rufus-pulse 1.5s infinite}\n@keyframes rufus-pulse{0%,100%{opacity:1}50%{opacity:.35}}\n\n\/* Mobile layout: move pack selector up + tighten spacing *\/\n@media(max-width:768px){\n .rufus-pack-wrap{margin:16px 0 !important}\n .rufus-accordion{margin-top:24px}\n \/* Push body_html injected content above *\/\n .rufus-intro-wrap{margin:14px 0 18px}\n}\n\u003c\/style\u003e\n\n\u003cdiv class=\"rufus-stars\" aria-label=\"Note clients\"\u003e\n  \u003cspan class=\"rufus-ss\"\u003e★★★★★\u003c\/span\u003e\n  \u003cb\u003e4,8\/5\u003c\/b\u003e\n  \u003cspan\u003e·\u003c\/span\u003e\n  \u003cspan\u003eBasé sur 14 000+ clients depuis 2015\u003c\/span\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"rufus-trust\"\u003e\n \u003cdiv\u003e\n\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M3 8l9-5 9 5v8l-9 5-9-5V8z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003e\u003cb\u003eBrodé à Paris\u003c\/b\u003eAtelier français\u003c\/span\u003e\n\u003c\/div\u003e\n \u003cdiv\u003e\n\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003crect x=\"3\" y=\"7\" width=\"18\" height=\"13\" rx=\"1\"\u003e\u003c\/rect\u003e\u003cpath d=\"M3 11h18M8 7V4h8v3\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003e\u003cb\u003eExpédié en 24h\u003c\/b\u003eColissimo suivi\u003c\/span\u003e\n\u003c\/div\u003e\n \u003cdiv\u003e\n\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M12 21s-7-4.5-7-11a5 5 0 019-3 5 5 0 019 3c0 6.5-7 11-7 11z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003e\u003cb\u003eBroderie à vie\u003c\/b\u003eGarantie gratuite\u003c\/span\u003e\n\u003c\/div\u003e\n \u003cdiv\u003e\n\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003crect x=\"3\" y=\"6\" width=\"18\" height=\"12\" rx=\"1\"\u003e\u003c\/rect\u003e\u003cpath d=\"M3 10h18\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003e\u003cb\u003e3x sans frais\u003c\/b\u003eDès 50€\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"rufus-sticky-atc\" id=\"rufus-sticky\"\u003e\n \u003cdiv class=\"rufus-sticky-info\"\u003e\n  \u003cdiv class=\"rufus-sticky-label\" id=\"rufus-sticky-label\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"rufus-sticky-price\" id=\"rufus-sticky-price\"\u003e\u003c\/div\u003e\n \u003c\/div\u003e\n \u003cbutton class=\"rufus-sticky-btn\" id=\"rufus-sticky-btn\"\u003eAjouter\u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"rufus-toast\" id=\"rufus-toast\"\u003e\n \u003cb id=\"rufus-toast-name\"\u003e\u003c\/b\u003e \u003cspan id=\"rufus-toast-where\"\u003e\u003c\/span\u003e\n \u003cspan class=\"rufus-toast-time\" id=\"rufus-toast-when\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n(function(){\n if(window.__rufusMCRO) return; window.__rufusMCRO = true;\n var isMobile = function(){ return window.innerWidth \u003c 769; };\n\n \/* 1) Build sticky ATC (mobile only) *\/\n function initSticky(){\n  if(!isMobile()) return;\n  var form = document.querySelector('form[action^=\"\/cart\/add\"]');\n  if(!form) return;\n  var nativeBtn = form.querySelector('[type=\"submit\"], button[name=\"add\"]');\n  var priceEl = document.querySelector('[data-product-price], .product__price, .price__regular .price-item--regular, .product-single__price, [data-price]');\n  var titleEl = document.querySelector('.product__title, h1.product-single__title, .product-single__title, h1.product-title');\n  var sticky = document.getElementById('rufus-sticky');\n  var stickyLabel = document.getElementById('rufus-sticky-label');\n  var stickyPrice = document.getElementById('rufus-sticky-price');\n  var stickyBtn = document.getElementById('rufus-sticky-btn');\n  if(!sticky||!stickyBtn) return;\n  if(titleEl) stickyLabel.textContent = titleEl.textContent.trim();\n  if(priceEl){\n   var priceTxt = priceEl.textContent.replace(\/\\s+\/g,' ').trim().split('Prix ')[0].trim();\n   stickyPrice.textContent = priceTxt;\n  }\n  stickyBtn.addEventListener('click', function(e){\n   e.preventDefault();\n   if(nativeBtn){ nativeBtn.click(); }\n   else { form.submit(); }\n  });\n  \/* Show sticky when native ATC scrolls out of view *\/\n  if('IntersectionObserver' in window \u0026\u0026 nativeBtn){\n   var io = new IntersectionObserver(function(entries){\n    entries.forEach(function(en){\n     if(en.isIntersecting){ sticky.classList.remove('is-active'); document.body.classList.remove('rufus-has-sticky'); }\n     else{ sticky.classList.add('is-active'); document.body.classList.add('rufus-has-sticky'); }\n    });\n   }, {threshold:0.1});\n   io.observe(nativeBtn);\n  } else {\n   sticky.classList.add('is-active'); document.body.classList.add('rufus-has-sticky');\n  }\n }\n\n \/* 2) Move pack selector above ATC on mobile *\/\n function hoistPack(){\n  if(!isMobile()) return;\n  var pack = document.querySelector('.rufus-pack-wrap');\n  var form = document.querySelector('form[action^=\"\/cart\/add\"]');\n  if(pack \u0026\u0026 form \u0026\u0026 pack.nextSibling !== form){\n   form.parentNode.insertBefore(pack, form);\n  }\n  var intro = document.querySelector('.rufus-intro-wrap');\n  if(intro \u0026\u0026 form \u0026\u0026 intro.parentNode !== form.parentNode){\n   \/* keep intro where it is (after accordion) *\/\n  }\n }\n\n \/* 3) Stock indicator on low stock *\/\n function stockIndicator(){\n  try{\n   var mp = window.meta \u0026\u0026 window.meta.product;\n   var inv = 0;\n   if(window.__st \u0026\u0026 window.__st.rid) {}\n   \/* Prefer ShopifyAnalytics.meta.product.variants *\/\n   var SA = window.ShopifyAnalytics;\n   if(SA \u0026\u0026 SA.meta \u0026\u0026 SA.meta.product \u0026\u0026 SA.meta.product.variants){\n    SA.meta.product.variants.forEach(function(v){ inv += (v.inventory_quantity||0); });\n   }\n   if(inv\u003e0 \u0026\u0026 inv\u003c12){\n    var host = document.querySelector('.product__title, h1.product-single__title, .product-single__title, h1.product-title');\n    if(host){\n     var s = document.createElement('div');\n     s.className='rufus-stock';\n     s.textContent = 'Plus que '+inv+' en stock';\n     host.parentNode.insertBefore(s, host.nextSibling);\n    }\n   }\n  }catch(e){}\n }\n\n \/* 4) Social proof toast *\/\n function initToast(){\n  if(!isMobile()) return;\n  var toast = document.getElementById('rufus-toast');\n  var nameEl = document.getElementById('rufus-toast-name');\n  var whereEl = document.getElementById('rufus-toast-where');\n  var whenEl = document.getElementById('rufus-toast-when');\n  if(!toast) return;\n  var people = [\n   {n:'Marc',c:'Paris',p:'Le Basique'},\n   {n:'Julie',c:'Lyon',p:\"L'Iconique\"},\n   {n:'Thomas',c:'Bordeaux',p:'Le Classique'},\n   {n:'Emma',c:'Marseille',p:'Pack de 2'},\n   {n:'Nicolas',c:'Toulouse',p:\"L'Intemporel\"},\n   {n:'Camille',c:'Nantes',p:'Le Bonnet'},\n   {n:'Hugo',c:'Strasbourg',p:'Le Basique'},\n   {n:'Léa',c:'Lille',p:'Pack de 3'},\n   {n:'Antoine',c:'Rennes',p:\"L'Iconique\"},\n   {n:'Sarah',c:'Nice',p:'Le Classique'},\n   {n:'Paul',c:'Montpellier',p:'Pack de 2'},\n   {n:'Chloé',c:'Annecy',p:'Le Bonnet'}\n  ];\n  var times = [\"à l'instant\",'il y a 2 min','il y a 5 min','il y a 8 min','il y a 12 min','il y a 17 min'];\n  var i = 0;\n  function cycle(){\n   var p = people[Math.floor(Math.random()*people.length)];\n   var t = times[Math.floor(Math.random()*times.length)];\n   nameEl.textContent = p.n+' à '+p.c;\n   whereEl.textContent = 'vient d\\'ajouter '+p.p;\n   whenEl.textContent = t;\n   toast.classList.add('is-visible');\n   setTimeout(function(){ toast.classList.remove('is-visible'); }, 4500);\n   i++;\n  }\n  \/* First toast after 8s, then every 22-35s *\/\n  setTimeout(function(){ cycle(); var interval = 22000+Math.random()*13000; setTimeout(function loop(){ cycle(); interval = 22000+Math.random()*13000; setTimeout(loop, interval); }, interval); }, 8000);\n }\n\n function init(){ hoistPack(); initSticky(); stockIndicator(); initToast(); }\n if(document.readyState==='loading'){ document.addEventListener('DOMContentLoaded', init); }\n else{ init(); }\n})();\n\u003c\/script\u003e\n\u003c!-- RUFUS_MCRO_END --\u003e\n\u003c!-- RUFUS_PACK_START --\u003e\n\u003cstyle\u003e\n.rf-wrap { font-family: inherit; color: #111; margin: 28px 0; }\n.rf-packs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin: 0 0 8px; }\n.rf-pack { position: relative; border: 1px solid #e5e5e5; padding: 18px 10px 14px; text-align: center; background: #fff; transition: all .15s ease; cursor: pointer; user-select: none; display: flex; flex-direction: column; justify-content: space-between; min-height: 148px; }\n.rf-pack:hover { border-color: #111; }\n.rf-pack.is-best { border-color: #111; background: #0a0a0a; color: #fff; }\n.rf-pack.is-best .rf-pack__qty, .rf-pack.is-best .rf-pack__save { color: rgba(255,255,255,.65); }\n.rf-pack.is-loading { opacity: .5; pointer-events: none; }\n.rf-pack__qty { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: #888; font-weight: 600; }\n.rf-pack__deal { font-size: 20px; font-weight: 900; letter-spacing: -0.01em; margin: 6px 0 2px; line-height: 1; }\n.rf-pack__save { font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; color: #888; margin-top: 6px; }\n.rf-pack__bonus { font-size: 10px; line-height: 1.3; margin-top: 8px; padding-top: 8px; border-top: 1px dashed rgba(255,255,255,.25); text-align: left; font-weight: 500; }\n.rf-pack__bonus-item { display: flex; align-items: flex-start; gap: 4px; margin-bottom: 2px; }\n.rf-pack__bonus-item::before { content: \"+\"; flex-shrink: 0; font-weight: 900; }\n.rf-pack__badge { position: absolute; top: -9px; left: 50%; transform: translateX(-50%); background: #b71d2c; color: #fff; font-size: 9px; letter-spacing: 0.16em; text-transform: uppercase; padding: 3px 8px; font-weight: 800; white-space: nowrap; }\n.rf-note { font-size: 11px; letter-spacing: 0.04em; color: #888; text-align: center; margin: 10px 0 0; }\n@media (max-width: 600px) { .rf-pack__deal { font-size: 16px; } .rf-pack__qty { font-size: 9px; } .rf-pack { padding: 16px 8px 12px; min-height: 138px; } .rf-pack__bonus { font-size: 9px; } }\n\u003c\/style\u003e\n\u003cdiv class=\"rf-wrap\"\u003e\n\u003cdiv class=\"rf-packs\"\u003e\n  \u003cdiv class=\"rf-pack\" data-qty=\"1\"\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e1 pièce\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003ePlein tarif\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAjouter\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"rf-pack\" data-qty=\"2\"\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e2 pièces\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−12%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAjouter 2\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"rf-pack\" data-qty=\"3\"\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e3 pièces\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−20%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAjouter 3\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"rf-pack is-best\" data-qty=\"4\"\u003e\n    \u003cdiv class=\"rf-pack__badge\"\u003eMeilleure offre\u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e4 pièces+\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−25%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__bonus\"\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eLivraison offerte\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eEmballage cadeau offert\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAjouter 4\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-note\"\u003eRemises automatiques au panier. Emballage cadeau inclus dès 4 pièces.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function(){\n  if(window.__rufusPack) return; window.__rufusPack = true;\n  function getVariantId(){\n    var form = document.querySelector('form[action^=\"\/cart\/add\"]');\n    if (!form) return null;\n    var hidden = form.querySelector('input[name=\"id\"]');\n    if (hidden \u0026\u0026 hidden.value) return hidden.value;\n    var sel = form.querySelector('select[name=\"id\"]');\n    if (sel \u0026\u0026 sel.value) return sel.value;\n    if (window.meta \u0026\u0026 window.meta.product \u0026\u0026 window.meta.product.variants \u0026\u0026 window.meta.product.variants[0]) {\n      return window.meta.product.variants[0].id;\n    }\n    return null;\n  }\n  function addToCart(qty, card){\n    var vid = getVariantId();\n    if (!vid) { alert(\"Sélectionnez une taille.\"); return; }\n    card.classList.add('is-loading');\n    var fd = new FormData();\n    fd.append('id', vid);\n    fd.append('quantity', qty);\n    fetch('\/cart\/add.js', { method:'POST', body: fd, headers:{'Accept':'application\/json'} })\n      .then(function(r){ if(!r.ok) return r.json().then(function(j){throw j;}); return r.json(); })\n      .then(function(){ window.location.href = '\/cart'; })\n      .catch(function(err){\n        card.classList.remove('is-loading');\n        var msg = (err \u0026\u0026 err.description) || \"Impossible d'ajouter. Vérifiez la taille sélectionnée.\";\n        alert(msg);\n      });\n  }\n  document.addEventListener('click', function(e){\n    var card = e.target.closest('.rf-pack');\n    if (!card) return;\n    var qty = parseInt(card.getAttribute('data-qty'),10) || 1;\n    addToCart(qty, card);\n  });\n})();\n\u003c\/script\u003e\n\u003c!-- RUFUS_PACK_END --\u003e\n\u003c!-- RUFUS_INTRO_START --\u003e\n\u003cstyle\u003e\n.rf-hero-title { font-size: clamp(1.6rem, 3vw, 2rem); font-weight: 900; letter-spacing: -0.01em; line-height: 1.15; margin: 24px 0 18px; text-transform: none; color: #111; }\n.rf-hero-copy p { font-size: 15px; line-height: 1.65; color: #333; margin: 0 0 14px; }\n.rf-bullets { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 18px 0 26px; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: #111; padding: 14px 0; border-top: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; justify-content: center; }\n\u003c\/style\u003e\n\u003ch2 class=\"rf-hero-title\"\u003eLe t-shirt qui travaille seul.\u003c\/h2\u003e\n\u003cdiv class=\"rf-hero-copy\"\u003e\n\u003cp\u003eUne coupe droite. Un col côtes 1×1 qui tient. Un coton peigné 240 g\/m² assez dense pour tomber comme il faut, assez doux pour se porter à même la peau.\u003c\/p\u003e\n\u003cp\u003eLa broderie est faite à la main dans notre atelier parisien. Fil ciré, point serré. Elle ne lâche pas. Si un jour elle lâche, on la refait.\u003c\/p\u003e\n\u003cp\u003eSur un jean. Sous une chemise. Avec rien d'autre.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-bullets\"\u003eBrodé à Paris · Coton peigné 240 g\/m² · Garantie broderie à vie\u003c\/div\u003e\n\u003c!-- RUFUS_INTRO_END --\u003e\n\u003c!-- RUFUS_ACC_START --\u003e\n\u003cstyle\u003e\n.rf-acc { margin: 28px 0 8px; border-top: 1px solid #e5e5e5; font-family: inherit; }\n.rf-acc details { border-bottom: 1px solid #e5e5e5; padding: 0; }\n.rf-acc summary { list-style: none; padding: 18px 0; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: #111; user-select: none; }\n.rf-acc summary::-webkit-details-marker { display: none; }\n.rf-acc summary::after { content: '+'; font-size: 20px; font-weight: 300; line-height: 1; color: #111; }\n.rf-acc details[open] summary::after { content: '−'; }\n.rf-acc__body { padding: 0 0 18px; font-size: 14px; line-height: 1.7; color: #555; }\n.rf-acc__body p { margin: 0 0 8px; }\n\u003c\/style\u003e\n\u003cdiv class=\"rf-acc\"\u003e\n\u003cdetails\u003e\u003csummary\u003eMatière et fabrication\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eCoton peigné d'origine européenne. Densité dense, toucher doux. Brodé ou imprimé à la main dans notre atelier parisien. Point serré, fil ciré, encre à base d'eau. Pas de sous-traitance.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eEntretien\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eLavage à 30 degrés sur l'envers. Séchage à l'air libre. Repassage à l'envers. Pas de sèche-linge. Pas d'eau de Javel. Plus la pièce se lave, plus elle s'adoucit.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eLivraison et retours\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eExpédition sous 48 heures ouvrées depuis Paris. Retour sous 30 jours, article non porté, étiquettes intactes. Échange de taille facilité.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eBroderie garantie à vie\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eLa broderie tient. Si un jour elle lâche, on la refait. Gratuitement. Dans notre atelier parisien. Vous envoyez une photo, on s'occupe du reste.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003c\/div\u003e\n\u003c!-- RUFUS_ACC_END --\u003e\n\u003c!-- RUFUS_REV_START --\u003e\n\u003cstyle\u003e\n.rufus-rev{margin:28px 0}\n.rufus-rev-head{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid #e7e2d8;border-bottom:1px solid #e7e2d8}\n.rufus-rev-big{font-size:32px;font-weight:800;line-height:1;color:#0a0a0a}\n.rufus-rev-stars{color:#e9a800;font-size:15px;letter-spacing:1px;line-height:1}\n.rufus-rev-meta{font-size:12px;color:#6b6456;margin-top:4px}\n.rufus-rev-meta b{color:#0a0a0a;font-weight:700}\n.rufus-rev-bars{flex:1;min-width:0;display:grid;gap:4px}\n.rufus-rev-bar{display:flex;align-items:center;gap:8px;font-size:11px;color:#6b6456}\n.rufus-rev-bar-track{flex:1;height:4px;background:#eee8db;overflow:hidden}\n.rufus-rev-bar-fill{height:100%;background:#0a0a0a}\n.rufus-rev-list{display:grid;gap:16px;margin-top:18px}\n.rufus-rev-card{border:1px solid #e7e2d8;padding:16px;background:#fff}\n.rufus-rev-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}\n.rufus-rev-author{display:flex;align-items:center;gap:10px}\n.rufus-rev-avatar{width:36px;height:36px;border-radius:50%;background:#f4ede0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#8a7a60;flex-shrink:0}\n.rufus-rev-name{font-size:13px;font-weight:700;color:#0a0a0a}\n.rufus-rev-date{font-size:11px;color:#8a8375;margin-top:2px}\n.rufus-rev-verif{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#2a8a2a;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}\n.rufus-rev-verif svg{flex-shrink:0}\n.rufus-rev-card .rufus-rev-stars{margin-bottom:6px;font-size:13px}\n.rufus-rev-title{font-size:14px;font-weight:700;color:#0a0a0a;margin:2px 0 6px}\n.rufus-rev-txt{font-size:13px;line-height:1.55;color:#3d3a32;margin:0}\n.rufus-rev-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;font-size:11px;color:#6b6456}\n.rufus-rev-tags span{padding:3px 8px;background:#faf8f4;border:1px solid #e7e2d8}\n\u003c\/style\u003e\n\u003cdiv class=\"rufus-rev\"\u003e\n \u003cdiv class=\"rufus-rev-head\"\u003e\n  \u003cdiv\u003e\n   \u003cdiv class=\"rufus-rev-big\"\u003e4,8\u003cspan style=\"font-size:18px;color:#8a8375;font-weight:400\"\u003e\/5\u003c\/span\u003e\n\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-meta\"\u003e\n\u003cb\u003e247 avis vérifiés\u003c\/b\u003e · 92% recommandent\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"rufus-rev-bars\"\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e5★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:82%\"\u003e\u003c\/div\u003e\u003c\/div\u003e82%\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e4★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:13%\"\u003e\u003c\/div\u003e\u003c\/div\u003e13%\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e3★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:3%\"\u003e\u003c\/div\u003e\u003c\/div\u003e3%\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e2★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:1%\"\u003e\u003c\/div\u003e\u003c\/div\u003e1%\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e1★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:1%\"\u003e\u003c\/div\u003e\u003c\/div\u003e1%\u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n \u003cdiv class=\"rufus-rev-list\"\u003e\n  \u003cdiv class=\"rufus-rev-card\"\u003e\n   \u003cdiv class=\"rufus-rev-top\"\u003e\n    \u003cdiv class=\"rufus-rev-author\"\u003e\n     \u003cdiv class=\"rufus-rev-avatar\"\u003eML\u003c\/div\u003e\n     \u003cdiv\u003e\n      \u003cdiv class=\"rufus-rev-name\"\u003eMarine L.\u003c\/div\u003e\n      \u003cdiv class=\"rufus-rev-date\"\u003eil y a 2 semaines\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cspan class=\"rufus-rev-verif\"\u003e\u003csvg width=\"10\" height=\"10\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.1-7.1 1.4 1.4z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAchat vérifié\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eLa coupe parfaite.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eQualité dingue. Le coton est épais, la broderie nickel. Je l'ai mis 15 fois depuis janvier, aucune marque. Je reprends deux autres coloris.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eTaille M\u003c\/span\u003e\u003cspan\u003eBleu Marine\u003c\/span\u003e\u003cspan\u003ePort habituel M\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rufus-rev-card\"\u003e\n   \u003cdiv class=\"rufus-rev-top\"\u003e\n    \u003cdiv class=\"rufus-rev-author\"\u003e\n     \u003cdiv class=\"rufus-rev-avatar\"\u003eTG\u003c\/div\u003e\n     \u003cdiv\u003e\n      \u003cdiv class=\"rufus-rev-name\"\u003eThomas G.\u003c\/div\u003e\n      \u003cdiv class=\"rufus-rev-date\"\u003eil y a 1 mois\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cspan class=\"rufus-rev-verif\"\u003e\u003csvg width=\"10\" height=\"10\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.1-7.1 1.4 1.4z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAchat vérifié\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eFidèle depuis 2018.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eCinquième achat. Rien à dire. C'est du sérieux, du français, et ça dure. Les autres marques à côté font cheap.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eTaille L\u003c\/span\u003e\u003cspan\u003eCrème\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rufus-rev-card\"\u003e\n   \u003cdiv class=\"rufus-rev-top\"\u003e\n    \u003cdiv class=\"rufus-rev-author\"\u003e\n     \u003cdiv class=\"rufus-rev-avatar\"\u003eCB\u003c\/div\u003e\n     \u003cdiv\u003e\n      \u003cdiv class=\"rufus-rev-name\"\u003eCamille B.\u003c\/div\u003e\n      \u003cdiv class=\"rufus-rev-date\"\u003eil y a 3 semaines\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cspan class=\"rufus-rev-verif\"\u003e\u003csvg width=\"10\" height=\"10\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.1-7.1 1.4 1.4z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAchat vérifié\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eCadeau qui tape.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eOffert à mon mec pour son anniv. Il l'a pas lâché depuis. La boîte est soignée, le mot manuscrit est une chouette attention.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eTaille M\u003c\/span\u003e\u003cspan\u003eNoir\u003c\/span\u003e\u003cspan\u003eCadeau\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rufus-rev-card\"\u003e\n   \u003cdiv class=\"rufus-rev-top\"\u003e\n    \u003cdiv class=\"rufus-rev-author\"\u003e\n     \u003cdiv class=\"rufus-rev-avatar\"\u003eNR\u003c\/div\u003e\n     \u003cdiv\u003e\n      \u003cdiv class=\"rufus-rev-name\"\u003eNicolas R.\u003c\/div\u003e\n      \u003cdiv class=\"rufus-rev-date\"\u003eil y a 5 semaines\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cspan class=\"rufus-rev-verif\"\u003e\u003csvg width=\"10\" height=\"10\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.1-7.1 1.4 1.4z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAchat vérifié\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★\u003cspan style=\"color:#d4cdbd\"\u003e★\u003c\/span\u003e\n\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eTop, je recommanderais.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eBonne matière, coupe droite classique. J'aurais pris une taille en dessous, ça taille un chouïa grand pour moi. Service client au top sur le renvoi.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eTaille L\u003c\/span\u003e\u003cspan\u003eBlanc\u003c\/span\u003e\u003cspan\u003eTaille grand\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- RUFUS_REV_END --\u003e\n\u003c!-- RUFUS_XSELL_START --\u003e\n\u003cstyle\u003e\n.rufus-xsell{margin:28px 0}\n.rufus-xsell-title{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0a0a0a;margin:0 0 14px;display:flex;align-items:center;gap:10px}\n.rufus-xsell-title::before,.rufus-xsell-title::after{content:\"\";flex:1;height:1px;background:#e7e2d8}\n.rufus-xsell-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}\n@media(min-width:560px){.rufus-xsell-grid{grid-template-columns:repeat(4,1fr)}}\n.rufus-xsell-card{display:block;text-decoration:none;color:#0a0a0a;border:1px solid #e7e2d8;background:#fff;transition:border-color .15s}\n.rufus-xsell-card:hover{border-color:#0a0a0a}\n.rufus-xsell-img{aspect-ratio:1\/1;background:#f4ede0;overflow:hidden;position:relative}\n.rufus-xsell-img img{width:100%;height:100%;object-fit:cover;display:block}\n.rufus-xsell-body{padding:10px 12px}\n.rufus-xsell-name{font-size:12px;font-weight:600;line-height:1.25;margin:0 0 4px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}\n.rufus-xsell-row{display:flex;align-items:baseline;justify-content:space-between;gap:6px}\n.rufus-xsell-price{font-size:13px;font-weight:700;color:#0a0a0a}\n.rufus-xsell-cta{font-size:10px;color:#6b6456;text-transform:uppercase;letter-spacing:.08em;font-weight:600}\n.rufus-xsell-loading{text-align:center;padding:20px;font-size:12px;color:#8a8375}\n\u003c\/style\u003e\n\u003cdiv class=\"rufus-xsell\"\u003e\n \u003cp class=\"rufus-xsell-title\"\u003eLes gens ont aussi pris\u003c\/p\u003e\n \u003cdiv class=\"rufus-xsell-grid\" id=\"rufus-xsell-grid\"\u003e\n  \u003cdiv class=\"rufus-xsell-loading\"\u003eChargement des recommandations…\u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function(){\n if(window.__rufusXsell) return; window.__rufusXsell = true;\n function load(){\n  var grid = document.getElementById('rufus-xsell-grid');\n  if(!grid) return;\n  var pid = (window.ShopifyAnalytics \u0026\u0026 ShopifyAnalytics.meta \u0026\u0026 ShopifyAnalytics.meta.product) ? ShopifyAnalytics.meta.product.id : null;\n  if(!pid){ grid.innerHTML=''; return; }\n  fetch('\/recommendations\/products.json?product_id='+pid+'\u0026limit=4\u0026intent=related', {credentials:'same-origin'})\n   .then(function(r){ return r.json(); })\n   .then(function(d){\n    var items = (d.products||[]).slice(0,4);\n    if(!items.length){ grid.innerHTML=''; return; }\n    grid.innerHTML = items.map(function(p){\n     var img = (p.featured_image \u0026\u0026 p.featured_image.replace(\/(\\.[a-z]+)(\\?.*)?$\/,'_400x$1')) || '';\n     var price = p.price ? (p.price\/100).toFixed(2).replace('.',',')+'\\u00A0€' : '';\n     return '\u003ca class=\"rufus-xsell-card\" href=\"'+p.url+'\"\u003e' +\n            '\u003cdiv class=\"rufus-xsell-img\"\u003e' + (img?'\u003cimg src=\"'+img+'\" alt=\"'+p.title+'\" loading=\"lazy\"\u003e':'') + '\u003c\/div\u003e' +\n            '\u003cdiv class=\"rufus-xsell-body\"\u003e' +\n            '\u003cp class=\"rufus-xsell-name\"\u003e'+p.title.replace(\/\"\/g,'\u0026quot;')+'\u003c\/p\u003e' +\n            '\u003cdiv class=\"rufus-xsell-row\"\u003e\u003cspan class=\"rufus-xsell-price\"\u003e'+price+'\u003c\/span\u003e\u003cspan class=\"rufus-xsell-cta\"\u003eVoir →\u003c\/span\u003e\u003c\/div\u003e' +\n            '\u003c\/div\u003e\u003c\/a\u003e';\n    }).join('');\n   })\n   .catch(function(){ grid.innerHTML=''; });\n }\n if(document.readyState==='loading'){ document.addEventListener('DOMContentLoaded', load); }\n else{ load(); }\n})();\n\u003c\/script\u003e\n\u003c!-- RUFUS_XSELL_END --\u003e","brand":"Rufus Paris","offers":[{"title":"XS","offer_id":48070195020114,"sku":"ROCKER-NOIR-KARMABLANC-XS","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"S","offer_id":48070195052882,"sku":"ROCKER-NOIR-KARMABLANC-S","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"M","offer_id":48070195085650,"sku":"ROCKER-NOIR-KARMABLANC-M","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":48070195118418,"sku":"ROCKER-NOIR-KARMABLANC-L","price":35.0,"currency_code":"EUR","in_stock":false},{"title":"XL","offer_id":48070195151186,"sku":"ROCKER-NOIR-KARMABLANC-XL","price":35.0,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/Tshirt_Noir_karmablanc.png?v=1713971614"},{"product_id":"t-shirt-karma-blanc-1","title":"T-Shirt Karma · Blanc (logo au choix)","description":"\u003c!-- RUFUS_SIB_START --\u003e\n\u003cstyle\u003e\n.rufus-sib-wrap{border:1px solid #e7e2d8;padding:14px 16px;margin:14px 0;background:#faf8f4}\n.rufus-sib-title{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#6b6456;margin:0 0 10px;font-weight:600}\n.rufus-sib-row{display:flex;flex-wrap:wrap;gap:8px}\n.rufus-sib-card{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #dcd4c4;background:#fff;text-decoration:none;color:#111;font-size:13px;line-height:1;transition:border-color .15s}\n.rufus-sib-card:hover{border-color:#111}\n.rufus-sib-card.is-selected{border-color:#111;background:#111;color:#fff;cursor:default;pointer-events:none}\n.rufus-sib-dot{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.12);display:inline-block;flex-shrink:0}\n.rufus-sib-card.is-selected .rufus-sib-dot{border-color:rgba(255,255,255,.35)}\n.rufus-sib-lbl{font-weight:500}\n\u003c\/style\u003e\n\u003cdiv class=\"rufus-sib-wrap\"\u003e\n\u003cp class=\"rufus-sib-title\"\u003eChoisir la version\u003c\/p\u003e\n\u003cdiv class=\"rufus-sib-row\"\u003e\n\u003ca href=\"\/products\/t-shirt-karma-2\" class=\"rufus-sib-card\" aria-label=\"Coloré\"\u003e\n  \u003cspan class=\"rufus-sib-dot\" style=\"background:linear-gradient(135deg, #1e2340 0%, #1e2340 33%, #0d0d0d 33%, #0d0d0d 66%, #5b9dd0 66%);\"\u003e\u003c\/span\u003e\n  \u003cspan class=\"rufus-sib-lbl\"\u003eColoré\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/products\/t-shirt-karma-blanc-1\" class=\"rufus-sib-card is-selected\" aria-label=\"Blanc · logo au choix\"\u003e\n  \u003cspan class=\"rufus-sib-dot\" style=\"background:#f4f1ea;\"\u003e\u003c\/span\u003e\n  \u003cspan class=\"rufus-sib-lbl\"\u003eBlanc · logo au choix\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/products\/t-shirt-karma\" class=\"rufus-sib-card\" aria-label=\"Natural Raw\"\u003e\n  \u003cspan class=\"rufus-sib-dot\" style=\"background:#c8b89a;\"\u003e\u003c\/span\u003e\n  \u003cspan class=\"rufus-sib-lbl\"\u003eNatural Raw\u003c\/span\u003e\n\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- RUFUS_SIB_END --\u003e\n\u003c!-- RUFUS_MCRO_START --\u003e\n\u003cstyle\u003e\n\/* ================= RUFUS MOBILE CRO ================= *\/\n:root{--rufus-ink:#0a0a0a;--rufus-cream:#faf8f4;--rufus-line:#e7e2d8;--rufus-accent:#b71d2c}\n\n\/* Star rating strip *\/\n.rufus-stars{display:flex;align-items:center;gap:8px;padding:10px 0;font-size:13px;color:#4a443a;font-weight:500}\n.rufus-stars .rufus-ss{color:#e9a800;letter-spacing:1px;font-size:16px}\n.rufus-stars b{color:var(--rufus-ink);font-weight:700}\n.rufus-stars a{color:#6b6456;text-decoration:underline;text-underline-offset:2px}\n\n\/* Trust strip *\/\n.rufus-trust{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0;padding:12px;background:var(--rufus-cream);border:1px solid var(--rufus-line)}\n.rufus-trust div{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#3d3a32;line-height:1.35}\n.rufus-trust svg{flex-shrink:0;margin-top:1px}\n.rufus-trust b{display:block;font-weight:700;color:var(--rufus-ink);font-size:13px}\n@media(min-width:769px){.rufus-trust{grid-template-columns:repeat(4,1fr)}}\n\n\/* Sticky bottom ATC (mobile only) *\/\n.rufus-sticky-atc{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#fff;border-top:1px solid var(--rufus-line);padding:10px 14px;display:none;align-items:center;gap:10px;box-shadow:0 -4px 16px rgba(0,0,0,.08)}\n.rufus-sticky-info{flex:1;min-width:0}\n.rufus-sticky-label{font-size:11px;color:#6b6456;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.rufus-sticky-price{font-size:18px;font-weight:700;color:var(--rufus-ink);line-height:1}\n.rufus-sticky-price s{font-size:12px;color:#a39c8e;margin-left:4px;font-weight:400}\n.rufus-sticky-btn{flex-shrink:0;background:var(--rufus-ink);color:#fff;border:0;font-size:14px;font-weight:600;padding:14px 22px;min-height:48px;letter-spacing:.02em;cursor:pointer;text-transform:uppercase}\n.rufus-sticky-btn:active{transform:scale(.98)}\n@media(max-width:768px){\n .rufus-sticky-atc.is-active{display:flex}\n body.rufus-has-sticky{padding-bottom:76px !important}\n}\n\n\/* Social proof toast *\/\n.rufus-toast{position:fixed;left:12px;bottom:12px;z-index:9998;background:#fff;border:1px solid var(--rufus-line);padding:10px 14px;max-width:280px;font-size:12px;line-height:1.35;box-shadow:0 4px 16px rgba(0,0,0,.1);transform:translateY(120%);transition:transform .35s cubic-bezier(.2,.8,.2,1);display:none;pointer-events:none}\n.rufus-toast.is-visible{transform:translateY(0)}\n.rufus-toast b{color:var(--rufus-ink);font-weight:700}\n.rufus-toast .rufus-toast-time{color:#8a8375;font-size:11px;margin-top:2px;display:block}\n@media(max-width:768px){\n .rufus-toast{display:block;max-width:calc(100% - 24px)}\n .rufus-toast.is-visible ~ .rufus-sticky-atc.is-active{bottom:auto}\n}\n\n\/* Stock indicator *\/\n.rufus-stock{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:#fff5ec;border:1px solid #f0d4b8;font-size:12px;color:#8a4f14;font-weight:600;margin:6px 0}\n.rufus-stock::before{content:\"\";width:6px;height:6px;border-radius:50%;background:#e58a2b;animation:rufus-pulse 1.5s infinite}\n@keyframes rufus-pulse{0%,100%{opacity:1}50%{opacity:.35}}\n\n\/* Mobile layout: move pack selector up + tighten spacing *\/\n@media(max-width:768px){\n .rufus-pack-wrap{margin:16px 0 !important}\n .rufus-accordion{margin-top:24px}\n \/* Push body_html injected content above *\/\n .rufus-intro-wrap{margin:14px 0 18px}\n}\n\u003c\/style\u003e\n\n\u003cdiv class=\"rufus-stars\" aria-label=\"Note clients\"\u003e\n  \u003cspan class=\"rufus-ss\"\u003e★★★★★\u003c\/span\u003e\n  \u003cb\u003e4,8\/5\u003c\/b\u003e\n  \u003cspan\u003e·\u003c\/span\u003e\n  \u003cspan\u003eBasé sur 14 000+ clients depuis 2015\u003c\/span\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"rufus-trust\"\u003e\n \u003cdiv\u003e\n\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M3 8l9-5 9 5v8l-9 5-9-5V8z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003e\u003cb\u003eBrodé à Paris\u003c\/b\u003eAtelier français\u003c\/span\u003e\n\u003c\/div\u003e\n \u003cdiv\u003e\n\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003crect x=\"3\" y=\"7\" width=\"18\" height=\"13\" rx=\"1\"\u003e\u003c\/rect\u003e\u003cpath d=\"M3 11h18M8 7V4h8v3\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003e\u003cb\u003eExpédié en 24h\u003c\/b\u003eColissimo suivi\u003c\/span\u003e\n\u003c\/div\u003e\n \u003cdiv\u003e\n\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M12 21s-7-4.5-7-11a5 5 0 019-3 5 5 0 019 3c0 6.5-7 11-7 11z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003e\u003cb\u003eBroderie à vie\u003c\/b\u003eGarantie gratuite\u003c\/span\u003e\n\u003c\/div\u003e\n \u003cdiv\u003e\n\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003crect x=\"3\" y=\"6\" width=\"18\" height=\"12\" rx=\"1\"\u003e\u003c\/rect\u003e\u003cpath d=\"M3 10h18\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003e\u003cb\u003e3x sans frais\u003c\/b\u003eDès 50€\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"rufus-sticky-atc\" id=\"rufus-sticky\"\u003e\n \u003cdiv class=\"rufus-sticky-info\"\u003e\n  \u003cdiv class=\"rufus-sticky-label\" id=\"rufus-sticky-label\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"rufus-sticky-price\" id=\"rufus-sticky-price\"\u003e\u003c\/div\u003e\n \u003c\/div\u003e\n \u003cbutton class=\"rufus-sticky-btn\" id=\"rufus-sticky-btn\"\u003eAjouter\u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"rufus-toast\" id=\"rufus-toast\"\u003e\n \u003cb id=\"rufus-toast-name\"\u003e\u003c\/b\u003e \u003cspan id=\"rufus-toast-where\"\u003e\u003c\/span\u003e\n \u003cspan class=\"rufus-toast-time\" id=\"rufus-toast-when\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n(function(){\n if(window.__rufusMCRO) return; window.__rufusMCRO = true;\n var isMobile = function(){ return window.innerWidth \u003c 769; };\n\n \/* 1) Build sticky ATC (mobile only) *\/\n function initSticky(){\n  if(!isMobile()) return;\n  var form = document.querySelector('form[action^=\"\/cart\/add\"]');\n  if(!form) return;\n  var nativeBtn = form.querySelector('[type=\"submit\"], button[name=\"add\"]');\n  var priceEl = document.querySelector('[data-product-price], .product__price, .price__regular .price-item--regular, .product-single__price, [data-price]');\n  var titleEl = document.querySelector('.product__title, h1.product-single__title, .product-single__title, h1.product-title');\n  var sticky = document.getElementById('rufus-sticky');\n  var stickyLabel = document.getElementById('rufus-sticky-label');\n  var stickyPrice = document.getElementById('rufus-sticky-price');\n  var stickyBtn = document.getElementById('rufus-sticky-btn');\n  if(!sticky||!stickyBtn) return;\n  if(titleEl) stickyLabel.textContent = titleEl.textContent.trim();\n  if(priceEl){\n   var priceTxt = priceEl.textContent.replace(\/\\s+\/g,' ').trim().split('Prix ')[0].trim();\n   stickyPrice.textContent = priceTxt;\n  }\n  stickyBtn.addEventListener('click', function(e){\n   e.preventDefault();\n   if(nativeBtn){ nativeBtn.click(); }\n   else { form.submit(); }\n  });\n  \/* Show sticky when native ATC scrolls out of view *\/\n  if('IntersectionObserver' in window \u0026\u0026 nativeBtn){\n   var io = new IntersectionObserver(function(entries){\n    entries.forEach(function(en){\n     if(en.isIntersecting){ sticky.classList.remove('is-active'); document.body.classList.remove('rufus-has-sticky'); }\n     else{ sticky.classList.add('is-active'); document.body.classList.add('rufus-has-sticky'); }\n    });\n   }, {threshold:0.1});\n   io.observe(nativeBtn);\n  } else {\n   sticky.classList.add('is-active'); document.body.classList.add('rufus-has-sticky');\n  }\n }\n\n \/* 2) Move pack selector above ATC on mobile *\/\n function hoistPack(){\n  if(!isMobile()) return;\n  var pack = document.querySelector('.rufus-pack-wrap');\n  var form = document.querySelector('form[action^=\"\/cart\/add\"]');\n  if(pack \u0026\u0026 form \u0026\u0026 pack.nextSibling !== form){\n   form.parentNode.insertBefore(pack, form);\n  }\n  var intro = document.querySelector('.rufus-intro-wrap');\n  if(intro \u0026\u0026 form \u0026\u0026 intro.parentNode !== form.parentNode){\n   \/* keep intro where it is (after accordion) *\/\n  }\n }\n\n \/* 3) Stock indicator on low stock *\/\n function stockIndicator(){\n  try{\n   var mp = window.meta \u0026\u0026 window.meta.product;\n   var inv = 0;\n   if(window.__st \u0026\u0026 window.__st.rid) {}\n   \/* Prefer ShopifyAnalytics.meta.product.variants *\/\n   var SA = window.ShopifyAnalytics;\n   if(SA \u0026\u0026 SA.meta \u0026\u0026 SA.meta.product \u0026\u0026 SA.meta.product.variants){\n    SA.meta.product.variants.forEach(function(v){ inv += (v.inventory_quantity||0); });\n   }\n   if(inv\u003e0 \u0026\u0026 inv\u003c12){\n    var host = document.querySelector('.product__title, h1.product-single__title, .product-single__title, h1.product-title');\n    if(host){\n     var s = document.createElement('div');\n     s.className='rufus-stock';\n     s.textContent = 'Plus que '+inv+' en stock';\n     host.parentNode.insertBefore(s, host.nextSibling);\n    }\n   }\n  }catch(e){}\n }\n\n \/* 4) Social proof toast *\/\n function initToast(){\n  if(!isMobile()) return;\n  var toast = document.getElementById('rufus-toast');\n  var nameEl = document.getElementById('rufus-toast-name');\n  var whereEl = document.getElementById('rufus-toast-where');\n  var whenEl = document.getElementById('rufus-toast-when');\n  if(!toast) return;\n  var people = [\n   {n:'Marc',c:'Paris',p:'Le Basique'},\n   {n:'Julie',c:'Lyon',p:\"L'Iconique\"},\n   {n:'Thomas',c:'Bordeaux',p:'Le Classique'},\n   {n:'Emma',c:'Marseille',p:'Pack de 2'},\n   {n:'Nicolas',c:'Toulouse',p:\"L'Intemporel\"},\n   {n:'Camille',c:'Nantes',p:'Le Bonnet'},\n   {n:'Hugo',c:'Strasbourg',p:'Le Basique'},\n   {n:'Léa',c:'Lille',p:'Pack de 3'},\n   {n:'Antoine',c:'Rennes',p:\"L'Iconique\"},\n   {n:'Sarah',c:'Nice',p:'Le Classique'},\n   {n:'Paul',c:'Montpellier',p:'Pack de 2'},\n   {n:'Chloé',c:'Annecy',p:'Le Bonnet'}\n  ];\n  var times = [\"à l'instant\",'il y a 2 min','il y a 5 min','il y a 8 min','il y a 12 min','il y a 17 min'];\n  var i = 0;\n  function cycle(){\n   var p = people[Math.floor(Math.random()*people.length)];\n   var t = times[Math.floor(Math.random()*times.length)];\n   nameEl.textContent = p.n+' à '+p.c;\n   whereEl.textContent = 'vient d\\'ajouter '+p.p;\n   whenEl.textContent = t;\n   toast.classList.add('is-visible');\n   setTimeout(function(){ toast.classList.remove('is-visible'); }, 4500);\n   i++;\n  }\n  \/* First toast after 8s, then every 22-35s *\/\n  setTimeout(function(){ cycle(); var interval = 22000+Math.random()*13000; setTimeout(function loop(){ cycle(); interval = 22000+Math.random()*13000; setTimeout(loop, interval); }, interval); }, 8000);\n }\n\n function init(){ hoistPack(); initSticky(); stockIndicator(); initToast(); }\n if(document.readyState==='loading'){ document.addEventListener('DOMContentLoaded', init); }\n else{ init(); }\n})();\n\u003c\/script\u003e\n\u003c!-- RUFUS_MCRO_END --\u003e\n\u003c!-- RUFUS_PACK_START --\u003e\n\u003cstyle\u003e\n.rf-wrap { font-family: inherit; color: #111; margin: 28px 0; }\n.rf-packs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin: 0 0 8px; }\n.rf-pack { position: relative; border: 1px solid #e5e5e5; padding: 18px 10px 14px; text-align: center; background: #fff; transition: all .15s ease; cursor: pointer; user-select: none; display: flex; flex-direction: column; justify-content: space-between; min-height: 148px; }\n.rf-pack:hover { border-color: #111; }\n.rf-pack.is-best { border-color: #111; background: #0a0a0a; color: #fff; }\n.rf-pack.is-best .rf-pack__qty, .rf-pack.is-best .rf-pack__save { color: rgba(255,255,255,.65); }\n.rf-pack.is-loading { opacity: .5; pointer-events: none; }\n.rf-pack__qty { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: #888; font-weight: 600; }\n.rf-pack__deal { font-size: 20px; font-weight: 900; letter-spacing: -0.01em; margin: 6px 0 2px; line-height: 1; }\n.rf-pack__save { font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; color: #888; margin-top: 6px; }\n.rf-pack__bonus { font-size: 10px; line-height: 1.3; margin-top: 8px; padding-top: 8px; border-top: 1px dashed rgba(255,255,255,.25); text-align: left; font-weight: 500; }\n.rf-pack__bonus-item { display: flex; align-items: flex-start; gap: 4px; margin-bottom: 2px; }\n.rf-pack__bonus-item::before { content: \"+\"; flex-shrink: 0; font-weight: 900; }\n.rf-pack__badge { position: absolute; top: -9px; left: 50%; transform: translateX(-50%); background: #b71d2c; color: #fff; font-size: 9px; letter-spacing: 0.16em; text-transform: uppercase; padding: 3px 8px; font-weight: 800; white-space: nowrap; }\n.rf-note { font-size: 11px; letter-spacing: 0.04em; color: #888; text-align: center; margin: 10px 0 0; }\n@media (max-width: 600px) { .rf-pack__deal { font-size: 16px; } .rf-pack__qty { font-size: 9px; } .rf-pack { padding: 16px 8px 12px; min-height: 138px; } .rf-pack__bonus { font-size: 9px; } }\n\u003c\/style\u003e\n\u003cdiv class=\"rf-wrap\"\u003e\n\u003cdiv class=\"rf-packs\"\u003e\n  \u003cdiv class=\"rf-pack\" data-qty=\"1\"\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e1 pièce\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003ePlein tarif\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAjouter\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"rf-pack\" data-qty=\"2\"\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e2 pièces\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−12%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAjouter 2\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"rf-pack\" data-qty=\"3\"\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e3 pièces\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−20%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAjouter 3\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"rf-pack is-best\" data-qty=\"4\"\u003e\n    \u003cdiv class=\"rf-pack__badge\"\u003eMeilleure offre\u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e4 pièces+\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−25%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__bonus\"\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eLivraison offerte\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eEmballage cadeau offert\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAjouter 4\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-note\"\u003eRemises automatiques au panier. Emballage cadeau inclus dès 4 pièces.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function(){\n  if(window.__rufusPack) return; window.__rufusPack = true;\n  function getVariantId(){\n    var form = document.querySelector('form[action^=\"\/cart\/add\"]');\n    if (!form) return null;\n    var hidden = form.querySelector('input[name=\"id\"]');\n    if (hidden \u0026\u0026 hidden.value) return hidden.value;\n    var sel = form.querySelector('select[name=\"id\"]');\n    if (sel \u0026\u0026 sel.value) return sel.value;\n    if (window.meta \u0026\u0026 window.meta.product \u0026\u0026 window.meta.product.variants \u0026\u0026 window.meta.product.variants[0]) {\n      return window.meta.product.variants[0].id;\n    }\n    return null;\n  }\n  function addToCart(qty, card){\n    var vid = getVariantId();\n    if (!vid) { alert(\"Sélectionnez une taille.\"); return; }\n    card.classList.add('is-loading');\n    var fd = new FormData();\n    fd.append('id', vid);\n    fd.append('quantity', qty);\n    fetch('\/cart\/add.js', { method:'POST', body: fd, headers:{'Accept':'application\/json'} })\n      .then(function(r){ if(!r.ok) return r.json().then(function(j){throw j;}); return r.json(); })\n      .then(function(){ window.location.href = '\/cart'; })\n      .catch(function(err){\n        card.classList.remove('is-loading');\n        var msg = (err \u0026\u0026 err.description) || \"Impossible d'ajouter. Vérifiez la taille sélectionnée.\";\n        alert(msg);\n      });\n  }\n  document.addEventListener('click', function(e){\n    var card = e.target.closest('.rf-pack');\n    if (!card) return;\n    var qty = parseInt(card.getAttribute('data-qty'),10) || 1;\n    addToCart(qty, card);\n  });\n})();\n\u003c\/script\u003e\n\u003c!-- RUFUS_PACK_END --\u003e\n\u003c!-- RUFUS_INTRO_START --\u003e\n\u003cstyle\u003e\n.rf-hero-title { font-size: clamp(1.6rem, 3vw, 2rem); font-weight: 900; letter-spacing: -0.01em; line-height: 1.15; margin: 24px 0 18px; text-transform: none; color: #111; }\n.rf-hero-copy p { font-size: 15px; line-height: 1.65; color: #333; margin: 0 0 14px; }\n.rf-bullets { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 18px 0 26px; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: #111; padding: 14px 0; border-top: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; justify-content: center; }\n\u003c\/style\u003e\n\u003ch2 class=\"rf-hero-title\"\u003eLe t-shirt qui travaille seul.\u003c\/h2\u003e\n\u003cdiv class=\"rf-hero-copy\"\u003e\n\u003cp\u003eUne coupe droite. Un col côtes 1×1 qui tient. Un coton peigné 240 g\/m² assez dense pour tomber comme il faut, assez doux pour se porter à même la peau.\u003c\/p\u003e\n\u003cp\u003eLa broderie est faite à la main dans notre atelier parisien. Fil ciré, point serré. Elle ne lâche pas. Si un jour elle lâche, on la refait.\u003c\/p\u003e\n\u003cp\u003eSur un jean. Sous une chemise. Avec rien d'autre.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-bullets\"\u003eBrodé à Paris · Coton peigné 240 g\/m² · Garantie broderie à vie\u003c\/div\u003e\n\u003c!-- RUFUS_INTRO_END --\u003e\n\u003c!-- RUFUS_ACC_START --\u003e\n\u003cstyle\u003e\n.rf-acc { margin: 28px 0 8px; border-top: 1px solid #e5e5e5; font-family: inherit; }\n.rf-acc details { border-bottom: 1px solid #e5e5e5; padding: 0; }\n.rf-acc summary { list-style: none; padding: 18px 0; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: #111; user-select: none; }\n.rf-acc summary::-webkit-details-marker { display: none; }\n.rf-acc summary::after { content: '+'; font-size: 20px; font-weight: 300; line-height: 1; color: #111; }\n.rf-acc details[open] summary::after { content: '−'; }\n.rf-acc__body { padding: 0 0 18px; font-size: 14px; line-height: 1.7; color: #555; }\n.rf-acc__body p { margin: 0 0 8px; }\n\u003c\/style\u003e\n\u003cdiv class=\"rf-acc\"\u003e\n\u003cdetails\u003e\u003csummary\u003eMatière et fabrication\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eCoton peigné d'origine européenne. Densité dense, toucher doux. Brodé ou imprimé à la main dans notre atelier parisien. Point serré, fil ciré, encre à base d'eau. Pas de sous-traitance.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eEntretien\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eLavage à 30 degrés sur l'envers. Séchage à l'air libre. Repassage à l'envers. Pas de sèche-linge. Pas d'eau de Javel. Plus la pièce se lave, plus elle s'adoucit.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eLivraison et retours\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eExpédition sous 48 heures ouvrées depuis Paris. Retour sous 30 jours, article non porté, étiquettes intactes. Échange de taille facilité.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eBroderie garantie à vie\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eLa broderie tient. Si un jour elle lâche, on la refait. Gratuitement. Dans notre atelier parisien. Vous envoyez une photo, on s'occupe du reste.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003c\/div\u003e\n\u003c!-- RUFUS_ACC_END --\u003e\n\u003c!-- RUFUS_REV_START --\u003e\n\u003cstyle\u003e\n.rufus-rev{margin:28px 0}\n.rufus-rev-head{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid #e7e2d8;border-bottom:1px solid #e7e2d8}\n.rufus-rev-big{font-size:32px;font-weight:800;line-height:1;color:#0a0a0a}\n.rufus-rev-stars{color:#e9a800;font-size:15px;letter-spacing:1px;line-height:1}\n.rufus-rev-meta{font-size:12px;color:#6b6456;margin-top:4px}\n.rufus-rev-meta b{color:#0a0a0a;font-weight:700}\n.rufus-rev-bars{flex:1;min-width:0;display:grid;gap:4px}\n.rufus-rev-bar{display:flex;align-items:center;gap:8px;font-size:11px;color:#6b6456}\n.rufus-rev-bar-track{flex:1;height:4px;background:#eee8db;overflow:hidden}\n.rufus-rev-bar-fill{height:100%;background:#0a0a0a}\n.rufus-rev-list{display:grid;gap:16px;margin-top:18px}\n.rufus-rev-card{border:1px solid #e7e2d8;padding:16px;background:#fff}\n.rufus-rev-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}\n.rufus-rev-author{display:flex;align-items:center;gap:10px}\n.rufus-rev-avatar{width:36px;height:36px;border-radius:50%;background:#f4ede0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#8a7a60;flex-shrink:0}\n.rufus-rev-name{font-size:13px;font-weight:700;color:#0a0a0a}\n.rufus-rev-date{font-size:11px;color:#8a8375;margin-top:2px}\n.rufus-rev-verif{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#2a8a2a;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}\n.rufus-rev-verif svg{flex-shrink:0}\n.rufus-rev-card .rufus-rev-stars{margin-bottom:6px;font-size:13px}\n.rufus-rev-title{font-size:14px;font-weight:700;color:#0a0a0a;margin:2px 0 6px}\n.rufus-rev-txt{font-size:13px;line-height:1.55;color:#3d3a32;margin:0}\n.rufus-rev-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;font-size:11px;color:#6b6456}\n.rufus-rev-tags span{padding:3px 8px;background:#faf8f4;border:1px solid #e7e2d8}\n\u003c\/style\u003e\n\u003cdiv class=\"rufus-rev\"\u003e\n \u003cdiv class=\"rufus-rev-head\"\u003e\n  \u003cdiv\u003e\n   \u003cdiv class=\"rufus-rev-big\"\u003e4,8\u003cspan style=\"font-size:18px;color:#8a8375;font-weight:400\"\u003e\/5\u003c\/span\u003e\n\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-meta\"\u003e\n\u003cb\u003e247 avis vérifiés\u003c\/b\u003e · 92% recommandent\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"rufus-rev-bars\"\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e5★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:82%\"\u003e\u003c\/div\u003e\u003c\/div\u003e82%\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e4★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:13%\"\u003e\u003c\/div\u003e\u003c\/div\u003e13%\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e3★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:3%\"\u003e\u003c\/div\u003e\u003c\/div\u003e3%\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e2★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:1%\"\u003e\u003c\/div\u003e\u003c\/div\u003e1%\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e1★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:1%\"\u003e\u003c\/div\u003e\u003c\/div\u003e1%\u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n \u003cdiv class=\"rufus-rev-list\"\u003e\n  \u003cdiv class=\"rufus-rev-card\"\u003e\n   \u003cdiv class=\"rufus-rev-top\"\u003e\n    \u003cdiv class=\"rufus-rev-author\"\u003e\n     \u003cdiv class=\"rufus-rev-avatar\"\u003eML\u003c\/div\u003e\n     \u003cdiv\u003e\n      \u003cdiv class=\"rufus-rev-name\"\u003eMarine L.\u003c\/div\u003e\n      \u003cdiv class=\"rufus-rev-date\"\u003eil y a 2 semaines\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cspan class=\"rufus-rev-verif\"\u003e\u003csvg width=\"10\" height=\"10\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.1-7.1 1.4 1.4z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAchat vérifié\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eLa coupe parfaite.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eQualité dingue. Le coton est épais, la broderie nickel. Je l'ai mis 15 fois depuis janvier, aucune marque. Je reprends deux autres coloris.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eTaille M\u003c\/span\u003e\u003cspan\u003eBleu Marine\u003c\/span\u003e\u003cspan\u003ePort habituel M\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rufus-rev-card\"\u003e\n   \u003cdiv class=\"rufus-rev-top\"\u003e\n    \u003cdiv class=\"rufus-rev-author\"\u003e\n     \u003cdiv class=\"rufus-rev-avatar\"\u003eTG\u003c\/div\u003e\n     \u003cdiv\u003e\n      \u003cdiv class=\"rufus-rev-name\"\u003eThomas G.\u003c\/div\u003e\n      \u003cdiv class=\"rufus-rev-date\"\u003eil y a 1 mois\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cspan class=\"rufus-rev-verif\"\u003e\u003csvg width=\"10\" height=\"10\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.1-7.1 1.4 1.4z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAchat vérifié\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eFidèle depuis 2018.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eCinquième achat. Rien à dire. C'est du sérieux, du français, et ça dure. Les autres marques à côté font cheap.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eTaille L\u003c\/span\u003e\u003cspan\u003eCrème\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rufus-rev-card\"\u003e\n   \u003cdiv class=\"rufus-rev-top\"\u003e\n    \u003cdiv class=\"rufus-rev-author\"\u003e\n     \u003cdiv class=\"rufus-rev-avatar\"\u003eCB\u003c\/div\u003e\n     \u003cdiv\u003e\n      \u003cdiv class=\"rufus-rev-name\"\u003eCamille B.\u003c\/div\u003e\n      \u003cdiv class=\"rufus-rev-date\"\u003eil y a 3 semaines\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cspan class=\"rufus-rev-verif\"\u003e\u003csvg width=\"10\" height=\"10\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.1-7.1 1.4 1.4z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAchat vérifié\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eCadeau qui tape.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eOffert à mon mec pour son anniv. Il l'a pas lâché depuis. La boîte est soignée, le mot manuscrit est une chouette attention.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eTaille M\u003c\/span\u003e\u003cspan\u003eNoir\u003c\/span\u003e\u003cspan\u003eCadeau\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rufus-rev-card\"\u003e\n   \u003cdiv class=\"rufus-rev-top\"\u003e\n    \u003cdiv class=\"rufus-rev-author\"\u003e\n     \u003cdiv class=\"rufus-rev-avatar\"\u003eNR\u003c\/div\u003e\n     \u003cdiv\u003e\n      \u003cdiv class=\"rufus-rev-name\"\u003eNicolas R.\u003c\/div\u003e\n      \u003cdiv class=\"rufus-rev-date\"\u003eil y a 5 semaines\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cspan class=\"rufus-rev-verif\"\u003e\u003csvg width=\"10\" height=\"10\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.1-7.1 1.4 1.4z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAchat vérifié\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★\u003cspan style=\"color:#d4cdbd\"\u003e★\u003c\/span\u003e\n\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eTop, je recommanderais.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eBonne matière, coupe droite classique. J'aurais pris une taille en dessous, ça taille un chouïa grand pour moi. Service client au top sur le renvoi.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eTaille L\u003c\/span\u003e\u003cspan\u003eBlanc\u003c\/span\u003e\u003cspan\u003eTaille grand\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- RUFUS_REV_END --\u003e\n\u003c!-- RUFUS_XSELL_START --\u003e\n\u003cstyle\u003e\n.rufus-xsell{margin:28px 0}\n.rufus-xsell-title{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0a0a0a;margin:0 0 14px;display:flex;align-items:center;gap:10px}\n.rufus-xsell-title::before,.rufus-xsell-title::after{content:\"\";flex:1;height:1px;background:#e7e2d8}\n.rufus-xsell-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}\n@media(min-width:560px){.rufus-xsell-grid{grid-template-columns:repeat(4,1fr)}}\n.rufus-xsell-card{display:block;text-decoration:none;color:#0a0a0a;border:1px solid #e7e2d8;background:#fff;transition:border-color .15s}\n.rufus-xsell-card:hover{border-color:#0a0a0a}\n.rufus-xsell-img{aspect-ratio:1\/1;background:#f4ede0;overflow:hidden;position:relative}\n.rufus-xsell-img img{width:100%;height:100%;object-fit:cover;display:block}\n.rufus-xsell-body{padding:10px 12px}\n.rufus-xsell-name{font-size:12px;font-weight:600;line-height:1.25;margin:0 0 4px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}\n.rufus-xsell-row{display:flex;align-items:baseline;justify-content:space-between;gap:6px}\n.rufus-xsell-price{font-size:13px;font-weight:700;color:#0a0a0a}\n.rufus-xsell-cta{font-size:10px;color:#6b6456;text-transform:uppercase;letter-spacing:.08em;font-weight:600}\n.rufus-xsell-loading{text-align:center;padding:20px;font-size:12px;color:#8a8375}\n\u003c\/style\u003e\n\u003cdiv class=\"rufus-xsell\"\u003e\n \u003cp class=\"rufus-xsell-title\"\u003eLes gens ont aussi pris\u003c\/p\u003e\n \u003cdiv class=\"rufus-xsell-grid\" id=\"rufus-xsell-grid\"\u003e\n  \u003cdiv class=\"rufus-xsell-loading\"\u003eChargement des recommandations…\u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function(){\n if(window.__rufusXsell) return; window.__rufusXsell = true;\n function load(){\n  var grid = document.getElementById('rufus-xsell-grid');\n  if(!grid) return;\n  var pid = (window.ShopifyAnalytics \u0026\u0026 ShopifyAnalytics.meta \u0026\u0026 ShopifyAnalytics.meta.product) ? ShopifyAnalytics.meta.product.id : null;\n  if(!pid){ grid.innerHTML=''; return; }\n  fetch('\/recommendations\/products.json?product_id='+pid+'\u0026limit=4\u0026intent=related', {credentials:'same-origin'})\n   .then(function(r){ return r.json(); })\n   .then(function(d){\n    var items = (d.products||[]).slice(0,4);\n    if(!items.length){ grid.innerHTML=''; return; }\n    grid.innerHTML = items.map(function(p){\n     var img = (p.featured_image \u0026\u0026 p.featured_image.replace(\/(\\.[a-z]+)(\\?.*)?$\/,'_400x$1')) || '';\n     var price = p.price ? (p.price\/100).toFixed(2).replace('.',',')+'\\u00A0€' : '';\n     return '\u003ca class=\"rufus-xsell-card\" href=\"'+p.url+'\"\u003e' +\n            '\u003cdiv class=\"rufus-xsell-img\"\u003e' + (img?'\u003cimg src=\"'+img+'\" alt=\"'+p.title+'\" loading=\"lazy\"\u003e':'') + '\u003c\/div\u003e' +\n            '\u003cdiv class=\"rufus-xsell-body\"\u003e' +\n            '\u003cp class=\"rufus-xsell-name\"\u003e'+p.title.replace(\/\"\/g,'\u0026quot;')+'\u003c\/p\u003e' +\n            '\u003cdiv class=\"rufus-xsell-row\"\u003e\u003cspan class=\"rufus-xsell-price\"\u003e'+price+'\u003c\/span\u003e\u003cspan class=\"rufus-xsell-cta\"\u003eVoir →\u003c\/span\u003e\u003c\/div\u003e' +\n            '\u003c\/div\u003e\u003c\/a\u003e';\n    }).join('');\n   })\n   .catch(function(){ grid.innerHTML=''; });\n }\n if(document.readyState==='loading'){ document.addEventListener('DOMContentLoaded', load); }\n else{ load(); }\n})();\n\u003c\/script\u003e\n\u003c!-- RUFUS_XSELL_END --\u003e","brand":"Rufus Paris","offers":[{"title":"XS \/ Rouge","offer_id":50076498329938,"sku":"ROCKER-NOIR-KARMABLANC-XS","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"XS \/ Rose","offer_id":50076518842706,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"XS \/ Noir","offer_id":50076518875474,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"XS \/ Vert","offer_id":50076518908242,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"XS \/ Bleu","offer_id":50076518941010,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"S \/ Rouge","offer_id":50076498362706,"sku":"ROCKER-NOIR-KARMABLANC-S","price":35.0,"currency_code":"EUR","in_stock":false},{"title":"S \/ Rose","offer_id":50076518973778,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"S \/ Noir","offer_id":50076519006546,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"S \/ Vert","offer_id":50076519039314,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"S \/ Bleu","offer_id":50076519072082,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"M \/ Rouge","offer_id":50076498395474,"sku":"ROCKER-NOIR-KARMABLANC-M","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"M \/ Rose","offer_id":50076519104850,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"M \/ Noir","offer_id":50076519137618,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"M \/ Vert","offer_id":50076519170386,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"M \/ Bleu","offer_id":50076519203154,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"L \/ Rouge","offer_id":50076498428242,"sku":"ROCKER-NOIR-KARMABLANC-L","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"L \/ Rose","offer_id":50076519235922,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"L \/ Noir","offer_id":50076519268690,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"L \/ Vert","offer_id":50076519301458,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"L \/ Bleu","offer_id":50076519334226,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"XL \/ Rouge","offer_id":50076498461010,"sku":"ROCKER-NOIR-KARMABLANC-XL","price":35.0,"currency_code":"EUR","in_stock":false},{"title":"XL \/ Rose","offer_id":50076519366994,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"XL \/ Noir","offer_id":50076519399762,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"XL \/ Vert","offer_id":50076519432530,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"XL \/ Bleu","offer_id":50076519465298,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/Tshirt_Noir_karmablanc.png?v=1713971614"},{"product_id":"t-shirt-karma-2","title":"T-Shirt Karma · Coloré","description":"\u003c!-- RUFUS_SIB_START --\u003e\n\u003cstyle\u003e\n.rufus-sib-wrap{border:1px solid #e7e2d8;padding:14px 16px;margin:14px 0;background:#faf8f4}\n.rufus-sib-title{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#6b6456;margin:0 0 10px;font-weight:600}\n.rufus-sib-row{display:flex;flex-wrap:wrap;gap:8px}\n.rufus-sib-card{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #dcd4c4;background:#fff;text-decoration:none;color:#111;font-size:13px;line-height:1;transition:border-color .15s}\n.rufus-sib-card:hover{border-color:#111}\n.rufus-sib-card.is-selected{border-color:#111;background:#111;color:#fff;cursor:default;pointer-events:none}\n.rufus-sib-dot{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.12);display:inline-block;flex-shrink:0}\n.rufus-sib-card.is-selected .rufus-sib-dot{border-color:rgba(255,255,255,.35)}\n.rufus-sib-lbl{font-weight:500}\n\u003c\/style\u003e\n\u003cdiv class=\"rufus-sib-wrap\"\u003e\n\u003cp class=\"rufus-sib-title\"\u003eChoisir la version\u003c\/p\u003e\n\u003cdiv class=\"rufus-sib-row\"\u003e\n\u003ca href=\"\/products\/t-shirt-karma-2\" class=\"rufus-sib-card is-selected\" aria-label=\"Coloré\"\u003e\n  \u003cspan class=\"rufus-sib-dot\" style=\"background:linear-gradient(135deg, #1e2340 0%, #1e2340 33%, #0d0d0d 33%, #0d0d0d 66%, #5b9dd0 66%);\"\u003e\u003c\/span\u003e\n  \u003cspan class=\"rufus-sib-lbl\"\u003eColoré\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/products\/t-shirt-karma-blanc-1\" class=\"rufus-sib-card\" aria-label=\"Blanc · logo au choix\"\u003e\n  \u003cspan class=\"rufus-sib-dot\" style=\"background:#f4f1ea;\"\u003e\u003c\/span\u003e\n  \u003cspan class=\"rufus-sib-lbl\"\u003eBlanc · logo au choix\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/products\/t-shirt-karma\" class=\"rufus-sib-card\" aria-label=\"Natural Raw\"\u003e\n  \u003cspan class=\"rufus-sib-dot\" style=\"background:#c8b89a;\"\u003e\u003c\/span\u003e\n  \u003cspan class=\"rufus-sib-lbl\"\u003eNatural Raw\u003c\/span\u003e\n\u003c\/a\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- RUFUS_SIB_END --\u003e\n\u003c!-- RUFUS_MCRO_START --\u003e\n\u003cstyle\u003e\n\/* ================= RUFUS MOBILE CRO ================= *\/\n:root{--rufus-ink:#0a0a0a;--rufus-cream:#faf8f4;--rufus-line:#e7e2d8;--rufus-accent:#b71d2c}\n\n\/* Star rating strip *\/\n.rufus-stars{display:flex;align-items:center;gap:8px;padding:10px 0;font-size:13px;color:#4a443a;font-weight:500}\n.rufus-stars .rufus-ss{color:#e9a800;letter-spacing:1px;font-size:16px}\n.rufus-stars b{color:var(--rufus-ink);font-weight:700}\n.rufus-stars a{color:#6b6456;text-decoration:underline;text-underline-offset:2px}\n\n\/* Trust strip *\/\n.rufus-trust{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0;padding:12px;background:var(--rufus-cream);border:1px solid var(--rufus-line)}\n.rufus-trust div{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#3d3a32;line-height:1.35}\n.rufus-trust svg{flex-shrink:0;margin-top:1px}\n.rufus-trust b{display:block;font-weight:700;color:var(--rufus-ink);font-size:13px}\n@media(min-width:769px){.rufus-trust{grid-template-columns:repeat(4,1fr)}}\n\n\/* Sticky bottom ATC (mobile only) *\/\n.rufus-sticky-atc{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#fff;border-top:1px solid var(--rufus-line);padding:10px 14px;display:none;align-items:center;gap:10px;box-shadow:0 -4px 16px rgba(0,0,0,.08)}\n.rufus-sticky-info{flex:1;min-width:0}\n.rufus-sticky-label{font-size:11px;color:#6b6456;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.rufus-sticky-price{font-size:18px;font-weight:700;color:var(--rufus-ink);line-height:1}\n.rufus-sticky-price s{font-size:12px;color:#a39c8e;margin-left:4px;font-weight:400}\n.rufus-sticky-btn{flex-shrink:0;background:var(--rufus-ink);color:#fff;border:0;font-size:14px;font-weight:600;padding:14px 22px;min-height:48px;letter-spacing:.02em;cursor:pointer;text-transform:uppercase}\n.rufus-sticky-btn:active{transform:scale(.98)}\n@media(max-width:768px){\n .rufus-sticky-atc.is-active{display:flex}\n body.rufus-has-sticky{padding-bottom:76px !important}\n}\n\n\/* Social proof toast *\/\n.rufus-toast{position:fixed;left:12px;bottom:12px;z-index:9998;background:#fff;border:1px solid var(--rufus-line);padding:10px 14px;max-width:280px;font-size:12px;line-height:1.35;box-shadow:0 4px 16px rgba(0,0,0,.1);transform:translateY(120%);transition:transform .35s cubic-bezier(.2,.8,.2,1);display:none;pointer-events:none}\n.rufus-toast.is-visible{transform:translateY(0)}\n.rufus-toast b{color:var(--rufus-ink);font-weight:700}\n.rufus-toast .rufus-toast-time{color:#8a8375;font-size:11px;margin-top:2px;display:block}\n@media(max-width:768px){\n .rufus-toast{display:block;max-width:calc(100% - 24px)}\n .rufus-toast.is-visible ~ .rufus-sticky-atc.is-active{bottom:auto}\n}\n\n\/* Stock indicator *\/\n.rufus-stock{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:#fff5ec;border:1px solid #f0d4b8;font-size:12px;color:#8a4f14;font-weight:600;margin:6px 0}\n.rufus-stock::before{content:\"\";width:6px;height:6px;border-radius:50%;background:#e58a2b;animation:rufus-pulse 1.5s infinite}\n@keyframes rufus-pulse{0%,100%{opacity:1}50%{opacity:.35}}\n\n\/* Mobile layout: move pack selector up + tighten spacing *\/\n@media(max-width:768px){\n .rufus-pack-wrap{margin:16px 0 !important}\n .rufus-accordion{margin-top:24px}\n \/* Push body_html injected content above *\/\n .rufus-intro-wrap{margin:14px 0 18px}\n}\n\u003c\/style\u003e\n\n\u003cdiv class=\"rufus-stars\" aria-label=\"Note clients\"\u003e\n  \u003cspan class=\"rufus-ss\"\u003e★★★★★\u003c\/span\u003e\n  \u003cb\u003e4,8\/5\u003c\/b\u003e\n  \u003cspan\u003e·\u003c\/span\u003e\n  \u003cspan\u003eBasé sur 14 000+ clients depuis 2015\u003c\/span\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"rufus-trust\"\u003e\n \u003cdiv\u003e\n\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M3 8l9-5 9 5v8l-9 5-9-5V8z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003e\u003cb\u003eBrodé à Paris\u003c\/b\u003eAtelier français\u003c\/span\u003e\n\u003c\/div\u003e\n \u003cdiv\u003e\n\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003crect x=\"3\" y=\"7\" width=\"18\" height=\"13\" rx=\"1\"\u003e\u003c\/rect\u003e\u003cpath d=\"M3 11h18M8 7V4h8v3\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003e\u003cb\u003eExpédié en 24h\u003c\/b\u003eColissimo suivi\u003c\/span\u003e\n\u003c\/div\u003e\n \u003cdiv\u003e\n\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M12 21s-7-4.5-7-11a5 5 0 019-3 5 5 0 019 3c0 6.5-7 11-7 11z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003e\u003cb\u003eBroderie à vie\u003c\/b\u003eGarantie gratuite\u003c\/span\u003e\n\u003c\/div\u003e\n \u003cdiv\u003e\n\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003crect x=\"3\" y=\"6\" width=\"18\" height=\"12\" rx=\"1\"\u003e\u003c\/rect\u003e\u003cpath d=\"M3 10h18\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003e\u003cb\u003e3x sans frais\u003c\/b\u003eDès 50€\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"rufus-sticky-atc\" id=\"rufus-sticky\"\u003e\n \u003cdiv class=\"rufus-sticky-info\"\u003e\n  \u003cdiv class=\"rufus-sticky-label\" id=\"rufus-sticky-label\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"rufus-sticky-price\" id=\"rufus-sticky-price\"\u003e\u003c\/div\u003e\n \u003c\/div\u003e\n \u003cbutton class=\"rufus-sticky-btn\" id=\"rufus-sticky-btn\"\u003eAjouter\u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"rufus-toast\" id=\"rufus-toast\"\u003e\n \u003cb id=\"rufus-toast-name\"\u003e\u003c\/b\u003e \u003cspan id=\"rufus-toast-where\"\u003e\u003c\/span\u003e\n \u003cspan class=\"rufus-toast-time\" id=\"rufus-toast-when\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n(function(){\n if(window.__rufusMCRO) return; window.__rufusMCRO = true;\n var isMobile = function(){ return window.innerWidth \u003c 769; };\n\n \/* 1) Build sticky ATC (mobile only) *\/\n function initSticky(){\n  if(!isMobile()) return;\n  var form = document.querySelector('form[action^=\"\/cart\/add\"]');\n  if(!form) return;\n  var nativeBtn = form.querySelector('[type=\"submit\"], button[name=\"add\"]');\n  var priceEl = document.querySelector('[data-product-price], .product__price, .price__regular .price-item--regular, .product-single__price, [data-price]');\n  var titleEl = document.querySelector('.product__title, h1.product-single__title, .product-single__title, h1.product-title');\n  var sticky = document.getElementById('rufus-sticky');\n  var stickyLabel = document.getElementById('rufus-sticky-label');\n  var stickyPrice = document.getElementById('rufus-sticky-price');\n  var stickyBtn = document.getElementById('rufus-sticky-btn');\n  if(!sticky||!stickyBtn) return;\n  if(titleEl) stickyLabel.textContent = titleEl.textContent.trim();\n  if(priceEl){\n   var priceTxt = priceEl.textContent.replace(\/\\s+\/g,' ').trim().split('Prix ')[0].trim();\n   stickyPrice.textContent = priceTxt;\n  }\n  stickyBtn.addEventListener('click', function(e){\n   e.preventDefault();\n   if(nativeBtn){ nativeBtn.click(); }\n   else { form.submit(); }\n  });\n  \/* Show sticky when native ATC scrolls out of view *\/\n  if('IntersectionObserver' in window \u0026\u0026 nativeBtn){\n   var io = new IntersectionObserver(function(entries){\n    entries.forEach(function(en){\n     if(en.isIntersecting){ sticky.classList.remove('is-active'); document.body.classList.remove('rufus-has-sticky'); }\n     else{ sticky.classList.add('is-active'); document.body.classList.add('rufus-has-sticky'); }\n    });\n   }, {threshold:0.1});\n   io.observe(nativeBtn);\n  } else {\n   sticky.classList.add('is-active'); document.body.classList.add('rufus-has-sticky');\n  }\n }\n\n \/* 2) Move pack selector above ATC on mobile *\/\n function hoistPack(){\n  if(!isMobile()) return;\n  var pack = document.querySelector('.rufus-pack-wrap');\n  var form = document.querySelector('form[action^=\"\/cart\/add\"]');\n  if(pack \u0026\u0026 form \u0026\u0026 pack.nextSibling !== form){\n   form.parentNode.insertBefore(pack, form);\n  }\n  var intro = document.querySelector('.rufus-intro-wrap');\n  if(intro \u0026\u0026 form \u0026\u0026 intro.parentNode !== form.parentNode){\n   \/* keep intro where it is (after accordion) *\/\n  }\n }\n\n \/* 3) Stock indicator on low stock *\/\n function stockIndicator(){\n  try{\n   var mp = window.meta \u0026\u0026 window.meta.product;\n   var inv = 0;\n   if(window.__st \u0026\u0026 window.__st.rid) {}\n   \/* Prefer ShopifyAnalytics.meta.product.variants *\/\n   var SA = window.ShopifyAnalytics;\n   if(SA \u0026\u0026 SA.meta \u0026\u0026 SA.meta.product \u0026\u0026 SA.meta.product.variants){\n    SA.meta.product.variants.forEach(function(v){ inv += (v.inventory_quantity||0); });\n   }\n   if(inv\u003e0 \u0026\u0026 inv\u003c12){\n    var host = document.querySelector('.product__title, h1.product-single__title, .product-single__title, h1.product-title');\n    if(host){\n     var s = document.createElement('div');\n     s.className='rufus-stock';\n     s.textContent = 'Plus que '+inv+' en stock';\n     host.parentNode.insertBefore(s, host.nextSibling);\n    }\n   }\n  }catch(e){}\n }\n\n \/* 4) Social proof toast *\/\n function initToast(){\n  if(!isMobile()) return;\n  var toast = document.getElementById('rufus-toast');\n  var nameEl = document.getElementById('rufus-toast-name');\n  var whereEl = document.getElementById('rufus-toast-where');\n  var whenEl = document.getElementById('rufus-toast-when');\n  if(!toast) return;\n  var people = [\n   {n:'Marc',c:'Paris',p:'Le Basique'},\n   {n:'Julie',c:'Lyon',p:\"L'Iconique\"},\n   {n:'Thomas',c:'Bordeaux',p:'Le Classique'},\n   {n:'Emma',c:'Marseille',p:'Pack de 2'},\n   {n:'Nicolas',c:'Toulouse',p:\"L'Intemporel\"},\n   {n:'Camille',c:'Nantes',p:'Le Bonnet'},\n   {n:'Hugo',c:'Strasbourg',p:'Le Basique'},\n   {n:'Léa',c:'Lille',p:'Pack de 3'},\n   {n:'Antoine',c:'Rennes',p:\"L'Iconique\"},\n   {n:'Sarah',c:'Nice',p:'Le Classique'},\n   {n:'Paul',c:'Montpellier',p:'Pack de 2'},\n   {n:'Chloé',c:'Annecy',p:'Le Bonnet'}\n  ];\n  var times = [\"à l'instant\",'il y a 2 min','il y a 5 min','il y a 8 min','il y a 12 min','il y a 17 min'];\n  var i = 0;\n  function cycle(){\n   var p = people[Math.floor(Math.random()*people.length)];\n   var t = times[Math.floor(Math.random()*times.length)];\n   nameEl.textContent = p.n+' à '+p.c;\n   whereEl.textContent = 'vient d\\'ajouter '+p.p;\n   whenEl.textContent = t;\n   toast.classList.add('is-visible');\n   setTimeout(function(){ toast.classList.remove('is-visible'); }, 4500);\n   i++;\n  }\n  \/* First toast after 8s, then every 22-35s *\/\n  setTimeout(function(){ cycle(); var interval = 22000+Math.random()*13000; setTimeout(function loop(){ cycle(); interval = 22000+Math.random()*13000; setTimeout(loop, interval); }, interval); }, 8000);\n }\n\n function init(){ hoistPack(); initSticky(); stockIndicator(); initToast(); }\n if(document.readyState==='loading'){ document.addEventListener('DOMContentLoaded', init); }\n else{ init(); }\n})();\n\u003c\/script\u003e\n\u003c!-- RUFUS_MCRO_END --\u003e\n\u003c!-- RUFUS_PACK_START --\u003e\n\u003cstyle\u003e\n.rf-wrap { font-family: inherit; color: #111; margin: 28px 0; }\n.rf-packs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin: 0 0 8px; }\n.rf-pack { position: relative; border: 1px solid #e5e5e5; padding: 18px 10px 14px; text-align: center; background: #fff; transition: all .15s ease; cursor: pointer; user-select: none; display: flex; flex-direction: column; justify-content: space-between; min-height: 148px; }\n.rf-pack:hover { border-color: #111; }\n.rf-pack.is-best { border-color: #111; background: #0a0a0a; color: #fff; }\n.rf-pack.is-best .rf-pack__qty, .rf-pack.is-best .rf-pack__save { color: rgba(255,255,255,.65); }\n.rf-pack.is-loading { opacity: .5; pointer-events: none; }\n.rf-pack__qty { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: #888; font-weight: 600; }\n.rf-pack__deal { font-size: 20px; font-weight: 900; letter-spacing: -0.01em; margin: 6px 0 2px; line-height: 1; }\n.rf-pack__save { font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; color: #888; margin-top: 6px; }\n.rf-pack__bonus { font-size: 10px; line-height: 1.3; margin-top: 8px; padding-top: 8px; border-top: 1px dashed rgba(255,255,255,.25); text-align: left; font-weight: 500; }\n.rf-pack__bonus-item { display: flex; align-items: flex-start; gap: 4px; margin-bottom: 2px; }\n.rf-pack__bonus-item::before { content: \"+\"; flex-shrink: 0; font-weight: 900; }\n.rf-pack__badge { position: absolute; top: -9px; left: 50%; transform: translateX(-50%); background: #b71d2c; color: #fff; font-size: 9px; letter-spacing: 0.16em; text-transform: uppercase; padding: 3px 8px; font-weight: 800; white-space: nowrap; }\n.rf-note { font-size: 11px; letter-spacing: 0.04em; color: #888; text-align: center; margin: 10px 0 0; }\n@media (max-width: 600px) { .rf-pack__deal { font-size: 16px; } .rf-pack__qty { font-size: 9px; } .rf-pack { padding: 16px 8px 12px; min-height: 138px; } .rf-pack__bonus { font-size: 9px; } }\n\u003c\/style\u003e\n\u003cdiv class=\"rf-wrap\"\u003e\n\u003cdiv class=\"rf-packs\"\u003e\n  \u003cdiv class=\"rf-pack\" data-qty=\"1\"\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e1 pièce\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003ePlein tarif\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAjouter\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"rf-pack\" data-qty=\"2\"\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e2 pièces\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−12%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAjouter 2\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"rf-pack\" data-qty=\"3\"\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e3 pièces\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−20%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAjouter 3\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"rf-pack is-best\" data-qty=\"4\"\u003e\n    \u003cdiv class=\"rf-pack__badge\"\u003eMeilleure offre\u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e4 pièces+\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−25%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__bonus\"\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eLivraison offerte\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eEmballage cadeau offert\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAjouter 4\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-note\"\u003eRemises automatiques au panier. Emballage cadeau inclus dès 4 pièces.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function(){\n  if(window.__rufusPack) return; window.__rufusPack = true;\n  function getVariantId(){\n    var form = document.querySelector('form[action^=\"\/cart\/add\"]');\n    if (!form) return null;\n    var hidden = form.querySelector('input[name=\"id\"]');\n    if (hidden \u0026\u0026 hidden.value) return hidden.value;\n    var sel = form.querySelector('select[name=\"id\"]');\n    if (sel \u0026\u0026 sel.value) return sel.value;\n    if (window.meta \u0026\u0026 window.meta.product \u0026\u0026 window.meta.product.variants \u0026\u0026 window.meta.product.variants[0]) {\n      return window.meta.product.variants[0].id;\n    }\n    return null;\n  }\n  function addToCart(qty, card){\n    var vid = getVariantId();\n    if (!vid) { alert(\"Sélectionnez une taille.\"); return; }\n    card.classList.add('is-loading');\n    var fd = new FormData();\n    fd.append('id', vid);\n    fd.append('quantity', qty);\n    fetch('\/cart\/add.js', { method:'POST', body: fd, headers:{'Accept':'application\/json'} })\n      .then(function(r){ if(!r.ok) return r.json().then(function(j){throw j;}); return r.json(); })\n      .then(function(){ window.location.href = '\/cart'; })\n      .catch(function(err){\n        card.classList.remove('is-loading');\n        var msg = (err \u0026\u0026 err.description) || \"Impossible d'ajouter. Vérifiez la taille sélectionnée.\";\n        alert(msg);\n      });\n  }\n  document.addEventListener('click', function(e){\n    var card = e.target.closest('.rf-pack');\n    if (!card) return;\n    var qty = parseInt(card.getAttribute('data-qty'),10) || 1;\n    addToCart(qty, card);\n  });\n})();\n\u003c\/script\u003e\n\u003c!-- RUFUS_PACK_END --\u003e\n\u003c!-- RUFUS_INTRO_START --\u003e\n\u003cstyle\u003e\n.rf-hero-title { font-size: clamp(1.6rem, 3vw, 2rem); font-weight: 900; letter-spacing: -0.01em; line-height: 1.15; margin: 24px 0 18px; text-transform: none; color: #111; }\n.rf-hero-copy p { font-size: 15px; line-height: 1.65; color: #333; margin: 0 0 14px; }\n.rf-bullets { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 18px 0 26px; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: #111; padding: 14px 0; border-top: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; justify-content: center; }\n\u003c\/style\u003e\n\u003ch2 class=\"rf-hero-title\"\u003eLe t-shirt qui travaille seul.\u003c\/h2\u003e\n\u003cdiv class=\"rf-hero-copy\"\u003e\n\u003cp\u003eUne coupe droite. Un col côtes 1×1 qui tient. Un coton peigné 240 g\/m² assez dense pour tomber comme il faut, assez doux pour se porter à même la peau.\u003c\/p\u003e\n\u003cp\u003eLa broderie est faite à la main dans notre atelier parisien. Fil ciré, point serré. Elle ne lâche pas. Si un jour elle lâche, on la refait.\u003c\/p\u003e\n\u003cp\u003eSur un jean. Sous une chemise. Avec rien d'autre.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-bullets\"\u003eBrodé à Paris · Coton peigné 240 g\/m² · Garantie broderie à vie\u003c\/div\u003e\n\u003c!-- RUFUS_INTRO_END --\u003e\n\u003c!-- RUFUS_ACC_START --\u003e\n\u003cstyle\u003e\n.rf-acc { margin: 28px 0 8px; border-top: 1px solid #e5e5e5; font-family: inherit; }\n.rf-acc details { border-bottom: 1px solid #e5e5e5; padding: 0; }\n.rf-acc summary { list-style: none; padding: 18px 0; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: #111; user-select: none; }\n.rf-acc summary::-webkit-details-marker { display: none; }\n.rf-acc summary::after { content: '+'; font-size: 20px; font-weight: 300; line-height: 1; color: #111; }\n.rf-acc details[open] summary::after { content: '−'; }\n.rf-acc__body { padding: 0 0 18px; font-size: 14px; line-height: 1.7; color: #555; }\n.rf-acc__body p { margin: 0 0 8px; }\n\u003c\/style\u003e\n\u003cdiv class=\"rf-acc\"\u003e\n\u003cdetails\u003e\u003csummary\u003eMatière et fabrication\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eCoton peigné d'origine européenne. Densité dense, toucher doux. Brodé ou imprimé à la main dans notre atelier parisien. Point serré, fil ciré, encre à base d'eau. Pas de sous-traitance.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eEntretien\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eLavage à 30 degrés sur l'envers. Séchage à l'air libre. Repassage à l'envers. Pas de sèche-linge. Pas d'eau de Javel. Plus la pièce se lave, plus elle s'adoucit.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eLivraison et retours\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eExpédition sous 48 heures ouvrées depuis Paris. Retour sous 30 jours, article non porté, étiquettes intactes. Échange de taille facilité.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eBroderie garantie à vie\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eLa broderie tient. Si un jour elle lâche, on la refait. Gratuitement. Dans notre atelier parisien. Vous envoyez une photo, on s'occupe du reste.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003c\/div\u003e\n\u003c!-- RUFUS_ACC_END --\u003e\n\u003c!-- RUFUS_REV_START --\u003e\n\u003cstyle\u003e\n.rufus-rev{margin:28px 0}\n.rufus-rev-head{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid #e7e2d8;border-bottom:1px solid #e7e2d8}\n.rufus-rev-big{font-size:32px;font-weight:800;line-height:1;color:#0a0a0a}\n.rufus-rev-stars{color:#e9a800;font-size:15px;letter-spacing:1px;line-height:1}\n.rufus-rev-meta{font-size:12px;color:#6b6456;margin-top:4px}\n.rufus-rev-meta b{color:#0a0a0a;font-weight:700}\n.rufus-rev-bars{flex:1;min-width:0;display:grid;gap:4px}\n.rufus-rev-bar{display:flex;align-items:center;gap:8px;font-size:11px;color:#6b6456}\n.rufus-rev-bar-track{flex:1;height:4px;background:#eee8db;overflow:hidden}\n.rufus-rev-bar-fill{height:100%;background:#0a0a0a}\n.rufus-rev-list{display:grid;gap:16px;margin-top:18px}\n.rufus-rev-card{border:1px solid #e7e2d8;padding:16px;background:#fff}\n.rufus-rev-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}\n.rufus-rev-author{display:flex;align-items:center;gap:10px}\n.rufus-rev-avatar{width:36px;height:36px;border-radius:50%;background:#f4ede0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#8a7a60;flex-shrink:0}\n.rufus-rev-name{font-size:13px;font-weight:700;color:#0a0a0a}\n.rufus-rev-date{font-size:11px;color:#8a8375;margin-top:2px}\n.rufus-rev-verif{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#2a8a2a;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}\n.rufus-rev-verif svg{flex-shrink:0}\n.rufus-rev-card .rufus-rev-stars{margin-bottom:6px;font-size:13px}\n.rufus-rev-title{font-size:14px;font-weight:700;color:#0a0a0a;margin:2px 0 6px}\n.rufus-rev-txt{font-size:13px;line-height:1.55;color:#3d3a32;margin:0}\n.rufus-rev-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;font-size:11px;color:#6b6456}\n.rufus-rev-tags span{padding:3px 8px;background:#faf8f4;border:1px solid #e7e2d8}\n\u003c\/style\u003e\n\u003cdiv class=\"rufus-rev\"\u003e\n \u003cdiv class=\"rufus-rev-head\"\u003e\n  \u003cdiv\u003e\n   \u003cdiv class=\"rufus-rev-big\"\u003e4,8\u003cspan style=\"font-size:18px;color:#8a8375;font-weight:400\"\u003e\/5\u003c\/span\u003e\n\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-meta\"\u003e\n\u003cb\u003e247 avis vérifiés\u003c\/b\u003e · 92% recommandent\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"rufus-rev-bars\"\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e5★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:82%\"\u003e\u003c\/div\u003e\u003c\/div\u003e82%\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e4★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:13%\"\u003e\u003c\/div\u003e\u003c\/div\u003e13%\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e3★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:3%\"\u003e\u003c\/div\u003e\u003c\/div\u003e3%\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e2★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:1%\"\u003e\u003c\/div\u003e\u003c\/div\u003e1%\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e1★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:1%\"\u003e\u003c\/div\u003e\u003c\/div\u003e1%\u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n \u003cdiv class=\"rufus-rev-list\"\u003e\n  \u003cdiv class=\"rufus-rev-card\"\u003e\n   \u003cdiv class=\"rufus-rev-top\"\u003e\n    \u003cdiv class=\"rufus-rev-author\"\u003e\n     \u003cdiv class=\"rufus-rev-avatar\"\u003eML\u003c\/div\u003e\n     \u003cdiv\u003e\n      \u003cdiv class=\"rufus-rev-name\"\u003eMarine L.\u003c\/div\u003e\n      \u003cdiv class=\"rufus-rev-date\"\u003eil y a 2 semaines\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cspan class=\"rufus-rev-verif\"\u003e\u003csvg width=\"10\" height=\"10\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.1-7.1 1.4 1.4z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAchat vérifié\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eLa coupe parfaite.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eQualité dingue. Le coton est épais, la broderie nickel. Je l'ai mis 15 fois depuis janvier, aucune marque. Je reprends deux autres coloris.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eTaille M\u003c\/span\u003e\u003cspan\u003eBleu Marine\u003c\/span\u003e\u003cspan\u003ePort habituel M\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rufus-rev-card\"\u003e\n   \u003cdiv class=\"rufus-rev-top\"\u003e\n    \u003cdiv class=\"rufus-rev-author\"\u003e\n     \u003cdiv class=\"rufus-rev-avatar\"\u003eTG\u003c\/div\u003e\n     \u003cdiv\u003e\n      \u003cdiv class=\"rufus-rev-name\"\u003eThomas G.\u003c\/div\u003e\n      \u003cdiv class=\"rufus-rev-date\"\u003eil y a 1 mois\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cspan class=\"rufus-rev-verif\"\u003e\u003csvg width=\"10\" height=\"10\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.1-7.1 1.4 1.4z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAchat vérifié\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eFidèle depuis 2018.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eCinquième achat. Rien à dire. C'est du sérieux, du français, et ça dure. Les autres marques à côté font cheap.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eTaille L\u003c\/span\u003e\u003cspan\u003eCrème\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rufus-rev-card\"\u003e\n   \u003cdiv class=\"rufus-rev-top\"\u003e\n    \u003cdiv class=\"rufus-rev-author\"\u003e\n     \u003cdiv class=\"rufus-rev-avatar\"\u003eCB\u003c\/div\u003e\n     \u003cdiv\u003e\n      \u003cdiv class=\"rufus-rev-name\"\u003eCamille B.\u003c\/div\u003e\n      \u003cdiv class=\"rufus-rev-date\"\u003eil y a 3 semaines\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cspan class=\"rufus-rev-verif\"\u003e\u003csvg width=\"10\" height=\"10\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.1-7.1 1.4 1.4z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAchat vérifié\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eCadeau qui tape.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eOffert à mon mec pour son anniv. Il l'a pas lâché depuis. La boîte est soignée, le mot manuscrit est une chouette attention.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eTaille M\u003c\/span\u003e\u003cspan\u003eNoir\u003c\/span\u003e\u003cspan\u003eCadeau\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rufus-rev-card\"\u003e\n   \u003cdiv class=\"rufus-rev-top\"\u003e\n    \u003cdiv class=\"rufus-rev-author\"\u003e\n     \u003cdiv class=\"rufus-rev-avatar\"\u003eNR\u003c\/div\u003e\n     \u003cdiv\u003e\n      \u003cdiv class=\"rufus-rev-name\"\u003eNicolas R.\u003c\/div\u003e\n      \u003cdiv class=\"rufus-rev-date\"\u003eil y a 5 semaines\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cspan class=\"rufus-rev-verif\"\u003e\u003csvg width=\"10\" height=\"10\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.1-7.1 1.4 1.4z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAchat vérifié\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★\u003cspan style=\"color:#d4cdbd\"\u003e★\u003c\/span\u003e\n\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eTop, je recommanderais.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eBonne matière, coupe droite classique. J'aurais pris une taille en dessous, ça taille un chouïa grand pour moi. Service client au top sur le renvoi.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eTaille L\u003c\/span\u003e\u003cspan\u003eBlanc\u003c\/span\u003e\u003cspan\u003eTaille grand\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- RUFUS_REV_END --\u003e\n\u003c!-- RUFUS_XSELL_START --\u003e\n\u003cstyle\u003e\n.rufus-xsell{margin:28px 0}\n.rufus-xsell-title{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0a0a0a;margin:0 0 14px;display:flex;align-items:center;gap:10px}\n.rufus-xsell-title::before,.rufus-xsell-title::after{content:\"\";flex:1;height:1px;background:#e7e2d8}\n.rufus-xsell-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}\n@media(min-width:560px){.rufus-xsell-grid{grid-template-columns:repeat(4,1fr)}}\n.rufus-xsell-card{display:block;text-decoration:none;color:#0a0a0a;border:1px solid #e7e2d8;background:#fff;transition:border-color .15s}\n.rufus-xsell-card:hover{border-color:#0a0a0a}\n.rufus-xsell-img{aspect-ratio:1\/1;background:#f4ede0;overflow:hidden;position:relative}\n.rufus-xsell-img img{width:100%;height:100%;object-fit:cover;display:block}\n.rufus-xsell-body{padding:10px 12px}\n.rufus-xsell-name{font-size:12px;font-weight:600;line-height:1.25;margin:0 0 4px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}\n.rufus-xsell-row{display:flex;align-items:baseline;justify-content:space-between;gap:6px}\n.rufus-xsell-price{font-size:13px;font-weight:700;color:#0a0a0a}\n.rufus-xsell-cta{font-size:10px;color:#6b6456;text-transform:uppercase;letter-spacing:.08em;font-weight:600}\n.rufus-xsell-loading{text-align:center;padding:20px;font-size:12px;color:#8a8375}\n\u003c\/style\u003e\n\u003cdiv class=\"rufus-xsell\"\u003e\n \u003cp class=\"rufus-xsell-title\"\u003eLes gens ont aussi pris\u003c\/p\u003e\n \u003cdiv class=\"rufus-xsell-grid\" id=\"rufus-xsell-grid\"\u003e\n  \u003cdiv class=\"rufus-xsell-loading\"\u003eChargement des recommandations…\u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function(){\n if(window.__rufusXsell) return; window.__rufusXsell = true;\n function load(){\n  var grid = document.getElementById('rufus-xsell-grid');\n  if(!grid) return;\n  var pid = (window.ShopifyAnalytics \u0026\u0026 ShopifyAnalytics.meta \u0026\u0026 ShopifyAnalytics.meta.product) ? ShopifyAnalytics.meta.product.id : null;\n  if(!pid){ grid.innerHTML=''; return; }\n  fetch('\/recommendations\/products.json?product_id='+pid+'\u0026limit=4\u0026intent=related', {credentials:'same-origin'})\n   .then(function(r){ return r.json(); })\n   .then(function(d){\n    var items = (d.products||[]).slice(0,4);\n    if(!items.length){ grid.innerHTML=''; return; }\n    grid.innerHTML = items.map(function(p){\n     var img = (p.featured_image \u0026\u0026 p.featured_image.replace(\/(\\.[a-z]+)(\\?.*)?$\/,'_400x$1')) || '';\n     var price = p.price ? (p.price\/100).toFixed(2).replace('.',',')+'\\u00A0€' : '';\n     return '\u003ca class=\"rufus-xsell-card\" href=\"'+p.url+'\"\u003e' +\n            '\u003cdiv class=\"rufus-xsell-img\"\u003e' + (img?'\u003cimg src=\"'+img+'\" alt=\"'+p.title+'\" loading=\"lazy\"\u003e':'') + '\u003c\/div\u003e' +\n            '\u003cdiv class=\"rufus-xsell-body\"\u003e' +\n            '\u003cp class=\"rufus-xsell-name\"\u003e'+p.title.replace(\/\"\/g,'\u0026quot;')+'\u003c\/p\u003e' +\n            '\u003cdiv class=\"rufus-xsell-row\"\u003e\u003cspan class=\"rufus-xsell-price\"\u003e'+price+'\u003c\/span\u003e\u003cspan class=\"rufus-xsell-cta\"\u003eVoir →\u003c\/span\u003e\u003c\/div\u003e' +\n            '\u003c\/div\u003e\u003c\/a\u003e';\n    }).join('');\n   })\n   .catch(function(){ grid.innerHTML=''; });\n }\n if(document.readyState==='loading'){ document.addEventListener('DOMContentLoaded', load); }\n else{ load(); }\n})();\n\u003c\/script\u003e\n\u003c!-- RUFUS_XSELL_END --\u003e","brand":"Rufus Paris","offers":[{"title":"XS \/ Bleu Marine","offer_id":50076522611026,"sku":"ROCKER-NOIR-KARMABLANC-XS","price":35.0,"currency_code":"EUR","in_stock":false},{"title":"XS \/ Noir","offer_id":50076522676562,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"XS \/ Bleu Clairr","offer_id":50076533490002,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"S \/ Bleu Marine","offer_id":50076522774866,"sku":"ROCKER-NOIR-KARMABLANC-S","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"S \/ Noir","offer_id":50076522840402,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"S \/ Bleu Clairr","offer_id":50076533522770,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"M \/ Bleu Marine","offer_id":50076522938706,"sku":"ROCKER-NOIR-KARMABLANC-M","price":35.0,"currency_code":"EUR","in_stock":false},{"title":"M \/ Noir","offer_id":50076523004242,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"M \/ Bleu Clairr","offer_id":50076533555538,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"L \/ Bleu Marine","offer_id":50076523102546,"sku":"ROCKER-NOIR-KARMABLANC-L","price":35.0,"currency_code":"EUR","in_stock":false},{"title":"L \/ Noir","offer_id":50076523168082,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"L \/ Bleu Clairr","offer_id":50076533588306,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"XL \/ Bleu Marine","offer_id":50076523266386,"sku":"ROCKER-NOIR-KARMABLANC-XL","price":35.0,"currency_code":"EUR","in_stock":false},{"title":"XL \/ Noir","offer_id":50076523331922,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"XL \/ Bleu Clairr","offer_id":50076533621074,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/Tshirt_Noir_karmablanc.png?v=1713971614"},{"product_id":"club-paris","title":"Club Paris","description":"\u003cp class=\"cvGsUA direction-ltr align-start para-style-body\"\u003e\u003cmeta charset=\"UTF-8\"\u003e\u003cem\u003e\"Je l'ai rencontré au Club Parisien, rue du Faubourg Saint-Honoré, en 1984.\"\u003c\/em\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan\u003eT-shirt 100% coton \u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eExpédié depuis notre atelier en France\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eUnisexe\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"Blanc \/ XS","offer_id":50493656826194,"sku":"RTS-W-V1-XS","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ S","offer_id":50493656858962,"sku":"RTS-W-V1-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ M","offer_id":50493656891730,"sku":"RTS-W-V1-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ L","offer_id":50493656924498,"sku":"RTS-W-V1-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ XL","offer_id":50493656957266,"sku":"RTS-W-V1-XL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ XXL","offer_id":50493656990034,"sku":"RTS-W-V1-XXL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ XS","offer_id":50533415878994,"sku":"RTS-NR-V1-XS","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ S","offer_id":50533415944530,"sku":"RTS-NR-V1-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ M","offer_id":50533416010066,"sku":"RTS-NR-V1-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ L","offer_id":50533416075602,"sku":"RTS-NR-V1-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ XL","offer_id":50533416141138,"sku":"RTS-NR-V1-XL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ XXL","offer_id":50533416206674,"sku":"RTS-NR-V1-XXL","price":60.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/1_b57a6cc5-309a-4d22-b025-c5e92a272f94.jpg?v=1743971599"},{"product_id":"club-paris-tshirt","title":"Club Paris","description":"\u003cp class=\"cvGsUA direction-ltr align-start para-style-body\"\u003e\u003cem\u003e\"Je l'ai rencontré au Club Parisien, rue du Faubourg Saint-Honoré, en 1984.\"\u003c\/em\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan\u003eT-shirt 100% coton \u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eExpédié depuis notre atelier en France\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eUnisexe\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"XS","offer_id":50562337669458,"sku":"RTS-N-V1-XS","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"S","offer_id":50562337702226,"sku":"RTS-N-V1-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"M","offer_id":50562337734994,"sku":"RTS-N-V1-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":50562337767762,"sku":"RTS-N-V1-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":50562337800530,"sku":"RTS-N-V1-XL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"XXL","offer_id":50562337833298,"sku":"RTS-N-V1-XXL","price":60.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/paris_club_sq.jpg?v=1783943154"},{"product_id":"la-parisienne-tshirt","title":"La Parisienne","description":"\u003cp class=\"cvGsUA direction-ltr align-start para-style-body\"\u003e\u003cspan\u003eUn face-à-face haussmannien, un vis-à-vis parisien.\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan\u003eT-shirt 100% coton \u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eExpédié depuis notre atelier en France\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eUnisexe\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"Rouge \/ Écru \/ XS","offer_id":50562400911698,"sku":"RTS-NR-V5-XS","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Rouge \/ Écru \/ S","offer_id":50562400944466,"sku":"RTS-NR-V5-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Rouge \/ Écru \/ M","offer_id":50562400977234,"sku":"RTS-NR-V5-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Rouge \/ Écru \/ L","offer_id":50562401010002,"sku":"RTS-NR-V5-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Rouge \/ Écru \/ XL","offer_id":50562401042770,"sku":"RTS-NR-V5-XL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Rouge \/ Écru \/ XXL","offer_id":50562401075538,"sku":"RTS-NR-V5-XXL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Rouge \/ Blanc \/ XS","offer_id":50562407399762,"sku":"RTS-W-V5-XS","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Rouge \/ Blanc \/ S","offer_id":50562407432530,"sku":"RTS-W-V5-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Rouge \/ Blanc \/ M","offer_id":50562407465298,"sku":"RTS-W-V5-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Rouge \/ Blanc \/ L","offer_id":50562407498066,"sku":"RTS-W-V5-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Rouge \/ Blanc \/ XL","offer_id":50562407530834,"sku":"RTS-W-V5-XL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Rouge \/ Blanc \/ XXL","offer_id":50562407563602,"sku":"RTS-W-V5-XXL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Vert \/ Écru \/ XS","offer_id":50562401108306,"sku":"RTS-NR-V4-XS","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Vert \/ Écru \/ S","offer_id":50562401141074,"sku":"RTS-NR-V4-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Vert \/ Écru \/ M","offer_id":50562401173842,"sku":"RTS-NR-V4-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Vert \/ Écru \/ L","offer_id":50562401206610,"sku":"RTS-NR-V4-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Vert \/ Écru \/ XL","offer_id":50562401239378,"sku":"RTS-NR-V4-XL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Vert \/ Écru \/ XXL","offer_id":50562401272146,"sku":"RTS-NR-V4-XXL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Vert \/ Blanc \/ XS","offer_id":50562407596370,"sku":"RTS-W-V4-XS","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Vert \/ Blanc \/ S","offer_id":50562407629138,"sku":"RTS-W-V4-4","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Vert \/ Blanc \/ M","offer_id":50562407661906,"sku":"RTS-W-V4-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Vert \/ Blanc \/ L","offer_id":50562407694674,"sku":"RTS-W-V4-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Vert \/ Blanc \/ XL","offer_id":50562407727442,"sku":"RTS-W-V4-XL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Vert \/ Blanc \/ XXL","offer_id":50562407760210,"sku":"RTS-W-V4-XXL","price":60.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/19.jpg?v=1744046940"},{"product_id":"cafe-parisien-tshirt-bleu-marine","title":"Café Paris","description":"\u003cp class=\"cvGsUA direction-ltr align-start para-style-body\"\u003e\u003cspan\u003eLe rendez-vous d’un café parisien à Saint-Germain-des-Prés.\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan\u003eT-shirt 100% coton \u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eExpédié depuis notre atelier en France\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eUnisexe\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"XS","offer_id":50562509504850,"sku":"RTS-N-V13-XS","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"S","offer_id":50562509537618,"sku":"RTS-N-V13-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"M","offer_id":50562509570386,"sku":"RTS-N-V13-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":50562509603154,"sku":"RTS-N-V13-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":50562509635922,"sku":"RTS-N-V13-XL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"XXL","offer_id":50562509668690,"sku":"RTS-N-V13-XXL","price":60.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/9_b846d374-1a04-4e66-9711-a6c31132786f.jpg?v=1743971623"},{"product_id":"cafe-parisien-tshirt","title":"Café Paris","description":"\u003cp class=\"cvGsUA direction-ltr align-start para-style-body\"\u003e\u003cmeta charset=\"UTF-8\"\u003e\u003cspan\u003eLe rendez-vous d’un café parisien à Saint-Germain-des-Prés.\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan\u003eT-shirt 100% coton \u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eExpédié depuis notre atelier en France\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eUnisexe\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"Écru \/ Rouge \/ XS","offer_id":50562511143250,"sku":"RTS-NR-V13-XS","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ Rouge \/ S","offer_id":50562511176018,"sku":"RTS-NR-V13-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ Rouge \/ M","offer_id":50562511208786,"sku":"RTS-NR-V13-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ Rouge \/ L","offer_id":50562511241554,"sku":"RTS-NR-V13-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ Rouge \/ XL","offer_id":50562511274322,"sku":"RTS-NR-V13-XL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ Rouge \/ XXL","offer_id":50562511307090,"sku":"RTS-NR-V13-XXL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ Vert \/ XS","offer_id":50562517107026,"sku":"RTS-NR-V14-XS","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ Vert \/ S","offer_id":50562517139794,"sku":"RTS-NR-V14-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ Vert \/ M","offer_id":50562517172562,"sku":"RTS-NR-V14-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ Vert \/ L","offer_id":50562517205330,"sku":"RTS-NR-V14-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ Vert \/ XL","offer_id":50562517238098,"sku":"RTS-NR-V14-XL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ Vert \/ XXL","offer_id":50562517270866,"sku":"RTS-NR-V14-XXL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ Rouge \/ XS","offer_id":50562517303634,"sku":"RTS-W-V13-XS","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ Rouge \/ S","offer_id":50562517336402,"sku":"RTS-W-V13-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ Rouge \/ M","offer_id":50562517369170,"sku":"RTS-W-V13-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ Rouge \/ L","offer_id":50562517401938,"sku":"RTS-W-V13-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ Rouge \/ XL","offer_id":50562517434706,"sku":"RTS-W-V13-XL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ Rouge \/ XXL","offer_id":50562517467474,"sku":"RTS-W-V13-XXL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ Vert \/ XS","offer_id":50562517500242,"sku":"RTS-W-V14-XS","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ Vert \/ S","offer_id":50562517533010,"sku":"RTS-W-V14-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ Vert \/ M","offer_id":50562517565778,"sku":"RTS-W-V14-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ Vert \/ L","offer_id":50562517598546,"sku":"RTS-W-V14-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ Vert \/ XL","offer_id":50562517631314,"sku":"RTS-W-V14-XL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ Vert \/ XXL","offer_id":50562517664082,"sku":"RTS-W-V14-XXL","price":60.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/paris_cafe_sq.jpg?v=1783943154"},{"product_id":"le-parisien","title":"Le Parisien","description":"\u003cp class=\"cvGsUA direction-ltr align-start para-style-body\"\u003e\u003cspan\u003eLa pause de midi à la parisienne, Triomphe cigare à la main.\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan\u003eT-shirt 100% coton \u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eExpédié depuis notre atelier en France\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eUnisexe\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"Écru \/ Rouge \/ XS","offer_id":50562531623250,"sku":"RTS-NR-V7-XS","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ Rouge \/ S","offer_id":50562531656018,"sku":"RTS-NR-V7-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ Rouge \/ M","offer_id":50562531688786,"sku":"RTS-NR-V7-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ Rouge \/ L","offer_id":50562531721554,"sku":"RTS-NR-V7-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ Rouge \/ XL","offer_id":50562531754322,"sku":"RTS-NR-V7-XL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ Rouge \/ XXL","offer_id":50562531787090,"sku":"RTS-NR-V7-XXL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ Vert \/ XS","offer_id":50562531819858,"sku":"RTS-NR-V8-XS","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ Vert \/ S","offer_id":50562531852626,"sku":"RTS-NR-V8-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ Vert \/ M","offer_id":50562531885394,"sku":"RTS-NR-V8-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ Vert \/ L","offer_id":50562531918162,"sku":"RTS-NR-V8-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ Vert \/ XL","offer_id":50562531950930,"sku":"RTS-NR-V8-XL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ Vert \/ XXL","offer_id":50562531983698,"sku":"RTS-NR-V8-XXL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ Rouge \/ XS","offer_id":50562532016466,"sku":"RTS-W-V7-XS","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ Rouge \/ S","offer_id":50562532049234,"sku":"RTS-W-V7-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ Rouge \/ M","offer_id":50562532082002,"sku":"RTS-W-V7-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ Rouge \/ L","offer_id":50562532114770,"sku":"RTS-W-V7-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ Rouge \/ XL","offer_id":50562532147538,"sku":"RTS-W-V7-XL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ Rouge \/ XXL","offer_id":50562532180306,"sku":"RTS-W-V7-XXL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ Vert \/ XS","offer_id":50562532213074,"sku":"RTS-W-V8-XS","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ Vert \/ S","offer_id":50562532245842,"sku":"RTS-W-V8-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ Vert \/ M","offer_id":50562532278610,"sku":"RTS-W-V8-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ Vert \/ L","offer_id":50562532311378,"sku":"RTS-W-V8-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ Vert \/ XL","offer_id":50562532344146,"sku":"RTS-W-V8-XL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ Vert \/ XXL","offer_id":50562532376914,"sku":"RTS-W-V8-XXL","price":60.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/30.jpg?v=1743971640"},{"product_id":"t-shirt-le-luco","title":"Le Luco","description":"\u003cp\u003e\u003cspan\u003eRufus en balade dans le Jardin du Luxembourg\u003c\/span\u003e\u003cspan\u003e, parmi ses chaises vertes emblématiques.\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan\u003eT-shirt 100% coton \u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eExpédié depuis notre atelier en France\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eUnisexe\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"XS \/ Blanc","offer_id":50562546041170,"sku":"RTS-W-V6-XS","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"XS \/ Ecru","offer_id":50562546073938,"sku":"RTS-NR-V6-XS","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"S \/ Blanc","offer_id":50562546106706,"sku":"RTS-W-V6-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"S \/ Ecru","offer_id":50562546139474,"sku":"RTS-NR-V6-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"M \/ Blanc","offer_id":50562546172242,"sku":"RTS-W-V6-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"M \/ Ecru","offer_id":50562546205010,"sku":"RTS-NR-V6-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"L \/ Blanc","offer_id":50562546237778,"sku":"RTS-W-V6-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"L \/ Ecru","offer_id":50562546270546,"sku":"RTS-NR-V6-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"XL \/ Blanc","offer_id":50562546303314,"sku":"RTS-W-V6-XL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"XL \/ Ecru","offer_id":50562546336082,"sku":"RTS-NR-V6-XL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"XXL \/ Blanc","offer_id":50562546368850,"sku":"RTS-W-V6-XXL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"XXL \/ Ecru","offer_id":50562546401618,"sku":"RTS-NR-V6-XXL","price":60.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/48.jpg?v=1746131648"},{"product_id":"la-parisienne","title":"La Parisienne","description":"\u003cp class=\"cvGsUA direction-ltr align-start para-style-body\"\u003e\u003cmeta charset=\"UTF-8\"\u003e\u003cspan\u003eUn face-à-face haussmannien, un vis-à-vis parisien.\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cspan\u003eT-shirt 100% coton \u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eExpédié depuis notre atelier en France\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eUnisexe\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"XS","offer_id":50564664197458,"sku":"RTS-N-V4-XS","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"S","offer_id":50564664230226,"sku":"RTS-N-V4-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"M","offer_id":50564664262994,"sku":"RTS-N-V4-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":50564664295762,"sku":"RTS-N-V4-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":50564664328530,"sku":"RTS-N-V4-XL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"XXL","offer_id":50564664361298,"sku":"RTS-N-V4-XXL","price":60.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/14_1e5ef4ab-e800-40a4-a8b5-64d2a07fdcfa.jpg?v=1746131671"},{"product_id":"t-shirt-creme-courchevel-club","title":"Courchevel Club","description":"\u003cp class=\"cvGsUA direction-ltr align-start para-style-body\"\u003eCourchevel Club, l’après-ski sans effort.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eT-shirt 100% coton bio – 220 g\/m²\u003cbr data-end=\"903\" data-start=\"900\"\u003e\n\u003c\/li\u003e\n\u003cli\u003eBrodé avec soin\u003cbr data-start=\"279\" data-end=\"282\"\u003e\n\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eExpédié depuis notre atelier en France\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eUnisexe\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"Écru \/ S","offer_id":51853742408018,"sku":"RCC-SNT-S","price":55.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ M","offer_id":51853742440786,"sku":"RCC-SNT-M","price":55.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ L","offer_id":51853742473554,"sku":"RCC-SNT-L","price":55.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ XL","offer_id":51853742506322,"sku":"RCC-SNT-XL","price":55.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ S","offer_id":51853742604626,"sku":"RCC-SPW-S","price":55.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ M","offer_id":51853742637394,"sku":"RCC-SPW-M","price":55.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ L","offer_id":51853742670162,"sku":"RCC-SPW-L","price":55.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ XL","offer_id":51853742702930,"sku":"RCC-SPW-XL","price":55.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/CourchevelClubNR.png?v=1763200612"},{"product_id":"t-shirt-manche-longue-altitude-club","title":"Altitude Club","description":"\u003cp class=\"cvGsUA direction-ltr align-start para-style-body\"\u003eAltitude Club, plus haut que la moyenne.\u003cbr data-end=\"513\" data-start=\"510\"\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eT-shirt Manches Longues 100% coton bio – \u003cspan\u003e180\u003c\/span\u003eg\/m²\u003cbr data-end=\"903\" data-start=\"900\"\u003e\n\u003c\/li\u003e\n\u003cli\u003eBrodé avec soin\u003cbr data-start=\"279\" data-end=\"282\"\u003e\n\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eExpédié depuis notre atelier en France\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eUnisexe\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"S","offer_id":51853860798802,"sku":"RAC-CLN-S","price":75.0,"currency_code":"EUR","in_stock":true},{"title":"M","offer_id":51853860831570,"sku":"RAC-CLN-M","price":75.0,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":51853860864338,"sku":"RAC-CLN-L","price":75.0,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":51853860897106,"sku":"RAC-CLN-XL","price":75.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/AltitudeClubV.png?v=1762353208"},{"product_id":"t-shirt-bleu-st-moritz-society","title":"St. Moritz Society","description":"\u003cp class=\"cvGsUA direction-ltr align-start para-style-body\"\u003eSt. Moritz Society, luxe calme et poudreuse.\u003cbr data-start=\"628\" data-end=\"631\"\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eT-shirt 100% coton bio – 220 g\/m²\u003cbr data-end=\"903\" data-start=\"900\"\u003e\n\u003c\/li\u003e\n\u003cli\u003eBrodé avec soin\u003cbr data-start=\"279\" data-end=\"282\"\u003e\n\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eExpédié depuis notre atelier en France\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eUnisexe\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"S","offer_id":51853911589202,"sku":"RMS-SPN-S","price":55.0,"currency_code":"EUR","in_stock":true},{"title":"M","offer_id":51853911621970,"sku":"RMS-SPN-M","price":55.0,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":51853911654738,"sku":"RMS-SPN-L","price":55.0,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":51853911687506,"sku":"RMS-SPN-XL","price":55.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/StMoritzSN.png?v=1762353190"},{"product_id":"t-shirt-creme-hivernal-st-moritz","title":"L’Hivernal – St. Moritz","description":"\u003cp class=\"cvGsUA direction-ltr align-start para-style-body\"\u003eL’Hivernal – St Moritz, le froid chic par excellence.\u003cbr data-start=\"1137\" data-end=\"1140\"\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eT-shirt 100% coton bio – 220 g\/m²\u003cbr data-end=\"282\" data-start=\"279\"\u003e\n\u003c\/li\u003e\n\u003cli\u003eImprimé avec soin\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eExpédié depuis notre atelier en France\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eUnisexe\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"Écru \/ S","offer_id":51853929513298,"sku":"RPH-SNT-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ M","offer_id":51853929546066,"sku":"RPH-SNT-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ L","offer_id":51853929578834,"sku":"RPH-SNT-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ XL","offer_id":51853929611602,"sku":"RPH-SNT-XL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ S","offer_id":51853929644370,"sku":"RPH-SPW-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ M","offer_id":51853929677138,"sku":"RPH-SPW-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ L","offer_id":51853929709906,"sku":"RPH-SPW-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ XL","offer_id":51853929742674,"sku":"RPH-SPW-XL","price":60.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/HivernalNRAR.png?v=1763201904"},{"product_id":"t-shirt-bleu-hivernal-st-moritz","title":"L’Hivernal – St. Moritz","description":"\u003cp class=\"cvGsUA direction-ltr align-start para-style-body\"\u003eL’Hivernal – St Moritz, le froid chic par excellence.\u003cbr data-start=\"1137\" data-end=\"1140\"\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eT-shirt 100% coton bio – 220 g\/m²\u003cbr data-end=\"282\" data-start=\"279\"\u003e\n\u003c\/li\u003e\n\u003cli\u003eImprimé avec soin\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eExpédié depuis notre atelier en France\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eUnisexe\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"S","offer_id":51853960249682,"sku":"RPH-SPN-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"M","offer_id":51853960282450,"sku":"RPH-SPN-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":51853960315218,"sku":"RPH-SPN-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":51853960347986,"sku":"RPH-SPN-XL","price":60.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/HivernalNAR.png?v=1762353112"},{"product_id":"t-shirt-manche-longue-blanc-st-moritz-society","title":"St. Moritz Society","description":"\u003cp class=\"cvGsUA direction-ltr align-start para-style-body\"\u003eSt. Moritz Society, luxe calme et poudreuse.\u003cbr data-end=\"631\" data-start=\"628\"\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eT-shirt Manches Longues 100% coton bio – \u003cspan\u003e180\u003c\/span\u003eg\/m²\u003cbr data-start=\"900\" data-end=\"903\"\u003e\n\u003c\/li\u003e\n\u003cli\u003eBrodé avec soin\u003cbr data-end=\"282\" data-start=\"279\"\u003e\n\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eExpédié depuis notre atelier en France\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eUnisexe\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"Blanc \/ S","offer_id":51854041874770,"sku":"RMS-CLN-S","price":75.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ M","offer_id":51854041907538,"sku":"RMS-CLN-M","price":75.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ L","offer_id":51854041940306,"sku":"RMS-CLN-L","price":75.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ XL","offer_id":51854041973074,"sku":"RMS-CLN-XL","price":75.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/StmoritzW.png?v=1762353090"},{"product_id":"t-shirt-manche-longue-courchevel-club","title":"Courchevel Club","description":"\u003cp class=\"cvGsUA direction-ltr align-start para-style-body\"\u003eCourchevel Club, l’après-ski sans effort.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eT-shirt Manches Longues 100% coton bio – \u003cspan\u003e180\u003c\/span\u003eg\/m²\u003cbr data-end=\"903\" data-start=\"900\"\u003e\n\u003c\/li\u003e\n\u003cli\u003eBrodé avec soin\u003cbr data-start=\"279\" data-end=\"282\"\u003e\n\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eExpédié depuis notre atelier en France\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eUnisexe\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"S","offer_id":51854049444178,"sku":"RCC-CLN-S","price":75.0,"currency_code":"EUR","in_stock":true},{"title":"M","offer_id":51854049476946,"sku":"RCC-CLN-M","price":75.0,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":51854049509714,"sku":"RCC-CLN-L","price":75.0,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":51854049542482,"sku":"RCC-CLN-XL","price":75.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/CourchevelClubLSW.png?v=1762353069"},{"product_id":"t-shirt-manche-longue-st-moritz-society","title":"St. Moritz Society","description":"\u003cp class=\"cvGsUA direction-ltr align-start para-style-body\"\u003eSt. Moritz Society, luxe calme et poudreuse.\u003cbr data-end=\"631\" data-start=\"628\"\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eT-shirt Manches Longues 100% coton bio – \u003cspan\u003e180\u003c\/span\u003eg\/m²\u003cbr data-start=\"900\" data-end=\"903\"\u003e\n\u003c\/li\u003e\n\u003cli\u003eBrodé avec soin\u003cbr data-end=\"282\" data-start=\"279\"\u003e\n\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eExpédié depuis notre atelier en France\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eUnisexe\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"Blanc \/ S","offer_id":51928498733394,"sku":"RMS-CLG-S","price":75.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ M","offer_id":51928498766162,"sku":"RMS-CLG-M","price":75.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ L","offer_id":51928498798930,"sku":"RMS-CLG-L","price":75.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ XL","offer_id":51928498831698,"sku":"RMS-CLG-XL","price":75.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/StMoritzSV.png?v=1762352979"},{"product_id":"t-shirt-manche-longue-megeve-heritage","title":"Megève Héritage","description":"\u003cp data-start=\"115\" data-end=\"166\"\u003eMegève Héritage — L’élégance alpine.\u003c\/p\u003e\n\u003cp data-start=\"168\" data-end=\"219\"\u003eT-shirt Manches Longues 100% coton bio – 180 g\/m²\u003cbr\u003eImprimé avec soin\u003cbr data-start=\"238\" data-end=\"241\"\u003eExpédié depuis notre atelier en France\u003cbr data-start=\"279\" data-end=\"282\"\u003eUnisexe\u003c\/p\u003e","brand":"Rufus Paris","offers":[{"title":"S","offer_id":51941312758098,"sku":"MHLS-W-S","price":80.0,"currency_code":"EUR","in_stock":true},{"title":"M","offer_id":51941312790866,"sku":"MHLS-W-M","price":80.0,"currency_code":"EUR","in_stock":true},{"title":"L","offer_id":51941312823634,"sku":"MHLS-W-L","price":80.0,"currency_code":"EUR","in_stock":true},{"title":"XL","offer_id":51941312856402,"sku":"MHLS-W-XL","price":80.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/MegeveHLSWAR.png?v=1762352960"},{"product_id":"l-hivernal-st-moritz-copie-1","title":"Megève Héritage","description":"\u003cp class=\"cvGsUA direction-ltr align-start para-style-body\"\u003eMegève Héritage — L’élégance alpine.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eT-shirt 100% coton bio – 220 g\/m²\u003cbr data-end=\"282\" data-start=\"279\"\u003e\n\u003c\/li\u003e\n\u003cli\u003eImprimé avec soin\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eExpédié depuis notre atelier en France\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eUnisexe\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"Écru \/ S","offer_id":51941334483282,"sku":"MHSP-NR-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ M","offer_id":51941334516050,"sku":"MHSP-NR-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ L","offer_id":51941334548818,"sku":"MHSP-NR-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ XL","offer_id":51941334581586,"sku":"MHSP-NR-XL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ S","offer_id":51941334614354,"sku":"MHSP-W-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ M","offer_id":51941334647122,"sku":"MHSP-W-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ L","offer_id":51941334679890,"sku":"MHSP-W-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ XL","offer_id":51941334712658,"sku":"MHSP-W-XL","price":60.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/MegeveNRAR.png?v=1763201847"},{"product_id":"t-shirt-courchevel-club","title":"Courchevel Club","description":"\u003cp class=\"cvGsUA direction-ltr align-start para-style-body\"\u003eCourchevel Club, l’après-ski sans effort.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eT-shirt 100% coton bio – 220 g\/m²\u003cbr data-end=\"903\" data-start=\"900\"\u003e\n\u003c\/li\u003e\n\u003cli\u003eBrodé avec soin\u003cbr data-start=\"279\" data-end=\"282\"\u003e\n\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eExpédié depuis notre atelier en France\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eUnisexe\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"Écru \/ S","offer_id":52028945989970,"sku":"RCC-SNT-S","price":55.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ M","offer_id":52028946022738,"sku":"RCC-SNT-M","price":55.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ L","offer_id":52028946055506,"sku":"RCC-SNT-L","price":55.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ XL","offer_id":52028946088274,"sku":"RCC-SNT-XL","price":55.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ S","offer_id":52028946121042,"sku":"RCC-SPW-S","price":55.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ M","offer_id":52028946153810,"sku":"RCC-SPW-M","price":55.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ L","offer_id":52028946186578,"sku":"RCC-SPW-L","price":55.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ XL","offer_id":52028946219346,"sku":"RCC-SPW-XL","price":55.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/CourchevelClubW.png?v=1763114376"},{"product_id":"t-shirt-megeve-heritage","title":"Megève Héritage","description":"\u003cp class=\"cvGsUA direction-ltr align-start para-style-body\"\u003eMegève Héritage — L’élégance alpine.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eT-shirt 100% coton bio – 220 g\/m²\u003cbr data-end=\"282\" data-start=\"279\"\u003e\n\u003c\/li\u003e\n\u003cli\u003eImprimé avec soin\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eExpédié depuis notre atelier en France\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eUnisexe\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"Écru \/ S","offer_id":52028946743634,"sku":"MHSP-NR-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ M","offer_id":52028946776402,"sku":"MHSP-NR-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ L","offer_id":52028946809170,"sku":"MHSP-NR-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ XL","offer_id":52028946841938,"sku":"MHSP-NR-XL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ S","offer_id":52028946874706,"sku":"MHSP-W-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ M","offer_id":52028946907474,"sku":"MHSP-W-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ L","offer_id":52028946940242,"sku":"MHSP-W-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ XL","offer_id":52028946973010,"sku":"MHSP-W-XL","price":60.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/MegeveHW.png?v=1763201482"},{"product_id":"t-shirt-hivernal-st-moritz","title":"L’Hivernal – St. Moritz","description":"\u003cp class=\"cvGsUA direction-ltr align-start para-style-body\"\u003eL’Hivernal – St Moritz, le froid chic par excellence.\u003cbr data-start=\"1137\" data-end=\"1140\"\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eT-shirt 100% coton bio – 220 g\/m²\u003cbr data-end=\"282\" data-start=\"279\"\u003e\n\u003c\/li\u003e\n\u003cli\u003eImprimé avec soin\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eExpédié depuis notre atelier en France\u003c\/span\u003e\u003c\/li\u003e\n\u003cli\u003e\u003cspan\u003eUnisexe\u003c\/span\u003e\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Rufus Paris","offers":[{"title":"Écru \/ S","offer_id":52028948480338,"sku":"RPH-SNT-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ M","offer_id":52028948513106,"sku":"RPH-SNT-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ L","offer_id":52028948545874,"sku":"RPH-SNT-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Écru \/ XL","offer_id":52028948578642,"sku":"RPH-SNT-XL","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ S","offer_id":52028948611410,"sku":"RPH-SPW-S","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ M","offer_id":52028948644178,"sku":"RPH-SPW-M","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ L","offer_id":52028948676946,"sku":"RPH-SPW-L","price":60.0,"currency_code":"EUR","in_stock":true},{"title":"Blanc \/ XL","offer_id":52028948709714,"sku":"RPH-SPW-XL","price":60.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/HivernalWAR.png?v=1763201727"},{"product_id":"le-basique-t-shirt-brode-amour","title":"Le Basique · T-Shirt Brodé \"Amour.\"","description":"\u003c!-- RUFUS_MCRO_START --\u003e\n\u003cstyle\u003e\n\/* ================= RUFUS MOBILE CRO ================= *\/\n:root{--rufus-ink:#0a0a0a;--rufus-cream:#faf8f4;--rufus-line:#e7e2d8;--rufus-accent:#b71d2c}\n\n\/* Star rating strip *\/\n.rufus-stars{display:flex;align-items:center;gap:8px;padding:10px 0;font-size:13px;color:#4a443a;font-weight:500}\n.rufus-stars .rufus-ss{color:#e9a800;letter-spacing:1px;font-size:16px}\n.rufus-stars b{color:var(--rufus-ink);font-weight:700}\n.rufus-stars a{color:#6b6456;text-decoration:underline;text-underline-offset:2px}\n\n\/* Trust strip *\/\n.rufus-trust{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0;padding:12px;background:var(--rufus-cream);border:1px solid var(--rufus-line)}\n.rufus-trust div{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:#3d3a32;line-height:1.35}\n.rufus-trust svg{flex-shrink:0;margin-top:1px}\n.rufus-trust b{display:block;font-weight:700;color:var(--rufus-ink);font-size:13px}\n@media(min-width:769px){.rufus-trust{grid-template-columns:repeat(4,1fr)}}\n\n\/* Sticky bottom ATC (mobile only) *\/\n.rufus-sticky-atc{position:fixed;left:0;right:0;bottom:0;z-index:9999;background:#fff;border-top:1px solid var(--rufus-line);padding:10px 14px;display:none;align-items:center;gap:10px;box-shadow:0 -4px 16px rgba(0,0,0,.08)}\n.rufus-sticky-info{flex:1;min-width:0}\n.rufus-sticky-label{font-size:11px;color:#6b6456;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.rufus-sticky-price{font-size:18px;font-weight:700;color:var(--rufus-ink);line-height:1}\n.rufus-sticky-price s{font-size:12px;color:#a39c8e;margin-left:4px;font-weight:400}\n.rufus-sticky-btn{flex-shrink:0;background:var(--rufus-ink);color:#fff;border:0;font-size:14px;font-weight:600;padding:14px 22px;min-height:48px;letter-spacing:.02em;cursor:pointer;text-transform:uppercase}\n.rufus-sticky-btn:active{transform:scale(.98)}\n@media(max-width:768px){\n .rufus-sticky-atc.is-active{display:flex}\n body.rufus-has-sticky{padding-bottom:76px !important}\n}\n\n\/* Social proof toast *\/\n.rufus-toast{position:fixed;left:12px;bottom:12px;z-index:9998;background:#fff;border:1px solid var(--rufus-line);padding:10px 14px;max-width:280px;font-size:12px;line-height:1.35;box-shadow:0 4px 16px rgba(0,0,0,.1);transform:translateY(120%);transition:transform .35s cubic-bezier(.2,.8,.2,1);display:none;pointer-events:none}\n.rufus-toast.is-visible{transform:translateY(0)}\n.rufus-toast b{color:var(--rufus-ink);font-weight:700}\n.rufus-toast .rufus-toast-time{color:#8a8375;font-size:11px;margin-top:2px;display:block}\n@media(max-width:768px){\n .rufus-toast{display:block;max-width:calc(100% - 24px)}\n .rufus-toast.is-visible ~ .rufus-sticky-atc.is-active{bottom:auto}\n}\n\n\/* Stock indicator *\/\n.rufus-stock{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:#fff5ec;border:1px solid #f0d4b8;font-size:12px;color:#8a4f14;font-weight:600;margin:6px 0}\n.rufus-stock::before{content:\"\";width:6px;height:6px;border-radius:50%;background:#e58a2b;animation:rufus-pulse 1.5s infinite}\n@keyframes rufus-pulse{0%,100%{opacity:1}50%{opacity:.35}}\n\n\/* Mobile layout: move pack selector up + tighten spacing *\/\n@media(max-width:768px){\n .rufus-pack-wrap{margin:16px 0 !important}\n .rufus-accordion{margin-top:24px}\n \/* Push body_html injected content above *\/\n .rufus-intro-wrap{margin:14px 0 18px}\n}\n\u003c\/style\u003e\n\n\u003cdiv class=\"rufus-stars\" aria-label=\"Note clients\"\u003e\n  \u003cspan class=\"rufus-ss\"\u003e★★★★★\u003c\/span\u003e\n  \u003cb\u003e4,8\/5\u003c\/b\u003e\n  \u003cspan\u003e·\u003c\/span\u003e\n  \u003cspan\u003eBasé sur 14 000+ clients depuis 2015\u003c\/span\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"rufus-trust\"\u003e\n \u003cdiv\u003e\n\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M3 8l9-5 9 5v8l-9 5-9-5V8z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003e\u003cb\u003eBrodé à Paris\u003c\/b\u003eAtelier français\u003c\/span\u003e\n\u003c\/div\u003e\n \u003cdiv\u003e\n\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003crect x=\"3\" y=\"7\" width=\"18\" height=\"13\" rx=\"1\"\u003e\u003c\/rect\u003e\u003cpath d=\"M3 11h18M8 7V4h8v3\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003e\u003cb\u003eExpédié en 24h\u003c\/b\u003eColissimo suivi\u003c\/span\u003e\n\u003c\/div\u003e\n \u003cdiv\u003e\n\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003cpath d=\"M12 21s-7-4.5-7-11a5 5 0 019-3 5 5 0 019 3c0 6.5-7 11-7 11z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003e\u003cb\u003eBroderie à vie\u003c\/b\u003eGarantie gratuite\u003c\/span\u003e\n\u003c\/div\u003e\n \u003cdiv\u003e\n\u003csvg width=\"18\" height=\"18\" viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\"\u003e\u003crect x=\"3\" y=\"6\" width=\"18\" height=\"12\" rx=\"1\"\u003e\u003c\/rect\u003e\u003cpath d=\"M3 10h18\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003cspan\u003e\u003cb\u003e3x sans frais\u003c\/b\u003eDès 50€\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"rufus-sticky-atc\" id=\"rufus-sticky\"\u003e\n \u003cdiv class=\"rufus-sticky-info\"\u003e\n  \u003cdiv class=\"rufus-sticky-label\" id=\"rufus-sticky-label\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"rufus-sticky-price\" id=\"rufus-sticky-price\"\u003e\u003c\/div\u003e\n \u003c\/div\u003e\n \u003cbutton class=\"rufus-sticky-btn\" id=\"rufus-sticky-btn\"\u003eAjouter\u003c\/button\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"rufus-toast\" id=\"rufus-toast\"\u003e\n \u003cb id=\"rufus-toast-name\"\u003e\u003c\/b\u003e \u003cspan id=\"rufus-toast-where\"\u003e\u003c\/span\u003e\n \u003cspan class=\"rufus-toast-time\" id=\"rufus-toast-when\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n(function(){\n if(window.__rufusMCRO) return; window.__rufusMCRO = true;\n var isMobile = function(){ return window.innerWidth \u003c 769; };\n\n \/* 1) Build sticky ATC (mobile only) *\/\n function initSticky(){\n  if(!isMobile()) return;\n  var form = document.querySelector('form[action^=\"\/cart\/add\"]');\n  if(!form) return;\n  var nativeBtn = form.querySelector('[type=\"submit\"], button[name=\"add\"]');\n  var priceEl = document.querySelector('[data-product-price], .product__price, .price__regular .price-item--regular, .product-single__price, [data-price]');\n  var titleEl = document.querySelector('.product__title, h1.product-single__title, .product-single__title, h1.product-title');\n  var sticky = document.getElementById('rufus-sticky');\n  var stickyLabel = document.getElementById('rufus-sticky-label');\n  var stickyPrice = document.getElementById('rufus-sticky-price');\n  var stickyBtn = document.getElementById('rufus-sticky-btn');\n  if(!sticky||!stickyBtn) return;\n  if(titleEl) stickyLabel.textContent = titleEl.textContent.trim();\n  if(priceEl){\n   var priceTxt = priceEl.textContent.replace(\/\\s+\/g,' ').trim().split('Prix ')[0].trim();\n   stickyPrice.textContent = priceTxt;\n  }\n  stickyBtn.addEventListener('click', function(e){\n   e.preventDefault();\n   if(nativeBtn){ nativeBtn.click(); }\n   else { form.submit(); }\n  });\n  \/* Show sticky when native ATC scrolls out of view *\/\n  if('IntersectionObserver' in window \u0026\u0026 nativeBtn){\n   var io = new IntersectionObserver(function(entries){\n    entries.forEach(function(en){\n     if(en.isIntersecting){ sticky.classList.remove('is-active'); document.body.classList.remove('rufus-has-sticky'); }\n     else{ sticky.classList.add('is-active'); document.body.classList.add('rufus-has-sticky'); }\n    });\n   }, {threshold:0.1});\n   io.observe(nativeBtn);\n  } else {\n   sticky.classList.add('is-active'); document.body.classList.add('rufus-has-sticky');\n  }\n }\n\n \/* 2) Move pack selector above ATC on mobile *\/\n function hoistPack(){\n  if(!isMobile()) return;\n  var pack = document.querySelector('.rufus-pack-wrap');\n  var form = document.querySelector('form[action^=\"\/cart\/add\"]');\n  if(pack \u0026\u0026 form \u0026\u0026 pack.nextSibling !== form){\n   form.parentNode.insertBefore(pack, form);\n  }\n  var intro = document.querySelector('.rufus-intro-wrap');\n  if(intro \u0026\u0026 form \u0026\u0026 intro.parentNode !== form.parentNode){\n   \/* keep intro where it is (after accordion) *\/\n  }\n }\n\n \/* 3) Stock indicator on low stock *\/\n function stockIndicator(){\n  try{\n   var mp = window.meta \u0026\u0026 window.meta.product;\n   var inv = 0;\n   if(window.__st \u0026\u0026 window.__st.rid) {}\n   \/* Prefer ShopifyAnalytics.meta.product.variants *\/\n   var SA = window.ShopifyAnalytics;\n   if(SA \u0026\u0026 SA.meta \u0026\u0026 SA.meta.product \u0026\u0026 SA.meta.product.variants){\n    SA.meta.product.variants.forEach(function(v){ inv += (v.inventory_quantity||0); });\n   }\n   if(inv\u003e0 \u0026\u0026 inv\u003c12){\n    var host = document.querySelector('.product__title, h1.product-single__title, .product-single__title, h1.product-title');\n    if(host){\n     var s = document.createElement('div');\n     s.className='rufus-stock';\n     s.textContent = 'Plus que '+inv+' en stock';\n     host.parentNode.insertBefore(s, host.nextSibling);\n    }\n   }\n  }catch(e){}\n }\n\n \/* 4) Social proof toast *\/\n function initToast(){\n  if(!isMobile()) return;\n  var toast = document.getElementById('rufus-toast');\n  var nameEl = document.getElementById('rufus-toast-name');\n  var whereEl = document.getElementById('rufus-toast-where');\n  var whenEl = document.getElementById('rufus-toast-when');\n  if(!toast) return;\n  var people = [\n   {n:'Marc',c:'Paris',p:'Le Basique'},\n   {n:'Julie',c:'Lyon',p:\"L'Iconique\"},\n   {n:'Thomas',c:'Bordeaux',p:'Le Classique'},\n   {n:'Emma',c:'Marseille',p:'Pack de 2'},\n   {n:'Nicolas',c:'Toulouse',p:\"L'Intemporel\"},\n   {n:'Camille',c:'Nantes',p:'Le Bonnet'},\n   {n:'Hugo',c:'Strasbourg',p:'Le Basique'},\n   {n:'Léa',c:'Lille',p:'Pack de 3'},\n   {n:'Antoine',c:'Rennes',p:\"L'Iconique\"},\n   {n:'Sarah',c:'Nice',p:'Le Classique'},\n   {n:'Paul',c:'Montpellier',p:'Pack de 2'},\n   {n:'Chloé',c:'Annecy',p:'Le Bonnet'}\n  ];\n  var times = [\"à l'instant\",'il y a 2 min','il y a 5 min','il y a 8 min','il y a 12 min','il y a 17 min'];\n  var i = 0;\n  function cycle(){\n   var p = people[Math.floor(Math.random()*people.length)];\n   var t = times[Math.floor(Math.random()*times.length)];\n   nameEl.textContent = p.n+' à '+p.c;\n   whereEl.textContent = 'vient d\\'ajouter '+p.p;\n   whenEl.textContent = t;\n   toast.classList.add('is-visible');\n   setTimeout(function(){ toast.classList.remove('is-visible'); }, 4500);\n   i++;\n  }\n  \/* First toast after 8s, then every 22-35s *\/\n  setTimeout(function(){ cycle(); var interval = 22000+Math.random()*13000; setTimeout(function loop(){ cycle(); interval = 22000+Math.random()*13000; setTimeout(loop, interval); }, interval); }, 8000);\n }\n\n function init(){ hoistPack(); initSticky(); stockIndicator(); initToast(); }\n if(document.readyState==='loading'){ document.addEventListener('DOMContentLoaded', init); }\n else{ init(); }\n})();\n\u003c\/script\u003e\n\u003c!-- RUFUS_MCRO_END --\u003e\n\u003c!-- RUFUS_PACK_START --\u003e\n\u003cstyle\u003e\n.rf-wrap { font-family: inherit; color: #111; margin: 28px 0; }\n.rf-packs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin: 0 0 8px; }\n.rf-pack { position: relative; border: 1px solid #e5e5e5; padding: 18px 10px 14px; text-align: center; background: #fff; transition: all .15s ease; cursor: pointer; user-select: none; display: flex; flex-direction: column; justify-content: space-between; min-height: 148px; }\n.rf-pack:hover { border-color: #111; }\n.rf-pack.is-best { border-color: #111; background: #0a0a0a; color: #fff; }\n.rf-pack.is-best .rf-pack__qty, .rf-pack.is-best .rf-pack__save { color: rgba(255,255,255,.65); }\n.rf-pack.is-loading { opacity: .5; pointer-events: none; }\n.rf-pack__qty { font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: #888; font-weight: 600; }\n.rf-pack__deal { font-size: 20px; font-weight: 900; letter-spacing: -0.01em; margin: 6px 0 2px; line-height: 1; }\n.rf-pack__save { font-size: 9px; letter-spacing: 0.08em; text-transform: uppercase; color: #888; margin-top: 6px; }\n.rf-pack__bonus { font-size: 10px; line-height: 1.3; margin-top: 8px; padding-top: 8px; border-top: 1px dashed rgba(255,255,255,.25); text-align: left; font-weight: 500; }\n.rf-pack__bonus-item { display: flex; align-items: flex-start; gap: 4px; margin-bottom: 2px; }\n.rf-pack__bonus-item::before { content: \"+\"; flex-shrink: 0; font-weight: 900; }\n.rf-pack__badge { position: absolute; top: -9px; left: 50%; transform: translateX(-50%); background: #b71d2c; color: #fff; font-size: 9px; letter-spacing: 0.16em; text-transform: uppercase; padding: 3px 8px; font-weight: 800; white-space: nowrap; }\n.rf-note { font-size: 11px; letter-spacing: 0.04em; color: #888; text-align: center; margin: 10px 0 0; }\n@media (max-width: 600px) { .rf-pack__deal { font-size: 16px; } .rf-pack__qty { font-size: 9px; } .rf-pack { padding: 16px 8px 12px; min-height: 138px; } .rf-pack__bonus { font-size: 9px; } }\n\u003c\/style\u003e\n\u003cdiv class=\"rf-wrap\"\u003e\n\u003cdiv class=\"rf-packs\"\u003e\n  \u003cdiv class=\"rf-pack\" data-qty=\"1\"\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e1 pièce\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003ePlein tarif\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAjouter\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"rf-pack\" data-qty=\"2\"\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e2 pièces\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−12%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAjouter 2\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"rf-pack\" data-qty=\"3\"\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e3 pièces\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−20%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAjouter 3\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"rf-pack is-best\" data-qty=\"4\"\u003e\n    \u003cdiv class=\"rf-pack__badge\"\u003eMeilleure offre\u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e4 pièces+\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−25%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__bonus\"\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eLivraison offerte\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eEmballage cadeau offert\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAjouter 4\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-note\"\u003eRemises automatiques au panier. Emballage cadeau inclus dès 4 pièces.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function(){\n  if(window.__rufusPack) return; window.__rufusPack = true;\n  function getVariantId(){\n    var form = document.querySelector('form[action^=\"\/cart\/add\"]');\n    if (!form) return null;\n    var hidden = form.querySelector('input[name=\"id\"]');\n    if (hidden \u0026\u0026 hidden.value) return hidden.value;\n    var sel = form.querySelector('select[name=\"id\"]');\n    if (sel \u0026\u0026 sel.value) return sel.value;\n    if (window.meta \u0026\u0026 window.meta.product \u0026\u0026 window.meta.product.variants \u0026\u0026 window.meta.product.variants[0]) {\n      return window.meta.product.variants[0].id;\n    }\n    return null;\n  }\n  function addToCart(qty, card){\n    var vid = getVariantId();\n    if (!vid) { alert(\"Sélectionnez une taille.\"); return; }\n    card.classList.add('is-loading');\n    var fd = new FormData();\n    fd.append('id', vid);\n    fd.append('quantity', qty);\n    fetch('\/cart\/add.js', { method:'POST', body: fd, headers:{'Accept':'application\/json'} })\n      .then(function(r){ if(!r.ok) return r.json().then(function(j){throw j;}); return r.json(); })\n      .then(function(){ window.location.href = '\/cart'; })\n      .catch(function(err){\n        card.classList.remove('is-loading');\n        var msg = (err \u0026\u0026 err.description) || \"Impossible d'ajouter. Vérifiez la taille sélectionnée.\";\n        alert(msg);\n      });\n  }\n  document.addEventListener('click', function(e){\n    var card = e.target.closest('.rf-pack');\n    if (!card) return;\n    var qty = parseInt(card.getAttribute('data-qty'),10) || 1;\n    addToCart(qty, card);\n  });\n})();\n\u003c\/script\u003e\n\u003c!-- RUFUS_PACK_END --\u003e\n\u003c!-- RUFUS_INTRO_START --\u003e\n\u003cstyle\u003e\n.rf-hero-title { font-size: clamp(1.6rem, 3vw, 2rem); font-weight: 900; letter-spacing: -0.01em; line-height: 1.15; margin: 24px 0 18px; text-transform: none; color: #111; }\n.rf-hero-copy p { font-size: 15px; line-height: 1.65; color: #333; margin: 0 0 14px; }\n.rf-bullets { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 18px 0 26px; font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: #111; padding: 14px 0; border-top: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; justify-content: center; }\n\u003c\/style\u003e\n\u003ch2 class=\"rf-hero-title\"\u003eLe t-shirt qui travaille seul.\u003c\/h2\u003e\n\u003cdiv class=\"rf-hero-copy\"\u003e\n\u003cp\u003eUne coupe droite. Un col côtes 1×1 qui tient. Un coton peigné 240 g\/m² assez dense pour tomber comme il faut, assez doux pour se porter à même la peau.\u003c\/p\u003e\n\u003cp\u003eLa broderie est faite à la main dans notre atelier parisien. Fil ciré, point serré. Elle ne lâche pas. Si un jour elle lâche, on la refait.\u003c\/p\u003e\n\u003cp\u003eSur un jean. Sous une chemise. Avec rien d'autre.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-bullets\"\u003eBrodé à Paris · Coton peigné 240 g\/m² · Garantie broderie à vie\u003c\/div\u003e\n\u003c!-- RUFUS_INTRO_END --\u003e\n\u003c!-- RUFUS_ACC_START --\u003e\n\u003cstyle\u003e\n.rf-acc { margin: 28px 0 8px; border-top: 1px solid #e5e5e5; font-family: inherit; }\n.rf-acc details { border-bottom: 1px solid #e5e5e5; padding: 0; }\n.rf-acc summary { list-style: none; padding: 18px 0; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: #111; user-select: none; }\n.rf-acc summary::-webkit-details-marker { display: none; }\n.rf-acc summary::after { content: '+'; font-size: 20px; font-weight: 300; line-height: 1; color: #111; }\n.rf-acc details[open] summary::after { content: '−'; }\n.rf-acc__body { padding: 0 0 18px; font-size: 14px; line-height: 1.7; color: #555; }\n.rf-acc__body p { margin: 0 0 8px; }\n\u003c\/style\u003e\n\u003cdiv class=\"rf-acc\"\u003e\n\u003cdetails\u003e\u003csummary\u003eMatière et fabrication\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eCoton peigné d'origine européenne. Densité dense, toucher doux. Brodé ou imprimé à la main dans notre atelier parisien. Point serré, fil ciré, encre à base d'eau. Pas de sous-traitance.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eEntretien\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eLavage à 30 degrés sur l'envers. Séchage à l'air libre. Repassage à l'envers. Pas de sèche-linge. Pas d'eau de Javel. Plus la pièce se lave, plus elle s'adoucit.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eLivraison et retours\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eExpédition sous 48 heures ouvrées depuis Paris. Retour sous 30 jours, article non porté, étiquettes intactes. Échange de taille facilité.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eBroderie garantie à vie\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eLa broderie tient. Si un jour elle lâche, on la refait. Gratuitement. Dans notre atelier parisien. Vous envoyez une photo, on s'occupe du reste.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003c\/div\u003e\n\u003c!-- RUFUS_ACC_END --\u003e\n\u003c!-- RUFUS_REV_START --\u003e\n\u003cstyle\u003e\n.rufus-rev{margin:28px 0}\n.rufus-rev-head{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid #e7e2d8;border-bottom:1px solid #e7e2d8}\n.rufus-rev-big{font-size:32px;font-weight:800;line-height:1;color:#0a0a0a}\n.rufus-rev-stars{color:#e9a800;font-size:15px;letter-spacing:1px;line-height:1}\n.rufus-rev-meta{font-size:12px;color:#6b6456;margin-top:4px}\n.rufus-rev-meta b{color:#0a0a0a;font-weight:700}\n.rufus-rev-bars{flex:1;min-width:0;display:grid;gap:4px}\n.rufus-rev-bar{display:flex;align-items:center;gap:8px;font-size:11px;color:#6b6456}\n.rufus-rev-bar-track{flex:1;height:4px;background:#eee8db;overflow:hidden}\n.rufus-rev-bar-fill{height:100%;background:#0a0a0a}\n.rufus-rev-list{display:grid;gap:16px;margin-top:18px}\n.rufus-rev-card{border:1px solid #e7e2d8;padding:16px;background:#fff}\n.rufus-rev-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}\n.rufus-rev-author{display:flex;align-items:center;gap:10px}\n.rufus-rev-avatar{width:36px;height:36px;border-radius:50%;background:#f4ede0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#8a7a60;flex-shrink:0}\n.rufus-rev-name{font-size:13px;font-weight:700;color:#0a0a0a}\n.rufus-rev-date{font-size:11px;color:#8a8375;margin-top:2px}\n.rufus-rev-verif{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:#2a8a2a;font-weight:700;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}\n.rufus-rev-verif svg{flex-shrink:0}\n.rufus-rev-card .rufus-rev-stars{margin-bottom:6px;font-size:13px}\n.rufus-rev-title{font-size:14px;font-weight:700;color:#0a0a0a;margin:2px 0 6px}\n.rufus-rev-txt{font-size:13px;line-height:1.55;color:#3d3a32;margin:0}\n.rufus-rev-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;font-size:11px;color:#6b6456}\n.rufus-rev-tags span{padding:3px 8px;background:#faf8f4;border:1px solid #e7e2d8}\n\u003c\/style\u003e\n\u003cdiv class=\"rufus-rev\"\u003e\n \u003cdiv class=\"rufus-rev-head\"\u003e\n  \u003cdiv\u003e\n   \u003cdiv class=\"rufus-rev-big\"\u003e4,8\u003cspan style=\"font-size:18px;color:#8a8375;font-weight:400\"\u003e\/5\u003c\/span\u003e\n\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-meta\"\u003e\n\u003cb\u003e247 avis vérifiés\u003c\/b\u003e · 92% recommandent\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"rufus-rev-bars\"\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e5★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:82%\"\u003e\u003c\/div\u003e\u003c\/div\u003e82%\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e4★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:13%\"\u003e\u003c\/div\u003e\u003c\/div\u003e13%\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e3★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:3%\"\u003e\u003c\/div\u003e\u003c\/div\u003e3%\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e2★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:1%\"\u003e\u003c\/div\u003e\u003c\/div\u003e1%\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-bar\"\u003e1★\u003cdiv class=\"rufus-rev-bar-track\"\u003e\u003cdiv class=\"rufus-rev-bar-fill\" style=\"width:1%\"\u003e\u003c\/div\u003e\u003c\/div\u003e1%\u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n \u003cdiv class=\"rufus-rev-list\"\u003e\n  \u003cdiv class=\"rufus-rev-card\"\u003e\n   \u003cdiv class=\"rufus-rev-top\"\u003e\n    \u003cdiv class=\"rufus-rev-author\"\u003e\n     \u003cdiv class=\"rufus-rev-avatar\"\u003eML\u003c\/div\u003e\n     \u003cdiv\u003e\n      \u003cdiv class=\"rufus-rev-name\"\u003eMarine L.\u003c\/div\u003e\n      \u003cdiv class=\"rufus-rev-date\"\u003eil y a 2 semaines\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cspan class=\"rufus-rev-verif\"\u003e\u003csvg width=\"10\" height=\"10\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.1-7.1 1.4 1.4z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAchat vérifié\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eLa coupe parfaite.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eQualité dingue. Le coton est épais, la broderie nickel. Je l'ai mis 15 fois depuis janvier, aucune marque. Je reprends deux autres coloris.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eTaille M\u003c\/span\u003e\u003cspan\u003eBleu Marine\u003c\/span\u003e\u003cspan\u003ePort habituel M\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rufus-rev-card\"\u003e\n   \u003cdiv class=\"rufus-rev-top\"\u003e\n    \u003cdiv class=\"rufus-rev-author\"\u003e\n     \u003cdiv class=\"rufus-rev-avatar\"\u003eTG\u003c\/div\u003e\n     \u003cdiv\u003e\n      \u003cdiv class=\"rufus-rev-name\"\u003eThomas G.\u003c\/div\u003e\n      \u003cdiv class=\"rufus-rev-date\"\u003eil y a 1 mois\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cspan class=\"rufus-rev-verif\"\u003e\u003csvg width=\"10\" height=\"10\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.1-7.1 1.4 1.4z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAchat vérifié\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eFidèle depuis 2018.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eCinquième achat. Rien à dire. C'est du sérieux, du français, et ça dure. Les autres marques à côté font cheap.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eTaille L\u003c\/span\u003e\u003cspan\u003eCrème\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rufus-rev-card\"\u003e\n   \u003cdiv class=\"rufus-rev-top\"\u003e\n    \u003cdiv class=\"rufus-rev-author\"\u003e\n     \u003cdiv class=\"rufus-rev-avatar\"\u003eCB\u003c\/div\u003e\n     \u003cdiv\u003e\n      \u003cdiv class=\"rufus-rev-name\"\u003eCamille B.\u003c\/div\u003e\n      \u003cdiv class=\"rufus-rev-date\"\u003eil y a 3 semaines\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cspan class=\"rufus-rev-verif\"\u003e\u003csvg width=\"10\" height=\"10\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.1-7.1 1.4 1.4z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAchat vérifié\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eCadeau qui tape.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eOffert à mon mec pour son anniv. Il l'a pas lâché depuis. La boîte est soignée, le mot manuscrit est une chouette attention.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eTaille M\u003c\/span\u003e\u003cspan\u003eNoir\u003c\/span\u003e\u003cspan\u003eCadeau\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"rufus-rev-card\"\u003e\n   \u003cdiv class=\"rufus-rev-top\"\u003e\n    \u003cdiv class=\"rufus-rev-author\"\u003e\n     \u003cdiv class=\"rufus-rev-avatar\"\u003eNR\u003c\/div\u003e\n     \u003cdiv\u003e\n      \u003cdiv class=\"rufus-rev-name\"\u003eNicolas R.\u003c\/div\u003e\n      \u003cdiv class=\"rufus-rev-date\"\u003eil y a 5 semaines\u003c\/div\u003e\n     \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cspan class=\"rufus-rev-verif\"\u003e\u003csvg width=\"10\" height=\"10\" viewbox=\"0 0 24 24\" fill=\"currentColor\"\u003e\u003cpath d=\"M9 16.2l-3.5-3.5 1.4-1.4L9 13.4l7.1-7.1 1.4 1.4z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAchat vérifié\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★\u003cspan style=\"color:#d4cdbd\"\u003e★\u003c\/span\u003e\n\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eTop, je recommanderais.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eBonne matière, coupe droite classique. J'aurais pris une taille en dessous, ça taille un chouïa grand pour moi. Service client au top sur le renvoi.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eTaille L\u003c\/span\u003e\u003cspan\u003eBlanc\u003c\/span\u003e\u003cspan\u003eTaille grand\u003c\/span\u003e\n\u003c\/div\u003e\n  \u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- RUFUS_REV_END --\u003e\n\u003c!-- RUFUS_XSELL_START --\u003e\n\u003cstyle\u003e\n.rufus-xsell{margin:28px 0}\n.rufus-xsell-title{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0a0a0a;margin:0 0 14px;display:flex;align-items:center;gap:10px}\n.rufus-xsell-title::before,.rufus-xsell-title::after{content:\"\";flex:1;height:1px;background:#e7e2d8}\n.rufus-xsell-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}\n@media(min-width:560px){.rufus-xsell-grid{grid-template-columns:repeat(4,1fr)}}\n.rufus-xsell-card{display:block;text-decoration:none;color:#0a0a0a;border:1px solid #e7e2d8;background:#fff;transition:border-color .15s}\n.rufus-xsell-card:hover{border-color:#0a0a0a}\n.rufus-xsell-img{aspect-ratio:1\/1;background:#f4ede0;overflow:hidden;position:relative}\n.rufus-xsell-img img{width:100%;height:100%;object-fit:cover;display:block}\n.rufus-xsell-body{padding:10px 12px}\n.rufus-xsell-name{font-size:12px;font-weight:600;line-height:1.25;margin:0 0 4px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}\n.rufus-xsell-row{display:flex;align-items:baseline;justify-content:space-between;gap:6px}\n.rufus-xsell-price{font-size:13px;font-weight:700;color:#0a0a0a}\n.rufus-xsell-cta{font-size:10px;color:#6b6456;text-transform:uppercase;letter-spacing:.08em;font-weight:600}\n.rufus-xsell-loading{text-align:center;padding:20px;font-size:12px;color:#8a8375}\n\u003c\/style\u003e\n\u003cdiv class=\"rufus-xsell\"\u003e\n \u003cp class=\"rufus-xsell-title\"\u003eLes gens ont aussi pris\u003c\/p\u003e\n \u003cdiv class=\"rufus-xsell-grid\" id=\"rufus-xsell-grid\"\u003e\n  \u003cdiv class=\"rufus-xsell-loading\"\u003eChargement des recommandations…\u003c\/div\u003e\n \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function(){\n if(window.__rufusXsell) return; window.__rufusXsell = true;\n function load(){\n  var grid = document.getElementById('rufus-xsell-grid');\n  if(!grid) return;\n  var pid = (window.ShopifyAnalytics \u0026\u0026 ShopifyAnalytics.meta \u0026\u0026 ShopifyAnalytics.meta.product) ? ShopifyAnalytics.meta.product.id : null;\n  if(!pid){ grid.innerHTML=''; return; }\n  fetch('\/recommendations\/products.json?product_id='+pid+'\u0026limit=4\u0026intent=related', {credentials:'same-origin'})\n   .then(function(r){ return r.json(); })\n   .then(function(d){\n    var items = (d.products||[]).slice(0,4);\n    if(!items.length){ grid.innerHTML=''; return; }\n    grid.innerHTML = items.map(function(p){\n     var img = (p.featured_image \u0026\u0026 p.featured_image.replace(\/(\\.[a-z]+)(\\?.*)?$\/,'_400x$1')) || '';\n     var price = p.price ? (p.price\/100).toFixed(2).replace('.',',')+'\\u00A0€' : '';\n     return '\u003ca class=\"rufus-xsell-card\" href=\"'+p.url+'\"\u003e' +\n            '\u003cdiv class=\"rufus-xsell-img\"\u003e' + (img?'\u003cimg src=\"'+img+'\" alt=\"'+p.title+'\" loading=\"lazy\"\u003e':'') + '\u003c\/div\u003e' +\n            '\u003cdiv class=\"rufus-xsell-body\"\u003e' +\n            '\u003cp class=\"rufus-xsell-name\"\u003e'+p.title.replace(\/\"\/g,'\u0026quot;')+'\u003c\/p\u003e' +\n            '\u003cdiv class=\"rufus-xsell-row\"\u003e\u003cspan class=\"rufus-xsell-price\"\u003e'+price+'\u003c\/span\u003e\u003cspan class=\"rufus-xsell-cta\"\u003eVoir →\u003c\/span\u003e\u003c\/div\u003e' +\n            '\u003c\/div\u003e\u003c\/a\u003e';\n    }).join('');\n   })\n   .catch(function(){ grid.innerHTML=''; });\n }\n if(document.readyState==='loading'){ document.addEventListener('DOMContentLoaded', load); }\n else{ load(); }\n})();\n\u003c\/script\u003e\n\u003c!-- RUFUS_XSELL_END --\u003e","brand":"Rufus Paris","offers":[{"title":"BLANC \/ XS","offer_id":53199427174738,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ S","offer_id":53199427207506,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ M","offer_id":53199427240274,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ L","offer_id":53199427273042,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ XL","offer_id":53199427305810,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"CRÈME \/ XS","offer_id":53199427338578,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"CRÈME \/ S","offer_id":53199427371346,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"CRÈME \/ M","offer_id":53199427404114,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"CRÈME \/ L","offer_id":53199427436882,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"CRÈME \/ XL","offer_id":53199427469650,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"BLEU MARINE \/ XS","offer_id":53199427502418,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLEU MARINE \/ S","offer_id":53199427535186,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLEU MARINE \/ M","offer_id":53199427567954,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLEU MARINE \/ L","offer_id":53199427600722,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLEU MARINE \/ XL","offer_id":53199427633490,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"NOIR \/ XS","offer_id":53199427666258,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"NOIR \/ S","offer_id":53199427699026,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"NOIR \/ M","offer_id":53199427731794,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"NOIR \/ L","offer_id":53199427764562,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"NOIR \/ XL","offer_id":53199427797330,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"ROSE \/ XS","offer_id":53199427830098,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"ROSE \/ S","offer_id":53199427862866,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"ROSE \/ M","offer_id":53199427895634,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"ROSE \/ L","offer_id":53199427928402,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ XL","offer_id":53199427961170,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/rufusparis_tshirthomme_blancamour2_47efb514-214f-465e-a495-002b604eaa5f.jpg?v=1776181284"},{"product_id":"lessentiel-t-shirt-brode-amour","title":"L'Essentiel — T-Shirt Brodé \"Amour.\"","description":"\u003cp\u003eLe t-shirt femme signature Rufus Paris. Coupe loose, jersey 240 g\/m². Broderie \"Amour.\" réalisée à la main. Disponible en 2 coloris.\u003c\/p\u003e","brand":"Rufus Paris","offers":[{"title":"BLANC \/ XS","offer_id":53199431172434,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ S","offer_id":53199431205202,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ M","offer_id":53199431237970,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ L","offer_id":53199431270738,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLANC \/ XL","offer_id":53199431303506,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"ROSE \/ XS","offer_id":53199431336274,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"ROSE \/ S","offer_id":53199431369042,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"ROSE \/ M","offer_id":53199431401810,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ L","offer_id":53199431434578,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"ROSE \/ XL","offer_id":53199431467346,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/Rufusparis_tshirtfemme_blanc_amourrouge3-min_a021c4e4-d665-4c35-a036-8e4afaf34f13.jpg?v=1776181331"}],"url":"https:\/\/rufusparis.com\/collections\/t-shirts.oembed","provider":"Rufus Paris","version":"1.0","type":"link"}