{"product_id":"raul-marcos-vision-pro-power-pdl00086-2019","title":"Raúl Marcos Vision Pro Power","description":"\u003c!-- STYLES CSS --\u003e\n\u003cstyle\u003e\n  .tp-product-page {\n    font-family: Montserrat, sans-serif;\n    max-width: 1200px;\n    margin: 0 auto;\n    padding: 0 20px;\n    line-height: 1.6;\n    color: #333;\n  }\n\n  \/* Navigation rapide - trait horizontal #096b7a, fond #F1F1F1, SANS balise Hn *\/\n  .tp-toc {\n    background: #F1F1F1;\n    border-top: 3px solid #096b7a;\n    padding: 15px 20px;\n    margin: 20px 0;\n    border-radius: 0;\n  }\n  .tp-toc-title {\n    display: block;\n    margin: 0 0 10px 0;\n    font-size: 22px;\n    font-weight: 700;\n    color: #000;\n  }\n  .tp-toc ul {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n  }\n  .tp-toc li {\n    display: block;\n    margin-bottom: 2px;\n    line-height: 1 !important;\n  }\n  .tp-toc a {\n    color: #000;\n    text-decoration: none;\n    font-size: 13px;\n    transition: all 0.2s;\n    white-space: nowrap;\n  }\n  .tp-toc a:hover {\n    color: #096b7a;\n    text-decoration: none;\n  }\n\n  \/* H2 - Premier vrai titre, trait horizontal #096b7a, fond #F1F1F1 *\/\n  .tp-h2 {\n    font-size: 22px;\n    font-weight: 700;\n    margin: 35px 0 15px 0;\n    color: #000;\n    border-bottom: 2px solid #096b7a;\n    padding: 15px 20px 10px 20px;\n    background: transparent;\n    border-radius: 0;\n  }\n\n  \/* Box \"À retenir en 10 secondes\" - DÉGRADÉ #F1F1F1→jaune depuis coin sup gauche *\/\n  .tp-quick-box {\n    background: linear-gradient(135deg, #F1F1F1 0%, #f5df4d 100%);\n    color: #000;\n    padding: 20px;\n    border-radius: 10px;\n    margin: 20px 0;\n    border: none;\n  }\n  .tp-quick-box h2 {\n    margin: 0 0 15px 0;\n    font-size: 22px;\n    font-weight: 700;\n    color: #000;\n    background: transparent;\n    border: none;\n    padding: 0;\n  }\n  .tp-quick-box ul {\n    margin: 0;\n    padding-left: 20px;\n  }\n  .tp-quick-box li {\n    margin: 8px 0;\n    color: #000;\n  }\n\n  \/* Listes à puces avec emojis *\/\n  .tp-list {\n    list-style: none;\n    padding: 0;\n    margin: 15px 0;\n  }\n  .tp-list ul {\n    margin: 0;\n    padding-left: 20px;\n  }\n  .tp-list li {\n    position: relative;\n    margin: 8px 0;\n  }\n  .tp-list li:before {\n    content: none;\n    position: absolute;\n    left: 0;\n  }\n\n  \/* Barres de progression - dégradé vert→rouge, fond encadrés #F1F1F1 *\/\n  .tp-specs-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n    gap: 20px;\n    margin: 20px 0;\n  }\n  .tp-spec-item {\n    background: #F1F1F1;\n    padding: 15px;\n    border-radius: 8px;\n  }\n  .tp-spec-header {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    margin-bottom: 8px;\n  }\n  .tp-spec-label {\n    font-weight: 600;\n    font-size: 14px;\n    color: #000;\n  }\n  .tp-spec-value {\n    font-weight: 700;\n    font-size: 16px;\n    color: #000;\n  }\n  .tp-progress-bar {\n    width: 100%;\n    height: 8px;\n    background: #ddd;\n    border-radius: 10px;\n    overflow: hidden;\n  }\n  .tp-progress-fill {\n    height: 100%;\n    border-radius: 10px;\n    transition: width 0.3s ease;\n  }\n  .tp-spec-desc {\n    margin-top: 8px;\n    font-size: 12px;\n    color: #666;\n    font-style: italic;\n  }\n\n  \/* Calcul couleur barre : vert→jaune→orange→rouge *\/\n  .tp-progress-fill[data-value=\"9\"] { width: 90%; background: linear-gradient(90deg, #84cc16 0%, #eab308 50%, #f97316 100%); }\n  .tp-progress-fill[data-value=\"8\"] { width: 80%; background: linear-gradient(90deg, #22c55e 0%, #84cc16 70%, #eab308 100%); }\n  .tp-progress-fill[data-value=\"7\"] { width: 70%; background: linear-gradient(90deg, #22c55e 0%, #84cc16 100%); }\n  .tp-progress-fill[data-value=\"9.5\"] { width: 95%; background: linear-gradient(90deg, #eab308 0%, #f97316 70%, #ef4444 100%); }\n\n  \/* Caractéristiques techniques - encadrés #F1F1F1 avec border gauche #f5df4d *\/\n  .tp-tech-grid {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n    gap: 15px;\n    margin: 20px 0;\n  }\n  .tp-tech-item {\n    background: #F1F1F1;\n    border-left: 4px solid #f5df4d;\n    padding: 15px;\n    border-radius: 6px;\n  }\n  .tp-accordion { border-left: 4px solid #f5df4d; background:#F1F1F1; border-radius:6px; margin-bottom:10px; }\n  .tp-accordion-header { display:flex; justify-content:space-between; align-items:center; cursor:pointer; padding:12px 15px; font-weight:700; }\n  .tp-accordion-content { display:none; padding:0 15px 15px 15px; }\n  .tp-accordion.active .tp-accordion-content { display:block; }\n\n  \/* CTA sticky (contenu uniquement) *\/\n  .tp-cta-sticky { position: sticky; bottom: 0; background:#fff; border-top:2px solid #096b7a; padding:12px 15px; display:flex; justify-content:space-between; align-items:center; gap:10px; }\n  .tp-cta-sticky.scrolled { box-shadow: 0 -6px 16px rgba(0,0,0,.08); }\n  .tp-btn { display:inline-block; padding:10px 14px; border-radius:6px; text-decoration:none; font-weight:700; }\n  .tp-btn-primary { background:#096b7a; color:#fff; }\n  .tp-btn-secondary { background:#F1F1F1; color:#000; border:1px solid #ddd; }\n\n  \/* Comparatif *\/\n  .tp-compare-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap:14px; }\n  .tp-compare-card { background:#F1F1F1; border-left:4px solid #096b7a; padding:12px; border-radius:6px; }\n  .tp-compare-card .price { font-weight:700; color:#000; }\n\n  \/* FAQ *\/\n  .tp-faq-item { background:#F1F1F1; border-left:4px solid #096b7a; margin-bottom:10px; border-radius:6px; }\n  .tp-faq-question { display:flex; justify-content:space-between; align-items:center; cursor:pointer; padding:12px 15px; font-weight:700; }\n  .tp-faq-answer { display:none; padding:0 15px 15px 15px; }\n  .tp-faq-item.active .tp-faq-answer { display:block; }\n  .tp-faq-icon { font-weight:700; }\n\n  \/* Petites utilitaires *\/\n  .muted { color:#666; font-size:12px; font-style:italic; }\n\u003c\/style\u003e\n\u003cdiv class=\"tp-product-page\"\u003e\n  \u003c!-- Navigation rapide --\u003e\n  \u003cdiv class=\"tp-toc\"\u003e\n    \u003cspan class=\"tp-toc-title\"\u003eNavigation rapide\u003c\/span\u003e\n    \u003cul\u003e\n      \u003cli\u003e\u003ca href=\"#tp-retain\"\u003eÀ retenir en 10 secondes\u003c\/a\u003e\u003c\/li\u003e\n      \u003cli\u003e\u003ca href=\"#tp-details\"\u003eDétails d’usage\u003c\/a\u003e\u003c\/li\u003e\n      \u003cli\u003e\u003ca href=\"#tp-tech\"\u003eTechnologies\u003c\/a\u003e\u003c\/li\u003e\n      \u003cli\u003e\u003ca href=\"#tp-specs\"\u003eCaractéristiques\u003c\/a\u003e\u003c\/li\u003e\n      \u003cli\u003e\u003ca href=\"#tp-scores\"\u003eNotes synthèse\u003c\/a\u003e\u003c\/li\u003e\n      \u003cli\u003e\u003ca href=\"#tp-compare\"\u003eComparer\u003c\/a\u003e\u003c\/li\u003e\n      \u003cli\u003e\u003ca href=\"#tp-faq\"\u003eFAQ\u003c\/a\u003e\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- Titre --\u003e\n  \u003ch2 class=\"tp-h2\"\u003eOsaka x Raúl Marcos - Pro Padel Racket Power - Champagne\u003c\/h2\u003e\n\n  \u003c!-- À retenir --\u003e\n  \u003cdiv class=\"tp-quick-box\" id=\"tp-retain\"\u003e\n    \u003ch2\u003e⚡ À retenir en 10 secondes\u003c\/h2\u003e\n    \u003cul\u003e\n      \u003cli\u003eForme teardrop à sweet spot haut pour maximiser la puissance au‑dessus du cœur.\u003c\/li\u003e\n      \u003cli\u003eNoyau EV50 (haute densité) pour une réponse ferme et explosive sur smashs et volées.\u003c\/li\u003e\n      \u003cli\u003eFaces en carbone 3K japonais + renfort Kevlar pour réactivité et durabilité.\u003c\/li\u003e\n      \u003cli\u003eCadre twin‑tube “blown” monobloc pour une stabilité torsionnelle accrue.\u003c\/li\u003e\n      \u003cli\u003ePerçage 68 trous aux arêtes nettes + finition sablée locale pour plus d’effet.\u003c\/li\u003e\n      \u003cli\u003eÉquilibre env. 265 ±10 mm; poids moyen 355-375 g (tolérance usine).\u003c\/li\u003e\n    \u003c\/ul\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- Détails d’usage --\u003e\n  \u003ch2 class=\"tp-h2\" id=\"tp-details\"\u003eDétails et usage recommandé\u003c\/h2\u003e\n  \u003cul class=\"tp-list\"\u003e\n    \u003cli\u003ePour qui : joueurs intermédiaires à avancés orientés attaque, particulièrement côté revers.\u003c\/li\u003e\n    \u003cli\u003eSensations : touché ferme, sortie de balle très vive; stabilité marquée sur les frappes engagées.\u003c\/li\u003e\n    \u003cli\u003eStyle de jeu : smashes liftés, viboras appuyées, volées agressives, finitions rapides au filet.\u003c\/li\u003e\n    \u003cli\u003eConfort : mousse dense EV50, ressenti plus sec qu’une Snap EVA; tolérance correcte grâce au grand tamis.\u003c\/li\u003e\n  \u003c\/ul\u003e\n\n  \u003c!-- Technologies --\u003e\n  \u003ch2 class=\"tp-h2\" id=\"tp-tech\"\u003eTechnologies\u003c\/h2\u003e\n  \u003cdiv class=\"tp-tech-grid\"\u003e\n    \u003cdiv class=\"tp-accordion\"\u003e\n      \u003cdiv class=\"tp-accordion-header\"\u003eEV50 High‑Density Foam Core\u003c\/div\u003e\n      \u003cdiv class=\"tp-accordion-content\"\u003eMousse à haute densité offrant un retour d’énergie supérieur et une sensation plus ferme pour générer de la puissance contrôlée.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"tp-accordion\"\u003e\n      \u003cdiv class=\"tp-accordion-header\"\u003e3K Twill Weave Japanese Carbon + 1 couche Kevlar\u003c\/div\u003e\n      \u003cdiv class=\"tp-accordion-content\"\u003eFace carbone 3K réactive et constante, renforcée par une couche de Kevlar pour la résistance aux chocs et la stabilité.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"tp-accordion\"\u003e\n      \u003cdiv class=\"tp-accordion-header\"\u003eTwin‑Tube Blown Frame (monobloc)\u003c\/div\u003e\n      \u003cdiv class=\"tp-accordion-content\"\u003eCadre bi‑tube soufflé en une seule étape pour une rigidité structurelle élevée et moins de torsion à l’impact.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"tp-accordion\"\u003e\n      \u003cdiv class=\"tp-accordion-header\"\u003ePerçage 68 trous à arêtes nettes\u003c\/div\u003e\n      \u003cdiv class=\"tp-accordion-content\"\u003eSchéma optimisé pour améliorer l’accroche de balle et la précision des coups coupés et liftés.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"tp-accordion\"\u003e\n      \u003cdiv class=\"tp-accordion-header\"\u003eLocal Sand Finish\u003c\/div\u003e\n      \u003cdiv class=\"tp-accordion-content\"\u003eFinition sablée légère pour une prise d’effet mesurée sans sacrifier la sortie de balle.\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- Caractéristiques --\u003e\n  \u003ch2 class=\"tp-h2\" id=\"tp-specs\"\u003eCaractéristiques\u003c\/h2\u003e\n  \u003cul class=\"tp-list\"\u003e\n    \u003cli\u003eForme : teardrop (sweet spot haut)\u003c\/li\u003e\n    \u003cli\u003eÉquilibre : 265 ±10 mm (tendance en tête modérée)\u003c\/li\u003e\n    \u003cli\u003eÉpaisseur : 38 mm\u003c\/li\u003e\n    \u003cli\u003ePoids : 355–375 g (plage moyenne constatée)\u003c\/li\u003e\n    \u003cli\u003eTamis \/ perçage : 68 trous\u003c\/li\u003e\n    \u003cli\u003eSurface : carbone 3K twill (avec 1 couche Kevlar)\u003c\/li\u003e\n    \u003cli\u003eNoyau : EV50 high‑density foam\u003c\/li\u003e\n    \u003cli\u003eCadre : twin‑tube blown, construction monobloc (single‑stage)\u003c\/li\u003e\n    \u003cli\u003eFinition : Local Sand (sablage léger)\u003c\/li\u003e\n    \u003cli\u003eColoris : Champagne\u003c\/li\u003e\n    \u003cli\u003eCollection : 2026\u003c\/li\u003e\n  \u003c\/ul\u003e\n  \u003cp class=\"muted\"\u003eNote : lorsque le fabricant ne précise pas un chiffre exact (poids, équilibre chiffré), les valeurs ci‑dessus reprennent la plage indiquée par la fiche officielle.\u003c\/p\u003e\n\n  \u003c!-- Notes synthèse (barres) --\u003e\n  \u003ch2 class=\"tp-h2\" id=\"tp-scores\"\u003eNotes synthèse\u003c\/h2\u003e\n  \u003cdiv class=\"tp-specs-grid\"\u003e\n    \u003cdiv class=\"tp-spec-item\"\u003e\n      \u003cdiv class=\"tp-spec-header\"\u003e\n        \u003cspan class=\"tp-spec-label\"\u003ePuissance\u003c\/span\u003e \u003cspan class=\"tp-spec-value\"\u003e9.5\/10\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"tp-progress-bar\"\u003e\n        \u003cdiv data-value=\"9.5\" class=\"tp-progress-fill\"\u003e\u003cbr\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"tp-spec-desc\"\u003eEV50 + sweet spot haut : frappe très explosive.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"tp-spec-item\"\u003e\n      \u003cdiv class=\"tp-spec-header\"\u003e\n        \u003cspan class=\"tp-spec-label\"\u003ePrise d’effet\u003c\/span\u003e \u003cspan class=\"tp-spec-value\"\u003e8\/10\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"tp-progress-bar\"\u003e\n        \u003cdiv data-value=\"8\" class=\"tp-progress-fill\"\u003e\u003cbr\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"tp-spec-desc\"\u003ePerçage 68 trous à arêtes nettes + finition sablée.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"tp-spec-item\"\u003e\n      \u003cdiv class=\"tp-spec-header\"\u003e\n        \u003cspan class=\"tp-spec-label\"\u003eConfort\u003c\/span\u003e \u003cspan class=\"tp-spec-value\"\u003e7\/10\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"tp-progress-bar\"\u003e\n        \u003cdiv data-value=\"7\" class=\"tp-progress-fill\"\u003e\u003cbr\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"tp-spec-desc\"\u003eMousse dense (ressenti plus ferme que les EVA souples).\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"tp-spec-item\"\u003e\n      \u003cdiv class=\"tp-spec-header\"\u003e\n        \u003cspan class=\"tp-spec-label\"\u003eContrôle\u003c\/span\u003e \u003cspan class=\"tp-spec-value\"\u003e7\/10\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"tp-progress-bar\"\u003e\n        \u003cdiv data-value=\"7\" class=\"tp-progress-fill\"\u003e\u003cbr\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"tp-spec-desc\"\u003eProfil offensif : demande un bon placement.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"tp-spec-item\"\u003e\n      \u003cdiv class=\"tp-spec-header\"\u003e\n        \u003cspan class=\"tp-spec-label\"\u003eManiabilité\u003c\/span\u003e \u003cspan class=\"tp-spec-value\"\u003e7\/10\u003c\/span\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"tp-progress-bar\"\u003e\n        \u003cdiv data-value=\"7\" class=\"tp-progress-fill\"\u003e\u003cbr\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"tp-spec-desc\"\u003eÉquilibre en tête modéré, inertie perceptible sur finitions.\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- Comparer --\u003e\n  \u003ch2 class=\"tp-h2\" id=\"tp-compare\"\u003eComparer\u003c\/h2\u003e\n  \u003cdiv class=\"tp-compare-grid\"\u003e\n    \u003cdiv class=\"tp-compare-card\"\u003e\n      \u003cdiv\u003e\u003cstrong\u003eRaúl Marcos Pro Power (Champagne)\u003c\/strong\u003e\u003c\/div\u003e\n      \u003cdiv\u003eEV50 (ferme), carbone 3K + Kevlar, 265 ±10 mm, 355-375 g.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"tp-compare-card\"\u003e\n      \u003cdiv\u003e\u003cstrong\u003eVision Pro Power\u003c\/strong\u003e\u003c\/div\u003e\n      \u003cdiv\u003eSnap® EVA 10-13 (plus moelleux), équilibre ~260 mm, 360 ±10 g.\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"tp-compare-card\"\u003e\n      \u003cdiv\u003e\u003cstrong\u003ePro Tour LTD Power\u003c\/strong\u003e\u003c\/div\u003e\n      \u003cdiv\u003eCarbone haut de gamme, châssis double‑stage, profil power orienté backhand.\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\n  \u003c!-- FAQ --\u003e\n  \u003ch2 class=\"tp-h2\" id=\"tp-faq\"\u003eFAQ express\u003c\/h2\u003e\n  \u003cdiv class=\"tp-faq-item\"\u003e\n    \u003cdiv class=\"tp-faq-question\"\u003e\n      \u003cspan\u003eConvient‑elle à un joueur qui recherche surtout la puissance ?\u003c\/span\u003e \u003cspan class=\"tp-faq-icon\"\u003e▼\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"tp-faq-answer\"\u003eOui, mousse EV50 + sweet spot haut + cadre rigide = puissance immédiate sur les frappes engagées.\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"tp-faq-item\"\u003e\n    \u003cdiv class=\"tp-faq-question\"\u003e\n      \u003cspan\u003eL’accroche est‑elle marquée pour les effets ?\u003c\/span\u003e \u003cspan class=\"tp-faq-icon\"\u003e▼\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"tp-faq-answer\"\u003eCorrecte à bonne grâce au perçage 68 trous “sharp edges” et à la finition sablée locale.\u003c\/div\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"tp-faq-item\"\u003e\n    \u003cdiv class=\"tp-faq-question\"\u003e\n      \u003cspan\u003eQuel ressenti par rapport à une Vision Power en Snap EVA ?\u003c\/span\u003e \u003cspan class=\"tp-faq-icon\"\u003e▼\u003c\/span\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"tp-faq-answer\"\u003ePlus ferme et plus direct. La Vision (Snap EVA 10–13) sera plus douce et tolérante ; la Raúl Marcos favorise la frappe lourde.\u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- JAVASCRIPT ACCORDÉONS + FAQ (remplacement) --\u003e\n\u003cscript\u003e\n(function(){\n  \"use strict\";\n\n  \/\/ Petit helper\n  const $$ = (sel, ctx = document) =\u003e Array.from(ctx.querySelectorAll(sel));\n\n  function initAccordions(){\n    \/\/ Accordéons génériques (si tu utilises des blocs .tp-accordion)\n    $$('.tp-accordion').forEach(acc =\u003e {\n      const header = acc.querySelector('.tp-accordion-header');\n      if(!header) return;\n      header.addEventListener('click', () =\u003e {\n        const isOpen = acc.classList.contains('active');\n        \/\/ Ferme les autres\n        $$('.tp-accordion.active').forEach(a =\u003e a !== acc \u0026\u0026 a.classList.remove('active'));\n        \/\/ Bascule celui-ci\n        acc.classList.toggle('active', !isOpen);\n      });\n    });\n  }\n\n  function initFAQ(){\n    \/\/ FAQ au format Pro Power (.tp-faq-item \u003e .tp-faq-question + .tp-faq-answer)\n    $$('.tp-faq-item').forEach(item =\u003e {\n      const q = item.querySelector('.tp-faq-question');\n      const a = item.querySelector('.tp-faq-answer');\n      if(!q || !a) return;\n      q.addEventListener('click', () =\u003e {\n        const isOpen = item.classList.contains('active');\n        \/\/ Ferme les autres\n        $$('.tp-faq-item.active').forEach(i =\u003e i !== item \u0026\u0026 i.classList.remove('active'));\n        \/\/ Ouvre\/ferme celui-ci\n        item.classList.toggle('active', !isOpen);\n      });\n    });\n  }\n\n  function initProgressBars(){\n    \/\/ Remplit les barres .tp-progress-fill via l’attribut data-value (0–10)\n    $$('.tp-progress-fill').forEach(fill =\u003e {\n      const v = parseFloat(fill.getAttribute('data-value'));\n      if (isNaN(v)) return;\n      const pct = Math.max(0, Math.min(10, v)) * 10; \/\/ 0–100%\n      \/\/ Animation simple\n      fill.style.width = '0%';\n      requestAnimationFrame(() =\u003e {\n        requestAnimationFrame(() =\u003e {\n          fill.style.transition = 'width 600ms ease';\n          fill.style.width = pct + '%';\n        });\n      });\n    });\n  }\n\n  function ready(fn){\n    if(document.readyState === 'loading'){\n      document.addEventListener('DOMContentLoaded', fn, { once:true });\n    } else {\n      fn();\n    }\n  }\n\n  ready(() =\u003e {\n    initAccordions();\n    initFAQ();\n    initProgressBars();\n  });\n})();\n\u003c\/script\u003e\n\n","brand":"OSAKA","offers":[{"title":"Default Title","offer_id":55237113381198,"sku":"PDL00086-2019","price":211.5,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0871\/0540\/5262\/files\/RaulMarcosProPower.jpg?v=1767620423","url":"https:\/\/tennispadel.fr\/products\/raul-marcos-vision-pro-power-pdl00086-2019","provider":"tennispadel.fr","version":"1.0","type":"link"}