{"title":"Premier Amour","description":"\u003cp\u003eLa collection qui a fait naître Rufus Paris, rééditée. Nos pièces historiques — sweats, t-shirts et accessoires brodés — avec les mêmes mots doux et le même coton lourd qui ont fait notre signature. Série limitée, non réapprovisionnée.\u003c\/p\u003e","products":[{"product_id":"t-shirt-amour-rouge-imprime-1","title":"The Essential — \"Love\" Print T-Shirt","description":"\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e These long, folded-up sleeves are his signature... discover the Rufus Paris Essentiel T-shirt. Made from organic cotton, this t-shirt envelops you in unparalleled comfort. Elegantly embroidered in satin stitch in our workshop, it will gradually become the centerpiece of your wardrobe! \u003cbr\u003e\n\n\u003c\/div\u003e\n\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\n\u003cli data-stringify-indent=\"0\" data-stringify-border=\"0\" data-mce-fragment=\"1\"\u003e 100% organic cotton\u003c\/li\u003e\n\n\u003cli\u003e Pre-washed to ensure a reliable size.\u003c\/li\u003e\n\n\u003cli\u003e Double stitching on the sleeves and bottom of the body\u003c\/li\u003e\n\n\u003cli\u003e A comfortable wearing experience and natural elasticity\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cp\u003e For every order, \u003ca href=\"https:\/\/rufusparis.com\/pages\/plantez-des-fleurs\" rel=\"noopener\" target=\"_blank\"\u003ewe offer you flowers!\u003c\/a\u003e \u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\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\n\n\u003c\/div\u003e\n\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":"WHITE \/ XS","offer_id":46969392595282,"sku":"F-FRI-BLA-AI-RG-XS","price":35.0,"currency_code":"EUR","in_stock":false},{"title":"WHITE \/ S","offer_id":46969392628050,"sku":"F-FRI-BLA-AI-RG-S","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ M","offer_id":46969392660818,"sku":"F-FRI-BLA-AI-RG-M","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ L","offer_id":46969392693586,"sku":"F-FRI-BLA-AI-RG-L","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ 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":"The Basic · \"Love.\" Printed T-Shirt","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=\"Customer rating\"\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\u003eBased on 14,000+ customers since 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\u003eEmbroidered in Paris\u003c\/b\u003eFrench workshop\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\u003eShips in 24h\u003c\/b\u003eTracked Colissimo\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\u003eLifetime embroidery\u003c\/b\u003eFree guarantee\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 interest-free\u003c\/b\u003eFrom €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\"\u003eAdd to cart\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 = 'Only '+inv+' left in 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:'The Basic'},\n   {n:'Julie',c:'Lyon',p:\"The Iconic\"},\n   {n:'Thomas',c:'Bordeaux',p:'The Classic'},\n   {n:'Emma',c:'Marseille',p:'Pack of 2'},\n   {n:'Nicolas',c:'Toulouse',p:\"The Timeless\"},\n   {n:'Camille',c:'Nantes',p:'The Beanie'},\n   {n:'Hugo',c:'Strasbourg',p:'The Basic'},\n   {n:'Léa',c:'Lille',p:'Pack of 3'},\n   {n:'Antoine',c:'Rennes',p:\"The Iconic\"},\n   {n:'Sarah',c:'Nice',p:'The Classic'},\n   {n:'Paul',c:'Montpellier',p:'Pack of 2'},\n   {n:'Chloé',c:'Annecy',p:'The Beanie'}\n  ];\n  var times = [\"just now\",'2 min ago','5 min ago','8 min ago','12 min ago','17 min ago'];\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+' from '+p.c;\n   whereEl.textContent = 'just added '+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 item\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003eFull Price\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 1\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 items\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−12%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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 items\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−20%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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\"\u003eBest offer\u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e4 items+\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\"\u003eFree shipping\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eFree gift wrap\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 4\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-note\"\u003eAutomatic discounts at checkout. Gift wrap included for 4 items or more.\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(\"Select a size.\"); 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=\"\/en\/cart\"; })\n      .catch(function(err){\n        card.classList.remove('is-loading');\n        var msg = (err \u0026\u0026 err.description) || \"Unable to add. Check the selected size.\";\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\"\u003eThe t-shirt that works by itself.\u003c\/h2\u003e\n\u003cdiv class=\"rf-hero-copy\"\u003e\n\u003cp\u003eA straight cut. A durable 1x1 ribbed collar. 240 gsm combed cotton, dense enough to hang properly, soft enough to be worn next to the skin.\u003c\/p\u003e\n\u003cp\u003eThe embroidery is handmade in our Parisian workshop. Waxed thread, tight stitch. It doesn't give way. If it ever does, we'll redo it.\u003c\/p\u003e\n\u003cp\u003eOver jeans. Under a shirt. With nothing else.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-bullets\"\u003eEmbroidered in Paris · 240 gsm combed cotton · Lifetime embroidery guarantee\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\u003eMaterial and manufacturing\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eCombed cotton of European origin. Dense density, soft feel. Hand-embroidered or printed in our Parisian workshop. Tight stitch, waxed thread, water-based ink. No subcontracting.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eCare instructions\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eWash at 30 degrees inside out. Air dry. Iron inside out. No tumble dryer. No bleach. The more the item is washed, the softer it becomes.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eShipping and returns\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eShipping within 48 business hours from Paris. Returns within 30 days, unworn item, intact labels. Easy size exchange.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eLifetime embroidery guarantee\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eThe embroidery holds. If it ever gives way, we'll redo it. For free. In our Parisian workshop. You send a photo, we take care of the rest.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003c\/div\u003e\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 verified reviews\u003c\/b\u003e · 92% recommend\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\"\u003e2 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eThe perfect cut.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eAmazing quality. The cotton is thick, the embroidery is perfect. I've worn it 15 times since January, no marks. I'm buying two more colors.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eNavy Blue\u003c\/span\u003e\u003cspan\u003eUsually wears 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\"\u003e1 month ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eLoyal since 2018.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eFifth purchase. Nothing to say. It's serious, French-made, and lasts. Other brands next to it feel cheap.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eCream\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\"\u003e3 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eA hit gift.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eBought for my boyfriend's birthday. He hasn't taken it off since. The box is neat, the handwritten note is a nice touch.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eBlack\u003c\/span\u003e\u003cspan\u003eGift\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\"\u003e5 weeks ago\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\u003eVerified purchase\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\"\u003eGreat, I would recommend.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eGood material, classic straight cut. I would have taken one size down, it's a tad large for me. Customer service was excellent with the return.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eWhite\u003c\/span\u003e\u003cspan\u003eRuns large\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\"\u003ePeople also bought\u003c\/p\u003e\n \u003cdiv class=\"rufus-xsell-grid\" id=\"rufus-xsell-grid\"\u003e\n  \u003cdiv class=\"rufus-xsell-loading\"\u003eLoading recommendations…\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":"WHITE \/ XS","offer_id":39470521745450,"sku":"H-CREA-BLA-AI-RG-XS","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ S","offer_id":39470521778218,"sku":"H-CREA-BLA-AI-RG-S","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ M","offer_id":39470521810986,"sku":"H-CREA-BLA-AI-RG-M","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ L","offer_id":39470521843754,"sku":"H-CREA-BLA-AI-RG-L","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ XL","offer_id":39470521876522,"sku":"H-CREA-BLA-AI-RG-xl","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"Cream \/ XS","offer_id":50081317650770,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"Cream \/ S","offer_id":50081317683538,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"Cream \/ M","offer_id":50081317716306,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"Cream \/ L","offer_id":50081317749074,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"Cream \/ 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":"The Basic \"Love.\" white embroidered ","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=\"Customer rating\"\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\u003eBased on 14,000+ customers since 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\u003eEmbroidered in Paris\u003c\/b\u003eFrench workshop\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\u003eShipped in 24h\u003c\/b\u003eTracked Colissimo\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\u003eLifetime Embroidery Guarantee\u003c\/b\u003eFree guarantee\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 interest-free\u003c\/b\u003eFrom €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\"\u003eAdd to Cart\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 = 'Only '+inv+' left in 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 of 2'},\n   {n:'Nicolas',c:'Toulouse',p:\"L'Intemporel\"},\n   {n:'Camille',c:'Nantes',p:'The Beanie'},\n   {n:'Hugo',c:'Strasbourg',p:'Le Basique'},\n   {n:'Léa',c:'Lille',p:'Pack of 3'},\n   {n:'Antoine',c:'Rennes',p:\"L'Iconique\"},\n   {n:'Sarah',c:'Nice',p:'Le Classique'},\n   {n:'Paul',c:'Montpellier',p:'Pack of 2'},\n   {n:'Chloé',c:'Annecy',p:'The Beanie'}\n  ];\n  var times = [\"just now\",'2 min ago','5 min ago','8 min ago','12 min ago','17 min ago'];\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+' in '+p.c;\n   whereEl.textContent = 'just added '+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 item\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003eFull Price\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 1\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 items\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−12%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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 items\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−20%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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\"\u003eBest Offer\u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e4 items+\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\"\u003eFree shipping\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eFree gift wrapping\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 4\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-note\"\u003eAutomatic discounts applied at checkout. Gift wrapping included for 4 items or more.\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(\"Select a size.\"); 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=\"\/en\/cart\"; })\n      .catch(function(err){\n        card.classList.remove('is-loading');\n        var msg = (err \u0026\u0026 err.description) || \"Unable to add. Check the selected size.\";\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\"\u003eThe t-shirt that does all the work.\u003c\/h2\u003e\n\u003cdiv class=\"rf-hero-copy\"\u003e\n\u003cp\u003eA straight cut. A 1×1 ribbed collar that holds its shape. A 240 gsm combed cotton dense enough to drape perfectly, soft enough to wear next to the skin.\u003c\/p\u003e\n\u003cp\u003eThe embroidery is handmade in our Parisian workshop. Waxed thread, tight stitch. It won't come undone. If it ever does, we'll redo it.\u003c\/p\u003e\n\u003cp\u003eOver jeans. Under a shirt. With nothing else.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-bullets\"\u003eEmbroidered in Paris · 240 gsm combed cotton · Lifetime embroidery guarantee\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\u003eMaterial and manufacturing\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eCombed cotton of European origin. Dense texture, soft feel. Hand-embroidered or printed in our Parisian workshop. Tight stitch, waxed thread, water-based ink. No outsourcing.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eCare instructions\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eWash at 30 degrees inside out. Air dry. Iron inside out. No tumble dryer. No bleach. The more the item is washed, the softer it becomes.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eDelivery and returns\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eShipped within 48 business hours from Paris. Returns within 30 days, unworn item, intact tags. Easy size exchange.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eLifetime embroidery guarantee\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eThe embroidery holds. If it ever comes undone, we'll redo it. For free. In our Parisian workshop. You send a photo, we'll take care of the rest.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003c\/div\u003e\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 verified reviews\u003c\/b\u003e · 92% recommend\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\"\u003e2 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eThe perfect fit.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eAmazing quality. The cotton is thick, the embroidery is perfect. I've worn it 15 times since January, no signs of wear. I'm getting two more colors.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eNavy Blue\u003c\/span\u003e\u003cspan\u003eUsually wears 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\"\u003e1 month ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eLoyal customer since 2018.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eFifth purchase. Nothing to say. It's serious, it's French, and it lasts. Other brands next to it feel cheap.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eCream\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\"\u003e3 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eA hit gift.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eBought it for my boyfriend's birthday. He hasn't taken it off since. The box is well-packaged, the handwritten note is a nice touch.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eBlack\u003c\/span\u003e\u003cspan\u003eGift\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\"\u003e5 weeks ago\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\u003eVerified purchase\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\"\u003eGreat, I would recommend.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eGood material, classic straight cut. I would have taken one size smaller, it runs a bit large for me. Excellent customer service for the return.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eWhite\u003c\/span\u003e\u003cspan\u003eRuns large\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\"\u003ePeople also bought\u003c\/p\u003e\n \u003cdiv class=\"rufus-xsell-grid\" id=\"rufus-xsell-grid\"\u003e\n  \u003cdiv class=\"rufus-xsell-loading\"\u003eLoading recommendations…\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\"\u003eView →\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":"WHITE \/ XS \/ Green","offer_id":46685842735442,"sku":"H-CREA-BLA-AB-RG-XS","price":35.0,"currency_code":"EUR","in_stock":false},{"title":"WHITE \/ XS \/ Black","offer_id":50076813590866,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"WHITE \/ XS \/ Red","offer_id":50076813623634,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ XS \/ Blue","offer_id":50076813656402,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"WHITE \/ XS \/ Pink","offer_id":50076813689170,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ S \/ Green","offer_id":46685842768210,"sku":"H-CREA-BLA-AB-RG-S","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ S \/ Black","offer_id":50076813721938,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"WHITE \/ S \/ Red","offer_id":50076813754706,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ S \/ Blue","offer_id":50076813787474,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"WHITE \/ S \/ Pink","offer_id":50076813820242,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"WHITE \/ M \/ Green","offer_id":46685842800978,"sku":"H-CREA-BLA-AB-RG-M","price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ M \/ Black","offer_id":50076813853010,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ M \/ Red","offer_id":50076813885778,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ M \/ Blue","offer_id":50076813918546,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"WHITE \/ M \/ Pink","offer_id":50076813951314,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ L \/ Green","offer_id":46685842833746,"sku":"H-CREA-BLA-AB-RG-L","price":35.0,"currency_code":"EUR","in_stock":false},{"title":"WHITE \/ L \/ Black","offer_id":50076813984082,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"WHITE \/ L \/ Red","offer_id":50076814016850,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ L \/ Blue","offer_id":50076814049618,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"WHITE \/ L \/ Pink","offer_id":50076814082386,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ XL \/ Green","offer_id":46685842866514,"sku":"H-CREA-BLA-AB-RG-XL","price":35.0,"currency_code":"EUR","in_stock":false},{"title":"WHITE \/ XL \/ Black","offer_id":50076814115154,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"WHITE \/ XL \/ Red","offer_id":50076814147922,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ XL \/ Blue","offer_id":50076814180690,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"WHITE \/ XL \/ Pink","offer_id":50076814213458,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"PINK \/ XS \/ Green","offer_id":50076814246226,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ XS \/ Black","offer_id":50076814278994,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ XS \/ Red","offer_id":50076814311762,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ XS \/ Blue","offer_id":50076814344530,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ XS \/ Pink","offer_id":50076814377298,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ S \/ Green","offer_id":50076814410066,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ S \/ Black","offer_id":50076814442834,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ S \/ Red","offer_id":50076814475602,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"PINK \/ S \/ Blue","offer_id":50076814508370,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ S \/ Pink","offer_id":50076814541138,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ M \/ Green","offer_id":50076814573906,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ M \/ Black","offer_id":50076814606674,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ M \/ Red","offer_id":50076814639442,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"PINK \/ M \/ Blue","offer_id":50076814672210,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ M \/ Pink","offer_id":50076814704978,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ L \/ Green","offer_id":50076814737746,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ L \/ Black","offer_id":50076814770514,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ L \/ Red","offer_id":50076814803282,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ L \/ Blue","offer_id":50076814836050,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ L \/ Pink","offer_id":50076814868818,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ XL \/ Green","offer_id":50076814901586,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ XL \/ Black","offer_id":50076814934354,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ XL \/ Red","offer_id":50076814967122,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ XL \/ Blue","offer_id":50076814999890,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ XL \/ Pink","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":"Pink \"Little Love\" T-shirt. ","description":"\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e\n\n \u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003eMini T-Shirts\u003cspan\u003e \u003c\/span\u003eRufus's designs are the result of our expertise. For over six years, our delicacy and precision have been the fruit of a boundless passion for screen printing. Prepared with great love for your little ones in our Parisian workshop, our pieces are sourced from organic farming. Little by little, the printed love has become Rufus' signature. \u003cspan aria-label=\"\" class=\"c-mrkdwn__br\" data-stringify-type=\"paragraph-break\" data-mce-fragment=\"1\"\u003e\u003c\/span\u003e From our workshop, we have a clear claim: to put people at the center of everything and love at the center of your heart. \u003cspan aria-label=\"\" class=\"c-mrkdwn__br\" data-stringify-type=\"paragraph-break\" data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\u003c\/div\u003e\n\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\n\u003cli data-stringify-indent=\"0\" data-stringify-border=\"0\" data-mce-fragment=\"1\"\u003e Screen print \"Little Love.\" \u003cbr data-mce-fragment=\"1\"\u003e\n\n\u003c\/li\u003e\n\n\u003cli data-stringify-indent=\"0\" data-stringify-border=\"0\" data-mce-fragment=\"1\"\u003e Brushed fleece, 155 gr \u003cbr data-mce-fragment=\"1\"\u003e\n\n\u003c\/li\u003e\n\n\u003cli data-stringify-indent=\"0\" data-stringify-border=\"0\" data-mce-fragment=\"1\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e \u003cspan\u003e100% organic ring-spun and combed cotton\u003c\/span\u003e\n\n\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n \u003cp\u003e\u003cspan\u003eFor every order, \u003ca rel=\"noopener\" href=\"https:\/\/rufusparis.com\/pages\/plantez-des-fleurs\" target=\"_blank\"\u003ewe offer you flowers!\u003c\/a\u003e\u003c\/span\u003e \u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\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":"PINK \/ 3\/4 years","offer_id":46969224888658,"sku":"E-CREA-NAT-PAI-4","price":24.9,"currency_code":"EUR","in_stock":true},{"title":"PINK \/ 5\/6 years old","offer_id":46969224921426,"sku":"E-CREA-NAT-PAI-6","price":24.9,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ 7\/8 years old","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":"Green \"Little Love\" T-shirt. ","description":"\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e Mini T-Shirts\u003cspan\u003e \u003c\/span\u003eRufus's designs are the result of our expertise. For over six years, our delicacy and precision have been the fruit of a boundless passion for screen printing. Prepared with great love for your little ones in our Parisian workshop, our pieces are sourced from organic farming. Little by little, the printed love has become Rufus' signature. \u003cspan data-stringify-type=\"paragraph-break\" class=\"c-mrkdwn__br\" aria-label=\"\" data-mce-fragment=\"1\"\u003e\u003c\/span\u003e From our workshop, we have a clear claim: to put people at the center of everything and love at the center of your heart. \u003cspan data-stringify-type=\"paragraph-break\" class=\"c-mrkdwn__br\" aria-label=\"\" data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\u003c\/div\u003e\n\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\n\u003cli data-stringify-border=\"0\" data-stringify-indent=\"0\" data-mce-fragment=\"1\"\u003e Screen print \"Little Love.\" \u003cbr data-mce-fragment=\"1\"\u003e\n\n\u003c\/li\u003e\n\n\u003cli data-stringify-border=\"0\" data-stringify-indent=\"0\" data-mce-fragment=\"1\"\u003e Brushed fleece, 155 gr \u003cbr data-mce-fragment=\"1\"\u003e\n\n\u003c\/li\u003e\n\n\u003cli data-stringify-border=\"0\" data-stringify-indent=\"0\" data-mce-fragment=\"1\"\u003e\n\n \u003cmeta charset=\"utf-8\"\u003e\n\u003cspan\u003e100% organic ring-spun and combed cotton\u003c\/span\u003e\n\n\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cp\u003e \u003cspan\u003eFor every order, \u003ca rel=\"noopener\" href=\"https:\/\/rufusparis.com\/pages\/plantez-des-fleurs\" target=\"_blank\"\u003ewe offer you flowers!\u003c\/a\u003e\u003c\/span\u003e \u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\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":"GREEN \/ 3\/4 years","offer_id":46969227805010,"sku":"E-CREA-VER-PAI-4","price":24.9,"currency_code":"EUR","in_stock":true},{"title":"GREEN \/ 5\/6 years old","offer_id":46969227837778,"sku":"E-CREA-VER-PAI-6","price":24.9,"currency_code":"EUR","in_stock":true},{"title":"GREEN \/ 7\/8 years old","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":"Majorelle \"Little Love\" T-shirt. ","description":"\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e Rufus Mini T-shirts are the result of our expertise. For over six years, our delicacy and precision have been the fruit of a boundless passion for screen printing. Prepared with love for your little ones in our Parisian workshop, our pieces are sourced from organic farming. Little by little, the printed love has become Rufus' signature. \u003cspan data-stringify-type=\"paragraph-break\" class=\"c-mrkdwn__br\" aria-label=\"\" data-mce-fragment=\"1\"\u003e\u003c\/span\u003e From our workshop, we have a clear claim: to put people at the center of everything and love at the center of your heart. \u003cspan data-stringify-type=\"paragraph-break\" class=\"c-mrkdwn__br\" aria-label=\"\" data-mce-fragment=\"1\"\u003e\u003c\/span\u003e\n\n\u003c\/div\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\u003c\/div\u003e\n\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\n \u003cli data-stringify-border=\"0\" data-stringify-indent=\"0\" data-mce-fragment=\"1\"\u003eScreen print \"Little Love.\" \u003cbr data-mce-fragment=\"1\"\u003e\n\n\u003c\/li\u003e\n\n\u003cli data-stringify-border=\"0\" data-stringify-indent=\"0\" data-mce-fragment=\"1\"\u003e Brushed fleece, 155 gr \u003cbr data-mce-fragment=\"1\"\u003e\n\n\u003c\/li\u003e\n\n\u003cli data-stringify-border=\"0\" data-stringify-indent=\"0\" data-mce-fragment=\"1\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e \u003cspan\u003e100% organic ring-spun and combed cotton\u003c\/span\u003e\n\n\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cp\u003e \u003cspan\u003eFor every order, \u003ca rel=\"noopener\" href=\"https:\/\/rufusparis.com\/pages\/plantez-des-fleurs\" target=\"_blank\"\u003ewe offer you flowers!\u003c\/a\u003e\u003c\/span\u003e \u003c\/p\u003e\n\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":"BLUE \/ 3\/4 years","offer_id":46969228394834,"sku":"E-CREA-MAJ-PAI-4","price":24.9,"currency_code":"EUR","in_stock":true},{"title":"BLUE \/ 5\/6 years old","offer_id":46969228427602,"sku":"E-CREA-MAJ-PAI-6","price":24.9,"currency_code":"EUR","in_stock":true},{"title":"BLUE \/ 7\/8 years old","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-enfant-gris-amour","title":"The Little Iconic \"Little Love.\" Heather gray ","description":"\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e Discover the Hoodie\u003cspan\u003e \u003c\/span\u003eRufus Paris Little Iconic,\u003cspan\u003e \u003c\/span\u003ethe emblem of sportswear, made\u003cspan\u003e \u003c\/span\u003ein a brushed fleece that gives it all its softness. \u003cspan\u003ePrinted \"petit Amour.\",\u003c\/span\u003e it's not just a garment, it's the centerpiece for our little blond heads looking for comfort and freedom. Everything comes together for a quality piece: a 300gr brushed fleece, a lined hood, double stitching in important places... Ready to go on an adventure with your child! \u003cbr data-mce-fragment=\"1\"\u003e\n\n\u003c\/div\u003e\n\n\u003cp\u003e\u003c\/p\u003e\n\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\n\u003cli\u003e\n\n \u003cspan\u003e85% Organic Cotton, 15% Recycled Polyester\u003c\/span\u003e\u003cbr\u003e\n\n\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003e Pre-washed to ensure a reliable size\u003c\/li\u003e\n\n \u003cli data-mce-fragment=\"1\"\u003eDouble stitching on armholes, bottom of sleeves and bottom of body\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cp\u003e For every order, \u003ca rel=\"noopener\" href=\"https:\/\/rufusparis.com\/pages\/plantez-des-fleurs\" target=\"_blank\"\u003ewe offer you flowers!\u003c\/a\u003e\u003c\/p\u003e\n\n\n\u003c\/div\u003e","brand":"Rufus Paris","offers":[{"title":"GRAY \/ 3\/4 years","offer_id":46969234325842,"sku":"E-CRU-GRE-PAI-4","price":39.9,"currency_code":"EUR","in_stock":false},{"title":"GRAY \/ 5\/6 years old","offer_id":46969234424146,"sku":"E-CRU-GRE-PAI-6","price":39.9,"currency_code":"EUR","in_stock":true},{"title":"GRAY \/ 7\/8 years old","offer_id":46969234456914,"sku":"E-CRU-GRE-PAI-8","price":39.9,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/minicruiser-heathergrey-PAI-_1.png?v=1697973151"},{"product_id":"sweat-enfant-pomme","title":"The Little Iconic \"Little Love.\" apple ","description":"\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e Discover the Hoodie\u003cspan\u003e \u003c\/span\u003eRufus Paris Little Iconic,\u003cspan\u003e \u003c\/span\u003ethe emblem of sportswear, made\u003cspan\u003e \u003c\/span\u003ein a brushed fleece that gives it all its softness. \u003cspan\u003ePrinted \"petit Amour.\",\u003c\/span\u003e it's not just a garment, it's the centerpiece for our little blond heads in search of comfort and freedom. Everything comes together for a quality piece: a 300g brushed fleece, a lined hood, double stitching in important places... Ready to go on an adventure\u003cmeta charset=\"utf-8\"\u003e \u003cspan data-mce-fragment=\"1\"\u003ewith your child!\u003c\/span\u003e \u003cbr data-mce-fragment=\"1\"\u003e\n\n\u003c\/div\u003e\n\n\u003cp\u003e\u003c\/p\u003e\n\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\n\u003cli\u003e\n\n \u003cspan\u003e85% Organic Cotton, 15% Recycled Polyester\u003c\/span\u003e\u003cbr\u003e\n\n\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003e Pre-washed to ensure a reliable size\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003e Double stitching on armholes, bottom of sleeves and bottom of body\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n \u003cp\u003eFor every order, \u003ca rel=\"noopener\" href=\"https:\/\/rufusparis.com\/pages\/plantez-des-fleurs\" target=\"_blank\"\u003ewe offer you flowers!\u003c\/a\u003e \u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\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":"APPLE \/ 3\/4 years","offer_id":46969235407186,"sku":"E-CRU-STG-PAI-4","price":39.9,"currency_code":"EUR","in_stock":true},{"title":"APPLE \/ 5\/6 years old","offer_id":46969235439954,"sku":"E-CRU-STG-PAI-6","price":39.9,"currency_code":"EUR","in_stock":true},{"title":"APPLE \/ 7\/8 years old","offer_id":46969235472722,"sku":"E-CRU-STG-PAI-8","price":39.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/minicruiser-stemgreen-PAI-_1.png?v=1697973152"},{"product_id":"sweat-enfant-monstera","title":"The Little Iconic \"Little Love.\" Blue-grey ","description":"\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e Discover the Hoodie\u003cspan\u003e \u003c\/span\u003eRufus Paris Little Iconic,\u003cspan\u003e \u003c\/span\u003ethe emblem of sportswear, made\u003cspan\u003e \u003c\/span\u003ein a brushed fleece that gives it all its softness. \u003cspan\u003ePrinted \"petit Amour.\",\u003c\/span\u003e it's not just a garment, it's the centerpiece for our little blond heads in search of comfort and freedom. Everything comes together for a quality piece: a 300g brushed fleece, a lined hood, double stitching in important places... Ready to go on an adventure\u003cmeta charset=\"utf-8\"\u003e \u003cspan data-mce-fragment=\"1\"\u003ewith your child!\u003c\/span\u003e \u003cbr data-mce-fragment=\"1\"\u003e\n\n\u003c\/div\u003e\n\n\u003cp\u003e\u003c\/p\u003e\n\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\n\u003cli\u003e\n\n \u003cspan\u003e85% Organic Cotton, 15% Recycled Polyester\u003c\/span\u003e\u003cbr\u003e\n\n\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003e Pre-washed to ensure a reliable size\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003e Double stitching on armholes, bottom of sleeves and bottom of body\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n \u003cp\u003eFor every order, \u003ca rel=\"noopener\" href=\"https:\/\/rufusparis.com\/pages\/plantez-des-fleurs\" target=\"_blank\"\u003ewe offer you flowers!\u003c\/a\u003e \u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\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":"BLUE GREY \/ 3\/4 years","offer_id":46969238454610,"sku":"E-CRU-MON-PAI-4","price":39.9,"currency_code":"EUR","in_stock":false},{"title":"BLUE GREY \/ 5\/6 years old","offer_id":46969238487378,"sku":"E-CRU-MON-PAI-6","price":39.9,"currency_code":"EUR","in_stock":false},{"title":"BLUE GREY \/ 7\/8 years old","offer_id":46969238520146,"sku":"E-CRU-MON-PAI8","price":39.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/minicruiser-monstera-PAI-_1.png?v=1697973154"},{"product_id":"sweat-col-rond-enfant-monstera","title":"The Little Classic \"Little Love.\" Blue-grey ","description":"\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e Discover THE sweatshirt\u003cspan\u003e \u003c\/span\u003eRufus Paris Little Classic,\u003cspan\u003e \u003c\/span\u003ethe emblem of \"Chic \u0026amp; Chill\" par excellence! Its classic and comfortable cut is enhanced by its \"petit Amour\" print, which gives it its chic side. Made\u003cspan\u003e \u003c\/span\u003ein a 300g brushed fleece which gives it all its softness for the greatest happiness of our children. \u003c\/div\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e This essential item combines all the qualities to support them in their hectic daily lives! \u003cbr data-mce-fragment=\"1\"\u003e\n\n\u003c\/div\u003e\n\n\u003cp\u003e\u003c\/p\u003e\n\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\n\u003cli\u003e\n\n \u003cspan\u003e85% Organic Cotton, 15% Recycled Polyester\u003c\/span\u003e\u003cbr\u003e\n\n\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003e Pre-washed to ensure a reliable size\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003e Double stitching on armholes, bottom of sleeves and bottom of body\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cp\u003e For every order, \u003ca rel=\"noopener\" href=\"https:\/\/rufusparis.com\/pages\/plantez-des-fleurs\" target=\"_blank\"\u003ewe offer you flowers!\u003c\/a\u003e \u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\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":"BLUE GREY \/ 3\/4 years","offer_id":46969242321234,"sku":"E-CHA-MON-PAI-4","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"BLUE GREY \/ 5\/6 years old","offer_id":46969242354002,"sku":"E-CHA-MON-PAI-6","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"BLUE GREY \/ 7\/8 years old","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":"The Little Classic \"Little Love.\" red ","description":"\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e\n\n \u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003eDiscover THE sweatshirt\u003cspan\u003e \u003c\/span\u003eRufus Paris Little Classic,\u003cspan\u003e \u003c\/span\u003ethe emblem of \"Chic \u0026amp; Chill\" par excellence! Its classic and comfortable cut is enhanced by its \"petit Amour\" print, which gives it its chic side. Made\u003cspan\u003e \u003c\/span\u003ein a 300g brushed fleece which gives it all its softness for the greatest happiness of our children. \u003c\/div\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e This essential product combines all the qualities to support them in\u003cspan\u003e \u003c\/span\u003etheir\u003cspan\u003e \u003c\/span\u003ehectic daily life! \u003cbr data-mce-fragment=\"1\"\u003e\n\n\u003c\/div\u003e\n\n\u003cp\u003e\u003c\/p\u003e\n\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\n\u003cli\u003e\n\n \u003cspan\u003e85% Organic Cotton, 15% Recycled Polyester\u003c\/span\u003e\u003cbr\u003e\n\n\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003e Pre-washed to ensure a reliable size\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003e Double stitching on armholes, bottom of sleeves and bottom of body\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cp\u003e For every order, \u003ca rel=\"noopener\" href=\"https:\/\/rufusparis.com\/pages\/plantez-des-fleurs\" target=\"_blank\"\u003ewe offer you flowers!\u003c\/a\u003e \u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\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":"RED \/ 3\/4 years","offer_id":46969242714450,"sku":"E-CHA-RED-PAI-4","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"RED \/ 5\/6 years old","offer_id":46969242747218,"sku":"E-CHA-RED-PAI-6","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"RED \/ 7\/8 years old","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":"The Little Classic \"Little Love.\" pink ","description":"\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e\n\n \u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003eDiscover THE sweatshirt\u003cspan\u003e \u003c\/span\u003eRufus Paris Little Classic,\u003cspan\u003e \u003c\/span\u003ethe emblem of \"Chic \u0026amp; Chill\" par excellence! Its classic and comfortable cut is enhanced by its \"petit Amour\" print, which gives it its chic side. Made\u003cspan\u003e \u003c\/span\u003ein a 300g brushed fleece which gives it all its softness for the greatest happiness of our children. \u003c\/div\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e This essential product combines all the qualities to support them in\u003cspan\u003e \u003c\/span\u003etheir\u003cspan\u003e \u003c\/span\u003ehectic daily life! \u003cbr data-mce-fragment=\"1\"\u003e\n\n\u003c\/div\u003e\n\n\u003cp\u003e\u003c\/p\u003e\n\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\n\u003cli\u003e\n\n \u003cspan\u003e85% Organic Cotton, 15% Recycled Polyester\u003c\/span\u003e\u003cbr\u003e\n\n\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003e Pre-washed to ensure a reliable size\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003e Double stitching on armholes, bottom of sleeves and bottom of body\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cp\u003e For every order, \u003ca rel=\"noopener\" href=\"https:\/\/rufusparis.com\/pages\/plantez-des-fleurs\" target=\"_blank\"\u003ewe offer you flowers!\u003c\/a\u003e \u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\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":"PINK \/ 3\/4 years","offer_id":46969243730258,"sku":"E-CHA-HPIN-PAI-4","price":34.9,"currency_code":"EUR","in_stock":true},{"title":"PINK \/ 5\/6 years old","offer_id":46969243763026,"sku":"E-CHA-HPIN-PAI-6","price":34.9,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ 7\/8 years old","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":"Love Dad T-Shirt.","description":"\u003cdiv data-mce-fragment=\"1\"\u003eAre you looking for the perfect gift for your little dad?\u003c\/div\u003e\n\n\u003cdiv data-mce-fragment=\"1\"\u003e Father's Day is fast approaching: June 16th.\u003c\/div\u003e\n\n\u003cul data-mce-fragment=\"1\"\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003e 100% organic cotton T-shirt\u003c\/li\u003e\n\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;\"\u003eSatin stitch embroidery\u003c\/span\u003e\n\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003e\n\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;\"\u003ePrepared in our workshop\u003c\/span\u003e\u003cbr data-mce-fragment=\"1\"\u003e\n\n\u003c\/li\u003e\n\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 plantable card made of paper seeded with forget-me-not seeds to give to your dad\u003c\/span\u003e\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cp data-mce-fragment=\"1\"\u003e Shipping within 10 working days.\u003c\/p\u003e\n\n\u003cp data-mce-fragment=\"1\"\u003e Special offer for Parents' Day: \u003cstrong\u003e€50 for 2 T-shirts\u003c\/strong\u003e (add the second T-shirt, the discount will be automatically added to your basket)\u003c\/p\u003e","brand":"Rufus Paris","offers":[{"title":"XS \/ White","offer_id":48029414916434,"sku":"","price":29.9,"currency_code":"EUR","in_stock":false},{"title":"XS \/ Navy blue","offer_id":48029414949202,"sku":"","price":29.9,"currency_code":"EUR","in_stock":false},{"title":"S \/ White","offer_id":48029414981970,"sku":"","price":29.9,"currency_code":"EUR","in_stock":false},{"title":"S \/ Navy blue","offer_id":48029415014738,"sku":"","price":29.9,"currency_code":"EUR","in_stock":false},{"title":"M \/ White","offer_id":48029415047506,"sku":"","price":29.9,"currency_code":"EUR","in_stock":false},{"title":"M \/ Navy blue","offer_id":48029415080274,"sku":"","price":29.9,"currency_code":"EUR","in_stock":false},{"title":"L \/ White","offer_id":48029415113042,"sku":"","price":29.9,"currency_code":"EUR","in_stock":true},{"title":"L \/ Navy blue","offer_id":48029415145810,"sku":"","price":29.9,"currency_code":"EUR","in_stock":false},{"title":"XL \/ White","offer_id":48029415178578,"sku":"","price":29.9,"currency_code":"EUR","in_stock":false},{"title":"XL \/ Navy blue","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":"liconique-amour-gris-chine-brode-bleu-ancienne-co","title":"The iconic Heather Grey \"Amour\" with Blue embroidery","description":"\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e\n\n \u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003eDiscover the Hoodie\u003cspan\u003e \u003c\/span\u003eRufus Paris Iconic, \u003cspan\u003ethe centerpiece of your wardrobe to \"chill out\".\u003c\/span\u003e Made\u003cspan\u003e \u003c\/span\u003ein a 350g brushed fleece that gives it all its softness and decorated with a lined hood, everything comes together for a quality piece... So, will you fall for this Iconic? At Rufus we never leave it! \u003c\/div\u003e\n\n\u003cbr\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\u003c\/div\u003e\n\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\n\u003cli\u003e\n\n \u003cspan style=\"font-family: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; font-size: 0.875rem;\"\u003e85% Organic Cotton, 15% Recycled Polyester\u003c\/span\u003e\u003cbr\u003e\n\n\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003e Pre-washed to ensure a reliable size\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003e Double stitching on armholes, bottom of sleeves and bottom of body\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cp\u003e For every order, \u003ca rel=\"noopener\" href=\"https:\/\/rufusparis.com\/pages\/plantez-des-fleurs\" target=\"_blank\"\u003ewe offer you flowers!\u003c\/a\u003e \u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\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":"GRAY \/ XS","offer_id":50087779107154,"sku":"U-CRU-GRE-BB-RG-XS","price":75.0,"currency_code":"EUR","in_stock":false},{"title":"GRAY \/ S","offer_id":50087779139922,"sku":"U-CRU-GRE-BB-RG-S","price":75.0,"currency_code":"EUR","in_stock":false},{"title":"GRAY \/ M","offer_id":50087779172690,"sku":"U-CRU-GRE-BB-RG-M","price":75.0,"currency_code":"EUR","in_stock":true},{"title":"GRAY \/ L","offer_id":50087779205458,"sku":"U-CRU-GRE-BB-RG-L","price":75.0,"currency_code":"EUR","in_stock":false},{"title":"GRAY \/ XL","offer_id":50087779238226,"sku":"U-CRU-GRE-BB-RG-XL","price":75.0,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/Sweat_rufusparis_gris_bisou.jpg?v=1697973175"},{"product_id":"liconique-amour-hibiscus-brode-blanc-ancienne-co","title":"The iconic \"Amour.\" Embroidered white Bordeaux","description":"\u003cmeta charset=\"utf-8\"\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\n\n\u003cmeta charset=\"utf-8\"\u003e\n\n \u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003eDiscover the Hoodie\u003cspan\u003e \u003c\/span\u003eRufus Paris Iconic, \u003cspan\u003ethe centerpiece of your wardrobe to \"chill out\".\u003c\/span\u003e Made\u003cspan\u003e \u003c\/span\u003ein a 350g brushed fleece that gives it all its softness and decorated with a lined hood, everything comes together for a quality piece... So, will you fall for this Iconic? At Rufus we never leave it! \u003c\/div\u003e\n\n\u003cbr\u003e\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"p-rich_text_section\" data-mce-fragment=\"1\"\u003e\u003c\/div\u003e\n\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\n\u003cli\u003e\n\n \u003cspan style=\"font-family: -apple-system, BlinkMacSystemFont, 'San Francisco', 'Segoe UI', Roboto, 'Helvetica Neue', sans-serif; font-size: 0.875rem;\"\u003e85% Organic Cotton, 15% Recycled Polyester\u003c\/span\u003e\u003cbr\u003e\n\n\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003e Pre-washed to ensure a reliable size\u003c\/li\u003e\n\n\u003cli data-mce-fragment=\"1\"\u003e Double stitching on armholes, bottom of sleeves and bottom of body\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\n\n\u003cp\u003e For every order, \u003ca rel=\"noopener\" href=\"https:\/\/rufusparis.com\/pages\/plantez-des-fleurs\" target=\"_blank\"\u003ewe offer you flowers!\u003c\/a\u003e \u003c\/p\u003e\n\n\n\u003c\/div\u003e\n\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":"HIBISCUS \/ XS","offer_id":50087839695186,"sku":"U-CRU-HIB-AB-BL-XS","price":75.0,"currency_code":"EUR","in_stock":false},{"title":"HIBISCUS \/ S","offer_id":50087839727954,"sku":"U-CRU-HIB-AB-BL-S","price":75.0,"currency_code":"EUR","in_stock":false},{"title":"HIBISCUS \/ M","offer_id":50087839760722,"sku":"U-CRU-HIB-AB-BL-M","price":75.0,"currency_code":"EUR","in_stock":false},{"title":"HIBISCUS \/ L","offer_id":50087839793490,"sku":"U-CRU-HIB-AB-BL-L","price":75.0,"currency_code":"EUR","in_stock":true},{"title":"HIBISCUS \/ XL","offer_id":50087839826258,"sku":"U-CRU-HIB-AB-BL-XL","price":75.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/hibiscus_sq.jpg?v=1783944396"},{"product_id":"liconique-amour-rouge-brode-blanc-ancienne-co","title":"The Iconic Red \"Love\" Embroidered White","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:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));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.25;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:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.12);display:inline-block;flex-shrink:0}\n.rufus-sib-dot-multi{background:conic-gradient(#b7c3d6,#1b2640,#f4ede0,#0d0d0d,#d77a99)}\n.rufus-sib-card.is-selected .rufus-sib-dot{border-color:rgba(255,255,255,.35)}\n.rufus-sib-lbl{font-weight:500}\n.rufus-sib-lbl small{font-weight:400;opacity:.65;font-size:11px}\n\u003c\/style\u003e\n\u003cdiv class=\"rufus-sib-wrap\"\u003e\n\u003cp class=\"rufus-sib-title\"\u003eChoose your color\u003c\/p\u003e\n\u003cdiv class=\"rufus-sib-row\"\u003e\n\u003ca href=\"\/en\/products\/liconique-sweat-brode-amour\" class=\"rufus-sib-card\" aria-label=\"All classic colors\"\u003e\n\u003cspan class=\"rufus-sib-dot rufus-sib-dot-multi\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eClassic version · 5 colors\u003cbr\u003e\u003csmall\u003e5 classic colors\u003c\/small\u003e\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-hibiscus-brode-blanc-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Burgundy · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#7a1e2b;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eBurgundy · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-gris-chine-brode-bleu-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Heather gray · blue thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#9a9a9a;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eHeather gray · blue thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-rouge-brode-blanc-ancienne-co\" class=\"rufus-sib-card is-selected\" aria-label=\"Red · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#b71d2c;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eRed · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-bleu-gris-brode-blanc-ancienne-co-1\" class=\"rufus-sib-card\" aria-label=\"Turquoise Blue · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#3ea9c0;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eTurquoise Blue · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-bleu-gris-brode-blanc-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Grey Blue · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#7f8fa0;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eGrey Blue · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-bleu-marine-brode-blanc-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Navy Blue · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#1b2640;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eNavy Blue · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-bleu-marine-brode-rose-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Navy Blue · pink thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:linear-gradient(135deg,#1b2640 50%,#d77a99 50%);\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eNavy Blue · pink thread\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=\"Customer rating\"\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\u003eBased on 14,000+ customers since 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\u003eEmbroidered in Paris\u003c\/b\u003eFrench workshop\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\u003eDispatched within 24h\u003c\/b\u003eTracked Colissimo\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\u003eLifetime embroidery\u003c\/b\u003eFree warranty\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 interest-free\u003c\/b\u003eFrom €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\"\u003eAdd to cart\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 = 'Only '+inv+' left in 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:'The Basic'},\n   {n:'Julie',c:'Lyon',p:\"The Iconic\"},\n   {n:'Thomas',c:'Bordeaux',p:'The Classic'},\n   {n:'Emma',c:'Marseille',p:'Pack of 2'},\n   {n:'Nicolas',c:'Toulouse',p:\"The Timeless\"},\n   {n:'Camille',c:'Nantes',p:'The Beanie'},\n   {n:'Hugo',c:'Strasbourg',p:'The Basic'},\n   {n:'Léa',c:'Lille',p:'Pack of 3'},\n   {n:'Antoine',c:'Rennes',p:\"The Iconic\"},\n   {n:'Sarah',c:'Nice',p:'The Classic'},\n   {n:'Paul',c:'Montpellier',p:'Pack of 2'},\n   {n:'Chloé',c:'Annecy',p:'The Beanie'}\n  ];\n  var times = [\"just now\",'2 min ago','5 min ago','8 min ago','12 min ago','17 min ago'];\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+' from '+p.c;\n   whereEl.textContent = 'just added '+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 item\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003eFull price\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd\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 items\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−12%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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 items\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−20%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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\"\u003eBest offer\u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e4 items+\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\"\u003eFree shipping\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eFree gift packaging\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 4\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-note\"\u003eAutomatic discounts in cart. Gift packaging included for 4 items or more.\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(\"Please select a size.\"); 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=\"\/en\/cart\"; })\n      .catch(function(err){\n        card.classList.remove('is-loading');\n        var msg = (err \u0026\u0026 err.description) || \"Unable to add. Please check the selected size.\";\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\"\u003eThe sweatshirt you'll keep for ten years.\u003c\/h2\u003e\n\u003cdiv class=\"rf-hero-copy\"\u003e\n\u003cp\u003e380 gsm fleece cotton, soft inside, dense outside. A loose fit without being baggy. Ribbed cuffs that retain their shape wash after wash.\u003c\/p\u003e\n\u003cp\u003eEmbroidery or print, always French. Paris workshop. Waxed thread for embroidered items, water-based ink for printed items. It holds, it breathes.\u003c\/p\u003e\n\u003cp\u003eUnder a jacket. Over a tee. Alone with sweatpants.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-bullets\"\u003eEmbroidered or printed in Paris · 380 gsm cotton · Lifetime embroidery guarantee\u003c\/div\u003e\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\u003eMaterial and manufacturing\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eCombed cotton of European origin. Dense, soft feel. Hand embroidered or printed in our Parisian workshop. Tight stitching, waxed thread, water-based ink. No outsourcing.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eCare instructions\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eWash at 30 degrees inside out. Air dry. Iron inside out. Do not tumble dry. Do not bleach. The more the item is washed, the softer it becomes.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eShipping and returns\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eShipped within 48 business hours from Paris. Returns within 30 days, unworn item, intact tags. Easy size exchange.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eLifetime embroidery guarantee\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eThe embroidery holds. If it ever comes undone, we'll redo it. Free of charge. In our Parisian workshop. You send a photo, we take care of the rest.\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 verified reviews\u003c\/b\u003e · 92% recommend\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\"\u003e2 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eThe perfect cut.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eAmazing quality. The cotton is thick, the embroidery is perfect. I've worn it 15 times since January, no signs of wear. I'm buying two more colors.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eNavy Blue\u003c\/span\u003e\u003cspan\u003eUsual size 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\"\u003e1 month ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eLoyal since 2018.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eFifth purchase. Nothing to say. It's serious, French-made, and lasts. Other brands feel cheap in comparison.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eCream\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\"\u003e3 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eA striking gift.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eGiven to my boyfriend for his birthday. He hasn't taken it off since. The box is neat, the handwritten note is a lovely touch.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eBlack\u003c\/span\u003e\u003cspan\u003eGift\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\"\u003e5 weeks ago\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\u003eVerified purchase\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\"\u003eGreat, I would recommend.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eGood material, classic straight cut. I would have taken a size down, it's a bit big for me. Customer service was excellent with the return.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eWhite\u003c\/span\u003e\u003cspan\u003eRuns large\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\"\u003ePeople also bought\u003c\/p\u003e\n \u003cdiv class=\"rufus-xsell-grid\" id=\"rufus-xsell-grid\"\u003e\n  \u003cdiv class=\"rufus-xsell-loading\"\u003eLoading recommendations…\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":"GRAY \/ XS","offer_id":50087922663762,"sku":"U-CRU-GRE-BB-RG-XS","price":75.0,"currency_code":"EUR","in_stock":false},{"title":"GRAY \/ S","offer_id":50087922696530,"sku":"U-CRU-GRE-BB-RG-S","price":75.0,"currency_code":"EUR","in_stock":false},{"title":"GRAY \/ M","offer_id":50087922729298,"sku":"U-CRU-GRE-BB-RG-M","price":75.0,"currency_code":"EUR","in_stock":true},{"title":"GRAY \/ L","offer_id":50087922762066,"sku":"U-CRU-GRE-BB-RG-L","price":75.0,"currency_code":"EUR","in_stock":true},{"title":"GRAY \/ XL","offer_id":50087922794834,"sku":"U-CRU-GRE-BB-RG-XL","price":75.0,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/Sweat_rufusparis_gris_bisou.jpg?v=1697973175"},{"product_id":"le-classique-amour-bordeaux-imprime-blanc-ancienne-co","title":"The Classic \"Love.\" Bordeaux Printed white","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:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));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.25;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:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.12);display:inline-block;flex-shrink:0}\n.rufus-sib-dot-multi{background:conic-gradient(#b7c3d6,#1b2640,#f4ede0,#7f8fa0,#2d4a36,#e3a9a0,#d1d87a)}\n.rufus-sib-card.is-selected .rufus-sib-dot{border-color:rgba(255,255,255,.35)}\n.rufus-sib-lbl{font-weight:500}\n.rufus-sib-lbl small{font-weight:400;opacity:.65;font-size:11px}\n\u003c\/style\u003e\n\u003cdiv class=\"rufus-sib-wrap\"\u003e\n\u003cp class=\"rufus-sib-title\"\u003eChoose your color\u003c\/p\u003e\n\u003cdiv class=\"rufus-sib-row\"\u003e\n\u003ca href=\"\/en\/products\/le-classique-sweat-imprime-amour\" class=\"rufus-sib-card\" aria-label=\"All colors\"\u003e\n\u003cspan class=\"rufus-sib-dot rufus-sib-dot-multi\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eClassic version\u003cbr\u003e\u003csmall\u003e7 printed colors\u003c\/small\u003e\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/le-classique-amour-bordeaux-imprime-blanc-ancienne-co\" class=\"rufus-sib-card is-selected\" aria-label=\"Bordeaux · white logo\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#7a1e2b;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eBordeaux · white logo\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/le-classique-amour-sapin-imprime-blanc-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Pine · white logo\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#2d4a36;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003ePine · white logo\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=\"Customer rating\"\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\u003eBased on 14,000+ customers since 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\u003eEmbroidered in Paris\u003c\/b\u003eFrench workshop\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\u003eShipped in 24h\u003c\/b\u003eTracked Colissimo\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\u003eLifetime embroidery\u003c\/b\u003eFree guarantee\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 interest-free\u003c\/b\u003eFrom €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\"\u003eAdd to Cart\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 = 'Only '+inv+' left in 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:'The Basic'},\n   {n:'Julie',c:'Lyon',p:\"The Iconic\"},\n   {n:'Thomas',c:'Bordeaux',p:'The Classic'},\n   {n:'Emma',c:'Marseille',p:'Pack of 2'},\n   {n:'Nicolas',c:'Toulouse',p:\"The Timeless\"},\n   {n:'Camille',c:'Nantes',p:'The Beanie'},\n   {n:'Hugo',c:'Strasbourg',p:'The Basic'},\n   {n:'Léa',c:'Lille',p:'Pack of 3'},\n   {n:'Antoine',c:'Rennes',p:\"The Iconic\"},\n   {n:'Sarah',c:'Nice',p:'The Classic'},\n   {n:'Paul',c:'Montpellier',p:'Pack of 2'},\n   {n:'Chloé',c:'Annecy',p:'The Beanie'}\n  ];\n  var times = [\"just now\",'2 min ago','5 min ago','8 min ago','12 min ago','17 min ago'];\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+' in '+p.c;\n   whereEl.textContent = 'just added '+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 item\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003eFull Price\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd\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 items\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−12%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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 items\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−20%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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\"\u003eBest Offer\u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e4 items+\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\"\u003eFree delivery\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eFree gift wrapping\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 4\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-note\"\u003eAutomatic discounts at checkout. Gift wrapping included for 4 items or more.\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(\"Please select a size.\"); 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=\"\/en\/cart\"; })\n      .catch(function(err){\n        card.classList.remove('is-loading');\n        var msg = (err \u0026\u0026 err.description) || \"Unable to add. Please check the selected size.\";\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\"\u003eThe sweatshirt you'll keep for ten years.\u003c\/h2\u003e\n\u003cdiv class=\"rf-hero-copy\"\u003e\n\u003cp\u003e380 gsm brushed cotton, soft on the inside, dense on the outside. A loose fit without being baggy. Ribbed cuffs that retain their shape wash after wash.\u003c\/p\u003e\n\u003cp\u003eEmbroidery or print, always French. Paris workshop. Waxed thread for embroidery, water-based ink for printing. It lasts, it breathes.\u003c\/p\u003e\n\u003cp\u003eUnder a jacket. Over a tee. Alone with sweatpants.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-bullets\"\u003eEmbroidered or printed in Paris · 380 gsm cotton · Lifetime embroidery guarantee\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\u003eMaterial and manufacturing\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eCombed cotton of European origin. Dense density, soft feel. Embroidered or printed by hand in our Parisian workshop. Tight stitch, waxed thread, water-based ink. No subcontracting.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eCare instructions\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eWash at 30 degrees Celsius inside out. Air dry. Iron inside out. Do not tumble dry. Do not bleach. The more the item is washed, the softer it becomes.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eDelivery and returns\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eShipped within 48 business hours from Paris. Returns accepted within 30 days, unworn item, labels intact. Easy size exchange.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eLifetime embroidery guarantee\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eThe embroidery holds up. If it ever gives out, we'll redo it. For free. In our Parisian workshop. You send a photo, we'll take care of the rest.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003c\/div\u003e\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 verified reviews\u003c\/b\u003e · 92% recommend\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\"\u003e2 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eThe perfect fit.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eAmazing quality. The cotton is thick, the embroidery is perfect. I've worn it 15 times since January, no marks at all. I'm getting two other colors.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eNavy Blue\u003c\/span\u003e\u003cspan\u003eUsually wears 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\"\u003e1 month ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eA loyal customer since 2018.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eFifth purchase. Nothing to say. It's serious, it's French, and it lasts. Other brands next to it feel cheap.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eCream\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\"\u003e3 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eA striking gift.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eGiven to my boyfriend for his birthday. He hasn't taken it off since. The box is neat, the handwritten note is a nice touch.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eBlack\u003c\/span\u003e\u003cspan\u003eGift\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\"\u003e5 weeks ago\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\u003eVerified purchase\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\"\u003eGreat, I would recommend.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eGood material, classic straight cut. I would have taken one size smaller, it runs a bit large for me. Excellent customer service for the return.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eWhite\u003c\/span\u003e\u003cspan\u003eRuns large\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\"\u003ePeople also bought\u003c\/p\u003e\n \u003cdiv class=\"rufus-xsell-grid\" id=\"rufus-xsell-grid\"\u003e\n  \u003cdiv class=\"rufus-xsell-loading\"\u003eLoading recommendations…\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":"HIBISCUS \/ XS","offer_id":50088537227602,"sku":"U-CRU-HIB-AB-BL-XS","price":75.0,"currency_code":"EUR","in_stock":false},{"title":"HIBISCUS \/ S","offer_id":50088537260370,"sku":"U-CRU-HIB-AB-BL-S","price":75.0,"currency_code":"EUR","in_stock":true},{"title":"HIBISCUS \/ M","offer_id":50088537293138,"sku":"U-CRU-HIB-AB-BL-M","price":75.0,"currency_code":"EUR","in_stock":true},{"title":"HIBISCUS \/ L","offer_id":50088537325906,"sku":"U-CRU-HIB-AB-BL-L","price":75.0,"currency_code":"EUR","in_stock":false},{"title":"HIBISCUS \/ XL","offer_id":50088537358674,"sku":"U-CRU-HIB-AB-BL-XL","price":75.0,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/rufusparis_sweatshirtcapuche_hibiscush.jpg?v=1701463158"},{"product_id":"le-classique-amour-sapin-imprime-blanc-ancienne-co","title":"The Classic \"Love.\" Printed White Fir","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:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));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.25;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:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.12);display:inline-block;flex-shrink:0}\n.rufus-sib-dot-multi{background:conic-gradient(#b7c3d6,#1b2640,#f4ede0,#7f8fa0,#2d4a36,#e3a9a0,#d1d87a)}\n.rufus-sib-card.is-selected .rufus-sib-dot{border-color:rgba(255,255,255,.35)}\n.rufus-sib-lbl{font-weight:500}\n.rufus-sib-lbl small{font-weight:400;opacity:.65;font-size:11px}\n\u003c\/style\u003e\n\u003cdiv class=\"rufus-sib-wrap\"\u003e\n\u003cp class=\"rufus-sib-title\"\u003eChoose your color\u003c\/p\u003e\n\u003cdiv class=\"rufus-sib-row\"\u003e\n\u003ca href=\"\/en\/products\/le-classique-sweat-imprime-amour\" class=\"rufus-sib-card\" aria-label=\"All colors\"\u003e\n\u003cspan class=\"rufus-sib-dot rufus-sib-dot-multi\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eClassic version\u003cbr\u003e\u003csmall\u003e7 printed colors\u003c\/small\u003e\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/le-classique-amour-bordeaux-imprime-blanc-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Bordeaux · white logo\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#7a1e2b;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eBordeaux · white logo\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/le-classique-amour-sapin-imprime-blanc-ancienne-co\" class=\"rufus-sib-card is-selected\" aria-label=\"Fir · white logo\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#2d4a36;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eFir · white logo\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=\"Customer rating\"\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\u003eBased on 14,000+ customers since 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\u003eEmbroidered in Paris\u003c\/b\u003eFrench workshop\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\u003eShipped in 24h\u003c\/b\u003eTracked Colissimo\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\u003eLifetime embroidery\u003c\/b\u003eFree warranty\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 interest-free\u003c\/b\u003eFrom 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\"\u003eAdd to Cart\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 = 'Only '+inv+' left in 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:'The Basic'},\n   {n:'Julie',c:'Lyon',p:\"The Iconic\"},\n   {n:'Thomas',c:'Bordeaux',p:'The Classic'},\n   {n:'Emma',c:'Marseille',p:'Pack of 2'},\n   {n:'Nicolas',c:'Toulouse',p:\"The Timeless\"},\n   {n:'Camille',c:'Nantes',p:'The Beanie'},\n   {n:'Hugo',c:'Strasbourg',p:'The Basic'},\n   {n:'Léa',c:'Lille',p:'Pack of 3'},\n   {n:'Antoine',c:'Rennes',p:\"The Iconic\"},\n   {n:'Sarah',c:'Nice',p:'The Classic'},\n   {n:'Paul',c:'Montpellier',p:'Pack of 2'},\n   {n:'Chloé',c:'Annecy',p:'The Beanie'}\n  ];\n  var times = [\"just now\",'2 min ago','5 min ago','8 min ago','12 min ago','17 min ago'];\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+' in '+p.c;\n   whereEl.textContent = 'just added '+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 piece\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003eFull price\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd\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 pieces\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−12%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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 pieces\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−20%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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\"\u003eBest offer\u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e4 pieces+\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\"\u003eFree shipping\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eFree gift wrapping\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 4\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-note\"\u003eAutomatic discounts in cart. Gift wrapping included from 4 pieces.\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(\"Please select a size.\"); 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=\"\/en\/cart\"; })\n      .catch(function(err){\n        card.classList.remove('is-loading');\n        var msg = (err \u0026\u0026 err.description) || \"Unable to add. Please check the selected size.\";\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\"\u003eThe sweatshirt you'll keep for ten years.\u003c\/h2\u003e\n\u003cdiv class=\"rf-hero-copy\"\u003e\n\u003cp\u003eA 380 gsm fleece cotton, soft on the inside, dense on the outside. A loose fit without being baggy. Ribbed cuffs that retain their shape wash after wash.\u003c\/p\u003e\n\u003cp\u003eEmbroidery or print, always French. Paris workshop. Waxed thread for embroidery, water-based ink for print. It lasts, it breathes.\u003c\/p\u003e\n\u003cp\u003eUnder a jacket. Over a tee. Alone with joggers.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-bullets\"\u003eEmbroidered or printed in Paris · 380 gsm cotton · Lifetime embroidery warranty\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\u003eMaterial and manufacturing\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eCombed cotton of European origin. Dense density, soft feel. Hand-embroidered or printed in our Parisian workshop. Tight stitching, waxed thread, water-based ink. No outsourcing.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eCare instructions\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eWash at 30 degrees inside out. Air dry. Iron inside out. Do not tumble dry. Do not bleach. The more the item is washed, the softer it becomes.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eDelivery and returns\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eShipping within 48 business hours from Paris. Returns within 30 days, unworn item, intact labels. Easy size exchange.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eLifetime embroidery warranty\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eThe embroidery holds. If it ever comes loose, we'll redo it. Free of charge. In our Parisian workshop. You send a photo, we take care of the rest.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003c\/div\u003e\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 verified reviews\u003c\/b\u003e · 92% recommend\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\"\u003e2 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eThe perfect cut.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eAmazing quality. The cotton is thick, the embroidery is perfect. I've worn it 15 times since January, no marks. I'm getting two more colors.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eNavy Blue\u003c\/span\u003e\u003cspan\u003eUsually wears 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\"\u003e1 month ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eLoyal since 2018.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eFifth purchase. Nothing to say. It's serious, French-made, and it lasts. Other brands next to it feel cheap.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eCream\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\"\u003e3 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eA stunning gift.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eBought for my boyfriend's birthday. He hasn't taken it off since. The box is neat, the handwritten note is a lovely touch.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eBlack\u003c\/span\u003e\u003cspan\u003eGift\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\"\u003e5 weeks ago\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\u003eVerified purchase\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\"\u003eGreat, I would recommend.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eGood material, classic straight cut. I would have taken one size smaller, it runs a bit large for me. Customer service was top-notch for the return.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eWhite\u003c\/span\u003e\u003cspan\u003eRuns large\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\"\u003ePeople also bought\u003c\/p\u003e\n \u003cdiv class=\"rufus-xsell-grid\" id=\"rufus-xsell-grid\"\u003e\n  \u003cdiv class=\"rufus-xsell-loading\"\u003eLoading recommendations…\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\"\u003eView →\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":"FIR GREEN \/ XS","offer_id":50088612331858,"sku":"U-CRU-GLG-AB-BL-XS","price":75.0,"currency_code":"EUR","in_stock":true},{"title":"FIR GREEN \/ S","offer_id":50088612364626,"sku":"U-CRU-GLG-AB-BL-S","price":75.0,"currency_code":"EUR","in_stock":true},{"title":"FIR GREEN \/ M","offer_id":50088612397394,"sku":"U-CRU-GLG-AB-BL-M","price":75.0,"currency_code":"EUR","in_stock":false},{"title":"FIR GREEN \/ L","offer_id":50088612430162,"sku":"U-CRU-GLG-AB-BL-L","price":75.0,"currency_code":"EUR","in_stock":true},{"title":"FIR GREEN \/ XL","offer_id":50088612462930,"sku":"U-CRU-GLG-AB-BL-XL","price":75.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/rufusparis_sweatshirtcapuche_vert2.jpg?v=1701462986"},{"product_id":"liconique-amour-bleu-marine-brode-blanc-ancienne-co","title":"The Iconic Navy Blue \"Amour.\" Embroidered in White","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:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));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.25;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:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.12);display:inline-block;flex-shrink:0}\n.rufus-sib-dot-multi{background:conic-gradient(#b7c3d6,#1b2640,#f4ede0,#0d0d0d,#d77a99)}\n.rufus-sib-card.is-selected .rufus-sib-dot{border-color:rgba(255,255,255,.35)}\n.rufus-sib-lbl{font-weight:500}\n.rufus-sib-lbl small{font-weight:400;opacity:.65;font-size:11px}\n\u003c\/style\u003e\n\u003cdiv class=\"rufus-sib-wrap\"\u003e\n\u003cp class=\"rufus-sib-title\"\u003eChoose color\u003c\/p\u003e\n\u003cdiv class=\"rufus-sib-row\"\u003e\n\u003ca href=\"\/en\/products\/liconique-sweat-brode-amour\" class=\"rufus-sib-card\" aria-label=\"All classic colors\"\u003e\n\u003cspan class=\"rufus-sib-dot rufus-sib-dot-multi\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eClassic version · 5 colors\u003cbr\u003e\u003csmall\u003e5 classic colors\u003c\/small\u003e\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-hibiscus-brode-blanc-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Bordeaux · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#7a1e2b;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eBordeaux · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-gris-chine-brode-bleu-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Heather gray · blue thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#9a9a9a;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eHeather gray · blue thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-rouge-brode-blanc-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Red · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#b71d2c;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eRed · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-bleu-gris-brode-blanc-ancienne-co-1\" class=\"rufus-sib-card\" aria-label=\"Turquoise Blue · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#3ea9c0;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eTurquoise Blue · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-bleu-gris-brode-blanc-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Blue Gray · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#7f8fa0;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eBlue Gray · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-bleu-marine-brode-blanc-ancienne-co\" class=\"rufus-sib-card is-selected\" aria-label=\"Navy Blue · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#1b2640;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eNavy Blue · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-bleu-marine-brode-rose-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Navy Blue · pink thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:linear-gradient(135deg,#1b2640 50%,#d77a99 50%);\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eNavy Blue · pink thread\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=\"Customer rating\"\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\u003eBased on 14,000+ customers since 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\u003eEmbroidered in Paris\u003c\/b\u003eFrench workshop\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\u003eShipped in 24h\u003c\/b\u003eTracked Colissimo\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\u003eLifetime embroidery\u003c\/b\u003eFree guarantee\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 interest-free\u003c\/b\u003eFrom €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\"\u003eAdd to cart\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 = 'Only '+inv+' left in 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:'The Basic'},\n   {n:'Julie',c:'Lyon',p:\"The Iconic\"},\n   {n:'Thomas',c:'Bordeaux',p:'The Classic'},\n   {n:'Emma',c:'Marseille',p:'Pack of 2'},\n   {n:'Nicolas',c:'Toulouse',p:\"The Timeless\"},\n   {n:'Camille',c:'Nantes',p:'The Beanie'},\n   {n:'Hugo',c:'Strasbourg',p:'The Basic'},\n   {n:'Léa',c:'Lille',p:'Pack of 3'},\n   {n:'Antoine',c:'Rennes',p:\"The Iconic\"},\n   {n:'Sarah',c:'Nice',p:'The Classic'},\n   {n:'Paul',c:'Montpellier',p:'Pack of 2'},\n   {n:'Chloé',c:'Annecy',p:'The Beanie'}\n  ];\n  var times = [\"just now\",'2 min ago','5 min ago','8 min ago','12 min ago','17 min ago'];\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+' in '+p.c;\n   whereEl.textContent = 'just added '+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 item\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003eFull price\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd\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 items\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−12%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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 items\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−20%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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\"\u003eBest offer\u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e4 items+\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\"\u003eFree shipping\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eFree gift wrapping\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 4\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-note\"\u003eAutomatic discounts at checkout. Gift wrapping included for 4 items or more.\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(\"Please select a size.\"); 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=\"\/en\/cart\"; })\n      .catch(function(err){\n        card.classList.remove('is-loading');\n        var msg = (err \u0026\u0026 err.description) || \"Unable to add. Please check the selected size.\";\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\"\u003eThe sweatshirt you'll keep for ten years.\u003c\/h2\u003e\n\u003cdiv class=\"rf-hero-copy\"\u003e\n\u003cp\u003e380 gsm brushed cotton, soft on the inside, dense on the outside. A loose fit without being baggy. Ribbed cuffs that keep their shape wash after wash.\u003c\/p\u003e\n\u003cp\u003eEmbroidery or print, always French. Workshop in Paris. Waxed thread for embroidery, water-based ink for printing. It lasts, it breathes.\u003c\/p\u003e\n\u003cp\u003eUnder a jacket. Over a tee. Alone with sweatpants.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-bullets\"\u003eEmbroidered or printed in Paris · 380 gsm cotton · Lifetime embroidery guarantee\u003c\/div\u003e\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\u003eMaterial and manufacturing\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eCombed cotton from Europe. Dense density, soft touch. Embroidered or printed by hand in our Parisian workshop. Tight stitch, waxed thread, water-based ink. No subcontracting.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eCare instructions\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eWash at 30 degrees inside out. Air dry. Iron inside out. Do not tumble dry. Do not bleach. The more the item is washed, the softer it becomes.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eDelivery and returns\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eShipping within 48 working hours from Paris. Returns within 30 days, unworn item, intact labels. Easy size exchange.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eLifetime embroidery guarantee\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eThe embroidery holds. If it ever comes undone, we'll redo it. Free of charge. In our Parisian workshop. You send a photo, we take care of the rest.\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 verified reviews\u003c\/b\u003e · 92% recommend\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\"\u003e2 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eThe perfect cut.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eAmazing quality. The cotton is thick, the embroidery is perfect. I've worn it 15 times since January, no marks. I'm getting two other colors.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eNavy Blue\u003c\/span\u003e\u003cspan\u003eUsual wear 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\"\u003e1 month ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eLoyal since 2018.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eFifth purchase. Nothing to say. It's serious, French-made, and lasts. Other brands look cheap next to it.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eCream\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\"\u003e3 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eGreat gift.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eGiven to my boyfriend for his birthday. He hasn't taken it off since. The box is neat, the handwritten note is a nice touch.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eBlack\u003c\/span\u003e\u003cspan\u003eGift\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\"\u003e5 weeks ago\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\u003eVerified purchase\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\"\u003eGreat, I would recommend.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eGood material, classic straight cut. I would have taken a size down, it runs a bit large for me. Customer service for returns was great.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eWhite\u003c\/span\u003e\u003cspan\u003eRuns large\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\"\u003ePeople also bought\u003c\/p\u003e\n \u003cdiv class=\"rufus-xsell-grid\" id=\"rufus-xsell-grid\"\u003e\n  \u003cdiv class=\"rufus-xsell-loading\"\u003eLoading recommendations…\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\"\u003eView →\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":"NAVY BLUE \/ XS","offer_id":50089064202578,"sku":"U-CRU-NAV-AB-RG-XS","price":75.0,"currency_code":"EUR","in_stock":false},{"title":"NAVY BLUE \/ S","offer_id":50089064235346,"sku":"U-CRU-NAV-AB-RG-S","price":75.0,"currency_code":"EUR","in_stock":false},{"title":"NAVY BLUE \/ M","offer_id":50089064268114,"sku":"U-CRU-NAV-AB-RG-M","price":75.0,"currency_code":"EUR","in_stock":true},{"title":"NAVY BLUE \/ L","offer_id":50089064300882,"sku":"U-CRU-NAV-AB-RG-L","price":75.0,"currency_code":"EUR","in_stock":false},{"title":"NAVY BLUE \/ XL","offer_id":50089064333650,"sku":"U-CRU-NAV-AB-RG-XL","price":75.0,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/marine_sq2.jpg?v=1783943758"},{"product_id":"liconique-amour-bleu-marine-brode-rose-ancienne-co","title":"The Iconic \"Love.\" Navy Blue Embroidered Rose","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:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));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.25;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:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.12);display:inline-block;flex-shrink:0}\n.rufus-sib-dot-multi{background:conic-gradient(#b7c3d6,#1b2640,#f4ede0,#0d0d0d,#d77a99)}\n.rufus-sib-card.is-selected .rufus-sib-dot{border-color:rgba(255,255,255,.35)}\n.rufus-sib-lbl{font-weight:500}\n.rufus-sib-lbl small{font-weight:400;opacity:.65;font-size:11px}\n\u003c\/style\u003e\n\u003cdiv class=\"rufus-sib-wrap\"\u003e\n\u003cp class=\"rufus-sib-title\"\u003eChoose your color\u003c\/p\u003e\n\u003cdiv class=\"rufus-sib-row\"\u003e\n\u003ca href=\"\/en\/products\/liconique-sweat-brode-amour\" class=\"rufus-sib-card\" aria-label=\"All classic colors\"\u003e\n\u003cspan class=\"rufus-sib-dot rufus-sib-dot-multi\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eClassic version · 5 colors\u003cbr\u003e\u003csmall\u003e5 classic colors\u003c\/small\u003e\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-hibiscus-brode-blanc-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Burgundy · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#7a1e2b;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eBurgundy · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-gris-chine-brode-bleu-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Heather gray · blue thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#9a9a9a;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eHeather gray · blue thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-rouge-brode-blanc-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Red · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#b71d2c;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eRed · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-bleu-gris-brode-blanc-ancienne-co-1\" class=\"rufus-sib-card\" aria-label=\"Turquoise Blue · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#3ea9c0;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eTurquoise Blue · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-bleu-gris-brode-blanc-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Gray Blue · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#7f8fa0;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eGray Blue · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-bleu-marine-brode-blanc-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Navy Blue · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#1b2640;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eNavy Blue · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-bleu-marine-brode-rose-ancienne-co\" class=\"rufus-sib-card is-selected\" aria-label=\"Navy Blue · pink thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:linear-gradient(135deg,#1b2640 50%,#d77a99 50%);\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eNavy Blue · pink thread\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=\"Customer rating\"\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\u003eBased on 14,000+ customers since 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\u003eEmbroidered in Paris\u003c\/b\u003eFrench workshop\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\u003eShipped in 24h\u003c\/b\u003eTracked Colissimo\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\u003eLifetime embroidery\u003c\/b\u003eFree warranty\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 interest-free\u003c\/b\u003eFrom 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\"\u003eAdd\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 = 'Only '+inv+' left in 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:'Mark',c:'Paris',p:'The Basic'},\n   {n:'Julie',c:'Lyon',p:\"The Iconic\"},\n   {n:'Thomas',c:'Bordeaux',p:'The Classic'},\n   {n:'Emma',c:'Marseille',p:'Pack of 2'},\n   {n:'Nicolas',c:'Toulouse',p:\"The Timeless\"},\n   {n:'Camille',c:'Nantes',p:'The Beanie'},\n   {n:'Hugo',c:'Strasbourg',p:'The Basic'},\n   {n:'Léa',c:'Lille',p:'Pack of 3'},\n   {n:'Antoine',c:'Rennes',p:\"The Iconic\"},\n   {n:'Sarah',c:'Nice',p:'The Classic'},\n   {n:'Paul',c:'Montpellier',p:'Pack of 2'},\n   {n:'Chloé',c:'Annecy',p:'The Beanie'}\n  ];\n  var times = [\"just now\",'2 min ago','5 min ago','8 min ago','12 min ago','17 min ago'];\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+' in '+p.c;\n   whereEl.textContent = 'just added '+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 item\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003eFull price\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd\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 items\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−12%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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 items\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−20%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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\"\u003eBest offer\u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e4 items+\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\"\u003eFree delivery\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eFree gift wrapping\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 4\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-note\"\u003eAutomatic discounts at checkout. Gift wrapping included for 4 items or more.\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(\"Please select a size.\"); 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=\"\/en\/cart\"; })\n      .catch(function(err){\n        card.classList.remove('is-loading');\n        var msg = (err \u0026\u0026 err.description) || \"Unable to add. Please check the selected size.\";\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\"\u003eThe sweatshirt you'll keep for ten years.\u003c\/h2\u003e\n\u003cdiv class=\"rf-hero-copy\"\u003e\n\u003cp\u003eA 380 g\/m² brushed cotton, soft inside, dense outside. A loose fit without being baggy. Ribbed cuffs that retain their shape wash after wash.\u003c\/p\u003e\n\u003cp\u003eEmbroidery or print, always French. Paris workshop. Waxed thread for embroidery, water-based ink for printing. It lasts, it breathes.\u003c\/p\u003e\n\u003cp\u003eUnder a jacket. Over a tee. Alone with sweatpants.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-bullets\"\u003eEmbroidered or printed in Paris · 380 gsm cotton · Lifetime embroidery warranty\u003c\/div\u003e\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\u003eMaterial and manufacturing\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eCombed cotton of European origin. Dense weave, soft touch. Hand-embroidered or printed in our Parisian workshop. Tight stitching, waxed thread, water-based ink. No subcontracting.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eCare instructions\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eWash at 30 degrees inside out. Air dry. Iron inside out. Do not tumble dry. Do not bleach. The more the item is washed, the softer it becomes.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eDelivery and returns\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eShipped within 48 business hours from Paris. Returns within 30 days, unworn item, intact tags. Easy size exchange.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eLifetime embroidery guarantee\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eThe embroidery will last. If it ever comes undone, we'll redo it. Free of charge. In our Parisian workshop. You send a photo, we'll take care of the rest.\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 verified reviews\u003c\/b\u003e · 92% recommend\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\"\u003e2 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eThe perfect cut.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eAmazing quality. The cotton is thick, the embroidery is perfect. I've worn it 15 times since January, no signs of wear. I'm getting two more colors.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eNavy Blue\u003c\/span\u003e\u003cspan\u003eUsually wears 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\"\u003e1 month ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eLoyal since 2018.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eFifth purchase. Nothing to say. It's serious, it's French, and it lasts. Other brands nearby feel cheap.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eCream\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\"\u003e3 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eAn impressive gift.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eGifted it to my boyfriend for his birthday. He hasn't taken it off since. The box is neat, the handwritten note is a nice touch.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eBlack\u003c\/span\u003e\u003cspan\u003eGift\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\"\u003e5 weeks ago\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\u003eVerified purchase\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\"\u003eGreat, I would recommend.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eGood material, classic straight cut. I would have taken a size down, it runs a little large for me. Customer service was excellent for the return.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eWhite\u003c\/span\u003e\u003cspan\u003eRuns large\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\"\u003ePeople also bought\u003c\/p\u003e\n \u003cdiv class=\"rufus-xsell-grid\" id=\"rufus-xsell-grid\"\u003e\n  \u003cdiv class=\"rufus-xsell-loading\"\u003eLoading recommendations…\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\"\u003eView →\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":"NAVY BLUE \/ XS","offer_id":50089082880338,"sku":"U-CRU-NAV-AB-RG-XS","price":75.0,"currency_code":"EUR","in_stock":false},{"title":"NAVY BLUE \/ S","offer_id":50089082913106,"sku":"U-CRU-NAV-AB-RG-S","price":75.0,"currency_code":"EUR","in_stock":false},{"title":"NAVY BLUE \/ M","offer_id":50089082945874,"sku":"U-CRU-NAV-AB-RG-M","price":75.0,"currency_code":"EUR","in_stock":false},{"title":"NAVY BLUE \/ L","offer_id":50089082978642,"sku":"U-CRU-NAV-AB-RG-L","price":75.0,"currency_code":"EUR","in_stock":false},{"title":"NAVY BLUE \/ XL","offer_id":50089083011410,"sku":"U-CRU-NAV-AB-RG-XL","price":75.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/rufusparis_sweatshirtcapuche_bleumarineh.jpg?v=1701463018"},{"product_id":"liconique-amour-bleu-gris-brode-blanc-ancienne-co","title":"The Iconic \"Love.\" blue-grey with white embroidery","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:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));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.25;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:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.12);display:inline-block;flex-shrink:0}\n.rufus-sib-dot-multi{background:conic-gradient(#b7c3d6,#1b2640,#f4ede0,#0d0d0d,#d77a99)}\n.rufus-sib-card.is-selected .rufus-sib-dot{border-color:rgba(255,255,255,.35)}\n.rufus-sib-lbl{font-weight:500}\n.rufus-sib-lbl small{font-weight:400;opacity:.65;font-size:11px}\n\u003c\/style\u003e\n\u003cdiv class=\"rufus-sib-wrap\"\u003e\n\u003cp class=\"rufus-sib-title\"\u003eChoose color\u003c\/p\u003e\n\u003cdiv class=\"rufus-sib-row\"\u003e\n\u003ca href=\"\/en\/products\/liconique-sweat-brode-amour\" class=\"rufus-sib-card\" aria-label=\"All classic colors\"\u003e\n\u003cspan class=\"rufus-sib-dot rufus-sib-dot-multi\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eClassic version · 5 colors\u003cbr\u003e\u003csmall\u003e5 classic colors\u003c\/small\u003e\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-hibiscus-brode-blanc-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Burgundy · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#7a1e2b;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eBurgundy · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-gris-chine-brode-bleu-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Heather Grey · blue thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#9a9a9a;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eHeather Grey · blue thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-rouge-brode-blanc-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Red · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#b71d2c;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eRed · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-bleu-gris-brode-blanc-ancienne-co-1\" class=\"rufus-sib-card\" aria-label=\"Turquoise Blue · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#3ea9c0;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eTurquoise Blue · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-bleu-gris-brode-blanc-ancienne-co\" class=\"rufus-sib-card is-selected\" aria-label=\"Blue Grey · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#7f8fa0;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eBlue Grey · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-bleu-marine-brode-blanc-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Navy Blue · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#1b2640;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eNavy Blue · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-bleu-marine-brode-rose-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Navy Blue · pink thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:linear-gradient(135deg,#1b2640 50%,#d77a99 50%);\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eNavy Blue · pink thread\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=\"Customer reviews\"\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\u003eBased on 14,000+ customers since 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\u003eEmbroidered in Paris\u003c\/b\u003eFrench workshop\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\u003eShipped in 24h\u003c\/b\u003eColissimo tracking\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\u003eLifetime embroidery\u003c\/b\u003eFree guarantee\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 interest-free\u003c\/b\u003eFrom 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\"\u003eAdd to cart\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 = 'Only '+inv+' left in 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 = [\"just now\",'2 minutes ago','5 minutes ago','8 minutes ago','12 minutes ago','17 minutes ago'];\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+' in '+p.c;\n   whereEl.textContent = 'just added '+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 item\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003eFull Price\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd to cart\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 items\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−12%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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 items\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−20%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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\"\u003eBest offer\u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e4 items+\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\"\u003eFree shipping\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eFree gift wrapping\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 4\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-note\"\u003eAutomatic discounts at checkout. Gift wrapping included from 4 items.\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(\"Please select a size.\"); 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=\"\/en\/cart\"; })\n      .catch(function(err){\n        card.classList.remove('is-loading');\n        var msg = (err \u0026\u0026 err.description) || \"Could not add item. Please check the selected size.\";\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\"\u003eThe sweatshirt you'll keep for ten years.\u003c\/h2\u003e\n\u003cdiv class=\"rf-hero-copy\"\u003e\n\u003cp\u003eA 380 gsm fleece cotton, soft on the inside, dense on the outside. A loose fit without being baggy. Ribbed edges that keep their shape wash after wash.\u003c\/p\u003e\n\u003cp\u003eEmbroidered or printed, always in France. Paris workshop. Waxed thread for embroidery, water-based ink for printing. It holds up, it breathes.\u003c\/p\u003e\n\u003cp\u003eUnder a jacket. Over a tee. Alone with joggers.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-bullets\"\u003eEmbroidered or printed in Paris · 380 gsm cotton · Lifetime embroidery guarantee\u003c\/div\u003e\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\u003eMaterial \u0026 manufacturing\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eCombed cotton of European origin. Dense, soft feel. Embroidered or hand-printed in our Parisian workshop. Tight stitch, waxed thread, water-based ink. No outsourcing.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eCare instructions\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eWash at 30 degrees inside out. Air dry. Iron inside out. Do not tumble dry. Do not bleach. The more the item is washed, the softer it becomes.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eDelivery and returns\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eShipped within 48 business hours from Paris. Returns within 30 days, unworn item, intact labels. Easy size exchange.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eEmbroidery guaranteed for life\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eThe embroidery lasts. If it ever comes undone, we'll redo it. For free. In our Parisian workshop. You send a photo, we take care of the rest.\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 verified reviews\u003c\/b\u003e · 92% recommend\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\"\u003e2 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eThe perfect cut.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eAmazing quality. The cotton is thick, the embroidery is perfect. I've worn it 15 times since January, no signs of wear. I'm getting two more colors.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eNavy Blue\u003c\/span\u003e\u003cspan\u003eUsual size 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\"\u003e1 month ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eLoyal since 2018.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eFifth purchase. Nothing to say. It's serious, French-made, and it lasts. Other brands feel cheap in comparison.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eCream\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\"\u003e3 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eGreat gift.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eGiven to my boyfriend for his birthday. He hasn't taken it off since. The box is neat, and the handwritten note is a nice touch.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eBlack\u003c\/span\u003e\u003cspan\u003eGift\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\"\u003e5 weeks ago\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\u003eVerified purchase\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\"\u003eGreat, I would recommend.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eGood material, classic straight cut. I would have taken one size smaller, it runs a bit large for me. Customer service was great with the return.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eWhite\u003c\/span\u003e\u003cspan\u003eRuns large\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\"\u003ePeople also bought\u003c\/p\u003e\n \u003cdiv class=\"rufus-xsell-grid\" id=\"rufus-xsell-grid\"\u003e\n  \u003cdiv class=\"rufus-xsell-loading\"\u003eLoading recommendations…\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\"\u003eSee →\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":"BLUE GREY \/ XS","offer_id":50089120268626,"sku":"U-CHA-MON-AI-BL-XS","price":65.0,"currency_code":"EUR","in_stock":true},{"title":"BLUE GREY \/ S","offer_id":50089120301394,"sku":"U-CHA-MON-AI-BL-S","price":65.0,"currency_code":"EUR","in_stock":false},{"title":"BLUE GREY \/ M","offer_id":50089120334162,"sku":"U-CHA-MON-AI-BL-M","price":65.0,"currency_code":"EUR","in_stock":true},{"title":"BLUE GREY \/ L","offer_id":50089120366930,"sku":"U-CHA-MON-AI-BL-L","price":65.0,"currency_code":"EUR","in_stock":false},{"title":"BLUE GREY \/ XL","offer_id":50089120399698,"sku":"U-CHA-MON-AI-BL-XL","price":65.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/rufusparis_sweatshirtcolrond_monsterah.jpg?v=1701463196"},{"product_id":"liconique-amour-bleu-gris-brode-blanc-ancienne-co-1","title":"The iconic turquoise blue \"Love\" embroidered in white","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:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));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.25;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:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.12);display:inline-block;flex-shrink:0}\n.rufus-sib-dot-multi{background:conic-gradient(#b7c3d6,#1b2640,#f4ede0,#0d0d0d,#d77a99)}\n.rufus-sib-card.is-selected .rufus-sib-dot{border-color:rgba(255,255,255,.35)}\n.rufus-sib-lbl{font-weight:500}\n.rufus-sib-lbl small{font-weight:400;opacity:.65;font-size:11px}\n\u003c\/style\u003e\n\u003cdiv class=\"rufus-sib-wrap\"\u003e\n\u003cp class=\"rufus-sib-title\"\u003eChoose color\u003c\/p\u003e\n\u003cdiv class=\"rufus-sib-row\"\u003e\n\u003ca href=\"\/en\/products\/liconique-sweat-brode-amour\" class=\"rufus-sib-card\" aria-label=\"All classic colors\"\u003e\n\u003cspan class=\"rufus-sib-dot rufus-sib-dot-multi\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eClassic Version · 5 colors\u003cbr\u003e\u003csmall\u003e5 classic colors\u003c\/small\u003e\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-hibiscus-brode-blanc-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Burgundy · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#7a1e2b;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eBurgundy · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-gris-chine-brode-bleu-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Heather Grey · blue thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#9a9a9a;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eHeather Grey · blue thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-rouge-brode-blanc-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Red · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#b71d2c;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eRed · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-bleu-gris-brode-blanc-ancienne-co-1\" class=\"rufus-sib-card is-selected\" aria-label=\"Turquoise Blue · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#3ea9c0;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eTurquoise Blue · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-bleu-gris-brode-blanc-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Grey Blue · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#7f8fa0;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eGrey Blue · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-bleu-marine-brode-blanc-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Navy Blue · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#1b2640;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eNavy Blue · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-bleu-marine-brode-rose-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Navy Blue · pink thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:linear-gradient(135deg,#1b2640 50%,#d77a99 50%);\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eNavy Blue · pink thread\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=\"Customer rating\"\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\u003eBased on 14,000+ customers since 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\u003eEmbroidered in Paris\u003c\/b\u003eFrench workshop\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\u003eShipped in 24h\u003c\/b\u003eColissimo tracking\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\u003eLifetime embroidery\u003c\/b\u003eFree guarantee\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 interest-free\u003c\/b\u003eFrom 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\"\u003eAdd to Cart\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 = 'Only '+inv+' left in 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:'The Basic'},\n   {n:'Julie',c:'Lyon',p:\"The Iconic\"},\n   {n:'Thomas',c:'Bordeaux',p:'The Classic'},\n   {n:'Emma',c:'Marseille',p:'Pack of 2'},\n   {n:'Nicolas',c:'Toulouse',p:\"The Timeless\"},\n   {n:'Camille',c:'Nantes',p:'The Beanie'},\n   {n:'Hugo',c:'Strasbourg',p:'The Basic'},\n   {n:'Léa',c:'Lille',p:'Pack of 3'},\n   {n:'Antoine',c:'Rennes',p:\"The Iconic\"},\n   {n:'Sarah',c:'Nice',p:'The Classic'},\n   {n:'Paul',c:'Montpellier',p:'Pack of 2'},\n   {n:'Chloé',c:'Annecy',p:'The Beanie'}\n  ];\n  var times = [\"just now\",'2 min ago','5 min ago','8 min ago','12 min ago','17 min ago'];\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+' from '+p.c;\n   whereEl.textContent = 'just added '+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 item\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003eFull Price\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd\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 items\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−12%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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 items\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−20%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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\"\u003eBest Offer\u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e4 items+\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\"\u003eFree delivery\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eFree gift wrapping\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 4\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-note\"\u003eAutomatic discounts at checkout. Gift wrapping included from 4 items.\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(\"Select a size.\"); 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=\"\/en\/cart\"; })\n      .catch(function(err){\n        card.classList.remove('is-loading');\n        var msg = (err \u0026\u0026 err.description) || \"Unable to add. Check the selected size.\";\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\"\u003eThe sweatshirt you'll keep for ten years.\u003c\/h2\u003e\n\u003cdiv class=\"rf-hero-copy\"\u003e\n\u003cp\u003eA 380 gsm brushed cotton, soft on the inside, dense on the outside. A roomy fit without being baggy. Ribbed cuffs that retain their shape wash after wash.\u003c\/p\u003e\n\u003cp\u003eEmbroidery or print, always French. Paris workshop. Waxed thread for embroidery, water-based ink for printing. It lasts, it breathes.\u003c\/p\u003e\n\u003cp\u003eUnder a jacket. Over a tee. Alone with joggers.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-bullets\"\u003eEmbroidered or printed in Paris · 380 gsm cotton · Lifetime embroidery guarantee\u003c\/div\u003e\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\u003eMaterial and manufacturing\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eCombed cotton of European origin. Dense weave, soft touch. Hand-embroidered or printed in our Parisian workshop. Tight stitching, waxed thread, water-based ink. No subcontracting.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eCare\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eWash at 30 degrees inside out. Air dry. Iron inside out. Do not tumble dry. Do not bleach. The more the item is washed, the softer it becomes.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eDelivery and returns\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eDispatched within 48 business hours from Paris. Returns within 30 days, unworn item, intact labels. Easy size exchange.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eLifetime embroidery guarantee\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eThe embroidery holds up. If it ever comes undone, we'll redo it. Free of charge. In our Parisian workshop. You send a photo, we take care of the rest.\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 verified reviews\u003c\/b\u003e · 92% recommend\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\"\u003e2 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eThe perfect fit.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eAmazing quality. The cotton is thick, the embroidery is flawless. I've worn it 15 times since January, no marks. I'm getting two more colors.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eNavy Blue\u003c\/span\u003e\u003cspan\u003eUsual size 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\"\u003e1 month ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eLoyal since 2018.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eFifth purchase. Nothing to say. It's serious, French-made, and it lasts. Other brands look cheap next to it.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eCream\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\"\u003e3 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eA great gift.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eGiven to my boyfriend for his birthday. He hasn't taken it off since. The box is neat, the handwritten note is a lovely touch.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eBlack\u003c\/span\u003e\u003cspan\u003eGift\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\"\u003e5 weeks ago\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\u003eVerified purchase\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\"\u003eGreat, I would recommend.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eGood material, classic straight cut. I would have taken a size down, it runs a bit large for me. Customer service for returns was excellent.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eWhite\u003c\/span\u003e\u003cspan\u003eRuns large\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\"\u003ePeople also bought\u003c\/p\u003e\n \u003cdiv class=\"rufus-xsell-grid\" id=\"rufus-xsell-grid\"\u003e\n  \u003cdiv class=\"rufus-xsell-loading\"\u003eLoading recommendations…\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":"GRAY \/ XS","offer_id":50101737914706,"sku":"U-CRU-GRE-BB-RG-XS","price":75.0,"currency_code":"EUR","in_stock":false},{"title":"GRAY \/ S","offer_id":50101737947474,"sku":"U-CRU-GRE-BB-RG-S","price":75.0,"currency_code":"EUR","in_stock":true},{"title":"GRAY \/ M","offer_id":50101737980242,"sku":"U-CRU-GRE-BB-RG-M","price":75.0,"currency_code":"EUR","in_stock":false},{"title":"GRAY \/ L","offer_id":50101738013010,"sku":"U-CRU-GRE-BB-RG-L","price":75.0,"currency_code":"EUR","in_stock":false},{"title":"GRAY \/ XL","offer_id":50101738045778,"sku":"U-CRU-GRE-BB-RG-XL","price":75.0,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/Sweat_rufusparis_gris_bisou.jpg?v=1697973175"},{"product_id":"le-basique-t-shirt-brode-amour","title":"Le Basique · \"Love.\" Embroidered T-Shirt","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=\"Customer rating\"\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\u003eBased on 14,000+ customers since 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\u003eEmbroidered in Paris\u003c\/b\u003eFrench workshop\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\u003eShipped in 24h\u003c\/b\u003eTracked Colissimo\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\u003eLifetime Embroidery\u003c\/b\u003eFree Guarantee\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 interest-free\u003c\/b\u003eFrom 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\"\u003eAdd\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 = 'Only '+inv+' left in 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:'The Basic'},\n   {n:'Julie',c:'Lyon',p:\"The Iconic\"},\n   {n:'Thomas',c:'Bordeaux',p:'The Classic'},\n   {n:'Emma',c:'Marseille',p:'Pack of 2'},\n   {n:'Nicolas',c:'Toulouse',p:\"The Timeless\"},\n   {n:'Camille',c:'Nantes',p:'The Beanie'},\n   {n:'Hugo',c:'Strasbourg',p:'The Basic'},\n   {n:'Léa',c:'Lille',p:'Pack of 3'},\n   {n:'Antoine',c:'Rennes',p:\"The Iconic\"},\n   {n:'Sarah',c:'Nice',p:'The Classic'},\n   {n:'Paul',c:'Montpellier',p:'Pack of 2'},\n   {n:'Chloé',c:'Annecy',p:'The Beanie'}\n  ];\n  var times = [\"just now\",'2 min ago','5 min ago','8 min ago','12 min ago','17 min ago'];\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+' from '+p.c;\n   whereEl.textContent = 'just added '+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 item\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003eFull Price\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 1\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 items\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−12%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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 items\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−20%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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\"\u003eBest Offer\u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e4 items+\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\"\u003eFree shipping\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eFree gift packaging\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 4\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-note\"\u003eDiscounts applied automatically at checkout. Gift packaging included for 4 items or more.\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(\"Select a size.\"); 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=\"\/en\/cart\"; })\n      .catch(function(err){\n        card.classList.remove('is-loading');\n        var msg = (err \u0026\u0026 err.description) || \"Could not add to cart. Please check the selected size.\";\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\"\u003eThe t-shirt that works for itself.\u003c\/h2\u003e\n\u003cdiv class=\"rf-hero-copy\"\u003e\n\u003cp\u003eA straight cut. A ribbed 1x1 collar that holds. A 240 gsm combed cotton dense enough to drape properly, soft enough to wear next to the skin.\u003c\/p\u003e\n\u003cp\u003eThe embroidery is handmade in our Parisian workshop. Waxed thread, tight stitch. It doesn't give out. If one day it does, we'll redo it.\u003c\/p\u003e\n\u003cp\u003eOver jeans. Under a shirt. With nothing else.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-bullets\"\u003eEmbroidered in Paris · 240 gsm combed cotton · Lifetime embroidery guarantee\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\u003eMaterial and manufacturing\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eCombed cotton of European origin. Dense density, soft touch. Embroidered or printed by hand in our Parisian workshop. Tight stitch, waxed thread, water-based ink. No outsourcing.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eCare\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eWash at 30 degrees inside out. Air dry. Iron inside out. No tumble dryer. No bleach. The more the item is washed, the softer it becomes.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eDelivery and returns\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eShipping within 48 business hours from Paris. Returns within 30 days, unworn item, intact labels. Easy size exchange.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eLifetime embroidery guarantee\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eThe embroidery holds. If it ever gives out, we'll redo it. For free. In our Parisian workshop. You send a photo, we'll take care of the rest.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003c\/div\u003e\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 verified reviews\u003c\/b\u003e · 92% recommend\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\"\u003e2 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eThe perfect cut.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eAmazing quality. The cotton is thick, the embroidery is perfect. I've worn it 15 times since January, no marks. I'm getting two more colors.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eNavy Blue\u003c\/span\u003e\u003cspan\u003eUsually wears 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\"\u003e1 month ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eLoyal since 2018.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eFifth purchase. Nothing to say. It's serious, French-made, and it lasts. Other brands feel cheap in comparison.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eCream\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\"\u003e3 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eAwesome gift.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eGave it to my boyfriend for his birthday. He hasn't taken it off since. The box is neat, and the handwritten note is a nice touch.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eBlack\u003c\/span\u003e\u003cspan\u003eGift\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\"\u003e5 weeks ago\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\u003eVerified purchase\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\"\u003eGreat, I would recommend.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eGood material, classic straight cut. I would have taken one size down, it runs a bit big for me. Customer service for returns was excellent.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eWhite\u003c\/span\u003e\u003cspan\u003eRuns large\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\"\u003ePeople also bought\u003c\/p\u003e\n \u003cdiv class=\"rufus-xsell-grid\" id=\"rufus-xsell-grid\"\u003e\n  \u003cdiv class=\"rufus-xsell-loading\"\u003eLoading recommendations…\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\"\u003eView →\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":"WHITE \/ XS","offer_id":53199427174738,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ S","offer_id":53199427207506,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ M","offer_id":53199427240274,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ L","offer_id":53199427273042,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ XL","offer_id":53199427305810,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ XS","offer_id":53199427338578,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ S","offer_id":53199427371346,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ M","offer_id":53199427404114,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ L","offer_id":53199427436882,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ XL","offer_id":53199427469650,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"NAVY BLUE \/ XS","offer_id":53199427502418,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"NAVY BLUE \/ S","offer_id":53199427535186,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"NAVY BLUE \/ M","offer_id":53199427567954,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"NAVY BLUE \/ L","offer_id":53199427600722,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"NAVY BLUE \/ XL","offer_id":53199427633490,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLACK \/ XS","offer_id":53199427666258,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLACK \/ S","offer_id":53199427699026,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLACK \/ M","offer_id":53199427731794,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLACK \/ L","offer_id":53199427764562,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"BLACK \/ XL","offer_id":53199427797330,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"PINK \/ XS","offer_id":53199427830098,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"PINK \/ S","offer_id":53199427862866,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"PINK \/ M","offer_id":53199427895634,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"PINK \/ L","offer_id":53199427928402,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ 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":"The Essential — \"Amour.\" Embroidered T-Shirt","description":"\u003cp\u003eThe signature Rufus Paris women's t-shirt. Loose fit, 240 gsm jersey. \"Amour.\" hand embroidery. Available in 2 colors.\u003c\/p\u003e","brand":"Rufus Paris","offers":[{"title":"WHITE \/ XS","offer_id":53199431172434,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ S","offer_id":53199431205202,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ M","offer_id":53199431237970,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ L","offer_id":53199431270738,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"WHITE \/ XL","offer_id":53199431303506,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"PINK \/ XS","offer_id":53199431336274,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"PINK \/ S","offer_id":53199431369042,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"PINK \/ M","offer_id":53199431401810,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ L","offer_id":53199431434578,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ 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"},{"product_id":"liconique-sweat-brode-amour","title":"The Iconic · Embroidered \"Amour.\" Sweatshirt","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:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));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.25;transition:border-color .15s}\n.rufus-sib-card:hover{border-color:#111}\n.rufus-sib-dot{width:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.12);display:inline-block;flex-shrink:0}\n.rufus-sib-lbl{font-weight:500}\n\u003c\/style\u003e\n\u003cdiv class=\"rufus-sib-wrap\"\u003e\n\u003cp class=\"rufus-sib-title\"\u003eRare colors · limited edition\u003c\/p\u003e\n\u003cdiv class=\"rufus-sib-row\"\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-hibiscus-brode-blanc-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Burgundy · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#7a1e2b;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eBurgundy · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-gris-chine-brode-bleu-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Heather gray · blue thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#9a9a9a;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eHeather gray · blue thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-rouge-brode-blanc-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Red · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#b71d2c;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eRed · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-bleu-gris-brode-blanc-ancienne-co-1\" class=\"rufus-sib-card\" aria-label=\"Turquoise Blue · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#3ea9c0;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eTurquoise Blue · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-bleu-gris-brode-blanc-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Gray Blue · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#7f8fa0;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eGray Blue · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-bleu-marine-brode-blanc-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Navy Blue · white thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#1b2640;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eNavy Blue · white thread\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/liconique-amour-bleu-marine-brode-rose-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Navy Blue · pink thread\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:linear-gradient(135deg,#1b2640 50%,#d77a99 50%);\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eNavy Blue · pink thread\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=\"Customer rating\"\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\u003eBased on 14,000+ customers since 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\u003eEmbroidered in Paris\u003c\/b\u003eFrench workshop\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\u003eShipped in 24h\u003c\/b\u003eColissimo tracking\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\u003eLifetime embroidery\u003c\/b\u003eFree warranty\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 interest-free\u003c\/b\u003eFrom €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\"\u003eAdd\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 piece\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003eFull price\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd\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 pieces\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−12%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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 pieces\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−20%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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\"\u003eBest offer\u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e4 pieces+\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\"\u003eFree shipping\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eFree gift wrapping\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 4\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-note\"\u003eAutomatic discounts applied at checkout. Gift wrapping included for 4+ items.\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=\"\/en\/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\"\u003eThe sweatshirt you'll keep for ten years.\u003c\/h2\u003e\n\u003cdiv class=\"rf-hero-copy\"\u003e\n\u003cp\u003e380 gsm fleece-back cotton, soft on the inside, dense on the outside. A loose fit without being baggy. Ribbed cuffs that retain their shape wash after wash.\u003c\/p\u003e\n\u003cp\u003eEmbroidery or print, always French. Paris workshop. Waxed thread for embroidered items, water-based ink for printed items. It lasts, it breathes.\u003c\/p\u003e\n\u003cp\u003eUnder a jacket. Over a tee. Alone with joggers.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-bullets\"\u003eEmbroidered or printed in Paris · 380 gsm cotton · Lifetime embroidery warranty\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\u003eMaterial and manufacturing\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eCombed cotton of European origin. Dense density, soft feel. Hand-embroidered or printed in our Parisian workshop. Tight stitch, waxed thread, water-based ink. No subcontracting.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eCare\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eWash inside out at 30 degrees. Air dry. Iron inside out. Do not tumble dry. Do not bleach. The more the item is washed, the softer it becomes.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eDelivery and returns\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eShipped within 48 business hours from Paris. Returns within 30 days, unworn item, tags intact. Easy size exchange.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eLifetime embroidery guarantee\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eThe embroidery holds. If it ever comes undone, we'll redo it. For free. In our Parisian workshop. You send us a photo, we take care of the rest.\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 verified reviews\u003c\/b\u003e · 92% recommend\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\"\u003e2 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eThe perfect fit.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eAmazing quality. The cotton is thick, the embroidery is perfect. I've worn it 15 times since January, no issues. I'm buying two more colors.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eNavy Blue\u003c\/span\u003e\u003cspan\u003eUsually wears 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\"\u003e1 month ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eA loyal customer since 2018.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eFifth purchase. Nothing to complain about. It's serious, French-made, and lasts. Other brands feel cheap in comparison.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eCream\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\"\u003e3 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eA gift that hits the mark.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eBought for my boyfriend's birthday. He hasn't taken it off since. The box is well-made, and the handwritten note is a nice touch.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eBlack\u003c\/span\u003e\u003cspan\u003eGift\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\"\u003e5 weeks ago\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\u003eVerified purchase\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\"\u003eGreat, I would recommend.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eGood material, classic straight cut. I would have taken a size smaller, it runs a little large for me. Customer service was excellent with the return.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eWhite\u003c\/span\u003e\u003cspan\u003eRuns large\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\"\u003ePeople also bought\u003c\/p\u003e\n \u003cdiv class=\"rufus-xsell-grid\" id=\"rufus-xsell-grid\"\u003e\n  \u003cdiv class=\"rufus-xsell-loading\"\u003eLoading recommendations…\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\"\u003eSee →\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":"NAVY BLUE \/ XS","offer_id":53199506964818,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"NAVY BLUE \/ S","offer_id":53199506997586,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"NAVY BLUE \/ M","offer_id":53199507030354,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"NAVY BLUE \/ L","offer_id":53199507063122,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"NAVY BLUE \/ XL","offer_id":53199507095890,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ XS","offer_id":53199507128658,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ S","offer_id":53199507161426,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ M","offer_id":53199507194194,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ L","offer_id":53199507226962,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ XL","offer_id":53199507259730,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"BLACK \/ XS","offer_id":53199507292498,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"BLACK \/ S","offer_id":53199507325266,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"BLACK \/ M","offer_id":53199507358034,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":false},{"title":"BLACK \/ L","offer_id":53199507390802,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":false},{"title":"BLACK \/ XL","offer_id":53199507423570,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ XS","offer_id":53199507456338,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"PINK \/ S","offer_id":53199507489106,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"PINK \/ M","offer_id":53199507521874,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"PINK \/ L","offer_id":53199507554642,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"PINK \/ XL","offer_id":53199507587410,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"FIR GREEN \/ XS","offer_id":53199507620178,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"FIR GREEN \/ S","offer_id":53199507652946,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"FIR GREEN \/ M","offer_id":53199507685714,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"FIR GREEN \/ L","offer_id":53199507718482,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"FIR GREEN \/ XL","offer_id":53199507751250,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/fix3_sq_48b67128-0b33-4c23-bea0-471954877305.jpg?v=1783955497"},{"product_id":"le-classique-sweat-imprime-amour","title":"The Classic · \"Love.\" Print Sweatshirt","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:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));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.25;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:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.12);display:inline-block;flex-shrink:0}\n.rufus-sib-dot-multi{background:conic-gradient(#b7c3d6,#1b2640,#f4ede0,#7f8fa0,#2d4a36,#e3a9a0,#d1d87a)}\n.rufus-sib-card.is-selected .rufus-sib-dot{border-color:rgba(255,255,255,.35)}\n.rufus-sib-lbl{font-weight:500}\n.rufus-sib-lbl small{font-weight:400;opacity:.65;font-size:11px}\n\u003c\/style\u003e\n\u003cdiv class=\"rufus-sib-wrap\"\u003e\n\u003cp class=\"rufus-sib-title\"\u003eRare colors · limited edition\u003c\/p\u003e\n\u003cdiv class=\"rufus-sib-row\"\u003e\n\u003ca href=\"\/en\/products\/le-classique-amour-bordeaux-imprime-blanc-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Bordeaux · white logo\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#7a1e2b;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eBordeaux · white logo\u003c\/span\u003e\n\u003c\/a\u003e\n\u003ca href=\"\/en\/products\/le-classique-amour-sapin-imprime-blanc-ancienne-co\" class=\"rufus-sib-card\" aria-label=\"Fir Green · white logo\"\u003e\n\u003cspan class=\"rufus-sib-dot\" style=\"background:#2d4a36;\"\u003e\u003c\/span\u003e\n\u003cspan class=\"rufus-sib-lbl\"\u003eFir Green · white logo\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=\"Customer rating\"\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\u003eBased on 14,000+ customers since 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\u003eEmbroidered in Paris\u003c\/b\u003eFrench workshop\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\u003eShipped in 24h\u003c\/b\u003eColissimo tracking\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\u003eLifetime embroidery\u003c\/b\u003eFree guarantee\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 interest-free\u003c\/b\u003eFrom 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\"\u003eAdd to cart\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 = 'Only '+inv+' left in 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:'The Basic'},\n   {n:'Julie',c:'Lyon',p:'The Iconic'},\n   {n:'Thomas',c:'Bordeaux',p:'The Classic'},\n   {n:'Emma',c:'Marseille',p:'Pack of 2'},\n   {n:'Nicolas',c:'Toulouse',p:'The Timeless'},\n   {n:'Camille',c:'Nantes',p:'The Beanie'},\n   {n:'Hugo',c:'Strasbourg',p:'The Basic'},\n   {n:'Léa',c:'Lille',p:'Pack of 3'},\n   {n:'Antoine',c:'Rennes',p:'The Iconic'},\n   {n:'Sarah',c:'Nice',p:'The Classic'},\n   {n:'Paul',c:'Montpellier',p:'Pack of 2'},\n   {n:'Chloé',c:'Annecy',p:'The Beanie'}\n  ];\n  var times = [\"just now\",'2 min ago','5 min ago','8 min ago','12 min ago','17 min ago'];\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+' in '+p.c;\n   whereEl.textContent = 'just added '+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 piece\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003eFull Price\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd to cart\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 pieces\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−12%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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 pieces\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−20%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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\"\u003eBest Offer\u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e4 pieces+\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\"\u003eFree shipping\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eFree gift wrapping\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 4\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-note\"\u003eAutomatic discounts at checkout. Gift wrapping included with 4 pieces or more.\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(\"Please select a size.\"); 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=\"\/en\/cart\"; })\n      .catch(function(err){\n        card.classList.remove('is-loading');\n        var msg = (err \u0026\u0026 err.description) || \"Could not add. Please check the selected size.\";\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\"\u003eThe sweatshirt you'll keep for ten years.\u003c\/h2\u003e\n\u003cdiv class=\"rf-hero-copy\"\u003e\n\u003cp\u003eA 380 gsm brushed cotton, soft inside, dense outside. A loose fit without being baggy. Ribbed cuffs that keep their shape wash after wash.\u003c\/p\u003e\n\u003cp\u003eEmbroidery or print, always French. Paris workshop. Waxed thread for embroidery, water-based ink for print. It holds, it breathes.\u003c\/p\u003e\n\u003cp\u003eUnder a jacket. Over a tee. Alone with sweatpants.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-bullets\"\u003eEmbroidered or printed in Paris · 380 gsm cotton · Lifetime embroidery guarantee\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\u003eMaterial and manufacturing\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eCombed cotton of European origin. Dense density, soft touch. Hand-embroidered or printed in our Parisian workshop. Tight stitch, waxed thread, water-based ink. No outsourcing.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eCare instructions\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eWash at 30 degrees inside out. Air dry. Iron inside out. Do not tumble dry. Do not bleach. The more the item is washed, the softer it becomes.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eDelivery and returns\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eShipping within 48 working hours from Paris. Returns within 30 days, unworn item, tags intact. Easy size exchange.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eLifetime embroidery guarantee\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eThe embroidery lasts. If it ever comes undone, we'll redo it. Free of charge. In our Parisian workshop. You send a photo, we'll take care of the rest.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003c\/div\u003e\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 verified reviews\u003c\/b\u003e · 92% recommend\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\"\u003e2 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eThe perfect cut.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eAmazing quality. The cotton is thick, the embroidery is perfect. I've worn it 15 times since January, no marks. I'm buying two more colors.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eNavy Blue\u003c\/span\u003e\u003cspan\u003eUsually wears 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\"\u003e1 month ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eLoyal since 2018.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eFifth purchase. Nothing to say. It's serious, French, and it lasts. Other brands next to it feel cheap.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eCream\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\"\u003e3 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eKiller gift.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eGiven to my boyfriend for his birthday. He hasn't taken it off since. The box is neat, the handwritten note is a nice touch.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eBlack\u003c\/span\u003e\u003cspan\u003eGift\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\"\u003e5 weeks ago\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\u003eVerified purchase\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\"\u003eGreat, I would recommend.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eGood material, classic straight cut. I would have taken one size smaller, it's a bit large for me. Customer service was great for the return.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eWhite\u003c\/span\u003e\u003cspan\u003eRuns large\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\"\u003ePeople also bought\u003c\/p\u003e\n \u003cdiv class=\"rufus-xsell-grid\" id=\"rufus-xsell-grid\"\u003e\n  \u003cdiv class=\"rufus-xsell-loading\"\u003eLoading recommendations…\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\"\u003eView →\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":"DUCK BLUE \/ XS","offer_id":53199508603218,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"DUCK BLUE \/ S","offer_id":53199508635986,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"DUCK BLUE \/ M","offer_id":53199508668754,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":false},{"title":"DUCK BLUE \/ L","offer_id":53199508701522,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"DUCK BLUE \/ XL","offer_id":53199508734290,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"BLUE GREY \/ XS","offer_id":53199508767058,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":false},{"title":"BLUE GREY \/ S","offer_id":53199508799826,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"BLUE GREY \/ M","offer_id":53199508832594,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"BLUE GREY \/ L","offer_id":53199508865362,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"BLUE GREY \/ XL","offer_id":53199508898130,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"BLUE \/ XS","offer_id":53199508930898,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"BLUE \/ S","offer_id":53199508963666,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"BLUE \/ M","offer_id":53199508996434,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":false},{"title":"BLUE \/ L","offer_id":53199509029202,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"BLUE \/ XL","offer_id":53199509061970,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":false},{"title":"CANYON \/ XS","offer_id":53199509094738,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":false},{"title":"CANYON \/ S","offer_id":53199509127506,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"CANYON \/ M","offer_id":53199509160274,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":false},{"title":"CANYON \/ L","offer_id":53199509193042,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"CANYON \/ XL","offer_id":53199509225810,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ XS","offer_id":53199509258578,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":false},{"title":"CREAM \/ S","offer_id":53199509291346,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":false},{"title":"CREAM \/ M","offer_id":53199509324114,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ L","offer_id":53199509356882,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ XL","offer_id":53199509389650,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"LAVENDER \/ XS","offer_id":53199509422418,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"LAVENDER \/ S","offer_id":53199509455186,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"LAVENDER \/ M","offer_id":53199509487954,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"LAVENDER \/ L","offer_id":53199509520722,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"LAVENDER \/ XL","offer_id":53199509553490,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":false},{"title":"APPLE \/ XS","offer_id":53199509586258,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":false},{"title":"APPLE \/ S","offer_id":53199509619026,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"APPLE \/ M","offer_id":53199509651794,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"APPLE \/ L","offer_id":53199509684562,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"APPLE \/ XL","offer_id":53199509717330,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/fix7_sq_64c2fa2e-df6d-4eef-b7f6-39331a10a2ab.jpg?v=1783955497"},{"product_id":"liconique-sweat-brode-amour-1","title":"The Iconic — \"Amour.\" Embroidered Sweatshirt","description":"\u003cp\u003eThe Rufus Paris women's hoodie. \"Amour.\" hand embroidery. Oversized fit, 380 gsm fleece. 5 colors.\u003c\/p\u003e","brand":"Rufus Paris","offers":[{"title":"NAVY BLUE \/ XS","offer_id":53199512535378,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"NAVY BLUE \/ S","offer_id":53199512568146,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"NAVY BLUE \/ M","offer_id":53199512600914,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"NAVY BLUE \/ L","offer_id":53199512633682,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"NAVY BLUE \/ XL","offer_id":53199512666450,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":false},{"title":"CREAM \/ XS","offer_id":53199512699218,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ S","offer_id":53199512731986,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ M","offer_id":53199512764754,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ L","offer_id":53199512797522,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":false},{"title":"CREAM \/ XL","offer_id":53199512830290,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":false},{"title":"BLACK \/ XS","offer_id":53199512863058,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"BLACK \/ S","offer_id":53199512895826,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"BLACK \/ M","offer_id":53199512928594,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":false},{"title":"BLACK \/ L","offer_id":53199512961362,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":false},{"title":"BLACK \/ XL","offer_id":53199512994130,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ XS","offer_id":53199513026898,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":false},{"title":"PINK \/ S","offer_id":53199513059666,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"PINK \/ M","offer_id":53199513092434,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"PINK \/ L","offer_id":53199513125202,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"PINK \/ XL","offer_id":53199513157970,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"FIR GREEN \/ XS","offer_id":53199513190738,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":false},{"title":"FIR GREEN \/ S","offer_id":53199513223506,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"FIR GREEN \/ M","offer_id":53199513256274,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":true},{"title":"FIR GREEN \/ L","offer_id":53199513289042,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":false},{"title":"FIR GREEN \/ XL","offer_id":53199513321810,"sku":null,"price":75.0,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/fix8_sq_e0096fa2-6086-43f3-8b05-8f10b173f191.jpg?v=1783955497"},{"product_id":"le-classique-sweat-imprime-amour-1","title":"The Classic — \"Amour\" Printed Sweatshirt","description":"\u003cp\u003eThe Rufus Paris women's crew neck sweatshirt. \"Amour.\" screen printing in France. 320 gsm fleece, loose fit. 7 colors.\u003c\/p\u003e","brand":"Rufus Paris","offers":[{"title":"DUCK BLUE \/ XS","offer_id":53199514141010,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"DUCK BLUE \/ S","offer_id":53199514173778,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"DUCK BLUE \/ M","offer_id":53199514206546,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":false},{"title":"DUCK BLUE \/ L","offer_id":53199514239314,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"DUCK BLUE \/ XL","offer_id":53199514272082,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":false},{"title":"BLUE GREY \/ XS","offer_id":53199514304850,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"BLUE GREY \/ S","offer_id":53199514337618,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"BLUE GREY \/ M","offer_id":53199514370386,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"BLUE GREY \/ L","offer_id":53199514403154,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"BLUE GREY \/ XL","offer_id":53199514435922,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"BLUE \/ XS","offer_id":53199514468690,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"BLUE \/ S","offer_id":53199514501458,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"BLUE \/ M","offer_id":53199514534226,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":false},{"title":"BLUE \/ L","offer_id":53199514566994,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"BLUE \/ XL","offer_id":53199514599762,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":false},{"title":"CANYON \/ XS","offer_id":53199514632530,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":false},{"title":"CANYON \/ S","offer_id":53199514665298,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"CANYON \/ M","offer_id":53199514698066,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":false},{"title":"CANYON \/ L","offer_id":53199514730834,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"CANYON \/ XL","offer_id":53199514763602,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":false},{"title":"CREAM \/ XS","offer_id":53199514796370,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ S","offer_id":53199514829138,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ M","offer_id":53199514861906,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ L","offer_id":53199514894674,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ XL","offer_id":53199514927442,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"LAVENDER \/ XS","offer_id":53199514960210,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"LAVENDER \/ S","offer_id":53199514992978,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"LAVENDER \/ M","offer_id":53199515025746,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"LAVENDER \/ L","offer_id":53199515058514,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"LAVENDER \/ XL","offer_id":53199515091282,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":false},{"title":"APPLE \/ XS","offer_id":53199515124050,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":false},{"title":"APPLE \/ S","offer_id":53199515156818,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"APPLE \/ M","offer_id":53199515189586,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"APPLE \/ L","offer_id":53199515222354,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":true},{"title":"APPLE \/ XL","offer_id":53199515255122,"sku":null,"price":65.0,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/rufusparis_sweatshirtcolrond_stargazer_b4d8e850-e54a-48b0-a21b-919a7193da05.jpg?v=1776182071"},{"product_id":"lintemporel-sweat-brode-coeur-de-rufus","title":"L'Intemporel — \"Rufus's Heart\" Embroidered Sweatshirt","description":"\u003cp\u003eThe Rufus Paris crew neck sweatshirt. Hand-embroidered \"Heart of Rufus\". Thick fleece, loose fit. 3 colors.\u003c\/p\u003e","brand":"Rufus Paris","offers":[{"title":"ALOE \/ XS","offer_id":53199533670738,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"ALOE \/ S","offer_id":53199533703506,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"ALOE \/ M","offer_id":53199533736274,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"ALOE \/ L","offer_id":53199533769042,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"ALOE \/ XL","offer_id":53199533801810,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ XS","offer_id":53199533834578,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ S","offer_id":53199533867346,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ M","offer_id":53199533900114,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ L","offer_id":53199533932882,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ XL","offer_id":53199533965650,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":false},{"title":"LAVENDER \/ XS","offer_id":53199533998418,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"LAVENDER \/ S","offer_id":53199534031186,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"LAVENDER \/ M","offer_id":53199534063954,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"LAVENDER \/ L","offer_id":53199534096722,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"LAVENDER \/ XL","offer_id":53199534129490,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/rufusparis_joggingfemme_aloe_53e4d036-4991-4086-bf85-1a0591bdc74b.jpg?v=1776182491"},{"product_id":"lintemporel-sweat-brode-coeur-de-rufus-1","title":"L'Intemporel · Embroidered Sweatshirt \"Coeur de Rufus\"","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=\"Customer rating\"\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\u003eBased on 14,000+ customers since 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\u003eEmbroidered in Paris\u003c\/b\u003eFrench workshop\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\u003eShipped in 24h\u003c\/b\u003eTracked Colissimo\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\u003eLifetime embroidery warranty\u003c\/b\u003eFree warranty\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 interest-free payments\u003c\/b\u003eFrom €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\"\u003eAdd to cart\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 = inv+' left in 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:'The Basic'},\n   {n:'Julie',c:'Lyon',p:'The Iconic'},\n   {n:'Thomas',c:'Bordeaux',p:'The Classic'},\n   {n:'Emma',c:'Marseille',p:'Pack of 2'},\n   {n:'Nicolas',c:'Toulouse',p:'The Timeless'},\n   {n:'Camille',c:'Nantes',p:'The Beanie'},\n   {n:'Hugo',c:'Strasbourg',p:'The Basic'},\n   {n:'Léa',c:'Lille',p:'Pack of 3'},\n   {n:'Antoine',c:'Rennes',p:'The Iconic'},\n   {n:'Sarah',c:'Nice',p:'The Classic'},\n   {n:'Paul',c:'Montpellier',p:'Pack of 2'},\n   {n:'Chloé',c:'Annecy',p:'The Beanie'}\n  ];\n  var times = [\"just now\",'2 min ago','5 min ago','8 min ago','12 min ago','17 min ago'];\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+' in '+p.c;\n   whereEl.textContent = 'just added '+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 piece\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003eFull Price\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 1\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 pieces\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−12%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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 pieces\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−20%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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\"\u003eBest Offer\u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e4 pieces+\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\"\u003eFree shipping\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eFree gift packaging\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 4\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-note\"\u003eAutomatic discounts at checkout. Gift packaging included for 4 pieces or more.\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(\"Select a size.\"); 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=\"\/en\/cart\"; })\n      .catch(function(err){\n        card.classList.remove('is-loading');\n        var msg = (err \u0026\u0026 err.description) || \"Unable to add. Please check the selected size.\";\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\"\u003eThe sweatshirt you'll keep for ten years.\u003c\/h2\u003e\n\u003cdiv class=\"rf-hero-copy\"\u003e\n\u003cp\u003eA brushed 380 gsm cotton, soft on the inside, dense on the outside. A relaxed fit that doesn't sag. Ribbed cuffs that retain their shape wash after wash.\u003c\/p\u003e\n\u003cp\u003eEmbroidery or print, always French. Paris workshop. Waxed thread for embroidery, water-based ink for printing. It lasts, it breathes.\u003c\/p\u003e\n\u003cp\u003eUnder a jacket. Over a tee. Alone with sweatpants.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-bullets\"\u003eEmbroidered or printed in Paris · 380 gsm cotton · Lifetime embroidery warranty\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\u003eMaterial and manufacturing\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eCombed cotton of European origin. Dense density, soft feel. Embroidered or printed by hand in our Parisian workshop. Tight stitch, waxed thread, water-based ink. No outsourcing.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eCare instructions\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eWash at 30 degrees inside out. Air dry. Iron inside out. Do not tumble dry. Do not bleach. The more the piece is washed, the softer it becomes.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eDelivery and returns\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eShipped within 48 business hours from Paris. Returns within 30 days, unworn item, intact labels. Easy size exchange.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eLifetime embroidery warranty\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eThe embroidery holds. If it ever gives out, we'll redo it. Free of charge. In our Parisian workshop. You send a photo, we take care of the rest.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003c\/div\u003e\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 verified reviews\u003c\/b\u003e · 92% recommend\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\"\u003e2 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eThe perfect fit.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eAmazing quality. The cotton is thick, the embroidery is perfect. I've worn it 15 times since January, no marks. I'm getting two more colors.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eNavy Blue\u003c\/span\u003e\u003cspan\u003eUsually wears 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\"\u003e1 month ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eLoyal since 2018.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eFifth purchase. Nothing to say. It's serious, French, and it lasts. Other brands look cheap next to it.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eCream\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\"\u003e3 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eA stunning gift.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eBought it for my boyfriend's birthday. He hasn't taken it off since. The box is neat, and the handwritten note is a nice touch.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eBlack\u003c\/span\u003e\u003cspan\u003eGift\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\"\u003e5 weeks ago\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\u003eVerified purchase\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\"\u003eGreat, I would recommend.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eGood material, classic straight cut. I would have taken one size down, it runs a bit large for me. Excellent customer service for returns.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eWhite\u003c\/span\u003e\u003cspan\u003eRuns large\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\"\u003ePeople also bought\u003c\/p\u003e\n \u003cdiv class=\"rufus-xsell-grid\" id=\"rufus-xsell-grid\"\u003e\n  \u003cdiv class=\"rufus-xsell-loading\"\u003eLoading recommendations…\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":"ALOE \/ XS","offer_id":53207594631506,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"ALOE \/ S","offer_id":53207594664274,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"ALOE \/ M","offer_id":53207594697042,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"ALOE \/ L","offer_id":53207594729810,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"ALOE \/ XL","offer_id":53207594762578,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ XS","offer_id":53207594795346,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":false},{"title":"CREAM \/ S","offer_id":53207594828114,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ M","offer_id":53207594860882,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ L","offer_id":53207594893650,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ XL","offer_id":53207594926418,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":false},{"title":"KHAKI \/ XS","offer_id":53207594959186,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":false},{"title":"KHAKI \/ S","offer_id":53207594991954,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":false},{"title":"KHAKI \/ M","offer_id":53207595024722,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":false},{"title":"KHAKI \/ L","offer_id":53207595057490,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"KHAKI \/ XL","offer_id":53207595090258,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":false},{"title":"LAVENDER \/ XS","offer_id":53207595123026,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"LAVENDER \/ S","offer_id":53207595155794,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"LAVENDER \/ M","offer_id":53207595188562,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"LAVENDER \/ L","offer_id":53207595221330,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true},{"title":"LAVENDER \/ XL","offer_id":53207595254098,"sku":null,"price":70.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/zoom_jog_rufusparis_aloe_homme-min_b857f1bd-a253-44ad-89e4-ab1c03fcdfa0.jpg?v=1776249668"},{"product_id":"le-bonnet-amour","title":"The \"Love\" Beanie.","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=\"Customer rating\"\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\u003eBased on 14,000+ customers since 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\u003eEmbroidered in Paris\u003c\/b\u003eFrench workshop\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\u003eShipped in 24h\u003c\/b\u003eColissimo tracking\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\u003eLifetime Embroidery\u003c\/b\u003eFree guarantee\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 interest-free\u003c\/b\u003eFrom €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\"\u003eAdd to Cart\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 = 'Only '+inv+' left in 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:'The Basic'},\n   {n:'Julie',c:'Lyon',p:\"The Iconic\"},\n   {n:'Thomas',c:'Bordeaux',p:'The Classic'},\n   {n:'Emma',c:'Marseille',p:'Pack of 2'},\n   {n:'Nicolas',c:'Toulouse',p:\"The Timeless\"},\n   {n:'Camille',c:'Nantes',p:'The Beanie'},\n   {n:'Hugo',c:'Strasbourg',p:'The Basic'},\n   {n:'Léa',c:'Lille',p:'Pack of 3'},\n   {n:'Antoine',c:'Rennes',p:\"The Iconic\"},\n   {n:'Sarah',c:'Nice',p:'The Classic'},\n   {n:'Paul',c:'Montpellier',p:'Pack of 2'},\n   {n:'Chloé',c:'Annecy',p:'The Beanie'}\n  ];\n  var times = [\"just now\",'2 min ago','5 min ago','8 min ago','12 min ago','17 min ago'];\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+' in '+p.c;\n   whereEl.textContent = 'just added '+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 piece\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003eFull Price\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 1\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 pieces\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−12%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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 pieces\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−20%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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\"\u003eBest Offer\u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e4 pieces+\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\"\u003eFree Delivery\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eFree Gift Wrapping\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 4\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-note\"\u003eDiscounts automatically applied at checkout. Gift wrapping included with 4 items or more.\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(\"Select a size.\"); 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=\"\/en\/cart\"; })\n      .catch(function(err){\n        card.classList.remove('is-loading');\n        var msg = (err \u0026\u0026 err.description) || \"Could not add to cart. Check selected size.\";\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\"\u003eThe beanie that stays put.\u003c\/h2\u003e\n\u003cdiv class=\"rf-hero-copy\"\u003e\n\u003cp\u003eRibbed knit, soft blended wool, thick cuff. Classic fit, neither too short nor too long. Wear it snug or relaxed, it's up to you.\u003c\/p\u003e\n\u003cp\u003eHand-embroidered, Paris workshop. Waxed thread. Lifetime guarantee on the embroidery.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-bullets\"\u003eEmbroidered in Paris · Ribbed knit · Lifetime embroidery guarantee\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\u003eMaterial and manufacturing\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eCombed cotton of European origin. Dense, soft touch. Hand-embroidered or printed in our Parisian workshop. Tight stitching, waxed thread, water-based ink. No outsourcing.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eCare instructions\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eWash at 30 degrees inside out. Air dry. Iron inside out. Do not tumble dry. Do not bleach. The more the piece is washed, the softer it becomes.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eShipping and returns\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eShipment within 48 business hours from Paris. Returns within 30 days, unworn item, tags intact. Easy size exchange.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eLifetime embroidery guarantee\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eThe embroidery holds. If it ever loosens, we'll redo it. Free of charge. In our Parisian workshop. You send a photo, we'll take care of the rest.\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 verified reviews\u003c\/b\u003e · 92% recommend\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\"\u003e2 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eThe perfect cut.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eAmazing quality. The cotton is thick, the embroidery is perfect. I've worn it 15 times since January, no signs of wear. I'm getting two more colors.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eNavy Blue\u003c\/span\u003e\u003cspan\u003eUsual size 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\"\u003e1 month ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eLoyal since 2018.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eFifth purchase. Nothing to say. It's serious, French-made, and it lasts. Other brands feel cheap in comparison.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eCream\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\"\u003e3 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eA stunning gift.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eGiven to my boyfriend for his birthday. He hasn't taken it off since. The box is well-packaged, the handwritten note is a nice touch.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eBlack\u003c\/span\u003e\u003cspan\u003eGift\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\"\u003e5 weeks ago\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\u003eVerified purchase\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\"\u003eGreat, I would recommend.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eGood material, classic straight cut. I would have taken one size down, it runs a bit large for me. Excellent customer service for the return.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eWhite\u003c\/span\u003e\u003cspan\u003eRuns large\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\"\u003ePeople also bought\u003c\/p\u003e\n \u003cdiv class=\"rufus-xsell-grid\" id=\"rufus-xsell-grid\"\u003e\n  \u003cdiv class=\"rufus-xsell-loading\"\u003eLoading recommendations…\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\"\u003eView →\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":"DUCK BLUE","offer_id":53207596335442,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true},{"title":"NAVY BLUE","offer_id":53207596368210,"sku":null,"price":35.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/Bonnet_stargazer_rufusparis_femme-min_6be16360-fe3a-432f-8856-7a8abf6f92cc.png?v=1776249708"},{"product_id":"le-short-coeur-de-rufus","title":"The \"Rufus' Heart\" Shorts","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=\"Customer rating\"\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\u003eBased on 14,000+ customers since 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\u003eEmbroidered in Paris\u003c\/b\u003eFrench workshop\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\u003eShipped in 24h\u003c\/b\u003eColissimo tracking\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\u003eLifetime embroidery\u003c\/b\u003eFree guarantee\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 free of charge\u003c\/b\u003eFrom €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\"\u003eAdd to Cart\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 = 'Only '+inv+' left in 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:'The Basic'},\n   {n:'Julie',c:'Lyon',p:\"The Iconic\"},\n   {n:'Thomas',c:'Bordeaux',p:'The Classic'},\n   {n:'Emma',c:'Marseille',p:'Pack of 2'},\n   {n:'Nicolas',c:'Toulouse',p:\"The Timeless\"},\n   {n:'Camille',c:'Nantes',p:'The Beanie'},\n   {n:'Hugo',c:'Strasbourg',p:'The Basic'},\n   {n:'Léa',c:'Lille',p:'Pack of 3'},\n   {n:'Antoine',c:'Rennes',p:\"The Iconic\"},\n   {n:'Sarah',c:'Nice',p:'The Classic'},\n   {n:'Paul',c:'Montpellier',p:'Pack of 2'},\n   {n:'Chloé',c:'Annecy',p:'The Beanie'}\n  ];\n  var times = [\"just now\",'2 min ago','5 min ago','8 min ago','12 min ago','17 min ago'];\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+' in '+p.c;\n   whereEl.textContent = 'just added '+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 item\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003eFull Price\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 1\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 items\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−12%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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 items\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__deal\"\u003e−20%\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 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\"\u003eBest Offer\u003c\/div\u003e\n    \u003cdiv\u003e\n      \u003cdiv class=\"rf-pack__qty\"\u003e4 items+\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\"\u003eFree shipping\u003c\/div\u003e\n      \u003cdiv class=\"rf-pack__bonus-item\"\u003eFree gift packaging\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"rf-pack__save\"\u003eAdd 4\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-note\"\u003eDiscounts automatically applied at checkout. Gift packaging included for 4 items or more.\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(\"Select a size.\"); 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=\"\/en\/cart\"; })\n      .catch(function(err){\n        card.classList.remove('is-loading');\n        var msg = (err \u0026\u0026 err.description) || \"Unable to add. Check the selected size.\";\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\"\u003eThe simple short, made to last.\u003c\/h2\u003e\n\u003cdiv class=\"rf-hero-copy\"\u003e\n\u003cp\u003eThick cotton, clean drape, straight cut to the knee. Elastic waistband with flat drawcord, two side pockets, one back pocket.\u003c\/p\u003e\n\u003cp\u003eHand-embroidered in our Parisian workshop. For summer, evenings, at home, outdoors.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"rf-bullets\"\u003eEmbroidered in Paris · Thick Cotton · Lifetime embroidery guarantee\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\u003eMaterial and manufacturing\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eCombed cotton of European origin. Dense density, soft touch. Hand-embroidered or printed in our Parisian workshop. Tight stitch, waxed thread, water-based ink. No subcontracting.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eCare instructions\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eWash at 30 degrees inside out. Air dry. Iron inside out. Do not tumble dry. Do not bleach. The more the item is washed, the softer it becomes.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eDelivery and returns\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eShipping within 48 business hours from Paris. Returns within 30 days, unworn item, tags intact. Easy size exchange.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\n\u003cdetails\u003e\u003csummary\u003eLifetime embroidery guarantee\u003c\/summary\u003e\u003cdiv class=\"rf-acc__body\"\u003e\u003cp\u003eThe embroidery holds. If it ever gives way, we'll redo it. Free of charge. In our Parisian workshop. You send a photo, we take care of the rest.\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 verified reviews\u003c\/b\u003e · 92% recommend\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\"\u003e2 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eThe perfect fit.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eAmazing quality. The cotton is thick, the embroidery is perfect. I've worn it 15 times since January, no signs of wear. I'm buying two more colors.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eNavy Blue\u003c\/span\u003e\u003cspan\u003eUsual size 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\"\u003e1 month ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eLoyal since 2018.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eFifth purchase. Nothing to say. It's serious, it's French, and it lasts. Other brands feel cheap in comparison.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eCream\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\"\u003e3 weeks ago\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\u003eVerified purchase\u003c\/span\u003e\n   \u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-stars\"\u003e★★★★★\u003c\/div\u003e\n   \u003cdiv class=\"rufus-rev-title\"\u003eGreat gift.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eGave it to my boyfriend for his birthday. He hasn't taken it off since. The box is neat, the handwritten note is a lovely touch.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize M\u003c\/span\u003e\u003cspan\u003eBlack\u003c\/span\u003e\u003cspan\u003eGift\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\"\u003e5 weeks ago\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\u003eVerified purchase\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\"\u003eGreat, I would recommend.\u003c\/div\u003e\n   \u003cp class=\"rufus-rev-txt\"\u003eGood material, classic straight cut. I would have taken one size down, it runs a tad big for me. Customer service was excellent for the return.\u003c\/p\u003e\n   \u003cdiv class=\"rufus-rev-tags\"\u003e\n\u003cspan\u003eSize L\u003c\/span\u003e\u003cspan\u003eWhite\u003c\/span\u003e\u003cspan\u003eRuns large\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\"\u003ePeople also bought\u003c\/p\u003e\n \u003cdiv class=\"rufus-xsell-grid\" id=\"rufus-xsell-grid\"\u003e\n  \u003cdiv class=\"rufus-xsell-loading\"\u003eLoading recommendations…\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\"\u003eView →\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":"ATLANTIC \/ XS","offer_id":53207600234834,"sku":null,"price":45.0,"currency_code":"EUR","in_stock":false},{"title":"ATLANTIC \/ S","offer_id":53207600267602,"sku":null,"price":45.0,"currency_code":"EUR","in_stock":false},{"title":"ATLANTIC \/ M","offer_id":53207600300370,"sku":null,"price":45.0,"currency_code":"EUR","in_stock":true},{"title":"ATLANTIC \/ L","offer_id":53207600333138,"sku":null,"price":45.0,"currency_code":"EUR","in_stock":true},{"title":"ATLANTIC \/ XL","offer_id":53207600365906,"sku":null,"price":45.0,"currency_code":"EUR","in_stock":false},{"title":"CREAM \/ XS","offer_id":53207600398674,"sku":null,"price":45.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ S","offer_id":53207600431442,"sku":null,"price":45.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ M","offer_id":53207600464210,"sku":null,"price":45.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ L","offer_id":53207600496978,"sku":null,"price":45.0,"currency_code":"EUR","in_stock":true},{"title":"CREAM \/ XL","offer_id":53207600529746,"sku":null,"price":45.0,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/2705\/4530\/files\/rufusparis_short_atlantique_be655ae2-75bc-48f8-839c-ea056a02679d.jpg?v=1776249716"}],"url":"https:\/\/rufusparis.com\/en\/collections\/premier-amour.oembed","provider":"Rufus Paris","version":"1.0","type":"link"}