{"product_id":"compression-shoulder-brace-shoulder-orthopedic-brace-for-men-women-torn-rotator-cuff-dislocation-other-shoulder-injuries","title":"FlexShield™","description":"\u003cbody\u003e\n\n\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"\u003e\n\u003ctitle\u003eFlexShield™ — Manchon Compression Épaule | PERFORUN\u003c\/title\u003e\n\u003clink href=\"https:\/\/fonts.googleapis.com\/css2?family=Barlow+Condensed:wght@400;700;900\u0026amp;family=Barlow:wght@400;500;600;700\u0026amp;display=swap\" rel=\"stylesheet\"\u003e\n\u003cstyle\u003e\n:root {\n  --gold: #C9A84C;\n  --gold-light: #E8C96A;\n  --black: #0B0B0B;\n  --dark: #0d0d0d;\n  --gray: #4A4A4A;\n  --light-gray: #F5F5F5;\n  --border: #E6E6E6;\n  --white: #fff;\n  --green: #22c55e;\n  --red: #ef4444;\n}\n*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\nbody { font-family: 'Barlow', sans-serif; color: var(--black); background: #fff; }\n\n\/* TRUST BAR *\/\n.prf-trust-bar { display: flex; justify-content: center; gap: 10px; margin: 0 0 24px; flex-wrap: wrap; }\n.prf-trust-item { display: flex; align-items: center; gap: 10px; background: #fff; border: 1.5px solid #E8E0CC; border-radius: 12px; padding: 10px 14px; flex: 1; min-width: 140px; max-width: 200px; transition: border-color .2s, box-shadow .2s; }\n.prf-trust-item:hover { border-color: var(--gold); box-shadow: 0 2px 12px rgba(201,168,76,.12); }\n.prf-trust-icon { width: 38px; height: 38px; border-radius: 10px; background: #FBF5E6; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }\n.prf-trust-icon svg { width: 20px; height: 20px; stroke: var(--gold); }\n.prf-trust-title { font-size: 12px; font-weight: 800; color: var(--black); line-height: 1.3; text-transform: uppercase; letter-spacing: .3px; }\n.prf-trust-sub { font-size: 11px; color: #777; margin-top: 2px; line-height: 1.3; }\n.prf-trust-check { width: 16px; height: 16px; border-radius: 50%; background: var(--green); display: flex; align-items: center; justify-content: center; margin-left: auto; flex-shrink: 0; }\n.prf-trust-check svg { width: 10px; height: 10px; stroke: #fff; stroke-width: 2.5; }\n\n\/* GUIDE TAILLES *\/\n.prf-gt-trigger { display: inline-flex; align-items: center; gap: 6px; background: none; border: 1px solid rgba(201,168,76,.4); color: var(--gold); font-size: 12px; font-weight: 700; cursor: pointer; padding: 6px 14px; border-radius: 20px; font-family: 'Barlow', sans-serif; letter-spacing: .3px; transition: all .2s; margin: 10px 0 0; }\n.prf-gt-trigger:hover { background: var(--gold); color: #000; }\n.prf-gt-trigger svg { width: 13px; height: 13px; stroke: currentColor; }\n.prf-gt-overlay { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.6); z-index: 9998; backdrop-filter: blur(2px); }\n.prf-gt-overlay.open { display: block; }\n.prf-gt-drawer { position: fixed; bottom: 0; left: 0; right: 0; background: var(--dark); border-top: 2px solid var(--gold); border-radius: 22px 22px 0 0; z-index: 9999; padding: 0 0 40px; transform: translateY(100%); transition: transform .4s cubic-bezier(.4,0,.2,1); max-height: 88vh; overflow-y: auto; font-family: 'Barlow', sans-serif; }\n.prf-gt-drawer.open { transform: translateY(0); }\n.prf-gt-handle { width: 44px; height: 4px; background: #2a2a2a; border-radius: 2px; margin: 14px auto 0; }\n.prf-gt-header { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px 14px; border-bottom: 1px solid rgba(201,168,76,.15); }\n.prf-gt-header-title { font-size: 15px; font-weight: 900; color: #fff; text-transform: uppercase; letter-spacing: 1.5px; font-family: 'Barlow Condensed', sans-serif; }\n.prf-gt-close { width: 32px; height: 32px; background: rgba(255,255,255,.06); border: none; border-radius: 50%; color: #aaa; font-size: 17px; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all .2s; }\n.prf-gt-close:hover { background: var(--gold); color: #000; }\n.prf-gt-alert { margin: 14px 22px; background: rgba(201,168,76,.08); border-left: 3px solid var(--gold); border-radius: 0 8px 8px 0; padding: 10px 14px; font-size: 13px; color: var(--gold); line-height: 1.5; }\n.prf-gt-content { padding: 0 22px; }\n.prf-gt-table-wrap { overflow-x: auto; border-radius: 10px; border: 1px solid rgba(201,168,76,.15); margin-bottom: 20px; margin-top: 16px; }\n.prf-gt-table { width: 100%; border-collapse: collapse; font-size: 13px; min-width: 380px; }\n.prf-gt-table thead tr { background: rgba(201,168,76,.1); }\n.prf-gt-table th { color: var(--gold); font-weight: 800; padding: 10px 8px; text-align: center; font-size: 11px; text-transform: uppercase; letter-spacing: 1px; border-bottom: 1px solid rgba(201,168,76,.2); }\n.prf-gt-table td { padding: 10px 8px; text-align: center; color: #ccc; border-bottom: 1px solid rgba(255,255,255,.04); font-size: 13px; }\n.prf-gt-table tbody tr:last-child td { border-bottom: none; }\n.prf-gt-table tbody tr:hover td { background: rgba(201,168,76,.05); }\n.prf-gt-size { color: var(--gold); font-weight: 900; font-size: 14px; }\n\n\/* MAIN WRAP *\/\n.wrap { max-width: 820px; margin: 0 auto; padding: 10px 20px 60px; }\n\n.hero-badge { display: inline-block; background: var(--gold); color: var(--black); font-size: 11px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; padding: 6px 16px; border-radius: 30px; margin-bottom: 18px; font-family: 'Barlow Condensed', sans-serif; }\n.hero-title { font-size: clamp(28px, 5vw, 46px); font-weight: 900; line-height: 1.1; color: var(--black); margin-bottom: 14px; font-family: 'Barlow Condensed', sans-serif; }\n.hero-title span { color: var(--gold); }\n.hero-subtitle { font-size: 17px; color: var(--gray); line-height: 1.65; max-width: 580px; margin-bottom: 32px; }\n\n\/* COLORS *\/\n.colors-section { margin-bottom: 28px; }\n.colors-label { font-size: 13px; font-weight: 700; color: var(--black); margin-bottom: 12px; }\n.colors-wrap { display: flex; gap: 10px; flex-wrap: wrap; }\n.color-dot { display: flex; align-items: center; gap: 8px; background: var(--light-gray); border: 1.5px solid var(--border); border-radius: 8px; padding: 7px 14px; font-size: 13px; font-weight: 600; color: var(--black); }\n.color-circle { width: 16px; height: 16px; border-radius: 50%; flex-shrink: 0; border: 1px solid rgba(0,0,0,.1); }\n.c-red { background: #C0392B; }\n.c-black { background: #0B0B0B; }\n.c-blue { background: #1E3A5F; }\n\n\/* PRICE \u0026 CTA *\/\n.price-block { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 28px; }\n.price-main { font-size: 50px; font-weight: 900; color: var(--black); font-family: 'Barlow Condensed', sans-serif; }\n.cta-btn { display: block; width: 100%; max-width: 480px; background: var(--gold); color: var(--black); font-size: 17px; font-weight: 800; text-align: center; padding: 18px 24px; border-radius: 12px; border: none; cursor: pointer; margin-bottom: 12px; text-decoration: none; transition: background .2s, transform .2s; font-family: 'Barlow', sans-serif; }\n.cta-btn:hover { background: #A8893E; transform: translateY(-2px); }\n.cta-sub { font-size: 13px; color: var(--gray); margin-bottom: 48px; }\n.cta-sub span { color: var(--gold); font-weight: 600; }\n\n\/* UPSELL *\/\n.upsell-block { background: #FBF5E6; border: 2px solid var(--gold); border-radius: 14px; padding: 20px 22px; margin-bottom: 32px; }\n.upsell-title { font-size: 14px; font-weight: 800; color: var(--black); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 14px; font-family: 'Barlow Condensed', sans-serif; }\n.upsell-options { display: flex; flex-direction: column; gap: 10px; }\n.upsell-option { display: flex; align-items: center; justify-content: space-between; background: #fff; border: 1.5px solid var(--border); border-radius: 10px; padding: 12px 16px; font-size: 14px; font-weight: 600; cursor: pointer; transition: border-color .2s; }\n.upsell-option:hover, .upsell-option.active { border-color: var(--gold); }\n.upsell-option .qty { font-weight: 800; color: var(--black); }\n.upsell-option .saving { background: var(--gold); color: var(--black); font-size: 11px; font-weight: 800; padding: 3px 10px; border-radius: 20px; text-transform: uppercase; letter-spacing: .5px; }\n\n.divider { border: none; border-top: 1px solid var(--border); margin: 38px 0; }\n.section-label { font-size: 11px; font-weight: 700; letter-spacing: 2.5px; text-transform: uppercase; color: var(--gold); margin-bottom: 20px; font-family: 'Barlow Condensed', sans-serif; }\n\n\/* FEATURES *\/\n.features-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 40px; }\n@media(max-width:480px) { .features-grid { grid-template-columns: 1fr; } }\n.feature-item { background: var(--light-gray); border: 1px solid var(--border); border-radius: 12px; padding: 16px 18px; display: flex; align-items: center; gap: 12px; transition: border-color .2s; }\n.feature-item:hover { border-color: var(--gold); }\n.feature-icon { font-size: 22px; flex-shrink: 0; }\n.feature-name { font-size: 14px; font-weight: 700; color: var(--black); margin-bottom: 2px; }\n.feature-desc { font-size: 12px; color: var(--gray); }\n\n\/* BENEFITS *\/\n.benefits { display: flex; flex-direction: column; gap: 14px; margin-bottom: 40px; }\n.benefit { display: flex; align-items: flex-start; gap: 14px; background: var(--light-gray); border-left: 3px solid var(--gold); border-radius: 0 12px 12px 0; padding: 16px 18px; }\n.benefit-icon { font-size: 20px; flex-shrink: 0; margin-top: 1px; }\n.benefit-title { font-size: 15px; font-weight: 700; color: var(--black); margin-bottom: 3px; font-family: 'Barlow Condensed', sans-serif; letter-spacing: .3px; }\n.benefit-desc { font-size: 13px; color: var(--gray); line-height: 1.5; }\n\n\/* SPORTS *\/\n.sports-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; margin-bottom: 40px; }\n.sport-tag { background: var(--light-gray); border: 1px solid var(--border); color: var(--black); font-size: 14px; font-weight: 600; padding: 8px 16px; border-radius: 8px; }\n\n\/* REVIEWS *\/\n.prf-reviews { width: 100%; max-width: 820px; margin: 0 auto 40px; }\n.prf-reviews__header { text-align: center; margin-bottom: 24px; }\n.prf-reviews__label { display: inline-block; background: var(--gold); color: #000; font-size: 11px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; padding: 6px 16px; border-radius: 30px; margin-bottom: 12px; }\n.prf-reviews__title { font-size: 20px; font-weight: 900; color: var(--black); margin-bottom: 6px; text-transform: uppercase; letter-spacing: 1px; font-family: 'Barlow Condensed', sans-serif; }\n.prf-reviews__subtitle { font-size: 14px; color: #666; }\n.prf-reviews__global { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 10px; flex-wrap: wrap; }\n.prf-reviews__global-stars { color: var(--gold); font-size: 20px; letter-spacing: 2px; }\n.prf-reviews__global-score { font-size: 17px; font-weight: 800; color: var(--black); }\n.prf-reviews__global-count { font-size: 13px; color: #888; }\n.prf-carousel-outer { overflow: hidden; width: 100%; }\n.prf-carousel__track { display: flex; gap: 16px; transition: transform .45s cubic-bezier(.4,0,.2,1); will-change: transform; }\n.prf-card { background: var(--dark); border: 1px solid rgba(201,168,76,.25); border-radius: 14px; padding: 22px 18px; box-sizing: border-box; flex-shrink: 0; }\n.prf-card:hover { border-color: var(--gold); box-shadow: 0 4px 24px rgba(201,168,76,.12); }\n.prf-card__stars { color: var(--gold); font-size: 17px; letter-spacing: 2px; margin-bottom: 10px; }\n.prf-card__title { font-size: 15px; font-weight: 800; color: #fff; margin-bottom: 8px; line-height: 1.3; font-family: 'Barlow Condensed', sans-serif; }\n.prf-card__text { font-size: 13px; color: #bbb; line-height: 1.7; margin-bottom: 14px; }\n.prf-card__author { display: flex; align-items: center; gap: 10px; }\n.prf-card__avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--gold); display: flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 800; color: #000; flex-shrink: 0; }\n.prf-card__name { font-size: 13px; font-weight: 700; color: #fff; }\n.prf-card__product-tag { font-size: 11px; color: var(--gold); margin-top: 2px; }\n.prf-verified { color: var(--gold); font-size: 11px; font-weight: 600; margin-top: 2px; }\n.prf-carousel__controls { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 22px; }\n.prf-btn { width: 42px; height: 42px; border-radius: 50%; border: 1.5px solid rgba(201,168,76,.4); background: var(--dark); cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 17px; color: var(--gold); transition: all .2s; }\n.prf-btn:hover { background: var(--gold); color: #000; border-color: var(--gold); }\n.prf-dots { display: flex; gap: 8px; align-items: center; }\n.prf-dot { width: 8px; height: 8px; border-radius: 50%; background: #333; cursor: pointer; transition: all .2s; border: none; padding: 0; }\n.prf-dot.active { background: var(--gold); width: 22px; border-radius: 4px; }\n.prf-progress { height: 2px; background: rgba(201,168,76,.2); border-radius: 2px; margin-top: 16px; overflow: hidden; }\n.prf-progress__bar { height: 100%; background: var(--gold); width: 0%; border-radius: 2px; transition: width linear; }\n\n\/* URGENCY *\/\n.urgency-bar { background: var(--light-gray); border: 1px solid var(--border); border-radius: 12px; padding: 20px 22px; display: flex; flex-direction: column; gap: 10px; margin-bottom: 32px; }\n.urgency-row { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--gray); }\n.dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }\n.dot-blue { background: var(--gold); }\n.dot-green { background: var(--green); }\n.dot-red { background: var(--red); }\n\n\/* RESPONSIVE *\/\n@media(max-width:600px) {\n  .prf-trust-bar { gap: 6px; margin: 0 0 10px; }\n  .prf-trust-item { min-width: calc(50% - 4px); max-width: calc(50% - 4px); padding: 8px 10px; gap: 7px; border-radius: 10px; }\n  .prf-trust-icon { width: 30px; height: 30px; }\n  .prf-trust-icon svg { width: 16px; height: 16px; }\n  .prf-trust-title { font-size: 10px; }\n  .prf-trust-sub { font-size: 10px; }\n}\n\u003c\/style\u003e\n\n\n\n\u003c!-- TRUST BAR --\u003e\n\u003cdiv class=\"prf-trust-bar\"\u003e\n  \u003cdiv class=\"prf-trust-item\"\u003e\n    \u003cdiv class=\"prf-trust-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M5 12h14M12 5l7 7-7 7\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n    \u003cdiv class=\"prf-trust-text\"\u003e\n      \u003cdiv class=\"prf-trust-title\"\u003eLivraison suivie\u003c\/div\u003e\n      \u003cdiv class=\"prf-trust-sub\"\u003eNuméro de suivi inclus\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"prf-trust-check\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpolyline points=\"20 6 9 17 4 12\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"prf-trust-item\"\u003e\n    \u003cdiv class=\"prf-trust-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpolyline points=\"1 4 1 10 7 10\"\u003e\u003c\/polyline\u003e\u003cpath d=\"M3.51 15a9 9 0 1 0 .49-3.54\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n    \u003cdiv class=\"prf-trust-text\"\u003e\n      \u003cdiv class=\"prf-trust-title\"\u003eRetours 14 jours\u003c\/div\u003e\n      \u003cdiv class=\"prf-trust-sub\"\u003eRemboursement garanti\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"prf-trust-check\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpolyline points=\"20 6 9 17 4 12\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"prf-trust-item\"\u003e\n    \u003cdiv class=\"prf-trust-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003crect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M7 11V7a5 5 0 0 1 10 0v4\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/div\u003e\n    \u003cdiv class=\"prf-trust-text\"\u003e\n      \u003cdiv class=\"prf-trust-title\"\u003ePaiement sécurisé\u003c\/div\u003e\n      \u003cdiv class=\"prf-trust-sub\"\u003eSSL \u0026amp; Shopify Payments\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"prf-trust-check\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpolyline points=\"20 6 9 17 4 12\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"prf-trust-item\"\u003e\n    \u003cdiv class=\"prf-trust-icon\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpolygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"\u003e\u003c\/polygon\u003e\u003c\/svg\u003e\u003c\/div\u003e\n    \u003cdiv class=\"prf-trust-text\"\u003e\n      \u003cdiv class=\"prf-trust-title\"\u003e5\/5 avis clients\u003c\/div\u003e\n      \u003cdiv class=\"prf-trust-sub\"\u003e100% d'avis positifs\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"prf-trust-check\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpolyline points=\"20 6 9 17 4 12\"\u003e\u003c\/polyline\u003e\u003c\/svg\u003e\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- GUIDE DES TAILLES --\u003e\n\u003cdiv style=\"text-align:left;padding:8px 20px 4px;\"\u003e\n  \u003cbutton type=\"button\" id=\"prfGtBtn\" class=\"prf-gt-trigger\"\u003e\n    \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M3 9h18M3 15h18M9 3v18\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n    📏 Guide des tailles\n  \u003c\/button\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"prfGtOverlay\" class=\"prf-gt-overlay\"\u003e\u003c\/div\u003e\n\u003cdiv id=\"prfGtDrawer\" class=\"prf-gt-drawer\"\u003e\n  \u003cdiv class=\"prf-gt-handle\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"prf-gt-header\"\u003e\n    \u003cdiv class=\"prf-gt-header-title\"\u003e📏 Guide des tailles\u003c\/div\u003e\n    \u003cbutton id=\"prfGtClose\" class=\"prf-gt-close\"\u003e✕\u003c\/button\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"prf-gt-alert\"\u003e💡 \u003cstrong\u003eConseil\u003c\/strong\u003e — Le manchon est universel gauche\/droite. Choisissez votre taille selon le tour de bras.\u003c\/div\u003e\n  \u003cdiv class=\"prf-gt-content\"\u003e\n    \u003cdiv class=\"prf-gt-table-wrap\"\u003e\n      \u003ctable class=\"prf-gt-table\"\u003e\n        \u003cthead\u003e\u003ctr\u003e\n          \u003cth\u003eTaille\u003c\/th\u003e\n          \u003cth\u003eTour de bras\u003c\/th\u003e\n          \u003cth\u003eMorphologie\u003c\/th\u003e\n        \u003c\/tr\u003e\u003c\/thead\u003e\n        \u003ctbody\u003e\n          \u003ctr\u003e\n\u003ctd class=\"prf-gt-size\"\u003eS\u003c\/td\u003e\n\u003ctd\u003e25–28 cm\u003c\/td\u003e\n\u003ctd\u003ePetit \/ Femme fine\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd class=\"prf-gt-size\"\u003eM\u003c\/td\u003e\n\u003ctd\u003e28–32 cm\u003c\/td\u003e\n\u003ctd\u003eMoyen \/ Femme standard\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd class=\"prf-gt-size\"\u003eL\u003c\/td\u003e\n\u003ctd\u003e32–36 cm\u003c\/td\u003e\n\u003ctd\u003eGrand \/ Homme standard\u003c\/td\u003e\n\u003c\/tr\u003e\n          \u003ctr\u003e\n\u003ctd class=\"prf-gt-size\"\u003eXL\u003c\/td\u003e\n\u003ctd\u003e36–40 cm\u003c\/td\u003e\n\u003ctd\u003eTrès grand \/ Homme musclé\u003c\/td\u003e\n\u003c\/tr\u003e\n        \u003c\/tbody\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003c!-- MAIN CONTENT --\u003e\n\u003cdiv class=\"wrap\"\u003e\n\n  \u003cdiv class=\"hero-badge\"\u003e🦾 Maintien \u0026amp; Récupération — Compression Épaule\u003c\/div\u003e\n  \u003ch1 class=\"hero-title\"\u003eFlexShield™\u003cbr\u003e\u003cspan\u003eMaintien total. Récupération accélérée.\u003c\/span\u003e\n\u003c\/h1\u003e\n  \u003cp class=\"hero-subtitle\"\u003eLe manchon de compression épaule conçu pour soulager, stabiliser et protéger. Nylon technique tricoté, compression ciblée et gel intégré — pour t'entraîner sans douleur et récupérer plus vite.\u003c\/p\u003e\n\n  \u003cdiv class=\"colors-section\"\u003e\n    \u003cdiv class=\"colors-label\"\u003eColoris disponibles :\u003c\/div\u003e\n    \u003cdiv class=\"colors-wrap\"\u003e\n      \u003cdiv class=\"color-dot\"\u003e\n\u003cspan class=\"color-circle c-black\"\u003e\u003c\/span\u003e Noir\u003c\/div\u003e\n      \u003cdiv class=\"color-dot\"\u003e\n\u003cspan class=\"color-circle c-red\"\u003e\u003c\/span\u003e Rouge\u003c\/div\u003e\n      \u003cdiv class=\"color-dot\"\u003e\n\u003cspan class=\"color-circle c-blue\"\u003e\u003c\/span\u003e Bleu Marine\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"price-block\"\u003e\u003cspan class=\"price-main\"\u003e29,90€\u003c\/span\u003e\u003c\/div\u003e\n\n  \u003ca class=\"cta-btn\" href=\"#\"\u003e🛒 Commander mon FlexShield™\u003c\/a\u003e\n  \u003cp class=\"cta-sub\"\u003e\u003cspan\u003e✓ Livraison rapide suivie\u003c\/span\u003e · \u003cspan\u003e✓ Paiement 100% sécurisé\u003c\/span\u003e · Stock limité\u003c\/p\u003e\n\n  \u003chr class=\"divider\"\u003e\n\n  \u003cp class=\"section-label\"\u003e⚙️ Caractéristiques\u003c\/p\u003e\n  \u003cdiv class=\"features-grid\"\u003e\n    \u003cdiv class=\"feature-item\"\u003e\n      \u003cspan class=\"feature-icon\"\u003e🦾\u003c\/span\u003e\n      \u003cdiv\u003e\n        \u003cdiv class=\"feature-name\"\u003eCompression ciblée\u003c\/div\u003e\n        \u003cdiv class=\"feature-desc\"\u003eMaintien précis de l'articulation épaule\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"feature-item\"\u003e\n      \u003cspan class=\"feature-icon\"\u003e🫙\u003c\/span\u003e\n      \u003cdiv\u003e\n        \u003cdiv class=\"feature-name\"\u003eGel intégré\u003c\/div\u003e\n        \u003cdiv class=\"feature-desc\"\u003eAbsorption des chocs, soulagement immédiat\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"feature-item\"\u003e\n      \u003cspan class=\"feature-icon\"\u003e💨\u003c\/span\u003e\n      \u003cdiv\u003e\n        \u003cdiv class=\"feature-name\"\u003eNylon tricoté respirant\u003c\/div\u003e\n        \u003cdiv class=\"feature-desc\"\u003eÉvacue la transpiration, confort toute la journée\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"feature-item\"\u003e\n      \u003cspan class=\"feature-icon\"\u003e🔄\u003c\/span\u003e\n      \u003cdiv\u003e\n        \u003cdiv class=\"feature-name\"\u003eUniversel gauche\/droite\u003c\/div\u003e\n        \u003cdiv class=\"feature-desc\"\u003eS'adapte aux deux épaules sans distinction\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"feature-item\"\u003e\n      \u003cspan class=\"feature-icon\"\u003e🎽\u003c\/span\u003e\n      \u003cdiv\u003e\n        \u003cdiv class=\"feature-name\"\u003eSlim \u0026amp; discret\u003c\/div\u003e\n        \u003cdiv class=\"feature-desc\"\u003eSe porte sous les vêtements toute la journée\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"feature-item\"\u003e\n      \u003cspan class=\"feature-icon\"\u003e⚡\u003c\/span\u003e\n      \u003cdiv\u003e\n        \u003cdiv class=\"feature-name\"\u003eMaintien ajustable\u003c\/div\u003e\n        \u003cdiv class=\"feature-desc\"\u003eFacile à enfiler et retirer, fit optimal\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003chr class=\"divider\"\u003e\n\n  \u003cp class=\"section-label\"\u003e💪 Pourquoi le FlexShield™\u003c\/p\u003e\n  \u003cdiv class=\"benefits\"\u003e\n    \u003cdiv class=\"benefit\"\u003e\n      \u003cspan class=\"benefit-icon\"\u003e🎯\u003c\/span\u003e\n      \u003cdiv\u003e\n        \u003cdiv class=\"benefit-title\"\u003eSoulagement immédiat des douleurs d'épaule\u003c\/div\u003e\n        \u003cdiv class=\"benefit-desc\"\u003eConçu pour les douleurs de coiffe des rotateurs, tendinites, instabilités articulaires et contusions légères. La compression ciblée stabilise l'articulation dès la première utilisation.\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"benefit\"\u003e\n      \u003cspan class=\"benefit-icon\"\u003e🫙\u003c\/span\u003e\n      \u003cdiv\u003e\n        \u003cdiv class=\"benefit-title\"\u003eGel intégré pour absorber les chocs\u003c\/div\u003e\n        \u003cdiv class=\"benefit-desc\"\u003eLes inserts gel positionnés stratégiquement absorbent les impacts et protègent l'articulation pendant l'effort. Idéal pour les sports de contact et la musculation lourde.\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"benefit\"\u003e\n      \u003cspan class=\"benefit-icon\"\u003e💨\u003c\/span\u003e\n      \u003cdiv\u003e\n        \u003cdiv class=\"benefit-title\"\u003eConfort toute la journée, même sous les vêtements\u003c\/div\u003e\n        \u003cdiv class=\"benefit-desc\"\u003eLe nylon tricoté premium favorise la circulation d'air et minimise l'humidité. Ultra-discret, tu peux le porter au bureau, à la salle ou en récupération sans contrainte.\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"benefit\"\u003e\n      \u003cspan class=\"benefit-icon\"\u003e🔄\u003c\/span\u003e\n      \u003cdiv\u003e\n        \u003cdiv class=\"benefit-title\"\u003eRécupération accélérée entre les séances\u003c\/div\u003e\n        \u003cdiv class=\"benefit-desc\"\u003eLa compression maintient le flux sanguin et réduit l'inflammation musculaire. Moins de temps de récupération, plus d'entraînements — c'est ça la performance.\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003chr class=\"divider\"\u003e\n\n  \u003cp class=\"section-label\"\u003e🎯 Idéal pour\u003c\/p\u003e\n  \u003cdiv class=\"sports-tags\"\u003e\n    \u003cspan class=\"sport-tag\"\u003e🏋️ Musculation\u003c\/span\u003e\n    \u003cspan class=\"sport-tag\"\u003e🏃 Running\u003c\/span\u003e\n    \u003cspan class=\"sport-tag\"\u003e🥊 Boxe\u003c\/span\u003e\n    \u003cspan class=\"sport-tag\"\u003e🏊 Natation\u003c\/span\u003e\n    \u003cspan class=\"sport-tag\"\u003e🎾 Padel \/ Tennis\u003c\/span\u003e\n    \u003cspan class=\"sport-tag\"\u003e⛳ Golf\u003c\/span\u003e\n    \u003cspan class=\"sport-tag\"\u003e🏀 Basketball\u003c\/span\u003e\n    \u003cspan class=\"sport-tag\"\u003e🚴 Vélo\u003c\/span\u003e\n    \u003cspan class=\"sport-tag\"\u003e🧘 Yoga\u003c\/span\u003e\n    \u003cspan class=\"sport-tag\"\u003e🏔️ Randonnée\u003c\/span\u003e\n  \u003c\/div\u003e\n\n  \u003chr class=\"divider\"\u003e\n\n  \u003c!-- REVIEWS --\u003e\n  \u003csection class=\"prf-reviews\"\u003e\n    \u003cdiv class=\"prf-reviews__header\"\u003e\n      \u003cdiv class=\"prf-reviews__label\"\u003e⭐ Avis clients\u003c\/div\u003e\n      \u003ch2 class=\"prf-reviews__title\"\u003eCe qu'ils disent du FlexShield™\u003c\/h2\u003e\n      \u003cp class=\"prf-reviews__subtitle\"\u003eDes sportifs qui l'ont testé pour toi\u003c\/p\u003e\n      \u003cdiv class=\"prf-reviews__global\"\u003e\n        \u003cspan class=\"prf-reviews__global-stars\"\u003e★★★★★\u003c\/span\u003e\n        \u003cspan class=\"prf-reviews__global-score\"\u003e5.0\u003c\/span\u003e\n        \u003cspan class=\"prf-reviews__global-count\"\u003e· 5 avis vérifiés\u003c\/span\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"prf-carousel-outer\" id=\"prfOuter\"\u003e\n      \u003cdiv class=\"prf-carousel__track\" id=\"prfTrack\"\u003e\n        \u003cdiv class=\"prf-card\"\u003e\n          \u003cdiv class=\"prf-card__stars\"\u003e★★★★★\u003c\/div\u003e\n          \u003cdiv class=\"prf-card__title\"\u003eSoulagement dès le premier jour\u003c\/div\u003e\n          \u003cp class=\"prf-card__text\"\u003eJ'avais une tendinite à l'épaule depuis des semaines. Dès la première utilisation j'ai senti une vraie différence. Le maintien est parfait sans être trop serré. Je le porte même au bureau.\u003c\/p\u003e\n          \u003cdiv class=\"prf-card__author\"\u003e\n            \u003cdiv class=\"prf-card__avatar\"\u003eN\u003c\/div\u003e\n            \u003cdiv\u003e\n              \u003cdiv class=\"prf-card__name\"\u003eNicolas F.\u003c\/div\u003e\n              \u003cdiv class=\"prf-card__product-tag\"\u003eFlexShield™ — Noir L\u003c\/div\u003e\n              \u003cdiv class=\"prf-verified\"\u003e✓ Achat vérifié\u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"prf-card\"\u003e\n          \u003cdiv class=\"prf-card__stars\"\u003e★★★★★\u003c\/div\u003e\n          \u003cdiv class=\"prf-card__title\"\u003eParfait pour la salle de muscu\u003c\/div\u003e\n          \u003cp class=\"prf-card__text\"\u003eJe m'en sers sur le développé couché et les épaules. Ça stabilise vraiment bien et c'est discret sous le t-shirt. Livraison rapide, très satisfait de l'achat.\u003c\/p\u003e\n          \u003cdiv class=\"prf-card__author\"\u003e\n            \u003cdiv class=\"prf-card__avatar\"\u003eR\u003c\/div\u003e\n            \u003cdiv\u003e\n              \u003cdiv class=\"prf-card__name\"\u003eRomain B.\u003c\/div\u003e\n              \u003cdiv class=\"prf-card__product-tag\"\u003eFlexShield™ — Rouge XL\u003c\/div\u003e\n              \u003cdiv class=\"prf-verified\"\u003e✓ Achat vérifié\u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"prf-card\"\u003e\n          \u003cdiv class=\"prf-card__stars\"\u003e★★★★★\u003c\/div\u003e\n          \u003cdiv class=\"prf-card__title\"\u003eRecommandé après opération épaule\u003c\/div\u003e\n          \u003cp class=\"prf-card__text\"\u003eMon kiné m'a conseillé ce type de manchon pour la rééducation. Qualité au rendez-vous, nylon agréable sur la peau, et le gel fait vraiment son travail. Je recommande à 100%.\u003c\/p\u003e\n          \u003cdiv class=\"prf-card__author\"\u003e\n            \u003cdiv class=\"prf-card__avatar\"\u003eS\u003c\/div\u003e\n            \u003cdiv\u003e\n              \u003cdiv class=\"prf-card__name\"\u003eSophie M.\u003c\/div\u003e\n              \u003cdiv class=\"prf-card__product-tag\"\u003eFlexShield™ — Noir M\u003c\/div\u003e\n              \u003cdiv class=\"prf-verified\"\u003e✓ Achat vérifié\u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"prf-card\"\u003e\n          \u003cdiv class=\"prf-card__stars\"\u003e★★★★★\u003c\/div\u003e\n          \u003cdiv class=\"prf-card__title\"\u003eTop pour le padel\u003c\/div\u003e\n          \u003cp class=\"prf-card__text\"\u003eJ'avais mal à l'épaule droite depuis ma blessure en match. Avec ce manchon je peux rejouer sans douleur. Le maintien est vraiment bien pensé et ça tient en place pendant l'effort.\u003c\/p\u003e\n          \u003cdiv class=\"prf-card__author\"\u003e\n            \u003cdiv class=\"prf-card__avatar\"\u003eJ\u003c\/div\u003e\n            \u003cdiv\u003e\n              \u003cdiv class=\"prf-card__name\"\u003eJulien A.\u003c\/div\u003e\n              \u003cdiv class=\"prf-card__product-tag\"\u003eFlexShield™ — Bleu Marine L\u003c\/div\u003e\n              \u003cdiv class=\"prf-verified\"\u003e✓ Achat vérifié\u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"prf-card\"\u003e\n          \u003cdiv class=\"prf-card__stars\"\u003e★★★★★\u003c\/div\u003e\n          \u003cdiv class=\"prf-card__title\"\u003eQualité premium, prix imbattable\u003c\/div\u003e\n          \u003cp class=\"prf-card__text\"\u003eJ'en avais acheté un similaire en pharmacie à 40€. Celui-là est bien meilleur et trois fois moins cher. Matière respirante, compression idéale. Je l'emporte partout en déplacement.\u003c\/p\u003e\n          \u003cdiv class=\"prf-card__author\"\u003e\n            \u003cdiv class=\"prf-card__avatar\"\u003eM\u003c\/div\u003e\n            \u003cdiv\u003e\n              \u003cdiv class=\"prf-card__name\"\u003eMarc D.\u003c\/div\u003e\n              \u003cdiv class=\"prf-card__product-tag\"\u003eFlexShield™ — Noir XL\u003c\/div\u003e\n              \u003cdiv class=\"prf-verified\"\u003e✓ Achat vérifié\u003c\/div\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"prf-progress\"\u003e\u003cdiv class=\"prf-progress__bar\" id=\"prfBar\"\u003e\u003c\/div\u003e\u003c\/div\u003e\n    \u003cdiv class=\"prf-carousel__controls\"\u003e\n      \u003cbutton class=\"prf-btn\" id=\"prfPrev\" aria-label=\"Précédent\"\u003e←\u003c\/button\u003e\n      \u003cdiv class=\"prf-dots\" id=\"prfDots\"\u003e\u003c\/div\u003e\n      \u003cbutton class=\"prf-btn\" id=\"prfNext\" aria-label=\"Suivant\"\u003e→\u003c\/button\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003chr class=\"divider\"\u003e\n\n  \u003cdiv class=\"urgency-bar\"\u003e\n    \u003cdiv class=\"urgency-row\"\u003e\n\u003cspan class=\"dot dot-red\"\u003e\u003c\/span\u003e⚠️ Stock limité — quelques pièces restantes\u003c\/div\u003e\n    \u003cdiv class=\"urgency-row\"\u003e\n\u003cspan class=\"dot dot-blue\"\u003e\u003c\/span\u003e📦 Livraison rapide suivie dès expédition\u003c\/div\u003e\n    \u003cdiv class=\"urgency-row\"\u003e\n\u003cspan class=\"dot dot-green\"\u003e\u003c\/span\u003e🔒 Paiement 100% sécurisé\u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003ca class=\"cta-btn\" href=\"#\"\u003e🛒 Je prends mon FlexShield™ →\u003c\/a\u003e\n\n\u003c\/div\u003e\n\n\u003cscript\u003e\n(function() {\n  \/\/ Guide des tailles\n  var gtBtn = document.getElementById('prfGtBtn');\n  var gtDrawer = document.getElementById('prfGtDrawer');\n  var gtOverlay = document.getElementById('prfGtOverlay');\n  var gtClose = document.getElementById('prfGtClose');\n  if (gtBtn) {\n    function openGt() { gtDrawer.classList.add('open'); gtOverlay.classList.add('open'); document.body.style.overflow = 'hidden'; }\n    function closeGt() { gtDrawer.classList.remove('open'); gtOverlay.classList.remove('open'); document.body.style.overflow = ''; }\n    gtBtn.addEventListener('click', openGt);\n    gtClose.addEventListener('click', closeGt);\n    gtOverlay.addEventListener('click', closeGt);\n  }\n\n  \/\/ Upsell\n  document.querySelectorAll('.upsell-option').forEach(function(opt) {\n    opt.addEventListener('click', function() {\n      document.querySelectorAll('.upsell-option').forEach(function(o) { o.classList.remove('active'); });\n      opt.classList.add('active');\n    });\n  });\n\n  \/\/ Carousel\n  var outer = document.getElementById('prfOuter');\n  var track = document.getElementById('prfTrack');\n  var prevBtn = document.getElementById('prfPrev');\n  var nextBtn = document.getElementById('prfNext');\n  var dotsWrap = document.getElementById('prfDots');\n  var bar = document.getElementById('prfBar');\n  if (!outer) return;\n  var cards = Array.from(track.querySelectorAll('.prf-card'));\n  var total = cards.length, DELAY = 3500, current = 0, autoInterval = null, perView = 1;\n\n  function setup() {\n    var outerW = outer.offsetWidth;\n    perView = outerW \u003e= 640 ? 2 : 1;\n    var cardW = perView === 1 ? outerW : (outerW - 16) \/ 2;\n    cards.forEach(function(c) { c.style.width = cardW + 'px'; });\n  }\n  function maxIdx() { return total - perView; }\n  function buildDots() {\n    dotsWrap.innerHTML = '';\n    for (var i = 0; i \u003c= maxIdx(); i++) {\n      var dot = document.createElement('button');\n      dot.className = 'prf-dot' + (i === 0 ? ' active' : '');\n      (function(idx) { dot.addEventListener('click', function() { goTo(idx); resetAuto(); }); })(i);\n      dotsWrap.appendChild(dot);\n    }\n  }\n  function getStep() { return cards[0].offsetWidth + 16; }\n  function goTo(index) {\n    current = Math.max(0, Math.min(index, maxIdx()));\n    track.style.transform = 'translateX(-' + (current * getStep()) + 'px)';\n    dotsWrap.querySelectorAll('.prf-dot').forEach(function(d, i) { d.classList.toggle('active', i === current); });\n    if (bar) {\n      bar.style.transition = 'none'; bar.style.width = '0%';\n      setTimeout(function() { bar.style.transition = 'width ' + DELAY + 'ms linear'; bar.style.width = '100%'; }, 30);\n    }\n  }\n  prevBtn.addEventListener('click', function() { goTo(current - 1); resetAuto(); });\n  nextBtn.addEventListener('click', function() { goTo(current + 1); resetAuto(); });\n  function autoPlay() { autoInterval = setInterval(function() { goTo(current \u003e= maxIdx() ? 0 : current + 1); }, DELAY); }\n  function resetAuto() { clearInterval(autoInterval); autoPlay(); }\n  var startX = 0;\n  track.addEventListener('touchstart', function(e) { startX = e.touches[0].clientX; }, { passive: true });\n  track.addEventListener('touchend', function(e) {\n    var diff = startX - e.changedTouches[0].clientX;\n    if (Math.abs(diff) \u003e 40) { diff \u003e 0 ? goTo(current + 1) : goTo(current - 1); resetAuto(); }\n  });\n  setup(); buildDots(); goTo(0); autoPlay();\n  window.addEventListener('resize', function() { setup(); buildDots(); goTo(0); });\n})();\n\u003c\/script\u003e\n\n\u003c\/body\u003e","brand":"PerfoRun","offers":[{"title":"Orange \/ S-M","offer_id":52859967144202,"sku":"14:201452310#Orange;491:201452307#S-M","price":29.9,"currency_code":"EUR","in_stock":true},{"title":"Orange \/ L-XL","offer_id":52859967176970,"sku":"14:201452310#Orange;491:201452308#L-XL","price":29.9,"currency_code":"EUR","in_stock":true},{"title":"Rouge \/ S-M","offer_id":52859967209738,"sku":"14:200211869#Red;491:201452307#S-M","price":29.9,"currency_code":"EUR","in_stock":true},{"title":"Rouge \/ L-XL","offer_id":52859967242506,"sku":"14:200211869#Red;491:201452308#L-XL","price":29.9,"currency_code":"EUR","in_stock":true},{"title":"Jaune \/ S-M","offer_id":52859967275274,"sku":"14:201441572#Yellow;491:201452307#S-M","price":29.9,"currency_code":"EUR","in_stock":true},{"title":"Jaune \/ L-XL","offer_id":52859967308042,"sku":"14:201441572#Yellow;491:201452308#L-XL","price":29.9,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0940\/2626\/8938\/files\/Ajouter_un_touyfuyfitre.jpg?v=1776196756","url":"https:\/\/perforun.store\/products\/compression-shoulder-brace-shoulder-orthopedic-brace-for-men-women-torn-rotator-cuff-dislocation-other-shoulder-injuries","provider":"PerfoRun","version":"1.0","type":"link"}