{"title":"Adaptateur Phare LED Pure Vision  Renault CLIO 4","description":"\u003cp class=\"p1\"\u003e\u003cb\u003eLes adaptateurs LED Pure Vision pour Renault Clio 4 sont conçus pour permettre une installation simple, fiable et parfaitement intégrée de l’éclairage LED.\u003c\/b\u003e\u003cb\u003e\u003c\/b\u003e\u003c\/p\u003e\n\u003cp class=\"p2\"\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp class=\"p3\"\u003eSpécialement développés pour la Renault Clio 4, ces adaptateurs assurent une compatibilité optimale avec le faisceau d’origine, tout en conservant les fonctions essentielles du véhicule, comme le réglage de hauteur et la conformité au contrôle technique.\u003c\/p\u003e\n\u003cp class=\"p2\"\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp class=\"p3\"\u003eAdaptateurs pour \u003cspan class=\"s1\"\u003e\u003cb\u003ephares avant\u003c\/b\u003e\u003c\/span\u003e, \u003cspan class=\"s1\"\u003e\u003cb\u003efeux arrière\u003c\/b\u003e\u003c\/span\u003e, \u003cspan class=\"s1\"\u003e\u003cb\u003eantibrouillards\u003c\/b\u003e\u003c\/span\u003e et versions \u003cspan class=\"s1\"\u003e\u003cb\u003eRS Vision\u003c\/b\u003e\u003c\/span\u003e : chaque solution est pensée pour offrir une \u003cspan class=\"s1\"\u003e\u003cb\u003einstallation Plug \u0026amp; Play\u003c\/b\u003e\u003c\/span\u003e, sans modification du câblage, avec un maintien sécurisé et un rendu lumineux précis, fidèle à l’installation d’origine.\u003c\/p\u003e\n\u003cp class=\"p2\"\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp class=\"p3\"\u003e👉 Découvrez ici la sélection complète d’adaptateurs LED Pure Vision pour \u003cspan class=\"s1\"\u003e\u003cb\u003eRenault Clio 4\u003c\/b\u003e\u003c\/span\u003e, proposée par \u003cspan class=\"s1\"\u003e\u003cb\u003eKALYSTOCK\u003c\/b\u003e\u003c\/span\u003e, idéale pour moderniser votre éclairage en toute simplicité et en toute conformité.\u003c\/p\u003e","products":[{"product_id":"adaptateur-led-pure-vision-clio-4-rs-plug-play-reglage-hauteur-phare","title":"Adaptateur LED Pure Vision Clio 4 \/ RS – Plug \u0026 Play + Réglage Hauteur Phare","description":"\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cmeta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\"\u003e\n\u003ctitle\u003ePure Vision Clio 4\u003c\/title\u003e\n\u003cstyle\u003e\n\/* ── REDUCED MOTION ── *\/\n@media(prefers-reduced-motion:reduce){\n  .kaly-oaX *{animation:none!important;transition:none!important}\n}\n\n\/* ── KEYFRAMES ── *\/\n@keyframes kalyLedSpin{\n  0%{transform:translateX(-210%) skewX(-22deg);opacity:0}\n  48%{opacity:1}\n  100%{transform:translateX(360%) skewX(-22deg);opacity:0}\n}\n@keyframes kalyAuraOrbit{\n  0%,100%{transform:translate3d(0,0,0) scale(.96);filter:blur(30px);opacity:.7}\n  25%{transform:translate3d(10px,-8px,0) scale(1.03);filter:blur(42px);opacity:1}\n  50%{transform:translate3d(0,10px,0) scale(1.08);filter:blur(48px);opacity:.92}\n  75%{transform:translate3d(-10px,-6px,0) scale(1.02);filter:blur(40px);opacity:1}\n}\n@keyframes kalyHaloBreathStrongRight{\n  0%,100%{opacity:.18;transform:scale(.9);filter:blur(114px)}\n  56%,72%{opacity:.92;transform:scale(1.14);filter:blur(82px)}\n}\n@keyframes kalyPulseDot{\n  0%,100%{transform:translate(-50%,-50%) scale(.86);opacity:.78;box-shadow:0 0 14px rgba(255,120,120,.55),0 0 28px rgba(255,60,60,.28),0 0 58px rgba(220,0,0,.14)}\n  50%{transform:translate(-50%,-50%) scale(1.16);opacity:1;box-shadow:0 0 22px rgba(255,180,180,.92),0 0 40px rgba(255,80,80,.56),0 0 74px rgba(220,0,0,.3)}\n}\n@keyframes kalyWaveDot{\n  0%{transform:translate(-50%,-50%) scale(.45);opacity:.95}\n  70%{opacity:.22}\n  100%{transform:translate(-50%,-50%) scale(2.05);opacity:0}\n}\n@keyframes kalyModeHaloBreath{\n  0%,100%{opacity:.58;transform:translate(-50%,-50%) scale(.86);filter:blur(12px)}\n  50%{opacity:1;transform:translate(-50%,-50%) scale(1.04);filter:blur(18px)}\n}\n@keyframes kalyYellowDotPulse{\n  0%,100%{transform:scale(.92);box-shadow:0 0 12px rgba(255,210,90,.56),0 0 28px rgba(255,150,24,.22)}\n  50%{transform:scale(1.12);box-shadow:0 0 22px rgba(255,220,110,.82),0 0 46px rgba(255,154,24,.36)}\n}\n@keyframes kalyStarHaloPulse{\n  0%,100%{text-shadow:0 0 6px rgba(255,210,90,.42),0 0 14px rgba(255,186,40,.24)}\n  50%{text-shadow:0 0 12px rgba(255,228,130,.92),0 0 24px rgba(255,196,70,.58)}\n}\n@keyframes kalyTrustTickerUp{\n  0.0%,1.4%{transform:translateY(0)}\n  3.4%,4.8%{transform:translateY(-1.25em)}\n  6.9%,8.3%{transform:translateY(-2.5em)}\n  10.3%,11.7%{transform:translateY(-3.75em)}\n  13.8%,15.2%{transform:translateY(-5.0em)}\n  17.2%,18.6%{transform:translateY(-6.25em)}\n  20.7%,22.1%{transform:translateY(-7.5em)}\n  24.1%,25.5%{transform:translateY(-8.75em)}\n  27.6%,29.0%{transform:translateY(-10.0em)}\n  31.0%,32.4%{transform:translateY(-11.25em)}\n  34.5%,35.9%{transform:translateY(-12.5em)}\n  37.9%,39.3%{transform:translateY(-13.75em)}\n  41.4%,42.8%{transform:translateY(-15.0em)}\n  44.8%,46.2%{transform:translateY(-16.25em)}\n  48.3%,49.7%{transform:translateY(-17.5em)}\n  51.7%,53.1%{transform:translateY(-18.75em)}\n  55.2%,56.6%{transform:translateY(-20.0em)}\n  58.6%,60.0%{transform:translateY(-21.25em)}\n  62.1%,63.4%{transform:translateY(-22.5em)}\n  65.5%,66.9%{transform:translateY(-23.75em)}\n  69.0%,70.3%{transform:translateY(-25.0em)}\n  72.4%,73.8%{transform:translateY(-26.25em)}\n  75.9%,77.2%{transform:translateY(-27.5em)}\n  79.3%,80.7%{transform:translateY(-28.75em)}\n  82.8%,84.1%{transform:translateY(-30.0em)}\n  86.2%,87.6%{transform:translateY(-31.25em)}\n  89.7%,91.0%{transform:translateY(-32.5em)}\n  93.1%,94.5%{transform:translateY(-33.75em)}\n  96.6%,97.9%{transform:translateY(-35.0em)}\n  100%{transform:translateY(0)}\n}\n@keyframes kalyMonAvisHaloSoft{\n  0%,100%{opacity:.22;transform:translate(-50%,-50%) scale(.98);filter:blur(18px)}\n  86%{opacity:.88;transform:translate(-50%,-50%) scale(1.14);filter:blur(27px)}\n}\n@keyframes kalyActBladeV2{\n  0%{transform:translateX(-180%) skewX(-24deg);opacity:.18}\n  8%{opacity:.85}\n  20%,72%{opacity:1}\n  100%{transform:translateX(260%) skewX(-24deg);opacity:0}\n}\n@keyframes kalyReviewAuto{\n  from{transform:translateX(0)}\n  to{transform:translateX(calc(-50% - 7px))}\n}\n@keyframes kalyTrustDotBreath{\n  0%,100%{transform:scale(.9);box-shadow:0 0 10px rgba(29,185,84,.45)}\n  50%{transform:scale(1.18);box-shadow:0 0 18px rgba(29,185,84,.9)}\n}\n@keyframes kalyMetalSheen{\n  0%{transform:translateX(-185%) rotate(18deg);opacity:0}\n  50%{opacity:.9}\n  100%{transform:translateX(345%) rotate(18deg);opacity:0}\n}\n@keyframes kalyReviewHaloFloat{\n  0%,100%{transform:translate3d(0,0,0) scale(.78);opacity:.08}\n  50%{transform:translate3d(-10px,-12px,0) scale(1.42);opacity:.96}\n}\n\/* effet discret bouton Mon Avis : lueur dorée qui respire *\/\n@keyframes kalyBtnGoldBreath{\n  0%,100%{box-shadow:0 34px 74px rgba(0,0,0,.50),inset 0 2px 0 rgba(255,255,255,.34),inset 0 -5px 0 rgba(0,0,0,.34),0 0 0 2px rgba(255,200,50,.22),0 0 14px rgba(255,190,40,.12)}\n  50%{box-shadow:0 34px 74px rgba(0,0,0,.50),inset 0 2px 0 rgba(255,255,255,.34),inset 0 -5px 0 rgba(0,0,0,.34),0 0 0 3px rgba(255,210,70,.52),0 0 26px rgba(255,190,40,.28),0 0 48px rgba(255,160,20,.12)}\n}\n@keyframes kalyRedTextHalo{\n  0%,100%{text-shadow:0 0 8px rgba(255,40,40,.34),0 0 18px rgba(255,20,20,.20),0 0 34px rgba(200,0,0,.10)}\n  54%,72%{text-shadow:0 0 18px rgba(255,72,72,.92),0 0 38px rgba(255,28,28,.68),0 0 70px rgba(230,0,0,.38)}\n}\n@keyframes kalyMicroDotHalo{\n  0%,100%{opacity:.24;transform:translate(-50%,-50%) scale(.82);filter:blur(8px)}\n  50%{opacity:1;transform:translate(-50%,-50%) scale(1.18);filter:blur(16px)}\n}\n@keyframes kalyMicroDotPulse{\n  0%,100%{transform:scale(.88);box-shadow:0 0 10px rgba(255,70,70,.54),0 0 24px rgba(255,40,40,.22)}\n  50%{transform:scale(1.12);box-shadow:0 0 16px rgba(255,120,120,.92),0 0 34px rgba(255,40,40,.42)}\n}\n@keyframes kalyConsoleHaloBreath{\n  0%,100%{opacity:.08;transform:scaleY(.72) scaleX(.88);filter:blur(42px)}\n  20%{opacity:.22;transform:scaleY(.86) scaleX(.94);filter:blur(32px)}\n  50%{opacity:1;transform:scaleY(1.28) scaleX(1.04);filter:blur(16px)}\n  70%{opacity:.82;transform:scaleY(1.38) scaleX(1.06);filter:blur(14px)}\n  88%{opacity:.18;transform:scaleY(.80) scaleX(.90);filter:blur(38px)}\n}\n@keyframes kalyDemoBlueOrb{\n  0%,18%,100%{opacity:0;transform:translate(-50%,-50%) scale(.68);filter:blur(64px)}\n  30%{opacity:.18;transform:translate(-50%,-50%) scale(.78);filter:blur(72px)}\n  52%{opacity:1;transform:translate(-50%,-50%) scale(1.22);filter:blur(118px)}\n  72%{opacity:.12;transform:translate(-50%,-50%) scale(.84);filter:blur(74px)}\n}\n@keyframes kalyDemoBlueOrbInner{\n  0%,20%,100%{opacity:0;transform:scale(.72);filter:blur(24px)}\n  34%{opacity:.10;transform:scale(.84);filter:blur(30px)}\n  52%{opacity:.92;transform:scale(1.18);filter:blur(58px)}\n  72%{opacity:.08;transform:scale(.88);filter:blur(32px)}\n}\n\n\/* ── LAYOUT WRAP ── *\/\nbody{margin:0;background:#111}\n.kaly-oaX-wrap{\n  width:100%;max-width:1000px;margin:34px auto 42px;padding:0 30px;\n  position:relative;isolation:isolate;z-index:0\n}\n\/* ombre de lévitation sous la carte *\/\n.kaly-oaX-wrap:before{\n  content:'';position:absolute;left:50%;bottom:-28px;width:88%;height:60px;\n  transform:translateX(-50%);pointer-events:none;z-index:-1;border-radius:50%;\n  background:radial-gradient(ellipse at center,rgba(255,40,40,.28) 0%,rgba(120,0,0,.18) 38%,rgba(0,0,0,.10) 64%,rgba(0,0,0,0) 82%);\n  filter:blur(18px)\n}\n\n\/* ── CARD ── *\/\n.kaly-oaX{\n  --red:#ff3333;--yellow:#ffce33;--txt:rgba(255,255,255,.94);--muted:rgba(255,255,255,.74);--r:28px;\n  width:100%;margin:0;padding:22px 30px;position:relative;isolation:isolate;\n  border-radius:var(--r);color:#fff;text-align:center;color-scheme:dark;overflow:hidden;\n  -webkit-text-size-adjust:100%;background:#000;\n  box-shadow:\n    0 40px 80px rgba(0,0,0,.72),\n    0 80px 160px rgba(0,0,0,.48),\n    0 120px 220px rgba(0,0,0,.28),\n    inset 0 1px 0 rgba(255,255,255,.42),inset 0 -1px 0 rgba(0,0,0,.22),\n    inset 18px 18px 42px rgba(255,255,255,.03),inset -22px -24px 44px rgba(0,0,0,.18),\n    0 0 0 1px rgba(255,255,255,.24),0 0 0 2px rgba(255,255,255,.10),\n    0 0 34px rgba(255,255,255,.06),0 0 120px rgba(180,0,0,.08);\n  backdrop-filter:blur(40px) saturate(260%);\n  -webkit-backdrop-filter:blur(40px) saturate(260%);\n  transform:translateZ(0)\n}\n.kaly-oaX,.kaly-oaX *{box-sizing:border-box}\n.kaly-oaX,.kaly-oaX *:not(svg):not(path):not(video):not(source){\n  font-family:Inter,system-ui,-apple-system,\"Segoe UI\",Roboto,Arial,sans-serif!important\n}\n.kaly-oaX strong{font-weight:900}\n.kaly-oaX\u003e*{position:relative;z-index:1}\n\n\/* border gradient *\/\n.kaly-oaX:before{\n  content:'';position:absolute;inset:-2px;pointer-events:none;z-index:0;\n  border-radius:calc(var(--r) + 2px);\n  background:linear-gradient(90deg,rgba(255,118,118,.54) 0%,rgba(205,14,14,.78) 42%,rgba(255,96,96,.58) 100%);\n  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);\n  -webkit-mask-composite:xor;\n  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);\n  mask-composite:exclude;padding:3px\n}\n\/* glass sheen *\/\n.kaly-oaX:after{\n  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;\n  border-radius:var(--r);\n  background:\n    linear-gradient(115deg,rgba(255,255,255,0) 10%,rgba(255,255,255,.22) 36%,rgba(255,255,255,0) 58%),\n    linear-gradient(180deg,rgba(255,255,255,.08) 0%,rgba(255,255,255,0) 30%);\n  mix-blend-mode:screen;filter:blur(.25px)\n}\n\n\/* ── GLASS LAYERS ── *\/\n.kaly-oaX .sheetBlade{\n  position:absolute;inset:2px;pointer-events:none;z-index:0;overflow:hidden;\n  border-radius:calc(var(--r) - 2px);clip-path:inset(0 round calc(var(--r) - 2px))\n}\n.kaly-oaX .sheetBlade:before{\n  content:'';position:absolute;top:-42%;left:-96%;width:72%;height:248%;\n  border-radius:999px;\n  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.42),rgba(255,255,255,1),rgba(255,255,255,.42),rgba(255,255,255,0));\n  filter:blur(1.2px) saturate(1.18);\n  transform:translate3d(var(--glass-x,0%),var(--glass-y,0%),0) skewX(-24deg) rotate(var(--glass-r,0deg));\n  mix-blend-mode:screen;opacity:var(--glass-o,.92);will-change:transform,opacity\n}\n.kaly-oaX .mainGlassHalo{\n  position:absolute;top:0;right:0;width:100%;height:100%;\n  pointer-events:none;z-index:0;overflow:hidden;\n  border-radius:var(--r);clip-path:inset(0 round var(--r))\n}\n.kaly-oaX .mainGlassHalo:before{\n  content:'';position:absolute;top:-30%;right:-30%;width:94%;height:94%;border-radius:50%;\n  background:radial-gradient(circle,rgba(190,0,0,.50) 0%,rgba(90,0,0,.14) 50%,rgba(20,0,0,0) 76%);\n  filter:blur(92px);mix-blend-mode:screen\n}\n.kaly-oaX .mainGlassHaloPulse{\n  position:absolute;top:0;right:0;width:100%;height:100%;\n  pointer-events:none;z-index:0;overflow:hidden;\n  border-radius:var(--r);clip-path:inset(0 round var(--r))\n}\n.kaly-oaX .mainGlassHaloPulse:before{\n  content:'';position:absolute;top:-30%;right:-30%;width:98%;height:98%;border-radius:50%;\n  background:radial-gradient(circle,rgba(255,0,0,.96) 0%,rgba(130,0,0,.22) 46%,rgba(30,0,0,0) 76%);\n  filter:blur(112px);opacity:.40;mix-blend-mode:screen;\n  animation:kalyHaloBreathStrongRight 5.8s ease-in-out infinite\n}\n.kaly-oaX .glassDepth{\n  position:absolute;inset:1px;pointer-events:none;z-index:0;\n  border-radius:calc(var(--r) - 1px);overflow:hidden;\n  box-shadow:\n    inset 0 1px 0 rgba(255,255,255,.38),inset 0 0 0 1px rgba(255,255,255,.18),\n    inset 0 16px 34px rgba(255,255,255,.05),inset 0 -26px 46px rgba(0,0,0,.20)\n}\n.kaly-oaX .glassSweep{\n  position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden;\n  border-radius:var(--r);clip-path:inset(0 round var(--r))\n}\n.kaly-oaX .glassSweep:before{\n  content:'';position:absolute;top:-8%;left:-62%;width:64%;height:116%;\n  border-radius:999px;\n  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.34),rgba(255,255,255,0));\n  transform:skewX(-20deg);filter:blur(1.6px) saturate(1.16);\n  mix-blend-mode:screen;animation:kalyMetalSheen 8.6s ease-in-out infinite\n}\n\n\/* ── MEDIA ── *\/\n.kaly-oaX video,.kaly-oaX img{\n  max-width:100%!important;width:100%!important;display:block!important;\n  backface-visibility:hidden;-webkit-backface-visibility:hidden\n}\n.kaly-oaX video{\n  object-fit:cover;background:#000;outline:none;\n  transform:translateZ(0);pointer-events:none;height:100%!important\n}\n.kaly-oaX video::-webkit-media-controls,\n.kaly-oaX video::-webkit-media-controls-enclosure{display:none!important}\n\n\/* ── MICRO BAR ── *\/\n.kaly-oaX .micro{\n  --micro-close:36px;--micro-w:var(--micro-close);\n  --micro-text-o:0;--micro-text-x:26px;--micro-gap:0px;--micro-pad-x:0px;\n  display:flex;align-items:center;justify-content:center;\n  gap:var(--micro-gap);width:min(var(--micro-w),100%);max-width:min(var(--micro-w),100%);\n  height:var(--micro-close);min-height:var(--micro-close);\n  padding:0 var(--micro-pad-x);border-radius:999px;\n  border:1px solid rgba(255,255,255,.14);\n  background:linear-gradient(180deg,rgba(46,50,56,.68) 0%,rgba(7,9,12,.42) 62%,rgba(0,0,0,.34) 100%);\n  font-size:10px;isolation:isolate;overflow:hidden;\n  backdrop-filter:blur(18px) saturate(185%);-webkit-backdrop-filter:blur(18px) saturate(185%);\n  box-shadow:0 18px 34px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.18),inset 0 -4px 0 rgba(0,0,0,.34);\n  letter-spacing:.12em;text-transform:uppercase;margin:10px auto 0;\n  position:relative;transform-origin:center center\n}\n.kaly-oaX .micro:before{\n  content:'';position:absolute;inset:1px;border-radius:999px;z-index:0;\n  background:linear-gradient(180deg,rgba(255,255,255,.18) 0%,rgba(255,255,255,0) 52%)\n}\n.kaly-oaX .micro:after{\n  content:'';position:absolute;inset:0;border-radius:999px;pointer-events:none;z-index:1;\n  background:linear-gradient(135deg,rgba(255,255,255,.24) 0%,rgba(255,255,255,0) 46%)\n}\n.kaly-oaX .micro\u003e*{position:relative;z-index:2}\n.kaly-oaX .brand{\n  display:inline-flex;align-items:center;justify-content:center;\n  gap:var(--micro-gap);font-weight:900;flex:0 0 auto;\n  white-space:nowrap;min-width:max-content\n}\n.kaly-oaX .brand .dot{\n  width:6px;height:6px;border-radius:99px;background:var(--red);\n  box-shadow:0 0 16px rgba(255,51,51,.72);position:relative;\n  animation:kalyMicroDotPulse 2.1s ease-in-out infinite;flex:0 0 6px\n}\n.kaly-oaX .brand .dot:before{\n  content:'';position:absolute;left:50%;top:50%;width:22px;height:22px;\n  border-radius:999px;\n  background:radial-gradient(circle,rgba(255,80,80,.92) 0%,rgba(255,40,40,0) 74%);\n  transform:translate(-50%,-50%);filter:blur(8px);opacity:.62;\n  animation:kalyMicroDotHalo 2.1s ease-in-out infinite\n}\n.kaly-oaX .neenca{\n  font-weight:900;letter-spacing:.06em;opacity:var(--micro-text-o);\n  transform:translateX(var(--micro-text-x));overflow:hidden;max-width:calc(100% - 22px)\n}\n.kaly-oaX .micro\u003espan:last-child{\n  opacity:var(--micro-text-o);transform:translateX(var(--micro-text-x));\n  white-space:nowrap;overflow:hidden;text-overflow:clip;\n  max-width:calc(100% - 118px);flex:0 0 auto\n}\n\n\/* ── TYPOGRAPHY ── *\/\n.kaly-oaX .title{\n  margin:8px 0;font-size:30px;line-height:1.1;font-weight:900;letter-spacing:-.03em\n}\n.kaly-oaX .title.mainTitle{margin-top:34px!important;margin-bottom:24px!important}\n.kaly-oaX .title .kicker{\n  display:block;margin-top:-18px;margin-bottom:20px;\n  font-size:10px;line-height:1.08;letter-spacing:.02em;text-transform:uppercase\n}\n.kaly-oaX .title .kicker b{\n  color:#ff3a3a;display:inline-block;\n  animation:kalyRedTextHalo 6.8s ease-in-out infinite\n}\n.kaly-oaX .subtitle{\n  margin:0 auto 8px;max-width:860px;font-size:16px;line-height:1.7;color:var(--txt)\n}\n.kaly-oaX .subtitle.introSpace{margin-top:18px!important}\n.kaly-oaX .lead{\n  margin:22px auto 16px;max-width:860px;font-size:15px;line-height:1.8;color:var(--muted)\n}\n.kaly-oaX .lead.lead-split{max-width:980px!important}\n.kaly-oaX .lead-split .lead-top,.kaly-oaX .lead-split .lead-bottom{display:block}\n\n\/* ── SLIDER ── *\/\n.kaly-oaX .pvSliderSolo{margin:16px 0 22px;position:relative;z-index:1}\n.kaly-oaX .pv-reveal{\n  opacity:0;transform:translate3d(0,92px,0) scale(.972);filter:blur(16px);\n  clip-path:inset(100% 0 0 0 round 18px);\n  transition:opacity 2.1s cubic-bezier(.16,1,.3,1),transform 2.2s cubic-bezier(.16,1,.3,1),filter 1.9s cubic-bezier(.16,1,.3,1),clip-path 2.35s cubic-bezier(.16,1,.3,1)\n}\n.kaly-oaX .pv-reveal.is-visible{\n  opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0);clip-path:inset(0 0 0 0 round 18px)\n}\n.kaly-oaX .pv-ba{\n  cursor:ew-resize;position:relative;width:100%;margin:0 auto;\n  aspect-ratio:5\/4;border-radius:16px;overflow:hidden;\n  box-shadow:0 22px 56px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.08) inset;\n  --pos:50%;user-select:none;-webkit-user-select:none;touch-action:pan-y;\n  background:#050505;isolation:isolate\n}\n.kaly-oaX .pv-ba-base{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center;pointer-events:none;-webkit-user-drag:none}\n.kaly-oaX .pv-ba-top{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0);z-index:1}\n.kaly-oaX .pv-ba-top img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center;pointer-events:none;-webkit-user-drag:none}\n.kaly-oaX .pv-ba-divider{\n  pointer-events:none;position:absolute;top:0;bottom:0;left:var(--pos);width:2px;\n  background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.98) 12%,rgba(255,255,255,.98) 88%,rgba(255,255,255,0));\n  transform:translateX(-1px);box-shadow:0 0 10px rgba(255,255,255,.22);z-index:3\n}\n.kaly-oaX .pv-ba-knob{\n  pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);\n  width:56px;height:56px;border-radius:50%;\n  background:rgba(255,255,255,.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);\n  border:2px solid rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;\n  gap:3px;box-shadow:0 10px 28px rgba(0,0,0,.28);cursor:ew-resize\n}\n.kaly-oaX .pv-ba-knob svg{width:13px;height:22px;fill:#fff}\n.kaly-oaX .pv-ba-label{\n  position:absolute;top:12px;z-index:2;font-size:8px;font-weight:800;\n  letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.94);\n  padding:4px 9px;border-radius:999px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)\n}\n.kaly-oaX .pv-ba-l{left:12px;background:rgba(0,0,0,.34);border:1px solid rgba(255,255,255,.18)}\n.kaly-oaX .pv-ba-r{right:12px;background:rgba(0,0,0,.34);border:1px solid rgba(255,255,255,.18)}\n.kaly-oaX .pv-ba.is-sweep .pv-ba-top{transition:clip-path 1.6s cubic-bezier(.16,1,.3,1)!important;will-change:clip-path}\n.kaly-oaX .pv-ba.is-sweep .pv-ba-divider{transition:left 1.6s cubic-bezier(.16,1,.3,1)!important;will-change:left}\n\n\/* ── TRUST MINI ── *\/\n.kaly-oaX .trustMini{\n  margin:0 auto 24px;display:grid!important;grid-template-columns:repeat(3,1fr);gap:10px;\n  position:relative;z-index:3\n}\n.kaly-oaX .tItem{\n  padding:14px 12px;border-radius:18px;\n  background:radial-gradient(circle at 82% 20%,rgba(255,51,51,.14),rgba(255,51,51,0) 42%),linear-gradient(180deg,#2a1d1d 0%,#171111 100%);\n  border:1px solid rgba(255,255,255,.16);color:#fff;font-size:13px;line-height:1.25;\n  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 14px 28px rgba(0,0,0,.28);\n  text-align:center;display:flex;flex-direction:column;justify-content:center;\n  gap:6px;min-height:92px;position:relative;overflow:hidden;isolation:isolate;\n  -webkit-mask-image:-webkit-radial-gradient(white,black)\n}\n.kaly-oaX .tItem:after{\n  content:\"\";position:absolute;top:-24%;left:-58%;width:46%;height:154%;\n  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.28),rgba(255,255,255,1),rgba(255,255,255,.30),rgba(255,255,255,0));\n  filter:blur(.15px) saturate(1.25);transform:skewX(-24deg);\n  animation:kalyActBladeV2 2.4s linear infinite;\n  pointer-events:none;mix-blend-mode:screen;z-index:0\n}\n.kaly-oaX .tItem b{\n  display:block;color:#fff;font-weight:900;font-size:18px;line-height:1.05;\n  letter-spacing:-.02em;position:relative;z-index:1\n}\n.kaly-oaX .tItem span{\n  display:block;color:rgba(255,255,255,.76);font-weight:700;font-size:13px;\n  line-height:1.2;position:relative;z-index:1\n}\n.kaly-oaX .trustMini .tItem{\n  opacity:0;transform:translate3d(0,26px,0);filter:blur(7px);\n  transition:opacity 1.2s cubic-bezier(.22,1,.36,1),transform 1.45s cubic-bezier(.22,1,.36,1),filter 1.2s cubic-bezier(.22,1,.36,1);\n  will-change:opacity,transform,filter\n}\n.kaly-oaX .trustMini .tItem.is-visible{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}\n.kaly-oaX .trustMini .tItem.is-visible:after{opacity:1;animation:kalyActBladeV2 2.4s linear infinite .72s}\n\n\/* ── PILLS ── *\/\n.kaly-oaX .pill{\n  cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;\n  width:84px!important;min-width:84px!important;height:26px!important;\n  border-radius:999px;display:inline-flex;align-items:center;justify-content:center;\n  font-size:9px!important;letter-spacing:.06em!important;text-transform:uppercase;\n  font-weight:900;white-space:nowrap;position:relative;\n  border:1px solid rgba(255,255,255,.16);\n  box-shadow:0 10px 18px rgba(0,0,0,.3),inset 0 2px 0 rgba(255,255,255,.16),inset 0 -3px 0 rgba(0,0,0,.16);\n  isolation:isolate;color:#e9ded2!important;padding:0 6px!important\n}\n.kaly-oaX .pill:before{\n  content:\"\";position:absolute;left:50%;top:50%;width:88px;height:88px;\n  border-radius:999px;transform:translate(-50%,-50%);z-index:-2;pointer-events:none;\n  animation:kalyModeHaloBreath 4s ease-in-out infinite\n}\n.kaly-oaX .pill.green{\n  background:linear-gradient(180deg,#ff6d6d 0%,#ff3333 28%,#d41e1e 62%,#7a0909 100%);\n  border-color:rgba(255,110,90,.82)!important;color:#fff!important\n}\n.kaly-oaX .pill.green:before{background:radial-gradient(circle,rgba(255,51,51,.95) 0%,rgba(255,51,51,0) 72%)}\n.kaly-oaX .pill.yellow{\n  background:linear-gradient(180deg,#fff8e0 0%,#ffe89a 16%,#ffc94e 38%,#f2a11f 58%,#b86d09 78%,#fff1bf 100%)!important;\n  border-color:rgba(255,214,110,.92)!important;color:#2a1600!important\n}\n.kaly-oaX .pill.yellow:before{background:radial-gradient(circle,rgba(255,210,90,.95) 0%,rgba(255,130,24,0) 72%)}\n.kaly-oaX .pill.yellow\u003e*{position:relative;z-index:1}\n.kaly-oaX .pill.gray{\n  background:linear-gradient(180deg,#f1f4f7 0%,#e6ebf0 18%,#cfd7df 52%,#9faab5 100%);\n  border-color:rgba(255,255,255,.68)!important;color:#111!important\n}\n.kaly-oaX .pill.gray:before{background:radial-gradient(circle,rgba(245,250,255,.82) 0%,rgba(219,225,232,0) 74%)}\n.kaly-oaX .pill.orange{\n  background:linear-gradient(180deg,#ffd19a 0%,#ffb15f 18%,#ff8a1f 48%,#b85200 100%);\n  border-color:rgba(255,160,72,.84)!important;color:#fff!important\n}\n.kaly-oaX .pill.orange:before{background:radial-gradient(circle,rgba(255,138,31,.95) 0%,rgba(255,138,31,0) 72%)}\n.kaly-oaX .pill.blue{\n  background:linear-gradient(180deg,#dff7ff 0%,#8fe8ff 18%,#46c9ff 42%,#1e88ff 74%,#0d4ec9 100%);\n  border-color:rgba(110,210,255,.8)!important;color:#fff!important\n}\n.kaly-oaX .pill.blue:before{background:radial-gradient(circle,rgba(66,150,255,.95) 0%,rgba(66,150,255,0) 72%)}\n.kaly-oaX .pill-ct,\n.kaly-oaX label.pill.pill-ct{\n  background:linear-gradient(180deg,#7dffb1 0%,#32d96b 28%,#18b453 62%,#0c6f31 100%)!important;\n  border:1px solid rgba(110,255,165,.96)!important;color:#e9ded2!important;\n  outline:none!important;\n  box-shadow:0 10px 18px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.08),0 0 18px rgba(70,255,140,.22)!important\n}\n.kaly-oaX .pill-ct:before{background:radial-gradient(circle,rgba(70,255,140,.78) 0%,rgba(70,255,140,0) 72%)!important}\n\n\/* ── FOLD TILES ── *\/\n\/* Le foldInput reste dans le flux (display:none visuel mais pas retiré du DOM)\n   pour que :checked + head et :checked ~ foldContent fonctionnent correctement *\/\n.kaly-oaX .foldInput{\n  display:block;position:absolute;opacity:0;pointer-events:none;\n  width:0;height:0;margin:0;padding:0;border:0;overflow:hidden\n}\n\n.kaly-oaX .kX-hero,\n.kaly-oaX .whyBuy,\n.kaly-oaX .infoTile,\n.kaly-oaX .demoTile{\n  border-radius:18px;border:1px solid rgba(255,255,255,.12);\n  position:relative;\n  \/* PAS d'overflow:hidden ici — ça couperait la transition 3D *\/\n  overflow:visible;\n  display:flex;flex-direction:column;justify-content:flex-start;\n  padding:0 14px\n}\n.kaly-oaX .kX-hero:before,\n.kaly-oaX .whyBuy:before,\n.kaly-oaX .infoTile:before,\n.kaly-oaX .demoTile:before{content:none!important;display:none!important}\n.kaly-oaX .kX-hero:after,\n.kaly-oaX .infoTile:after,\n.kaly-oaX .demoTile:after{content:none!important;display:none!important}\n\n\/* ── HEADS (état fermé = hauteur fixe) ── *\/\n.kaly-oaX .heroHead,\n.kaly-oaX .head,\n.kaly-oaX .tileHead,\n.kaly-oaX .demoHead{\n  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;\n  align-items:center!important;gap:12px;\n  min-height:86px;height:86px;margin:0;\n  position:relative;z-index:5\n}\n.kaly-oaX .heroHead .h,\n.kaly-oaX .head h3,\n.kaly-oaX .tileHead h3,\n.kaly-oaX .demoHead h3{\n  display:flex!important;align-items:center!important;\n  height:100%;margin:0;\n  min-width:0;max-width:calc(100% - 96px);padding-right:18px;\n  overflow:hidden;text-overflow:ellipsis\n}\n.kaly-oaX .tileHead label,\n.kaly-oaX .demoHead label,\n.kaly-oaX .heroHead label,\n.kaly-oaX .head label{\n  position:relative;z-index:6;cursor:pointer;align-self:center!important;flex:0 0 auto\n}\n.kaly-oaX h3,.kaly-oaX .h{\n  margin:0;font-size:18px;line-height:1.1;font-weight:900;color:#fff\n}\n\n\/* ── FOLD CONTENT (fermé) ── *\/\n.kaly-oaX .foldContent{\n  max-height:0;opacity:0;\n  overflow:hidden;           \/* overflow:hidden uniquement sur le content, pas la tuile *\/\n  transform-origin:top center;\n  transform:perspective(1400px) rotateX(-20deg) scaleY(.5);\n  transition:\n    max-height 1.4s cubic-bezier(.16,1,.3,1),\n    opacity    .9s cubic-bezier(.16,1,.3,1),\n    transform  1.4s cubic-bezier(.16,1,.3,1),\n    margin     .9s cubic-bezier(.16,1,.3,1);\n  margin:0;padding:0\n}\n\n\/* ── FOLD CONTENT (ouvert) ── *\/\n.kaly-oaX .foldInput:checked~.foldContent{\n  max-height:1400px;opacity:1;\n  overflow:hidden;\n  transform:perspective(1400px) rotateX(0deg) scaleY(1);\n  margin-top:12px;padding:0 0 14px\n}\n\n\/* ── HEAD (état ouvert = hauteur auto) ── *\/\n.kaly-oaX .foldInput:checked+.heroHead,\n.kaly-oaX .foldInput:checked+.head,\n.kaly-oaX .foldInput:checked+.tileHead,\n.kaly-oaX .foldInput:checked+.demoHead{\n  min-height:48px;height:auto;padding:14px 0 4px;align-items:start\n}\n.kaly-oaX .foldInput:checked+.heroHead .h,\n.kaly-oaX .foldInput:checked+.head h3,\n.kaly-oaX .foldInput:checked+.tileHead h3,\n.kaly-oaX .foldInput:checked+.demoHead h3{\n  height:auto;align-items:flex-start;padding:0\n}\n\n\/* tile text reveal on open *\/\n.kaly-oaX .foldInput:checked~.foldContent .txt,\n.kaly-oaX .foldInput:checked~.foldContent .hint,\n.kaly-oaX .foldInput:checked~.foldContent .fastList li{\n  animation:kalyTextBlurRevealFinal 1.1s cubic-bezier(.16,.84,.2,1) both;\n  will-change:filter,opacity\n}\n\n\/* ── whyBuy : logique inversée (ouvert par défaut, clic = ferme) ── *\/\n.kaly-oaX .whyBuy .foldInput:not(:checked)~.foldContent{\n  max-height:1400px!important;opacity:1!important;\n  transform:perspective(1400px) rotateX(0deg) scaleY(1)!important;\n  overflow:hidden!important;\n  margin-top:12px!important;padding:0 0 22px!important\n}\n.kaly-oaX .whyBuy .foldInput:checked~.foldContent{\n  max-height:0!important;opacity:0!important;\n  transform:perspective(1400px) rotateX(-20deg) scaleY(.5)!important;\n  margin:0!important;padding:0!important;overflow:hidden!important\n}\n\/* whyBuy head ouvert = fermé visuellement *\/\n.kaly-oaX .whyBuy .foldInput:not(:checked)+.head{\n  min-height:48px;height:auto;padding:14px 0 4px;align-items:start\n}\n.kaly-oaX .whyBuy .foldInput:not(:checked)+.head h3{\n  height:auto;align-items:flex-start;padding:0\n}\n.kaly-oaX .whyBuy .foldInput:checked+.head{\n  min-height:86px;height:86px;padding:0;align-items:center\n}\n.kaly-oaX .whyBuy .foldInput:checked+.head h3{\n  height:100%;align-items:center\n}\n\n\/* specific tile backgrounds *\/\n.kaly-oaX .whyBuy{\n  margin-top:6px;\n  background:radial-gradient(circle at 84% 22%,rgba(255,224,138,.22) 0%,rgba(255,224,138,0) 48%),linear-gradient(180deg,#3a2b2b 0%,#1a1414 100%)!important;\n  border:1px solid rgba(255,224,138,.18)!important;\n  box-shadow:0 18px 34px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.12),inset 0 -1px 0 rgba(0,0,0,.22),0 0 26px rgba(255,224,138,.1)!important\n}\n.kaly-oaX .infoTile{\n  margin-top:6px;\n  box-shadow:0 18px 34px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.12),inset 0 -1px 0 rgba(0,0,0,.22)!important\n}\n.kaly-oaX .infoTile .foldContent{padding-right:126px}\n.kaly-oaX .infoTile .foldInput:checked~.foldContent{padding-right:0}\n.kaly-oaX .infoTile .txt{\n  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden\n}\n.kaly-oaX .infoTile .foldInput:checked~.foldContent .txt{\n  display:block!important;-webkit-box-orient:initial!important;-webkit-line-clamp:initial!important;\n  overflow:visible!important;padding:12px 14px!important;\n  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03))!important;\n  border:1px solid rgba(255,255,255,.10)!important;border-radius:12px!important;\n  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 22px rgba(0,0,0,.14)!important;\n  line-height:1.66!important;text-align:left!important\n}\n.kaly-oaX .infoTile.is-comfort{\n  background:radial-gradient(circle at 84% 22%,rgba(255,68,68,.22) 0%,rgba(255,68,68,0) 48%),linear-gradient(180deg,#3a2b2b 0%,#1a1414 100%)!important;\n  border-color:rgba(255,110,110,.18)!important\n}\n.kaly-oaX .infoTile.is-size{\n  background:radial-gradient(circle at 84% 22%,rgba(255,224,138,.22) 0%,rgba(255,224,138,0) 48%),linear-gradient(180deg,#3a2b2b 0%,#1a1414 100%)!important;\n  border-color:rgba(255,224,138,.18)!important\n}\n.kaly-oaX .infoTile.is-oa{\n  background:radial-gradient(circle at 84% 22%,rgba(70,255,140,.22) 0%,rgba(70,255,140,0) 48%),linear-gradient(180deg,#3a2b2b 0%,#1a1414 100%)!important;\n  border-color:rgba(110,255,165,.18)!important\n}\n.kaly-oaX .infoTile.is-comfort .tileHead h3,\n.kaly-oaX .infoTile.is-size .tileHead h3,\n.kaly-oaX .infoTile.is-oa .tileHead h3{\n  max-width:calc(100% - 96px)!important;white-space:normal!important;\n  line-height:1.08!important;overflow-wrap:anywhere!important\n}\n\n\/* demoTile *\/\n.kaly-oaX .demoTile{\n  margin-top:6px;\n  background:radial-gradient(circle at 84% 22%,rgba(66,150,255,.22) 0%,rgba(66,150,255,0) 48%),linear-gradient(180deg,#3a2b2b 0%,#1a1414 100%)!important;\n  border:1px solid rgba(110,210,255,.18)!important;\n  box-shadow:0 18px 34px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.12),inset 0 -1px 0 rgba(0,0,0,.22),0 0 26px rgba(66,150,255,.1)!important;\n  isolation:isolate\n}\n.kaly-oaX .demoTile .foldInput:checked~.foldContent{overflow:visible!important}\n\n\/* ── HERO ZONE ── *\/\n.kaly-oaX .heroZone{\n  margin-top:10px;display:grid!important;grid-template-columns:1fr;gap:6px;\n  text-align:left;align-items:stretch\n}\n.kaly-oaX .kX-frame{\n  position:relative;border-radius:18px;overflow:hidden;\n  aspect-ratio:4\/3;height:auto;max-width:100%\n}\n.kaly-oaX .kX-media{\n  position:relative!important;width:100%!important;overflow:hidden!important;\n  background:#000!important;aspect-ratio:auto!important;height:100%!important;\n  border-radius:18px;box-shadow:0 18px 44px rgba(0,0,0,.5)\n}\n.kaly-oaX .kX-media video{\n  position:relative!important;width:100%!important;height:100%!important;\n  object-fit:cover!important;object-position:center!important\n}\n.kaly-oaX .kX-hero{\n  background:radial-gradient(circle at 84% 22%,rgba(255,255,255,.34) 0%,rgba(219,225,232,0) 58%),linear-gradient(180deg,#3a2b2b 0%,#1a1414 100%)!important;\n  border-color:rgba(255,255,255,.14)!important;\n  box-shadow:0 18px 34px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.12),inset 0 -1px 0 rgba(0,0,0,.22),0 0 22px rgba(235,242,248,.06)!important\n}\n\n\/* bullets *\/\n.kaly-oaX .hint{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.6}\n.kaly-oaX .fastList{list-style:none;padding:0;margin:0;display:grid!important;grid-template-columns:1fr;gap:8px}\n.kaly-oaX .fastList li{\n  display:flex;gap:10px;align-items:flex-start;padding:11px;border-radius:14px;\n  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);\n  font-size:13px;line-height:1.5;text-align:left\n}\n.kaly-oaX .fastList .dot{\n  width:18px;height:18px;border-radius:99px;flex:0 0 18px;\n  display:inline-flex;align-items:center;justify-content:center;font-size:11px;\n  background:linear-gradient(180deg,#fff8e0 0%,#ffc94e 38%,#b86d09 78%,#fff1bf 100%);\n  color:#2a1600;box-shadow:0 0 22px rgba(255,210,90,.56);\n  animation:kalyYellowDotPulse 1.7s ease-in-out infinite\n}\n.kaly-oaX .decision{\n  margin-top:12px;padding:12px;border-radius:16px;\n  background:linear-gradient(180deg,rgba(255,80,80,.16),rgba(80,20,20,.06)),linear-gradient(90deg,rgba(255,51,51,.16),rgba(255,206,51,.1));\n  border:1px solid rgba(255,255,255,.14);color:#fff;font-size:13px;line-height:1.65\n}\n.kaly-oaX .decision b{color:var(--yellow)}\n.kaly-oaX .bullets{list-style:none;padding:0;margin:0;font-size:13.5px;display:flex;flex-direction:column;gap:8px}\n.kaly-oaX .bullets li{\n  display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;\n  align-items:center!important;column-gap:12px!important;padding:10px 14px!important;\n  border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);min-height:56px\n}\n.kaly-oaX .bullets li span:last-child{\n  background:linear-gradient(180deg,#fff8f8 0%,#ffb6b6 42%,#ff6666 100%);\n  -webkit-background-clip:text;background-clip:text;color:transparent;\n  font-weight:800;line-height:1.3;font-size:14px;display:block!important\n}\n.kaly-oaX .b{position:relative;width:28px;height:28px;border-radius:999px;flex:0 0 28px}\n.kaly-oaX .b:before{\n  content:\"\";position:absolute;left:50%;top:50%;width:9px;height:9px;\n  border-radius:999px;transform:translate(-50%,-50%);\n  background:radial-gradient(circle at 35% 35%,#ffd2d2 0,#ff4040 58%,#c40000 100%);\n  box-shadow:0 0 18px rgba(255,120,120,.92),0 0 42px rgba(255,50,50,.44);\n  animation:kalyPulseDot 2.1s ease-in-out infinite\n}\n.kaly-oaX .b:after{\n  content:\"\";position:absolute;left:50%;top:50%;width:13px;height:13px;\n  border-radius:999px;transform:translate(-50%,-50%);\n  border:1.4px solid rgba(255,180,180,.86);\n  animation:kalyWaveDot 1.85s ease-out infinite\n}\n.kaly-oaX .txt{margin:0;color:var(--txt);line-height:1.68;font-size:13.2px;max-width:100%}\n\n\/* ── DEMO VIDEO ── *\/\n.kaly-oaX .demoVideo{\n  position:relative!important;aspect-ratio:5\/3!important;height:auto!important;\n  border-radius:18px;max-width:100%;z-index:3;overflow:visible!important;isolation:isolate\n}\n.kaly-oaX .demoVideo video{position:relative;z-index:1;border-radius:18px}\n\n\/* demo orb — intensité réduite, respiration lente, confiné à la tuile *\/\n.kaly-oaX .demoTile .kaly-demo-orb{\n  position:absolute!important;left:50%!important;top:50%!important;\n  width:100%!important;height:100%!important;\n  transform:translate(-50%,-50%);\n  border-radius:50%!important;pointer-events:none!important;z-index:1!important;\n  background:radial-gradient(circle,rgba(66,150,255,0) 0%,rgba(66,150,255,.18) 38%,rgba(66,150,255,.32) 58%,rgba(66,150,255,0) 84%)!important;\n  filter:blur(32px);opacity:.55;mix-blend-mode:screen!important;\n  animation:kalyDemoBlueOrb 14s ease-in-out infinite!important\n}\n.kaly-oaX .demoTile .kaly-demo-orb:before{\n  content:'';position:absolute;inset:10%;border-radius:50%;\n  background:radial-gradient(circle,rgba(130,200,255,0) 0%,rgba(66,150,255,.18) 52%,rgba(66,150,255,0) 84%);\n  filter:blur(24px);opacity:.6;animation:kalyDemoBlueOrbInner 14s ease-in-out infinite\n}\n\/* confine le débordement du halo à la tuile parent *\/\n.kaly-oaX .demoTile{overflow:hidden!important}\n\n\/* ── CONSOLE ── *\/\n.kaly-oaX .console{\n  margin-top:12px;border-radius:18px;border:1px solid rgba(255,255,255,.08)!important;\n  background:linear-gradient(180deg,#3a2b2b 0%,#1a1414 100%)!important;\n  box-shadow:0 16px 30px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.08)!important;\n  padding:4px!important\n}\n.kaly-oaX .single-console-test{\n  background:radial-gradient(circle at 14% 12%,rgba(255,255,255,.12),rgba(255,255,255,0) 26%),radial-gradient(circle at 88% 84%,rgba(255,80,80,.28),rgba(255,80,80,0) 30%),linear-gradient(180deg,rgba(28,12,12,.80) 0%,rgba(12,8,8,.90) 100%)!important;\n  border:1px solid rgba(255,255,255,.22)!important\n}\n.kaly-oaX .consoleGrid{\n  display:grid!important;grid-template-columns:1fr;gap:14px;align-items:center;\n  position:relative;z-index:1;\n  background:linear-gradient(90deg,rgba(12,3,3,.96) 0%,rgba(6,2,2,.985) 30%,#000 56%,#000 100%);\n  border-radius:18px;padding:14px;overflow:hidden\n}\n\/* halo FIXE rouge — ancre permanente dans le coin haut-gauche *\/\n.kaly-oaX .consoleGrid:before{\n  content:'';position:absolute;left:0;top:0;\n  width:28%;height:36%;\n  border-radius:18px 0 50% 0;\n  pointer-events:none;z-index:0;\n  background:radial-gradient(ellipse at 0% 0%,rgba(220,30,30,.72) 0%,rgba(160,8,8,.38) 42%,rgba(60,0,0,.12) 68%,rgba(0,0,0,0) 88%);\n  filter:blur(16px)\n}\n\/* rayon animé respirant — part du coin haut-gauche vers le bas *\/\n.kaly-oaX .consoleGrid .console-halo{\n  position:absolute;left:0;top:0;\n  width:48%;height:110%;\n  border-radius:18px 0 40% 0;\n  pointer-events:none;z-index:0;\n  background:radial-gradient(ellipse at 8% 0%,rgba(255,40,40,.88) 0%,rgba(210,12,12,.52) 22%,rgba(120,4,4,.24) 48%,rgba(40,0,0,.08) 72%,rgba(0,0,0,0) 90%);\n  filter:blur(22px);\n  transform-origin:top left;\n  animation:kalyConsoleHaloBreath 4.2s ease-in-out infinite\n}\n.kaly-oaX .consoleGrid:after{\n  content:'';position:absolute;right:0;top:0;bottom:0;width:52%;\n  background:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.96) 72%,#000 100%);\n  pointer-events:none;z-index:0;border-radius:0 18px 18px 0\n}\n.kaly-oaX .consoleList,.kaly-oaX .helmetStage{position:relative;z-index:1}\n.kaly-oaX .consoleList{display:grid;gap:9px}\n.kaly-oaX .actRow{display:grid;gap:6px;position:relative;z-index:4}\n.kaly-oaX .actRowInput{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}\n.kaly-oaX .actPill{\n  display:inline-flex;width:100%;height:46px;border-radius:999px;\n  align-items:center;justify-content:center;font-size:11px;\n  letter-spacing:.14em;text-transform:uppercase;font-weight:900;\n  border:1px solid rgba(255,255,255,.26);\n  box-shadow:0 12px 22px rgba(0,0,0,.3),inset 0 2px 0 rgba(255,255,255,.22),inset 0 -4px 0 rgba(0,0,0,.18);\n  cursor:pointer;position:relative;isolation:isolate;user-select:none;z-index:1\n}\n.kaly-oaX .actPill span,.kaly-oaX .actPill strong{position:relative;z-index:2}\n.kaly-oaX .actPill:before,.kaly-oaX .actPill:after{content:none!important;display:none!important}\n.kaly-oaX .actPill.inner{\n  background:linear-gradient(180deg,#f2fcff 0%,#8fe8ff 40%,#1e88ff 100%);\n  border-color:rgba(170,235,255,.92);color:#fff\n}\n.kaly-oaX .actPill.outer{\n  background:linear-gradient(180deg,#fff8e0,#f2a11f);\n  border-color:rgba(255,214,110,.92);color:#2a1600\n}\n.kaly-oaX .actPill.pressure{\n  background:linear-gradient(180deg,#ffb15f,#b85200);\n  border-color:rgba(255,160,72,.84);color:#fff\n}\n.kaly-oaX .actCopy{\n  max-height:0;opacity:0;overflow:hidden;margin-top:0;padding:0 12px;\n  border-radius:16px;border:1px solid rgba(255,255,255,.14);\n  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));\n  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 16px 32px rgba(0,0,0,.28);\n  color:rgba(243,245,247,.96);font-size:13px;line-height:1.52;\n  position:relative;text-align:center;\n  transition:max-height .38s ease,opacity .25s ease,margin .25s ease,padding .25s ease\n}\n.kaly-oaX .actCopy\u003e*{position:relative;z-index:1}\n.kaly-oaX .actRowInput:checked~.actCopy{max-height:240px;opacity:1;margin-top:8px;padding:14px 12px}\n.kaly-oaX .actCopy strong,.kaly-oaX .actCopy small{display:block;text-align:center!important}\n.kaly-oaX .actCopy strong{font-size:18px;line-height:1.08;letter-spacing:.04em;text-transform:uppercase;color:#f3f5f7!important}\n.kaly-oaX .actCopy small{margin-top:8px;color:rgba(235,239,243,.88);font-weight:600;font-size:11.5px;line-height:1.45}\n.kaly-oaX .actRow:nth-child(1) .actCopy strong{color:#bff5ff!important}\n.kaly-oaX .actRow:nth-child(2) .actCopy strong{color:#ffe08a!important}\n.kaly-oaX .actRow:nth-child(3) .actCopy strong{color:#ffc07a!important}\n.kaly-oaX .actCopy .act-blade{\n  position:absolute;left:-30%;top:-24%;width:42%;height:190%;\n  pointer-events:none;z-index:2;opacity:0;\n  transform:translateX(-180%) skewX(-24deg);border-radius:999px\n}\n.kaly-oaX .actCopy.is-blade-run .act-blade{animation:kalyActBladeV2 1.3s ease-out 1 both!important}\n.kaly-oaX .actRow:nth-child(1) .actCopy .act-blade{background:linear-gradient(90deg,rgba(255,255,255,0),rgba(143,232,255,.42),rgba(255,255,255,0))}\n.kaly-oaX .actRow:nth-child(2) .actCopy .act-blade{background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,224,138,.40),rgba(255,255,255,0))}\n.kaly-oaX .actRow:nth-child(3) .actCopy .act-blade{background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,192,122,.40),rgba(255,255,255,0))}\n\n\/* helmet stage *\/\n.kaly-oaX .helmetStage{\n  position:relative;min-height:380px!important;height:380px!important;\n  border-radius:18px;overflow:hidden;background:transparent\n}\n.kaly-oaX .helmetStage img,.kaly-oaX .helmetStage video{\n  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;\n  object-fit:contain!important;background:transparent;opacity:0;transition:opacity .22s ease\n}\n.kaly-oaX .helmetStage .hStill{opacity:1}\n.kaly-oaX.oa-show-inner .hStill,\n.kaly-oaX.oa-show-outer .hStill,\n.kaly-oaX.oa-show-pressure .hStill{opacity:0!important}\n.kaly-oaX.oa-show-inner .gInner,\n.kaly-oaX.oa-show-outer .gOuter,\n.kaly-oaX.oa-show-pressure .gPressure{opacity:1!important}\n\n\/* ── REVIEWS ── *\/\n.kaly-oaX .reviewTrust{margin-top:24px;text-align:left;position:relative;overflow:visible}\n.kaly-oaX .reviewTopBar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:nowrap;margin-bottom:16px}\n.kaly-oaX .reviewTopLeft{display:flex;align-items:center;gap:14px;min-width:0;flex:1 1 auto}\n.kaly-oaX .reviewActionBtn{\n  display:inline-flex!important;align-items:center!important;justify-content:center!important;\n  min-width:142px!important;height:54px!important;padding:0 24px!important;\n  border-radius:999px!important;border:1px solid rgba(255,255,255,.24)!important;\n  background:linear-gradient(180deg,rgba(34,30,24,.96) 0%,rgba(5,5,5,1) 100%)!important;\n  color:#ffe29a!important;font-size:15px!important;font-weight:900!important;\n  letter-spacing:.04em!important;text-transform:uppercase!important;\n  cursor:pointer!important;position:relative!important;isolation:isolate!important;\n  overflow:hidden!important;z-index:1!important;user-select:none!important;\n  backdrop-filter:blur(30px) saturate(230%)!important;-webkit-backdrop-filter:blur(30px) saturate(230%)!important;\n  will-change:box-shadow;\n  animation:kalyBtnGoldBreath 3.2s ease-in-out infinite!important\n}\n\/* halo doré intérieur *\/\n.kaly-oaX .reviewActionBtn:before{\n  content:'';position:absolute;left:50%;top:50%;width:146%;height:248%;\n  border-radius:999px;pointer-events:none;z-index:0;\n  background:radial-gradient(circle,rgba(255,228,130,.92) 0%,rgba(255,220,90,0) 76%);\n  transform:translate(-50%,-50%) scale(.98);filter:blur(18px);opacity:.22;\n  animation:kalyMonAvisHaloSoft 20s cubic-bezier(.33,0,.18,1) infinite\n}\n\/* reflet supérieur *\/\n.kaly-oaX .reviewActionBtn:after{\n  content:''!important;position:absolute!important;left:10px!important;right:10px!important;\n  top:7px!important;height:44%!important;pointer-events:none!important;border-radius:999px!important;z-index:2!important;\n  background:linear-gradient(180deg,rgba(255,255,255,.24) 0%,rgba(255,255,255,0) 100%)!important\n}\n.kaly-oaX .reviewActionBtn .reviewBtnText{position:relative;z-index:3}\n\/* suppression CSS des wave spans (au cas où) *\/\n.kaly-oaX .reviewActionBtn .reviewBtnWave{display:none!important}\n.kaly-oaX .reviewActionBtn:before{\n  content:'';position:absolute;left:50%;top:50%;width:146%;height:248%;\n  border-radius:999px;pointer-events:none;z-index:1;\n  background:radial-gradient(circle,rgba(255,228,130,.92) 0%,rgba(255,220,90,0) 76%);\n  transform:translate(-50%,-50%) scale(.98);filter:blur(18px);opacity:.22;\n  animation:kalyMonAvisHaloSoft 20s cubic-bezier(.33,0,.18,1) infinite\n}\n.kaly-oaX .reviewActionBtn:after{\n  content:''!important;position:absolute!important;left:10px!important;right:10px!important;\n  top:7px!important;height:44%!important;pointer-events:none!important;border-radius:999px!important;z-index:2!important;\n  background:linear-gradient(180deg,rgba(255,255,255,.24) 0%,rgba(255,255,255,0) 100%)!important\n}\n.kaly-oaX .reviewActionBtn .reviewBtnText{position:relative;z-index:3}\n\n.kaly-oaX .reviewTrustPill{\n  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;\n  column-gap:16px;height:54px;min-height:54px;padding:0 10px 0 18px;\n  border-radius:999px;border:1px solid rgba(255,255,255,.22);\n  background:linear-gradient(180deg,rgba(30,24,14,.88) 0%,rgba(6,4,3,1) 100%);\n  box-shadow:0 30px 68px rgba(0,0,0,.46),inset 0 2px 0 rgba(255,255,255,.30),inset 0 -4px 0 rgba(0,0,0,.30);\n  position:relative;overflow:hidden;flex:1 1 auto;width:100%;\n  backdrop-filter:blur(28px) saturate(220%);-webkit-backdrop-filter:blur(28px) saturate(220%)\n}\n.kaly-oaX .reviewTrustPill:before{\n  content:'';position:absolute;inset:0;pointer-events:none;\n  background:linear-gradient(135deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,0) 48%)\n}\n.kaly-oaX .reviewTrustPill:after{\n  content:'';position:absolute;left:12px;right:12px;top:7px;height:38%;\n  border-radius:999px;pointer-events:none;\n  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,0))\n}\n.kaly-oaX .reviewStarsInline{\n  display:inline-flex;align-items:center;justify-self:start;gap:1px;\n  color:#ffb300;font-size:15px;position:relative;z-index:1;\n  animation:kalyStarHaloPulse 2.8s ease-in-out infinite;white-space:nowrap;\n  flex:0 0 auto\n}\n.kaly-oaX .reviewTrustLabel{\n  font-size:clamp(9px,1vw,12px);font-weight:800;letter-spacing:.01em;\n  text-transform:uppercase;color:#f4f6f8;white-space:nowrap;\n  position:relative;z-index:1;overflow:hidden;text-overflow:clip;text-align:center;\n  flex:1 1 0;min-width:0\n}\n.kaly-oaX .reviewTrustTicker{display:block;position:relative;width:100%;height:1.25em;overflow:hidden;padding-top:.02em}\n.kaly-oaX .reviewTrustTickerInner{\n  display:flex;flex-direction:column;align-items:center;\n  will-change:transform;animation:kalyTrustTickerUp 145s linear infinite\n}\n.kaly-oaX .reviewTrustTickerInner span{\n  display:flex;align-items:center;justify-content:center;\n  height:1.25em;white-space:nowrap;\n  overflow:visible;padding:0 .2em\n}\n.kaly-oaX .reviewCountBadge{\n  display:inline-flex;align-items:center;justify-content:center;\n  justify-self:end;align-self:center;flex:0 0 auto;\n  min-width:28px;height:28px;padding:0 6px;border-radius:999px;\n  background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.05) 100%);\n  border:1px solid rgba(255,255,255,.18);color:#fff;font-size:12px;font-weight:900;\n  position:relative;z-index:1;\n  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 24px rgba(0,0,0,.22)\n}\n\n\/* review strip *\/\n.kaly-oaX .reviewStrip{margin-top:0;text-align:left}\n.kaly-oaX .reviewViewport{\n  overflow:hidden;scrollbar-width:none;-ms-overflow-style:none;\n  position:relative;padding:16px 0 18px;\n  -webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);\n  mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)\n}\n.kaly-oaX .reviewViewport::-webkit-scrollbar{display:none}\n.kaly-oaX .reviewTrack{\n  display:flex;gap:14px;width:max-content;will-change:transform;\n  animation:kalyReviewAuto 210s linear infinite;padding-top:2px\n}\n.kaly-oaX .reviewViewport:hover .reviewTrack,\n.kaly-oaX .reviewViewport.is-paused .reviewTrack{animation-play-state:paused}\n\n\/* review cards *\/\n.kaly-oaX .reviewCard{\n  position:relative;flex:0 0 252px;min-height:332px;border-radius:26px;\n  padding:14px 12px 12px;display:flex;flex-direction:column;gap:7px;\n  border:1px solid rgba(255,255,255,.18);\n  box-shadow:0 18px 42px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.24),0 0 0 1px rgba(255,255,255,.04);\n  overflow:hidden;cursor:pointer;\n  backdrop-filter:blur(18px) saturate(175%);-webkit-backdrop-filter:blur(18px) saturate(175%);\n  transform:translate3d(0,0,0) scale(1);transform-origin:center center;\n  transition:transform 1.28s cubic-bezier(.16,1,.3,1),box-shadow 1.28s cubic-bezier(.16,1,.3,1),filter 1.28s cubic-bezier(.16,1,.3,1);\n  will-change:transform,box-shadow,filter\n}\n.kaly-oaX .reviewCard:hover,.kaly-oaX .reviewCard.is-touch-hover{\n  transform:translate3d(0,-7px,0) scale(1.07);\n  box-shadow:0 32px 74px rgba(0,0,0,.44),inset 0 1px 0 rgba(255,255,255,.28);\n  filter:brightness(1.04);border-color:rgba(255,255,255,.24)\n}\n.kaly-oaX .reviewGlow{\n  position:absolute;right:-42px;bottom:-34px;width:248px;height:248px;\n  border-radius:50%;pointer-events:none;filter:blur(24px);\n  animation:kalyReviewHaloFloat 4.8s ease-in-out infinite;z-index:0\n}\n.kaly-oaX .reviewBlade{\n  position:absolute;top:-22%;left:-56%;width:50%;height:165%;\n  pointer-events:none;z-index:0;opacity:.26;\n  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.14),rgba(255,255,255,0));\n  filter:blur(.45px);transform:skewX(-24deg);\n  animation:kalyActBladeV2 4.8s linear infinite\n}\n.kaly-oaX .reviewCard:before{\n  content:\"\";position:absolute;inset:0;\n  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0) 26%);pointer-events:none\n}\n.kaly-oaX .reviewCard:after{\n  content:'';position:absolute;top:-24%;left:-56%;width:50%;height:165%;border-radius:999px;\n  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.085),rgba(255,255,255,0));\n  filter:blur(.55px);transform:skewX(-24deg);pointer-events:none;z-index:0;\n  animation:kalyActBladeV2 5.2s linear infinite\n}\n.kaly-oaX .reviewCard .reviewGlassEdge{\n  position:absolute;inset:1px;border-radius:21px;\n  border:1px solid rgba(255,255,255,.09);pointer-events:none;\n  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);z-index:1\n}\n\n\/* card site backgrounds *\/\n\/* fond uniforme + halo fixe coloré par rating dans le coin bas-droit *\/\n.kaly-oaX .reviewCard{background:linear-gradient(180deg,rgba(16,10,10,.92) 0%,rgba(8,6,6,.96) 100%)}\n.kaly-oaX .reviewCard.site-lbc,\n.kaly-oaX .reviewCard.site-ebay,\n.kaly-oaX .reviewCard.site-amazon,\n.kaly-oaX .reviewCard.site-etsy,\n.kaly-oaX .reviewCard.site-user{background:linear-gradient(180deg,rgba(16,10,10,.92) 0%,rgba(8,6,6,.96) 100%)}\n\/* halo fixe de fond par rating — coin bas-droit teinté *\/\n.kaly-oaX .reviewCard.review-rating-5{background:radial-gradient(circle at 88% 84%,rgba(30,220,90,.22) 0%,rgba(20,180,70,.10) 32%,rgba(0,0,0,0) 58%),linear-gradient(180deg,rgba(14,18,14,.92) 0%,rgba(7,10,7,.96) 100%)}\n.kaly-oaX .reviewCard.review-rating-4{background:radial-gradient(circle at 88% 84%,rgba(160,220,40,.20) 0%,rgba(120,190,30,.08) 32%,rgba(0,0,0,0) 58%),linear-gradient(180deg,rgba(14,17,10,.92) 0%,rgba(8,10,6,.96) 100%)}\n.kaly-oaX .reviewCard.review-rating-3{background:radial-gradient(circle at 88% 84%,rgba(255,138,20,.22) 0%,rgba(200,90,0,.10) 32%,rgba(0,0,0,0) 58%),linear-gradient(180deg,rgba(18,12,8,.92) 0%,rgba(9,7,5,.96) 100%)}\n.kaly-oaX .reviewCard.review-rating-2{background:radial-gradient(circle at 88% 84%,rgba(255,90,90,.22) 0%,rgba(200,40,40,.10) 32%,rgba(0,0,0,0) 58%),linear-gradient(180deg,rgba(18,10,10,.92) 0%,rgba(9,6,6,.96) 100%)}\n.kaly-oaX .reviewCard.review-rating-1{background:radial-gradient(circle at 88% 84%,rgba(140,8,8,.26) 0%,rgba(90,4,4,.12) 32%,rgba(0,0,0,0) 58%),linear-gradient(180deg,rgba(16,8,8,.94) 0%,rgba(8,5,5,.97) 100%)}\n\n\/* glows par rating — code couleur strict *\/\n.kaly-oaX .reviewCard.review-rating-5 .reviewGlow{background:radial-gradient(circle,rgba(30,220,90,.82) 0%,rgba(20,180,70,.42) 42%,rgba(10,140,50,0) 72%)}\n.kaly-oaX .reviewCard.review-rating-4 .reviewGlow{background:radial-gradient(circle,rgba(160,220,40,.78) 0%,rgba(120,190,30,.38) 42%,rgba(80,150,20,0) 72%)}\n.kaly-oaX .reviewCard.review-rating-3 .reviewGlow{background:radial-gradient(circle,rgba(255,138,20,.82) 0%,rgba(220,100,10,.42) 42%,rgba(160,60,0,0) 72%)}\n.kaly-oaX .reviewCard.review-rating-2 .reviewGlow{background:radial-gradient(circle,rgba(255,90,90,.78) 0%,rgba(220,50,50,.38) 42%,rgba(160,20,20,0) 72%)}\n.kaly-oaX .reviewCard.review-rating-1 .reviewGlow{background:radial-gradient(circle,rgba(160,10,10,.82) 0%,rgba(100,5,5,.44) 42%,rgba(60,0,0,0) 72%)}\n\/* site-specific star colors *\/\n.kaly-oaX .reviewCard.site-lbc .reviewStars{color:#b24a00}\n.kaly-oaX .reviewCard.site-etsy .reviewStars{color:#fff}\n.kaly-oaX .reviewCard.site-ebay .reviewStars{color:#ffd76a}\n.kaly-oaX .reviewCard.site-amazon .reviewStars{color:#ff9900}\n.kaly-oaX .reviewCard.site-user .reviewStars{color:#95e300}\n\n\/* glows site supprimés — seul le rating count *\/\n\n.kaly-oaX .reviewCard.site-user .reviewSiteRings{\n  position:absolute;left:50%;top:58%;width:108px;height:108px;border-radius:50%;\n  pointer-events:none;opacity:.45;border:3px solid rgba(255,221,90,.36);\n  transform:translate(-50%,-50%)\n}\n.kaly-oaX .reviewCard.site-user .reviewSiteRings:before,\n.kaly-oaX .reviewCard.site-user .reviewSiteRings:after{\n  content:\"\";position:absolute;inset:18px;border-radius:50%;border:3px solid rgba(255,221,90,.28)\n}\n.kaly-oaX .reviewCard.site-user .reviewSiteRings:after{inset:36px}\n.kaly-oaX .reviewMarketLogo{\n  position:absolute;left:50%;top:54%;transform:translate(-50%,-50%) rotate(-12deg);\n  width:auto!important;height:auto!important;max-width:none!important;\n  opacity:.24;pointer-events:none;z-index:0\n}\n.kaly-oaX .reviewMarketLogo-lbc{width:300px!important;top:53%}\n.kaly-oaX .reviewMarketLogo-etsy{width:232px!important}\n.kaly-oaX .reviewMarketLogo-ebay{width:242px!important}\n.kaly-oaX .reviewMarketLogo-amazon{width:314px!important;top:55%;opacity:.42}\n.kaly-oaX .reviewMarketLogo-kalystock{width:228px!important;top:56%;opacity:.2}\n.kaly-oaX .reviewStars{font-size:16px;letter-spacing:2px;color:#ff8e18;position:relative;z-index:1;order:1}\n.kaly-oaX .reviewCardPhotoWrap{\n  position:relative;z-index:1;display:flex;justify-content:center;align-items:center;\n  width:100%;max-width:92%;margin-left:auto;margin-right:auto;order:3\n}\n.kaly-oaX .reviewCardPhoto{\n  display:block;width:100%!important;aspect-ratio:4\/5!important;height:auto!important;\n  object-fit:cover!important;border-radius:14px;\n  border:1px solid rgba(255,255,255,.14);box-shadow:0 8px 16px rgba(0,0,0,.22)\n}\n.kaly-oaX .reviewText{font-size:14px;line-height:1.52;color:#fff;position:relative;z-index:1;margin:0 0 6px;order:2}\n.kaly-oaX .reviewAuthor{\n  padding-top:8px;border-top:1px solid rgba(255,255,255,.08);\n  position:relative;z-index:1;margin-top:auto;display:flex;align-items:center;\n  justify-content:space-between;gap:10px;flex-wrap:nowrap;\n  order:5;align-self:stretch;width:100%\n}\n.kaly-oaX .reviewAuthor strong{display:block;font-size:13px;line-height:1.15;color:#fff;order:1;white-space:nowrap}\n.kaly-oaX .reviewAuthor strong .reviewFlag{display:inline-block;margin-left:3px}\n.kaly-oaX .reviewMetaLine{\n  display:flex;align-items:center;gap:0;flex-wrap:nowrap;\n  color:rgba(255,255,255,.9);font-size:10px;order:2;margin-left:auto\n}\n.kaly-oaX .reviewVerified{display:none!important}\n.kaly-oaX .reviewReply{\n  margin-top:0;margin-bottom:6px;padding:7px 9px 6px;border-radius:11px;\n  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);\n  font-size:11px;line-height:1.38;color:rgba(255,255,255,.88);\n  position:relative;z-index:1;order:4;align-self:stretch;width:100%\n}\n.kaly-oaX .reviewReply strong{display:block;margin-bottom:4px;color:#fff;font-size:12px}\n\n\/* review modal *\/\n.kaly-oaX .reviewModal{\n  position:fixed;inset:0;z-index:99999;display:flex;align-items:flex-start;\n  justify-content:center;padding:42px 18px 24px;opacity:0;visibility:hidden;\n  transition:opacity .62s cubic-bezier(.16,1,.3,1),visibility .62s cubic-bezier(.16,1,.3,1);\n  overflow-y:auto\n}\n.kaly-oaX .reviewModal.is-open{opacity:1;visibility:visible}\n.kaly-oaX .reviewModalBg{\n  position:absolute;inset:0;background:rgba(6,6,8,.52);\n  backdrop-filter:blur(8px) saturate(118%);-webkit-backdrop-filter:blur(8px) saturate(118%)\n}\n.kaly-oaX .reviewModalCard{\n  position:relative;width:min(420px,92vw);max-height:min(80vh,640px);\n  overflow:auto;border-radius:24px;padding:16px 16px 18px;\n  background:linear-gradient(180deg,#171c22 0%,#0f1318 100%);\n  border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 60px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.12);\n  transform:translateY(-18px) scale(.92);opacity:0;filter:blur(6px);\n  transition:transform .72s cubic-bezier(.16,1,.3,1),opacity .72s cubic-bezier(.16,1,.3,1),filter .72s cubic-bezier(.16,1,.3,1)\n}\n.kaly-oaX .reviewModalCard:before{\n  content:'';position:absolute;inset:0;border-radius:24px;pointer-events:none;\n  background-image:url('https:\/\/cdn.shopify.com\/s\/files\/1\/0994\/9334\/7659\/files\/kalystock_new.png?v=1780403900');\n  background-repeat:no-repeat;background-position:center;background-size:86%;\n  opacity:.08;transform:rotate(-18deg) scale(1.08);filter:grayscale(1) brightness(1.4)\n}\n.kaly-oaX .reviewModal.is-open .reviewModalCard{transform:translateY(0) scale(1);opacity:1;filter:blur(0)}\n.kaly-oaX .reviewModalClose{\n  position:absolute;top:10px;right:10px;width:32px;height:32px;\n  border:0;border-radius:50%;background:rgba(255,255,255,.07);\n  color:#fff;font-size:20px;line-height:1;cursor:pointer;z-index:2\n}\n.kaly-oaX .reviewModalTitle{margin:0 0 4px;font-size:18px;font-weight:900;color:#fff;text-align:left}\n.kaly-oaX .reviewModalSub{margin:0 0 12px;color:rgba(255,255,255,.66);font-size:11px;line-height:1.42;text-align:left}\n.kaly-oaX .reviewForm{display:grid;gap:9px}\n.kaly-oaX .reviewField{display:grid;gap:6px;text-align:left}\n.kaly-oaX .reviewField label{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72)}\n.kaly-oaX .reviewInput,.kaly-oaX .reviewTextarea{\n  width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.1);\n  background:rgba(255,255,255,.05);color:#fff;padding:9px 11px;font:inherit;outline:none\n}\n.kaly-oaX .reviewFileInput{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;padding:0}\n.kaly-oaX .reviewFileRow{display:flex;align-items:center;gap:10px;margin:6px 0 10px}\n.kaly-oaX .reviewFileBtn{\n  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;\n  border:1px solid rgba(255,214,110,.78);\n  background:linear-gradient(180deg,#fff8e0 0%,#ffc94e 38%,#b86d09 78%,#fff1bf 100%);\n  color:#1a0800!important;border-radius:999px;padding:3px 11px;height:24px;\n  font-family:\"Arial Narrow\",\"Helvetica Neue Condensed\",Impact,Arial,sans-serif!important;\n  font-weight:700;font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;\n  cursor:pointer;white-space:nowrap;min-width:0;\n  box-shadow:0 2px 6px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.34)\n}\n.kaly-oaX .reviewFileName{\n  font-size:12px;color:rgba(255,255,255,.66);white-space:nowrap;\n  overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1 auto;padding-left:6px\n}\n.kaly-oaX .reviewPhotoPreview{\n  margin:2px 0 6px;border-radius:12px;border:1px solid rgba(255,255,255,.08);\n  background:rgba(255,255,255,.03);padding:10px 8px;display:flex;\n  justify-content:center;align-items:center;min-height:60px\n}\n.kaly-oaX .reviewPhotoPreview img{\n  display:block;max-width:76px!important;max-height:76px!important;\n  width:auto!important;height:auto!important;object-fit:contain!important;\n  border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.22)\n}\n.kaly-oaX .reviewInput:focus,.kaly-oaX .reviewTextarea:focus{\n  border-color:rgba(255,214,110,.72);box-shadow:0 0 0 3px rgba(255,214,110,.12)\n}\n.kaly-oaX .reviewTextarea{min-height:84px;resize:vertical}\n.kaly-oaX .reviewStarsPicker{display:flex;gap:8px;flex-wrap:wrap}\n.kaly-oaX .reviewStarBtn{\n  width:34px;height:34px;border-radius:10px;\n  border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);\n  color:#7a7a7a;font-size:18px;cursor:pointer\n}\n.kaly-oaX .reviewStarBtn.is-on{color:#ffd76a;background:rgba(255,215,106,.1);border-color:rgba(255,215,106,.32)}\n.kaly-oaX .reviewSubmit{\n  display:flex;align-items:center;justify-content:center;\n  width:calc(100% - 16px);height:44px;padding:0 18px;border-radius:999px;\n  border:1px solid rgba(255,214,110,.92);margin:8px auto 0;\n  background:linear-gradient(180deg,#fff8e0 0%,#ffc94e 38%,#b86d09 78%,#fff1bf 100%);\n  color:#2a1600;font-size:10.5px;font-weight:900;letter-spacing:.12em;\n  text-transform:uppercase;cursor:pointer;\n  box-shadow:0 12px 24px rgba(0,0,0,.26),inset 0 2px 0 rgba(255,255,255,.34)\n}\n\n\/* ── PRESS\/HOVER STATES ── *\/\n.kaly-oaX .pill,\n.kaly-oaX .actPill,\n.kaly-oaX .reviewSubmit,\n.kaly-oaX .reviewFileBtn,\n.kaly-oaX .reviewActionBtn{\n  transition:transform .08s ease,box-shadow .08s ease,filter .08s ease!important;\n  will-change:transform\n}\n.kaly-oaX .pill:hover,.kaly-oaX .actPill:hover,\n.kaly-oaX .reviewSubmit:hover,.kaly-oaX .reviewFileBtn:hover{\n  transform:translateY(-2px) scale(1.018)!important;filter:brightness(1.04) saturate(1.05)!important\n}\n.kaly-oaX .pill:active,.kaly-oaX .actPill:active,\n.kaly-oaX .reviewSubmit:active,.kaly-oaX .reviewFileBtn:active{\n  transform:translateY(4px) scale(.978)!important;filter:saturate(1.04)!important\n}\n.kaly-oaX .reviewActionBtn:hover{\n  transform:translateY(-2px) scale(1.018)!important;filter:brightness(1.04) saturate(1.05)!important\n}\n.kaly-oaX .reviewActionBtn:active{\n  transform:translateY(4px) scale(.978)!important\n}\n\n\/* ── TILE REVEAL ── *\/\n.kaly-oaX .tile-reveal{\n  opacity:0;transform:translate3d(0,34px,0) scale(.985);\n  transition:opacity 1.2s cubic-bezier(.22,1,.36,1),transform 1.45s cubic-bezier(.22,1,.36,1)\n}\n.kaly-oaX .tile-reveal.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1)}\n\n\/* ── FOOT ── *\/\n.kaly-oaX .foot{\n  margin-top:8px;padding-top:14px;border-top:1px dashed rgba(255,255,255,.16);\n  text-align:center;color:var(--txt);font-size:14px\n}\n.kaly-oaX .foot .kstk{color:var(--yellow);font-weight:700}\n\n\/* ── DESKTOP ── *\/\n@media(min-width:941px){\n  .kaly-oaX .trustMini{grid-template-columns:repeat(3,1fr)}\n  .kaly-oaX .heroZone{grid-template-columns:1fr!important;gap:16px!important}\n  .kaly-oaX .kX-frame{aspect-ratio:5\/3;height:auto!important;width:100%!important}\n  .kaly-oaX .consoleGrid{grid-template-columns:1fr 300px}\n  .kaly-oaX .consoleList{padding-left:20px}\n  .kaly-oaX .pv-ba{aspect-ratio:5\/3}\n}\n\n\/* ── MOBILE ── *\/\n@media(max-width:940px){\n  .kaly-oaX-wrap{\n    padding:0 10px!important;margin:16px auto 20px!important;\n    max-width:100%!important;width:100%!important\n  }\n  .kaly-oaX{\n    --r:20px;padding:14px 12px 20px!important;\n    border-radius:var(--r)!important;\n    box-shadow:\n      0 28px 56px rgba(0,0,0,.72),\n      0 56px 100px rgba(0,0,0,.52),\n      0 0 0 1px rgba(255,255,255,.10)!important\n  }\n  .kaly-oaX:before{\n    inset:-2px!important;border-radius:calc(var(--r) + 2px)!important;padding:3px!important;\n    background:linear-gradient(135deg,rgba(255,100,60,.82) 0%,rgba(210,20,20,.92) 50%,rgba(255,80,50,.72) 100%)!important;\n    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;\n    -webkit-mask-composite:xor!important;\n    mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;\n    mask-composite:exclude!important;\n    box-shadow:0 0 18px rgba(255,51,51,.32),0 0 40px rgba(200,0,0,.18)!important\n  }\n  .kaly-oaX-wrap:before{\n    bottom:-20px;width:86%;height:40px;\n    background:radial-gradient(ellipse at center,rgba(255,40,40,.22) 0%,rgba(100,0,0,.14) 42%,rgba(0,0,0,0) 76%);\n    filter:blur(14px);display:block!important\n  }\n  .kaly-oaX .title{font-size:22px!important;line-height:1.08!important}\n  .kaly-oaX .title.mainTitle{margin-top:18px!important;margin-bottom:22px!important}\n  .kaly-oaX .subtitle,.kaly-oaX .lead,.kaly-oaX .txt{font-size:13px!important}\n  \/* micro : sur mobile on abandonne le système var\/JS et on affiche statiquement *\/\n  .kaly-oaX .micro{\n    display:flex!important;flex-direction:row!important;align-items:center!important;\n    justify-content:center!important;gap:6px!important;\n    width:auto!important;max-width:calc(100% - 16px)!important;\n    height:auto!important;min-height:0!important;\n    padding:6px 12px!important;border-radius:999px!important;\n    font-size:8px!important;letter-spacing:.07em!important;\n    margin:14px auto 20px!important;overflow:hidden!important;\n    \/* annule toutes les vars JS *\/\n    --micro-w:auto!important;--micro-text-o:1!important;--micro-text-x:0px!important;\n    --micro-gap:0px!important;--micro-pad-x:0px!important\n  }\n  .kaly-oaX .micro .neenca{\n    display:inline!important;opacity:1!important;transform:none!important;\n    overflow:visible!important;max-width:none!important;white-space:nowrap!important\n  }\n  .kaly-oaX .micro\u003espan:last-child{\n    display:inline!important;opacity:1!important;transform:none!important;\n    overflow:hidden!important;text-overflow:ellipsis!important;\n    white-space:nowrap!important;max-width:none!important;flex:1 1 0!important\n  }\n  .kaly-oaX .micro .brand{\n    flex:0 0 auto!important;white-space:nowrap!important;\n    padding-right:7px!important;margin-right:3px!important;\n    border-right:1px solid rgba(255,255,255,.28)!important\n  }\n  \/* titre mainTitle : espace équilibré après la micro pillule *\/\n  .kaly-oaX .title.mainTitle{margin-top:14px!important;margin-bottom:14px!important}\n  \/* lead : 3 lignes max sur mobile, centré *\/\n  .kaly-oaX .lead.lead-split{\n    font-size:12.5px!important;line-height:1.65!important;\n    margin:10px auto 8px!important;text-align:center!important\n  }\n  .kaly-oaX .lead-split .lead-top,\n  .kaly-oaX .lead-split .lead-bottom{display:inline!important}\n  \/* trustMini : gap et marges réduits *\/\n  .kaly-oaX .trustMini{grid-template-columns:repeat(3,1fr)!important;gap:8px!important;margin:14px auto 14px!important}\n  .kaly-oaX .tItem{\n    min-height:68px!important;height:auto!important;padding:10px 6px!important;\n    border-radius:14px!important;font-size:11px!important;color:rgba(255,255,255,.76)!important;\n    gap:3px!important\n  }\n  .kaly-oaX .tItem *{display:block!important}\n  .kaly-oaX .tItem b{\n    font-size:12px!important;line-height:1.15!important;\n    color:#e9ded2!important;white-space:normal!important;overflow:visible!important;\n    text-overflow:clip!important;word-break:break-word!important\n  }\n  .kaly-oaX .tItem span{\n    font-size:10px!important;line-height:1.2!important;\n    white-space:normal!important;color:rgba(255,255,255,.62)!important\n  }\n  \/* tuiles : hauteur min uniquement, pas de hauteur fixe pour ne pas bloquer l'ouverture *\/\n  .kaly-oaX .kX-hero,.kaly-oaX .infoTile,.kaly-oaX .demoTile,.kaly-oaX .whyBuy{\n    padding:0 12px!important\n  }\n  \/* head fermé = 72px *\/\n  .kaly-oaX .heroHead,.kaly-oaX .head,.kaly-oaX .tileHead,.kaly-oaX .demoHead{\n    min-height:72px!important;height:72px!important;gap:10px!important\n  }\n  .kaly-oaX .heroHead .h,.kaly-oaX .head h3,.kaly-oaX .tileHead h3,.kaly-oaX .demoHead h3{\n    height:72px!important;font-size:14px!important;\n    line-height:1.05!important;max-width:calc(100% - 84px)!important;padding-right:12px!important\n  }\n  .kaly-oaX h3,.kaly-oaX .h{font-size:14px!important;line-height:1.05!important}\n  \/* tous les titres de tuiles sur 1 ligne *\/\n  .kaly-oaX .tileHead h3,\n  .kaly-oaX .demoHead h3,\n  .kaly-oaX .heroHead .h{\n    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important\n  }\n  \/* head ouvert = auto *\/\n  .kaly-oaX .foldInput:checked+.heroHead,\n  .kaly-oaX .foldInput:checked+.head,\n  .kaly-oaX .foldInput:checked+.tileHead,\n  .kaly-oaX .foldInput:checked+.demoHead{\n    min-height:36px!important;height:auto!important;padding:10px 0 0!important\n  }\n  .kaly-oaX .foldInput:checked+.heroHead .h,\n  .kaly-oaX .foldInput:checked+.head h3,\n  .kaly-oaX .foldInput:checked+.tileHead h3,\n  .kaly-oaX .foldInput:checked+.demoHead h3{height:auto!important}\n  \/* whyBuy inversé mobile *\/\n  .kaly-oaX .whyBuy .foldInput:not(:checked)+.head{\n    min-height:36px!important;height:auto!important;padding:10px 0 0!important\n  }\n  .kaly-oaX .whyBuy .foldInput:not(:checked)+.head h3{height:auto!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}\n  .kaly-oaX .whyBuy .foldInput:checked+.head{\n    min-height:72px!important;height:72px!important;padding:0!important\n  }\n  .kaly-oaX .whyBuy .foldInput:checked+.head h3{\n    height:72px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important\n  }\n  \/* whyBuy : titre sur 1 ligne impérativement *\/\n  .kaly-oaX .whyBuy .head h3{\n    font-size:13.5px!important;white-space:nowrap!important;\n    overflow:hidden!important;text-overflow:ellipsis!important\n  }\n  \/* whyBuy : padding bas équilibré quand ouvert *\/\n  .kaly-oaX .whyBuy .foldInput:not(:checked)~.foldContent{\n    padding-bottom:22px!important\n  }\n  \/* modal : padding bas pour que Valider ne touche pas le bord *\/\n  .kaly-oaX .reviewModalCard{padding-bottom:28px!important}\n  .kaly-oaX .pill{width:72px!important;min-width:72px!important;height:24px!important;font-size:8px!important;padding:0 5px!important}\n  .kaly-oaX .infoTile .foldContent{padding-right:0!important}\n  .kaly-oaX .infoTile.is-comfort .tileHead h3,\n  .kaly-oaX .infoTile.is-size .tileHead h3,\n  .kaly-oaX .infoTile.is-oa .tileHead h3{\n    max-width:calc(100% - 82px)!important;padding-right:10px!important;font-size:13.5px!important\n  }\n  .kaly-oaX .foldInput:checked~.foldContent{max-height:820px!important;margin-top:16px!important}\n  .kaly-oaX .kX-frame,.kaly-oaX .kX-media{aspect-ratio:4\/3!important;height:auto!important}\n  .kaly-oaX .kX-media video{height:100%!important;aspect-ratio:4\/3!important}\n  .kaly-oaX .helmetStage{height:230px!important;min-height:230px!important}\n  .kaly-oaX .demoVideo{aspect-ratio:4\/3!important;height:auto!important}\n  .kaly-oaX .demoTile .kaly-demo-orb{width:820px!important;height:820px!important;filter:blur(64px)!important}\n  .kaly-oaX .bullets li{grid-template-columns:24px minmax(0,1fr)!important;column-gap:10px!important;padding:10px 12px!important}\n  .kaly-oaX .pv-ba{aspect-ratio:4\/3}\n  .kaly-oaX .pv-ba-knob{width:46px;height:46px}\n  .kaly-oaX .pv-ba-knob svg{width:11px;height:18px}\n  .kaly-oaX .reviewTrustPill{grid-template-columns:auto minmax(0,1fr) auto;padding:0 12px 0 14px;column-gap:10px;height:46px;min-height:46px}\n  .kaly-oaX .reviewStarsInline{font-size:15px;gap:1px}\n  .kaly-oaX .reviewTrustLabel{font-size:11px;white-space:normal}\n  .kaly-oaX .reviewCountBadge{min-width:34px;height:34px;font-size:14px}\n  .kaly-oaX .reviewTrust{margin-top:18px}\n  .kaly-oaX .reviewTopBar{display:grid;grid-template-columns:1fr;gap:12px}\n  .kaly-oaX .reviewTopLeft{display:grid;grid-template-columns:1fr;gap:10px}\n  .kaly-oaX .reviewActionBtn,.kaly-oaX .reviewTrustPill{width:100%;min-width:0}\n  .kaly-oaX .reviewActionBtn{height:46px!important;font-size:13px!important}\n  .kaly-oaX .reviewViewport{\n    -webkit-mask-image:none;mask-image:none;\n    overflow:hidden;cursor:grab;padding-bottom:6px\n  }\n  .kaly-oaX .reviewTrack{animation:none!important;gap:12px}\n  \/* cards portrait sur mobile — plus hautes que larges *\/\n  .kaly-oaX .reviewCard{\n    flex:0 0 64vw;min-height:380px;height:auto;\n    border-radius:16px!important;\n    scroll-snap-align:start;padding:14px 12px 12px\n  }\n  \/* supprimer l'effet hover sur mobile *\/\n  .kaly-oaX .reviewCard:hover,\n  .kaly-oaX .reviewCard.is-touch-hover{\n    transform:none!important;box-shadow:0 18px 42px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.24)!important;\n    filter:none!important;border-color:rgba(255,255,255,.18)!important\n  }\n  .kaly-oaX .reviewMarketLogo-lbc{width:320px!important}\n  .kaly-oaX .reviewMarketLogo-etsy{width:260px!important}\n  .kaly-oaX .reviewMarketLogo-ebay{width:270px!important}\n  .kaly-oaX .reviewMarketLogo-amazon{width:350px!important}\n  .kaly-oaX .reviewModal{align-items:flex-start;padding:14px 10px}\n  .kaly-oaX .reviewModalCard{width:min(94vw,420px);max-height:calc(100vh - 28px);border-radius:20px;padding:16px 14px 28px!important}\n  \/* supprimer la grande lame de lumière au scroll sur mobile *\/\n  .kaly-oaX .glassSweep:before{animation:none!important;opacity:0!important}\n  .kaly-oaX .sheetBlade:before{opacity:0!important}\n}\n\n\/* ── FALLBACKS ── *\/\n@supports not ((-webkit-mask-composite:xor) or (mask-composite:exclude)){\n  .kaly-oaX:before{background:none!important;-webkit-mask:none!important;mask:none!important;border:3px solid rgba(255,90,60,.82)!important}\n}\n@supports not (aspect-ratio:1\/1){\n  .kaly-oaX .demoVideo{height:0!important;padding-bottom:60%!important}\n  .kaly-oaX .helmetStage{height:0!important;padding-bottom:100%!important;min-height:0!important}\n  .kaly-oaX .pv-ba{height:0!important;padding-bottom:80%!important}\n}\n\u003c\/style\u003e\n\n\u003cdiv class=\"kaly-oaX-wrap\"\u003e\n\u003cdiv data-oa-widget class=\"kaly-oaX\" data-review-eligible=\"true\" data-review-customer=\"true\"\u003e\n\u003cspan class=\"sheetBlade\"\u003e\u003c\/span\u003e\u003cspan class=\"mainGlassHalo\"\u003e\u003c\/span\u003e\u003cspan class=\"mainGlassHaloPulse\"\u003e\u003c\/span\u003e\u003cspan class=\"glassDepth\"\u003e\u003c\/span\u003e\u003cspan class=\"glassSweep\"\u003e\u003c\/span\u003e\n\u003caudio src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0994\/9334\/7659\/files\/open_OA.mp3?v=1777044891\" preload=\"auto\" class=\"oa-open-sound\"\u003e\u003c\/audio\u003e\n\u003caudio src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0994\/9334\/7659\/files\/close_OA.mp3?v=1777044891\" preload=\"auto\" class=\"oa-close-sound\"\u003e\u003c\/audio\u003e\n\u003cdiv class=\"micro\"\u003e\n\u003cspan class=\"brand\"\u003e\u003cspan class=\"dot\"\u003e\u003c\/span\u003e\u003cspan class=\"neenca\"\u003ePURE VISION\u003c\/span\u003e\u003c\/span\u003e\u003cspan\u003ePLUG \u0026amp; PLAY • HOMOLOGUÉ CT • RÉGLAGE HAUTEUR\u003c\/span\u003e\n\u003c\/div\u003e\n\u003ch2 class=\"title mainTitle\"\u003e\n\u003cspan class=\"kicker\"\u003e\u003cb\u003eÉclairage avant premium\u003c\/b\u003e pour Renault Clio 4\u003c\/span\u003eAdaptateurs LED\u003cbr\u003ePure Vision \u003cspan class=\"neenca\"\u003e100% Plug \u0026amp; Play\u003c\/span\u003e\n\u003c\/h2\u003e\n\u003cp class=\"subtitle introSpace\"\u003ePour transformer vos phares \u003cstrong\u003ehalogènes\u003c\/strong\u003e en \u003cstrong\u003eLED Pure Vision\u003c\/strong\u003e puissants, fiables et parfaitement orientés — \u003cstrong\u003esans toucher au faisceau ni au câblage d'origine\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cp class=\"lead lead-split\"\u003e\u003cspan class=\"lead-top\"\u003eVous branchez, vous clipsez : éclairage moderne, homologué\u003c\/span\u003e\u003cspan class=\"lead-bottom\"\u003eet prêt pour le contrôle technique, avec le réglage de hauteur conservé.\u003c\/span\u003e\u003c\/p\u003e\n\n\u003cdiv class=\"pvSliderSolo pv-reveal\" id=\"pvSliderSolo\"\u003e\u003cdiv class=\"pv-ba\" id=\"pvBA\"\u003e\n\u003cimg class=\"pv-ba-base\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0994\/9334\/7659\/files\/pure_vision.png?v=1780238794\" alt=\"Après — Pure Vision\"\u003e\n\u003cdiv class=\"pv-ba-top\" id=\"pvBATop\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0994\/9334\/7659\/files\/clio_4.png?v=1780233546\" alt=\"Avant — d'origine\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"pv-ba-divider\" id=\"pvBADiv\"\u003e\u003cspan class=\"pv-ba-knob\"\u003e\u003csvg viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath d=\"M9 5L4 12l5 7z\"\u003e\u003c\/path\u003e\u003cpath d=\"M15 5l5 7-5 7z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cspan class=\"pv-ba-label pv-ba-l\"\u003eAvant\u003c\/span\u003e\u003cspan class=\"pv-ba-label pv-ba-r\"\u003eAprès\u003c\/span\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"trustMini\"\u003e\n\u003cdiv class=\"tItem\"\u003e\n\u003cb\u003ePlug \u0026amp; Play\u003c\/b\u003e\u003cspan\u003eBranchez, clipsez\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"tItem\"\u003e\n\u003cb\u003eRetour facile\u003c\/b\u003e\u003cspan\u003eRetour gratuit\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"tItem\"\u003e\n\u003cb\u003eMade in France\u003c\/b\u003e\u003cspan\u003eGarantie 2 ans\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"whyBuy tile-reveal\"\u003e\n\u003cinput type=\"checkbox\" id=\"fold-why\" class=\"foldInput\"\u003e\n\u003cdiv class=\"head\"\u003e\n\u003ch3\u003ePourquoi ça plaît ?\u003c\/h3\u003e\n\u003clabel for=\"fold-why\" class=\"pill yellow\" data-fold-sound\u003eTop choix\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"foldContent\"\u003e\n\u003cul class=\"fastList\"\u003e\n\u003cli\u003e\n\u003cspan class=\"dot\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003ePlug \u0026amp; Play\u003c\/strong\u003e : connexion directe sur les prises d'origine, sans coupe ni repiquage\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"dot\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eRéglage de hauteur conservé\u003c\/strong\u003e : correcteur de site opérationnel, identique à l'origine\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"dot\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eCompatible Clio 4, RS \u0026amp; Estate\u003c\/strong\u003e, phases 1 \u0026amp; 2, moteurs dCi et TCe\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"dot\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eLumière blanche ~6000 K\u003c\/strong\u003e : faisceau net, sans éblouissement, homologué CT\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cdiv class=\"decision\"\u003e\n\u003cb\u003eVraie alternative à la concession :\u003c\/b\u003e un montage en concession coûte souvent \u003cstrong\u003e800 à 1 500 €\u003c\/strong\u003e. Avec ces adaptateurs Pure Vision à \u003cstrong\u003e79,99 €\u003c\/strong\u003e, vous obtenez un résultat équivalent en quelques minutes — \u003cstrong\u003e30 jours satisfait ou remboursé\u003c\/strong\u003e et \u003cstrong\u003eretour gratuit\u003c\/strong\u003e.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"heroZone\"\u003e\n\u003cdiv class=\"kX-frame\"\u003e\u003cdiv class=\"kX-media\"\u003e\u003cvideo autoplay muted playsinline loop preload=\"metadata\" disablepictureinpicture controlslist=\"nodownload noplaybackrate noremoteplayback\"\u003e\u003csource type=\"video\/mp4\" src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/2e08d2db47e14a7381529dc8d4505f4a.mp4\"\u003e\u003c\/video\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003cdiv class=\"kX-hero\"\u003e\n\u003cinput type=\"checkbox\" id=\"fold-feel\" class=\"foldInput\"\u003e\n\u003cdiv class=\"heroHead\"\u003e\n\u003cp class=\"h\"\u003eCe que vous obtenez\u003c\/p\u003e\n\u003clabel for=\"fold-feel\" class=\"pill gray\" data-fold-sound\u003eEffet\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"foldContent\"\u003e\u003cul class=\"bullets\"\u003e\n\u003cli\u003e\n\u003cspan class=\"b\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eVision nocturne ×2\u003c\/strong\u003e : lumière blanche 6000 K.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"b\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eFaisceau net\u003c\/strong\u003e : meilleure visibilité, sans éblouir.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"b\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eHauteur conservée\u003c\/strong\u003e : réglage identique à l'origine.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"b\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eFonctions conservées\u003c\/strong\u003e : DRL, clignotants, croisement, route.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"b\"\u003e\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eMontage rapide\u003c\/strong\u003e : 5 à 10 min, sans outil.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"infoTile is-comfort tile-reveal\"\u003e\n\u003cinput type=\"checkbox\" id=\"fold-comfort\" class=\"foldInput\"\u003e\n\u003cdiv class=\"tileHead\"\u003e\n\u003ch3\u003eInstallation compliquée ?\u003c\/h3\u003e\n\u003clabel for=\"fold-comfort\" class=\"pill green\" data-fold-sound\u003eMontage\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"foldContent\"\u003e\u003cp class=\"txt\"\u003eBranchez, clipsez : \u003cstrong\u003e5 à 10 minutes par phare\u003c\/strong\u003e, sans outil. L'adaptateur se branche sur les prises d'origine de votre Clio 4 et active vos phares LED Pure Vision.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"infoTile is-size tile-reveal\"\u003e\n\u003cinput type=\"checkbox\" id=\"fold-size\" class=\"foldInput\"\u003e\n\u003cdiv class=\"tileHead\"\u003e\n\u003ch3\u003eCompatible avec ma Clio ?\u003c\/h3\u003e\n\u003clabel for=\"fold-size\" class=\"pill orange\" data-fold-sound\u003eCompat.\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"foldContent\"\u003e\u003cp class=\"txt\"\u003eCompatible \u003cstrong\u003eRenault Clio 4 (IV, RS, Break)\u003c\/strong\u003e, \u003cstrong\u003ephases 1 et 2\u003c\/strong\u003e, moteurs \u003cstrong\u003edCi et TCe\u003c\/strong\u003e. Phase 1 : 2012-2016. Phase 2 : 2016-2019.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"infoTile is-oa tile-reveal\"\u003e\n\u003cinput type=\"checkbox\" id=\"fold-oa\" class=\"foldInput\"\u003e\n\u003cdiv class=\"tileHead\"\u003e\n\u003ch3\u003eÇa passe le contrôle technique ?\u003c\/h3\u003e\n\u003clabel for=\"fold-oa\" class=\"pill green pill-ct\" data-fold-sound\u003eCT\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"foldContent\"\u003e\u003cp class=\"txt\"\u003eConçus pour passer sereinement le contrôle technique. Toutes les fonctions d'origine sont conservées et l'ensemble respecte les normes UE, pour un véhicule \u003cstrong\u003eprêt pour le CT\u003c\/strong\u003e.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"demoTile tile-reveal\"\u003e\n\u003cinput type=\"checkbox\" id=\"fold-demo\" class=\"foldInput\"\u003e\n\u003cdiv class=\"demoHead\"\u003e\n\u003ch3\u003eComment ça marche ?\u003c\/h3\u003e\n\u003clabel for=\"fold-demo\" class=\"pill blue\" data-fold-sound\u003eDémo\u003c\/label\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"foldContent\"\u003e\n\u003cspan class=\"kaly-demo-orb\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"demoVideo\"\u003e\u003cvideo autoplay muted playsinline loop preload=\"metadata\" disablepictureinpicture controlslist=\"nodownload noplaybackrate noremoteplayback\"\u003e\u003csource type=\"video\/mp4\" src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/a63979d05705475da4bf13f0897ccca9.mp4\"\u003e\u003c\/video\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"console single-console-test\"\u003e\u003cdiv class=\"consoleGrid\"\u003e\n\u003cspan class=\"console-halo\"\u003e\u003c\/span\u003e\n\u003cdiv class=\"consoleList\"\u003e\n\u003cdiv class=\"actRow\"\u003e\n\u003cinput type=\"checkbox\" id=\"act-inner\" class=\"actRowInput\"\u003e\n\u003clabel for=\"act-inner\" class=\"actPill inner\" data-oa-action=\"inner\"\u003eFeux de jour\u003c\/label\u003e\n\u003cdiv class=\"actCopy\"\u003e\n\u003cspan class=\"act-blade\"\u003e\u003c\/span\u003e\u003cstrong\u003eSignature LED 6000K\u003c\/strong\u003e\u003csmall\u003eUn regard blanc pur, net et moderne qui met immédiatement la face avant en valeur.\u003c\/small\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"actRow\"\u003e\n\u003cinput type=\"checkbox\" id=\"act-outer\" class=\"actRowInput\"\u003e\n\u003clabel for=\"act-outer\" class=\"actPill outer\" data-oa-action=\"outer\"\u003eFeux de croisement\u003c\/label\u003e\n\u003cdiv class=\"actCopy\"\u003e\n\u003cspan class=\"act-blade\"\u003e\u003c\/span\u003e\u003cstrong\u003eCroisement précis\u003c\/strong\u003e\u003csmall\u003eUn faisceau net et homogène pour une conduite de nuit plus confortable et plus rassurante.\u003c\/small\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"actRow\"\u003e\n\u003cinput type=\"checkbox\" id=\"act-pressure\" class=\"actRowInput\"\u003e\n\u003clabel for=\"act-pressure\" class=\"actPill pressure\" data-oa-action=\"pressure\"\u003ePlein phare\u003c\/label\u003e\n\u003cdiv class=\"actCopy\"\u003e\n\u003cspan class=\"act-blade\"\u003e\u003c\/span\u003e\u003cstrong\u003ePlein phare puissant\u003c\/strong\u003e\u003csmall\u003ePortée renforcée, effet sportif, avec feux de jour, croisement, plein phare et réglage de hauteur conservés.\u003c\/small\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"helmetStage\"\u003e\n\u003cimg loading=\"lazy\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0994\/9334\/7659\/files\/clio4_Fixe.png?v=1780432191\" alt=\"Phares Renault Clio 4\" class=\"hStill\"\u003e\n\u003cvideo preload=\"auto\" playsinline loop muted class=\"gInner\"\u003e\u003csource type=\"video\/mp4\" src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/d196837db27a43ce823305e335eeb210.mp4\"\u003e\u003c\/video\u003e\n\u003cvideo preload=\"auto\" playsinline loop muted class=\"gOuter\"\u003e\u003csource type=\"video\/mp4\" src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/87f659ff96ad44daac2d94d31491bc62.mp4\"\u003e\u003c\/video\u003e\n\u003cvideo preload=\"auto\" playsinline loop muted class=\"gPressure\"\u003e\u003csource type=\"video\/mp4\" src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/86b88a87e76c4ec1acbfe1cf94ec34d0.mp4\"\u003e\u003c\/video\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"reviewTrust\"\u003e\n\u003cdiv class=\"reviewTopBar\"\u003e\u003cdiv class=\"reviewTopLeft\"\u003e\n\u003cbutton type=\"button\" class=\"reviewActionBtn\" id=\"reviewOpenBtn\"\u003e\u003cspan class=\"reviewBtnText\"\u003eMon avis\u003c\/span\u003e\u003c\/button\u003e\n\u003cdiv class=\"reviewTrustPill\"\u003e\n\u003cspan class=\"reviewStarsInline\"\u003e★★★★★\u003c\/span\u003e\n\u003cspan class=\"reviewTrustLabel\"\u003e\u003cspan class=\"reviewTrustTicker\" id=\"reviewTrustTicker\"\u003e\u003cspan class=\"reviewTrustTickerInner\"\u003e\u003cspan\u003eAvis vérifiés \u0026amp; Trustpilot\u003c\/span\u003e\u003cspan\u003eLaissez un avis 😏\u003c\/span\u003e\u003cspan\u003eOn vous voit hésiter 👀\u003c\/span\u003e\u003cspan\u003eVotre avis, vite !\u003c\/span\u003e\u003cspan\u003e5 étoiles ou on pleure 😢\u003c\/span\u003e\u003cspan\u003eVotre chat sait conduire ? Non.\u003c\/span\u003e\u003cspan\u003eUn clic = karma +10\u003c\/span\u003e\u003cspan\u003eC'est gratuit, profitez-en\u003c\/span\u003e\u003cspan\u003eOn vous a vu 👀\u003c\/span\u003e\u003cspan\u003eUn \"👍\" suffit !\u003c\/span\u003e\u003cspan\u003ePhares brillants ? Dites-le !\u003c\/span\u003e\u003cspan\u003eLe bouton vous fixe 👁️\u003c\/span\u003e\u003cspan\u003e2 étoiles min. svp 🙏\u003c\/span\u003e\u003cspan\u003eVotre retour = tout\u003c\/span\u003e\u003cspan\u003eClub des gens biens 🤝\u003c\/span\u003e\u003cspan\u003eVous êtes notre héros\u003c\/span\u003e\u003cspan\u003eMême anonyme, on vous aime\u003c\/span\u003e\u003cspan\u003e30s chrono, go ! ⏱️\u003c\/span\u003e\u003cspan\u003eDites-nous tout 🤫\u003c\/span\u003e\u003cspan\u003eL'avis que personne n'a lu… encore\u003c\/span\u003e\u003cspan\u003eVotre Clio mérite ça\u003c\/span\u003e\u003cspan\u003eSoyez célèbre 5 secondes\u003c\/span\u003e\u003cspan\u003eUn avis = 1 sourire vendeur\u003c\/span\u003e\u003cspan\u003eOn a fait le boulot, à vous !\u003c\/span\u003e\u003cspan\u003e5 étoiles = âme pure 😇\u003c\/span\u003e\u003cspan\u003eVotre voisin a déjà noté\u003c\/span\u003e\u003cspan\u003eTapez vite avant de changer d'avis\u003c\/span\u003e\u003cspan\u003eLes phares brillent, l'avis aussi ?\u003c\/span\u003e\u003cspan\u003eAvis vérifiés \u0026amp; Trustpilot\u003c\/span\u003e\u003cspan\u003eAvis vérifiés \u0026amp; Trustpilot\u003c\/span\u003e\u003cspan\u003eLaissez un avis 😏\u003c\/span\u003e\u003cspan\u003eOn vous voit hésiter 👀\u003c\/span\u003e\u003cspan\u003eVotre avis, vite !\u003c\/span\u003e\u003cspan\u003e5 étoiles ou on pleure 😢\u003c\/span\u003e\u003cspan\u003eVotre chat sait conduire ? Non.\u003c\/span\u003e\u003cspan\u003eUn clic = karma +10\u003c\/span\u003e\u003cspan\u003eC'est gratuit, profitez-en\u003c\/span\u003e\u003cspan\u003eOn vous a vu 👀\u003c\/span\u003e\u003cspan\u003eUn \"👍\" suffit !\u003c\/span\u003e\u003cspan\u003ePhares brillants ? Dites-le !\u003c\/span\u003e\u003cspan\u003eLe bouton vous fixe 👁️\u003c\/span\u003e\u003cspan\u003e2 étoiles min. svp 🙏\u003c\/span\u003e\u003cspan\u003eVotre retour = tout\u003c\/span\u003e\u003cspan\u003eClub des gens biens 🤝\u003c\/span\u003e\u003cspan\u003eVous êtes notre héros\u003c\/span\u003e\u003cspan\u003eMême anonyme, on vous aime\u003c\/span\u003e\u003cspan\u003e30s chrono, go ! ⏱️\u003c\/span\u003e\u003cspan\u003eDites-nous tout 🤫\u003c\/span\u003e\u003cspan\u003eL'avis que personne n'a lu… encore\u003c\/span\u003e\u003cspan\u003eVotre Clio mérite ça\u003c\/span\u003e\u003cspan\u003eSoyez célèbre 5 secondes\u003c\/span\u003e\u003cspan\u003eUn avis = 1 sourire vendeur\u003c\/span\u003e\u003cspan\u003eOn a fait le boulot, à vous !\u003c\/span\u003e\u003cspan\u003e5 étoiles = âme pure 😇\u003c\/span\u003e\u003cspan\u003eVotre voisin a déjà noté\u003c\/span\u003e\u003cspan\u003eTapez vite avant de changer d'avis\u003c\/span\u003e\u003cspan\u003eLes phares brillent, l'avis aussi ?\u003c\/span\u003e\u003cspan\u003eAvis vérifiés \u0026amp; Trustpilot\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/span\u003e\n\u003cspan class=\"reviewCountBadge\" id=\"reviewCountBadge\"\u003e10\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"reviewModal\" id=\"reviewModal\" aria-hidden=\"true\"\u003e\n\u003cdiv class=\"reviewModalBg\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"reviewModalCard\"\u003e\n\u003cbutton type=\"button\" class=\"reviewModalClose\" id=\"reviewCloseBtn\" aria-label=\"Fermer\"\u003e×\u003c\/button\u003e\n\u003ch3 class=\"reviewModalTitle\"\u003eLaisser un avis\u003c\/h3\u003e\n\u003cp class=\"reviewModalSub\"\u003ePartagez votre retour sur cet adaptateur Pure Vision.\u003c\/p\u003e\n\u003cform class=\"reviewForm\" id=\"reviewForm\"\u003e\n\u003cdiv class=\"reviewField\"\u003e\n\u003clabel for=\"reviewName\"\u003eNom\u003c\/label\u003e\u003cinput class=\"reviewInput\" id=\"reviewName\" type=\"text\" placeholder=\"Votre prénom ou pseudo\" required\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"reviewField\"\u003e\n\u003clabel\u003eNote\u003c\/label\u003e\u003cdiv class=\"reviewStarsPicker\" id=\"reviewStarsPicker\"\u003e\n\u003cbutton class=\"reviewStarBtn is-on\" type=\"button\" data-star=\"1\"\u003e★\u003c\/button\u003e\n\u003cbutton class=\"reviewStarBtn is-on\" type=\"button\" data-star=\"2\"\u003e★\u003c\/button\u003e\n\u003cbutton class=\"reviewStarBtn is-on\" type=\"button\" data-star=\"3\"\u003e★\u003c\/button\u003e\n\u003cbutton class=\"reviewStarBtn is-on\" type=\"button\" data-star=\"4\"\u003e★\u003c\/button\u003e\n\u003cbutton class=\"reviewStarBtn is-on\" type=\"button\" data-star=\"5\"\u003e★\u003c\/button\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"reviewField\"\u003e\n\u003clabel for=\"reviewText\"\u003eVotre avis\u003c\/label\u003e\u003ctextarea class=\"reviewTextarea\" id=\"reviewText\" placeholder=\"Écrivez votre avis ici...\" required\u003e\u003c\/textarea\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"reviewField\"\u003e\n\u003clabel for=\"reviewPhoto\"\u003eTélécharger une photo\u003c\/label\u003e\n\u003cdiv class=\"reviewFileRow\"\u003e\n\u003clabel for=\"reviewPhoto\" class=\"reviewFileBtn\"\u003eChoisir le fichier\u003c\/label\u003e\n\u003cspan class=\"reviewFileName\" id=\"reviewFileName\"\u003eAucun fichier sélectionné\u003c\/span\u003e\n\u003cinput class=\"reviewFileInput\" id=\"reviewPhoto\" type=\"file\" accept=\"image\/*\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"reviewPhotoPreview\" id=\"reviewPhotoPreview\" hidden\u003e\u003cimg id=\"reviewPhotoPreviewImg\" alt=\"Aperçu photo avis\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbutton class=\"reviewSubmit\" type=\"submit\"\u003eValider\u003c\/button\u003e\n\u003c\/form\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cdiv class=\"reviewStrip\"\u003e\u003cdiv class=\"reviewViewport\" id=\"reviewViewport\"\u003e\u003cdiv class=\"reviewTrack\" id=\"reviewTrack\"\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/div\u003e\n\n\u003cdiv class=\"foot\"\u003e\u003cp\u003e\u003cstrong\u003eOffrez un éclairage moderne à votre Clio 4.\u003c\/strong\u003e\u003cbr\u003eTestez les adaptateurs Pure Vision sans risque et complétez votre installation avec nos autres adaptateurs avant, arrière et antibrouillard dans la boutique \u003cspan class=\"kstk\"\u003eKALYSTOCK\u003c\/span\u003e.\u003c\/p\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cscript\u003e\n(function(){\n  'use strict';\n  var root = document.querySelector('.kaly-oaX');\n  if (!root) return;\n\n  \/* ── UTILS ── *\/\n  function esc(t) { var d = document.createElement('div'); d.textContent = String(t || ''); return d.innerHTML; }\n  function qs(sel, ctx) { return (ctx || root).querySelector(sel); }\n  function playSound(kind) {\n    try {\n      var el = qs(kind === 'close' ? '.oa-close-sound' : '.oa-open-sound');\n      if (!el) return;\n      el.currentTime = 0;\n      var p = el.play();\n      if (p \u0026\u0026 p.catch) p.catch(function(){});\n    } catch(e) {}\n  }\n\n  \/* ── GLASS SCROLL PARALLAX ── *\/\n  (function() {\n    var ticking = false;\n    function update() {\n      ticking = false;\n      var rect = root.getBoundingClientRect();\n      var vh = window.innerHeight || 1;\n      var progress = Math.max(0, Math.min(1, (vh - rect.top) \/ (vh + rect.height)));\n      var peak = Math.sin(progress * Math.PI);\n      root.style.setProperty('--glass-x', (-72 + progress * 326).toFixed(1) + '%');\n      root.style.setProperty('--glass-y', (-10 + progress * 20).toFixed(1) + '%');\n      root.style.setProperty('--glass-r', (-4 + progress * 8).toFixed(1) + 'deg');\n      root.style.setProperty('--glass-o', (0.38 + peak * 0.62).toFixed(3));\n    }\n    function onScroll() { if (!ticking) { ticking = true; requestAnimationFrame(update); } }\n    window.addEventListener('scroll', onScroll, { passive: true });\n    window.addEventListener('resize', onScroll, { passive: true });\n    update();\n  })();\n\n  \/* ── MICRO BAR INTRO ── *\/\n  (function() {\n    var micro = qs('.micro');\n    if (!micro) return;\n    function easeOut(t) { return 1 - Math.pow(1 - t, 3); }\n    function measure() {\n      micro.style.setProperty('--micro-w', 'max-content');\n      var open = Math.ceil(micro.scrollWidth);\n      micro.style.setProperty('--micro-w', getComputedStyle(micro).getPropertyValue('--micro-close') || '56px');\n      micro.style.setProperty('--micro-open', open + 'px');\n    }\n    function apply(e) {\n      if (window.matchMedia('(max-width:940px)').matches) return;\n      var close = parseFloat(getComputedStyle(micro).getPropertyValue('--micro-close')) || 56;\n      var open = parseFloat(getComputedStyle(micro).getPropertyValue('--micro-open')) || close;\n      micro.style.setProperty('--micro-w', (close + (open - close) * e).toFixed(1) + 'px');\n      micro.style.setProperty('--micro-gap', (e * 10).toFixed(1) + 'px');\n      micro.style.setProperty('--micro-pad-x', (e * 18).toFixed(1) + 'px');\n      micro.style.setProperty('--micro-text-o', (e * 0.98).toFixed(3));\n      micro.style.setProperty('--micro-text-x', ((1 - e) * 26).toFixed(1) + 'px');\n    }\n    measure();\n    \/\/ sur mobile : ouvrir immédiatement sans animation\n    var isMobile = window.matchMedia('(max-width:940px)').matches;\n    if (isMobile) {\n      apply(1);\n    } else {\n      apply(0);\n    }\n    window.addEventListener('resize', function() { measure(); apply(1); }, { passive: true });\n    if (!isMobile) {\n      setTimeout(function() {\n        var start = null, dur = 4200;\n        function step(ts) {\n          if (!start) start = ts;\n          var p = Math.min(1, (ts - start) \/ dur);\n          apply(easeOut(p));\n          if (p \u003c 1) requestAnimationFrame(step);\n        }\n        requestAnimationFrame(step);\n      }, 3800);\n    }\n  })();\n\n  \/* ── BEFORE\/AFTER SLIDER ── *\/\n  (function() {\n    var wrap = qs('#pvSliderSolo'), slider = qs('#pvBA'), div = qs('#pvBADiv');\n    var miniTiles = root.querySelectorAll('.trustMini .tItem');\n    var revealTiles = root.querySelectorAll('.tile-reveal');\n    if (!wrap || !slider || !div) return;\n\n    function setPos(p) {\n      p = Math.max(0, Math.min(100, p));\n      slider.style.setProperty('--pos', p + '%');\n      div.style.left = p + '%';\n    }\n\n    \/\/ drag\n    var dragging = false;\n    function fromX(x) { var r = slider.getBoundingClientRect(); setPos(((x - r.left) \/ r.width) * 100); }\n    slider.addEventListener('pointerdown', function(e) { dragging = true; fromX(e.clientX); slider.setPointerCapture(e.pointerId); });\n    slider.addEventListener('pointermove', function(e) { if (dragging) fromX(e.clientX); });\n    slider.addEventListener('pointerup', function() { dragging = false; });\n\n    \/\/ sweep reveal\n    var sliderDone = false, miniSeen = false, miniShown = false;\n    function showMini() {\n      if (miniShown || !sliderDone || !miniSeen) return;\n      miniShown = true;\n      miniTiles.forEach(function(t, i) { setTimeout(function() { t.classList.add('is-visible'); }, i * 340); });\n    }\n    if (miniTiles.length) {\n      new IntersectionObserver(function(entries) {\n        entries.forEach(function(e) { if (e.isIntersecting) { miniSeen = true; showMini(); } });\n      }, { threshold: 0.15 }).observe(miniTiles[0].parentNode);\n    }\n\n    setPos(50);\n    var seen = false;\n    new IntersectionObserver(function(entries) {\n      entries.forEach(function(e) {\n        if (e.isIntersecting \u0026\u0026 !seen \u0026\u0026 e.intersectionRatio \u003e 0.55) {\n          seen = true;\n          wrap.classList.add('is-visible');\n          setTimeout(function() {\n            slider.classList.add('is-sweep');\n            setPos(50);\n            requestAnimationFrame(function() {\n              requestAnimationFrame(function() {\n                setPos(92);\n                setTimeout(function() { setPos(8); }, 1050);\n                setTimeout(function() { setPos(50); }, 2100);\n                setTimeout(function() {\n                  slider.classList.remove('is-sweep');\n                  sliderDone = true;\n                  showMini();\n                }, 3150);\n              });\n            });\n          }, 1180);\n        }\n      });\n    }, { threshold: 0.55 }).observe(wrap);\n\n    \/\/ tile reveals\n    if (revealTiles.length) {\n      var io = new IntersectionObserver(function(entries) {\n        entries.forEach(function(e) {\n          if (e.isIntersecting) { e.target.classList.add('is-visible'); io.unobserve(e.target); }\n        });\n      }, { threshold: 0.2 });\n      revealTiles.forEach(function(t, i) { t.style.transitionDelay = (i * 0.12) + 's'; io.observe(t); });\n    }\n  })();\n\n  \/* ── CONSOLE (helmet interactive) ── *\/\n  (function() {\n    var items = [\n      { key:'inner',    input:'#act-inner',    video:'.gInner',    cls:'oa-show-inner' },\n      { key:'outer',    input:'#act-outer',    video:'.gOuter',    cls:'oa-show-outer' },\n      { key:'pressure', input:'#act-pressure', video:'.gPressure', cls:'oa-show-pressure' }\n    ];\n    var still = qs('.hStill');\n\n    function stopVideo(v) { if (!v) return; try { v.pause(); v.currentTime = 0; } catch(e) {} }\n    function clearAll() {\n      items.forEach(function(it) {\n        var inp = qs(it.input); if (inp) inp.checked = false;\n        root.classList.remove(it.cls);\n        stopVideo(qs(it.video));\n      });\n      if (still) still.style.opacity = '1';\n    }\n\n    items.forEach(function(it) {\n      var inp = qs(it.input), lbl = qs('[data-oa-action=\"' + it.key + '\"]');\n      var vid = qs(it.video);\n      var copy = inp \u0026\u0026 inp.closest('.actRow') \u0026\u0026 inp.closest('.actRow').querySelector('.actCopy');\n      if (!inp || !lbl || !vid || !copy) return;\n\n      lbl.addEventListener('click', function(e) {\n        e.preventDefault();\n        var wasOpen = inp.checked;\n        playSound(wasOpen ? 'close' : 'open');\n        clearAll();\n        if (wasOpen) return;\n        inp.checked = true;\n        root.classList.add(it.cls);\n        if (still) still.style.opacity = '0';\n        \/\/ blade animation\n        copy.classList.remove('is-blade-run');\n        void copy.offsetWidth;\n        copy.classList.add('is-blade-run');\n        try { vid.currentTime = 0; var p = vid.play(); if (p \u0026\u0026 p.catch) p.catch(function(){}); } catch(e) {}\n      });\n      vid.addEventListener('ended', clearAll);\n    });\n    clearAll();\n  })();\n\n  \/* ── FOLD TILES ── *\/\n  (function() {\n    root.querySelectorAll('.foldInput').forEach(function(inp) {\n      inp.addEventListener('change', function() {\n        var tile = inp.closest('.kX-hero, .whyBuy, .infoTile, .demoTile');\n        if (tile) tile.classList.toggle('is-open', inp.checked);\n      });\n    });\n    \/\/ fold sound\n    root.querySelectorAll('[data-fold-sound]').forEach(function(el) {\n      el.addEventListener('click', function() {\n        var targetId = el.getAttribute('for');\n        var target = targetId ? qs('#' + targetId) : null;\n        playSound(target \u0026\u0026 target.checked ? 'close' : 'open');\n      });\n    });\n  })();\n\n  \/* ── REVIEWS ── *\/\n  (function() {\n    var track = qs('#reviewTrack'), openBtn = qs('#reviewOpenBtn');\n    var countBadge = qs('#reviewCountBadge'), modal = qs('#reviewModal');\n    var closeBtn = qs('#reviewCloseBtn'), modalBg = qs('.reviewModalBg');\n    var form = qs('#reviewForm'), nameInput = qs('#reviewName'), textInput = qs('#reviewText');\n    var photoInput = qs('#reviewPhoto'), photoPreview = qs('#reviewPhotoPreview');\n    var photoPreviewImg = qs('#reviewPhotoPreviewImg'), fileNameEl = qs('#reviewFileName');\n    var starsWrap = qs('#reviewStarsPicker'), viewport = qs('#reviewViewport');\n    if (!track) return;\n\n    var rating = 5, baseCount = 10, userReviews = [], uploadedPhoto = '';\n\n    \/\/ modal portal — pointer-events auto sur le modal lui-même\n    var portal = document.createElement('div');\n    portal.className = 'kaly-oaX reviewModalPortal';\n    portal.style.cssText = 'all:initial;position:fixed!important;inset:0!important;z-index:2147483647!important;display:none!important;pointer-events:none!important';\n    document.body.appendChild(portal);\n    portal.appendChild(modal);\n    \/\/ le modal lui-même doit capturer les clics\n    modal.style.pointerEvents = 'auto';\n\n    function openModal() {\n      if (root.getAttribute('data-review-eligible') !== 'true') { alert('Seuls les clients ayant acheté cet article peuvent laisser un avis.'); return; }\n      portal.style.setProperty('display','block','important');\n      modal.classList.add('is-open');\n      modal.setAttribute('aria-hidden', 'false');\n      document.body.style.overflow = 'hidden';\n      setTimeout(function() { if (nameInput) nameInput.focus(); modal.scrollTop = 0; }, 80);\n    }\n    function closeModal() {\n      modal.classList.remove('is-open');\n      modal.setAttribute('aria-hidden', 'true');\n      document.body.style.overflow = '';\n      setTimeout(function() { portal.style.setProperty('display','none','important'); }, 650);\n    }\n\n    \/\/ star color per site\n    var baseReviews = [\n      {site:'Etsy',siteClass:'site-etsy',stars:'★★★★★',date:'10 déc. 2025',text:'Excellent quality, excellent contact with the Seller, instructions included.',name:'Paweł Wawak',flag:'🇵🇱',meta:'Avis vérifié'},\n      {site:'Leboncoin',siteClass:'site-lbc',stars:'★★★★★',date:'29 avr.',text:'Parfait ✅ Rapide et informatif !',name:'Lolo0477',flag:'🇫🇷',meta:'Avis vérifié'},\n      {site:'Leboncoin',siteClass:'site-lbc',stars:'★★★★★',date:'6 avr.',text:'Rapide, envoi soigné, article conforme',name:'Mickaël',flag:'🇫🇷',meta:'Avis vérifié'},\n      {site:'Leboncoin',siteClass:'site-lbc',stars:'★★★★★',date:'3 mars',text:'Super',name:\"Vent'loc\",flag:'🇫🇷',meta:'Avis vérifié'},\n      {site:'Leboncoin',siteClass:'site-lbc',stars:'★★★★★',date:'4 févr.',text:'Parfait merci 🙏',name:'Seb',flag:'🇫🇷',meta:'Avis vérifié'},\n      {site:'eBay',siteClass:'site-ebay',stars:'★★★★★',date:'Année préc.',text:'Great seller, the LED adaptor is top quality!!',name:'luisvillarruel',flag:'🇬🇧',meta:'Avis vérifié'},\n      {site:'eBay',siteClass:'site-ebay',stars:'★★★★★',date:'6 derniers mois',text:'Ottimo… spedizione lente 17 jours',name:'rosinca22',flag:'🇮🇹',meta:'Avis vérifié',reply:'Merci pour votre retour. Le produit a bien été livré et l\\'adaptateur a donné satisfaction. Le délai évoqué venait du transporteur, pas du produit.'},\n      {site:'Amazon',siteClass:'site-amazon',stars:'★★★★★',date:'09 janv. 2025',text:'Bonsoir je suis très content du produit merci beaucoup très bon travail merci au livreur.',name:'Acheteur Amazon',flag:'🇫🇷',meta:'Avis vérifié'},\n      {site:'Leboncoin',siteClass:'site-lbc',stars:'★★☆☆☆',date:'29 mai',text:'Le produit était conforme, mais 10 jours pour l\\'envoyer et la communication un enfer, il ne répondait jamais !',name:'YLIS',flag:'🇫🇷',meta:'Avis vérifié',reply:'Merci pour votre retour. Le produit était bien conforme et a bien été reçu. Le délai venait d\\'un retard logistique ponctuel.'},\n      {site:'Etsy',siteClass:'site-etsy',stars:'★☆☆☆☆',date:'3 févr.',text:'Je n\\'ai jamais reçu mon colis',name:'tyson',flag:'🇫🇷',meta:'Avis vérifié',reply:'Nous avons bien suivi ce dossier avec le transporteur. Le client a finalement reçu son colis. Aucun défaut produit n\\'a été constaté.'}\n    ];\n\n    function starsString(n) { return '★★★★★'.slice(0, n) + '☆☆☆☆☆'.slice(0, 5 - n); }\n    function toneFromRating(n) { return n \u003e= 5 ? 'good' : n \u003e= 3 ? 'neutral' : 'bad'; }\n\n    function renderCard(r) {\n      var rating = (String(r.stars).match(\/★\/g) || []).length || 5;\n      var logos = {\n        'site-lbc':    ['reviewMarketLogo-lbc',    'https:\/\/cdn.shopify.com\/s\/files\/1\/0994\/9334\/7659\/files\/LEBONCOIN.png?v=1780416225',  'Leboncoin'],\n        'site-etsy':   ['reviewMarketLogo-etsy',   'https:\/\/cdn.shopify.com\/s\/files\/1\/0994\/9334\/7659\/files\/ETSY.png?v=1780416226',       'Etsy'],\n        'site-ebay':   ['reviewMarketLogo-ebay',   'https:\/\/cdn.shopify.com\/s\/files\/1\/0994\/9334\/7659\/files\/EBAY.png?v=1780416225',       'eBay'],\n        'site-amazon': ['reviewMarketLogo-amazon', 'https:\/\/cdn.shopify.com\/s\/files\/1\/0994\/9334\/7659\/files\/AMAZON.png?v=1780416225',     'Amazon'],\n        'site-user':   ['reviewMarketLogo-kalystock','https:\/\/cdn.shopify.com\/s\/files\/1\/0994\/9334\/7659\/files\/kalystock_new.png?v=1780403900','Kalystock']\n      };\n      var lo = logos[r.siteClass] || [];\n      var logo = lo.length ? '\u003cimg class=\"reviewMarketLogo ' + lo[0] + '\" src=\"' + lo[1] + '\" alt=\"' + lo[2] + '\"\u003e' : '';\n      var rings = r.siteClass === 'site-user' ? '\u003cspan class=\"reviewSiteRings\"\u003e\u003c\/span\u003e' : '';\n      return '\u003carticle class=\"reviewCard review-rating-' + rating + ' ' + r.siteClass + '\"\u003e' +\n        '\u003cspan class=\"reviewGlow\"\u003e\u003c\/span\u003e\u003cspan class=\"reviewBlade\"\u003e\u003c\/span\u003e\u003cspan class=\"reviewGlassEdge\"\u003e\u003c\/span\u003e' + rings + logo +\n        '\u003cdiv class=\"reviewStars\"\u003e' + esc(r.stars) + '\u003c\/div\u003e' +\n        '\u003cp class=\"reviewText\"\u003e\"' + esc(r.text) + '\"\u003c\/p\u003e' +\n        (r.photo ? '\u003cdiv class=\"reviewCardPhotoWrap\"\u003e\u003cimg class=\"reviewCardPhoto\" src=\"' + esc(r.photo) + '\" alt=\"Photo client\"\u003e\u003c\/div\u003e' : '') +\n        (r.reply ? '\u003cdiv class=\"reviewReply\"\u003e\u003cstrong\u003eRéponse vendeur :\u003c\/strong\u003e' + esc(r.reply) + '\u003c\/div\u003e' : '') +\n        '\u003cdiv class=\"reviewAuthor\"\u003e\u003cstrong\u003e' + esc(r.name) + ' \u003cspan class=\"reviewFlag\"\u003e' + esc(r.flag || '') + '\u003c\/span\u003e\u003c\/strong\u003e' +\n        '\u003cdiv class=\"reviewMetaLine\"\u003e\u003cspan class=\"reviewRole\"\u003e' + esc(r.meta || 'Avis membre') + '\u003c\/span\u003e\u003c\/div\u003e\u003c\/div\u003e\u003c\/article\u003e';\n    }\n\n    \/\/ card touch hover\n    function bindCardHover() {\n      root.querySelectorAll('.reviewCard').forEach(function(card) {\n        var timer = null;\n        card.addEventListener('pointerenter', function() { card.classList.add('is-touch-hover'); });\n        card.addEventListener('pointerleave', function() { card.classList.remove('is-touch-hover'); });\n        card.addEventListener('touchstart', function() {\n          card.classList.add('is-touch-hover');\n          clearTimeout(timer); timer = setTimeout(function() { card.classList.remove('is-touch-hover'); }, 1400);\n        }, { passive: true });\n        card.addEventListener('touchend', function() {\n          clearTimeout(timer); timer = setTimeout(function() { card.classList.remove('is-touch-hover'); }, 1000);\n        }, { passive: true });\n        card.addEventListener('touchcancel', function() { card.classList.remove('is-touch-hover'); }, { passive: true });\n      });\n    }\n\n    \/\/ auto-scroll carousel — inertie bidirectionnelle\n    var autoSpeed = 0.52, offset = 0, setWidth = 0, rafId = 0;\n    var hovering = false, touching = false, lastX = 0, lastT = 0;\n    var inertia = 0; \/\/ vélocité d'inertie unifiée\n\n    function measureSet() {\n      var items = track.children;\n      if (!items || items.length \u003c 2) return 0;\n      var third = Math.floor(items.length \/ 3);\n      return items[third] ? items[third].offsetLeft - items[0].offsetLeft : track.scrollWidth \/ 3;\n    }\n    function normalize() {\n      if (!setWidth) return;\n      while (offset \u003c= -2 * setWidth) offset += setWidth;\n      while (offset \u003e -setWidth) offset -= setWidth;\n    }\n    function paint() { normalize(); track.style.transform = 'translate3d(' + offset.toFixed(2) + 'px,0,0)'; }\n    function stopLoop() { if (rafId) { cancelAnimationFrame(rafId); rafId = 0; } }\n    function tick() {\n      if (!touching) {\n        if (Math.abs(inertia) \u003e 0.15) {\n          offset += inertia;\n          \/\/ décélération : plus lente sur mobile (plus lourd), plus rapide sur desktop\n          inertia *= window.matchMedia('(max-width:940px)').matches ? 0.94 : 0.88;\n        } else {\n          inertia = 0;\n          if (!hovering) offset -= autoSpeed;\n        }\n        paint();\n      }\n      rafId = requestAnimationFrame(tick);\n    }\n    function rebuild() {\n      requestAnimationFrame(function() {\n        setWidth = measureSet();\n        if (!offset \u0026\u0026 setWidth) offset = -setWidth;\n        paint(); stopLoop(); rafId = requestAnimationFrame(tick);\n      });\n    }\n\n    function render() {\n      var all = userReviews.concat(baseReviews).map(renderCard);\n      track.innerHTML = all.concat(all).concat(all).join('');\n      track.style.transform = '';\n      bindCardHover();\n      rebuild();\n    }\n\n    function updateCounter() { if (countBadge) countBadge.textContent = String(baseCount + userReviews.length); }\n\n    \/\/ interactions viewport\n    if (viewport) {\n      \/\/ ── DESKTOP : hover drag avec inertie ──\n      viewport.addEventListener('pointerenter', function(e) {\n        if (e.pointerType !== 'mouse') return;\n        hovering = true; lastX = e.clientX; inertia = 0;\n        viewport.style.cursor = 'ew-resize';\n      });\n\n      var dxHistory = [], dragging = false;\n      viewport.addEventListener('pointerdown', function(e) {\n        if (e.pointerType !== 'mouse') return;\n        dragging = true; hovering = true;\n        lastX = e.clientX; inertia = 0; dxHistory = [];\n        viewport.setPointerCapture(e.pointerId);\n        viewport.style.cursor = 'grabbing';\n      });\n      viewport.addEventListener('pointermove', function(e) {\n        if ((!hovering \u0026\u0026 !dragging) || touching || e.pointerType !== 'mouse') return;\n        var dx = e.clientX - lastX;\n        if (Math.abs(dx) \u003e 0.3) {\n          offset += dx;\n          dxHistory.push(dx);\n          if (dxHistory.length \u003e 6) dxHistory.shift();\n          inertia = dxHistory.reduce(function(s,v){return s+v;},0) \/ dxHistory.length * 0.78;\n          paint();\n        }\n        lastX = e.clientX;\n      });\n      viewport.addEventListener('pointerup', function(e) {\n        if (e.pointerType !== 'mouse') return;\n        dragging = false;\n        viewport.style.cursor = 'ew-resize';\n      });\n      viewport.addEventListener('pointerleave', function(e) {\n        if (e.pointerType !== 'mouse') return;\n        if (!dragging) { hovering = false; dxHistory = []; }\n      });\n\n      \/\/ ── MOBILE : touch avec inertie lourde ──\n      viewport.addEventListener('touchstart', function(e) {\n        hovering = false; touching = true; inertia = 0;\n        lastX = e.touches[0] ? e.touches[0].clientX : lastX;\n        lastT = Date.now();\n        viewport.style.cursor = 'grabbing';\n      }, { passive: true });\n      viewport.addEventListener('touchmove', function(e) {\n        if (!touching || !e.touches[0]) return;\n        var now = Date.now();\n        var dx = e.touches[0].clientX - lastX;\n        var dt = Math.max(now - lastT, 8);\n        \/\/ inertie proportionnelle à la vitesse du doigt\n        inertia = (dx \/ dt) * 18;   \/\/ facteur élevé = slide lourd\n        offset += dx * 1.0;         \/\/ suivi 1:1 du doigt\n        paint();\n        lastX = e.touches[0].clientX;\n        lastT = now;\n      }, { passive: true });\n      viewport.addEventListener('touchend', function() {\n        touching = false;\n        viewport.style.cursor = 'grab';\n        \/\/ inertie conservée pour la décélération dans tick()\n      }, { passive: true });\n      viewport.addEventListener('touchcancel', function() {\n        touching = false; inertia = 0;\n        viewport.style.cursor = 'grab';\n      }, { passive: true });\n\n      window.addEventListener('resize', rebuild, { passive: true });\n    }\n\n    \/\/ stars picker\n    function paintStars() {\n      if (!starsWrap) return;\n      starsWrap.querySelectorAll('button').forEach(function(btn) {\n        btn.classList.toggle('is-on', Number(btn.getAttribute('data-star')) \u003c= rating);\n      });\n    }\n    if (starsWrap) {\n      starsWrap.querySelectorAll('button').forEach(function(btn) {\n        btn.addEventListener('click', function() { rating = Number(btn.getAttribute('data-star')) || 5; paintStars(); });\n      });\n    }\n\n    \/\/ photo upload\n    function resetPhoto() {\n      uploadedPhoto = '';\n      if (photoInput) photoInput.value = '';\n      if (fileNameEl) fileNameEl.textContent = 'Aucun fichier sélectionné';\n      if (photoPreview) photoPreview.hidden = true;\n      if (photoPreviewImg) photoPreviewImg.removeAttribute('src');\n    }\n    if (photoInput) {\n      photoInput.addEventListener('change', function() {\n        var file = photoInput.files \u0026\u0026 photoInput.files[0];\n        if (!file) { resetPhoto(); return; }\n        if (fileNameEl) fileNameEl.textContent = file.name;\n        var reader = new FileReader();\n        reader.onload = function(ev) {\n          var img = new Image();\n          img.onload = function() {\n            var max = 420, ratio = Math.min(1, max \/ img.width, max \/ img.height);\n            var cw = Math.round(img.width * ratio), ch = Math.round(img.height * ratio);\n            var canvas = document.createElement('canvas');\n            canvas.width = cw; canvas.height = ch;\n            canvas.getContext('2d').drawImage(img, 0, 0, cw, ch);\n            uploadedPhoto = canvas.toDataURL('image\/jpeg', 0.86);\n            if (photoPreviewImg) photoPreviewImg.src = uploadedPhoto;\n            if (photoPreview) photoPreview.hidden = false;\n          };\n          img.src = ev.target.result;\n        };\n        reader.readAsDataURL(file);\n      });\n    }\n\n    \/\/ form submit\n    if (form) {\n      form.addEventListener('submit', function(e) {\n        e.preventDefault();\n        var name = (nameInput \u0026\u0026 nameInput.value || '').trim();\n        var text = (textInput \u0026\u0026 textInput.value || '').trim();\n        if (!name || !text) return;\n        var now = new Date();\n        var months = ['janv.','févr.','mars','avr.','mai','juin','juil.','août','sept.','oct.','nov.','déc.'];\n        userReviews.unshift({\n          site:'KALYSTOCK', siteClass:'site-user',\n          stars: starsString(rating),\n          date: now.getDate() + ' ' + months[now.getMonth()],\n          text: text, name: name, flag:'🇫🇷', meta:'Avis membre',\n          photo: uploadedPhoto || '',\n          reply:'Merci infiniment pour votre avis ! Nous sommes ravis que notre éclairage vous convienne. À très bientôt !'\n        });\n        render(); updateCounter();\n        form.reset(); resetPhoto(); rating = 5; paintStars();\n        playSound('close'); closeModal();\n      });\n    }\n\n    \/\/ modal open\/close — closeBtn\/modalBg sont dans le portal, pas dans root\n    if (openBtn) openBtn.addEventListener('click', function(e) { e.preventDefault(); playSound('open'); openModal(); });\n    var _closeBtn = document.getElementById('reviewCloseBtn');\n    var _modalBg  = modal.querySelector('.reviewModalBg');\n    if (_closeBtn) _closeBtn.addEventListener('click', function() { playSound('close'); closeModal(); });\n    if (_modalBg)  _modalBg.addEventListener('click',  function() { playSound('close'); closeModal(); });\n    document.addEventListener('keydown', function(e) {\n      if (e.key === 'Escape' \u0026\u0026 modal.classList.contains('is-open')) { playSound('close'); closeModal(); }\n    });\n\n    paintStars(); render(); updateCounter();\n  })();\n})();\n\u003c\/script\u003e","brand":"KALYSTOCK","offers":[{"title":"Default Title","offer_id":56022876127563,"sku":null,"price":79.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0994\/9334\/7659\/files\/12_e728eca9-a4bd-4670-aebc-176d716f7f0a.png?v=1765317878"},{"product_id":"adaptateurs-rs-vision-led-clio-4-phase-1-kit-antibrouillard-plug-play-rs","title":"Adaptateurs RS Vision LED Clio 4 Phase 1 – Kit Antibrouillard Plug \u0026 Play RS","description":"\u003cstyle\u003e\n  \/* --- Bloc KALYSTOCK RS Vision (fond gris clair \/ blanc \/ noir) --- *\/\n  .kaly-purevision {\n    max-width: 900px;\n    margin: 0 auto 40px;\n    padding: 24px 18px 28px;\n    \/* Dégradé gris clair → blanc → gris plus soutenu *\/\n    background: radial-gradient(circle at top left, #ffffff 0%, #f3f3f3 45%, #d4d4d4 80%, #b8b8b8 100%);\n    border-radius: 18px;\n    border: 3px solid #000;\n    color: #111;\n    font-family: \"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n    box-shadow: 0 18px 40px rgba(0,0,0,0.25);\n  }\n\n  .kaly-purevision * {\n    box-sizing: border-box;\n  }\n\n  \/* --- Badge haut --- *\/\n  .kaly-badge-wrapper {\n    text-align: center;\n    margin-bottom: 14px;\n  }\n\n  .kaly-badge {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n    padding: 4px 16px;\n    border-radius: 999px;\n    background: #111;\n    border: 1px solid #000;\n    font-size: 11px;\n    letter-spacing: .06em;\n    text-transform: uppercase;\n    color: rgba(255,255,255,0.9);\n    position: relative;\n    animation: kalyBadgePulse 2s infinite;\n  }\n\n  .kaly-badge span.kaly-dot {\n    width: 8px;\n    height: 8px;\n    border-radius: 999px;\n    background: #000;\n    box-shadow: 0 0 0 10px rgba(0,0,0,0.35);\n    flex-shrink: 0;\n  }\n\n  @keyframes kalyBadgePulse {\n    0%   { box-shadow: 0 0 0 0 rgba(0,0,0,0.08); transform: translateY(0); }\n    50%  { box-shadow: 0 0 32px 14px rgba(0,0,0,0.35); transform: translateY(-1px); }\n    100% { box-shadow: 0 0 0 0 rgba(0,0,0,0); transform: translateY(0); }\n  }\n\n  \/* --- Titre \u0026 intro --- *\/\n  .kaly-title {\n    font-size: 22px;\n    line-height: 1.35;\n    margin: 0 0 10px;\n    font-weight: 400;\n    text-align: center;\n  }\n\n  .kaly-title span.kaly-red {\n    color: #000;\n    font-weight: 600;\n    display: block;\n    margin-bottom: 4px;\n  }\n\n  .kaly-subtitle {\n    font-size: 15px;\n    line-height: 1.4;\n    color: rgba(0,0,0,0.85);\n    margin: 0 0 20px;\n  }\n\n  .kaly-intro {\n    font-size: 15px;\n    line-height: 1.6;\n    color: rgba(0,0,0,0.9);\n    margin-bottom: 26px;\n  }\n\n  \/* --- Hero : image + carte bénéfices --- *\/\n  .kaly-hero {\n    display: grid;\n    grid-template-columns: 1.15fr 1fr;\n    gap: 20px;\n    align-items: center;\n    margin-bottom: 28px;\n  }\n\n  .kaly-hero-img-wrap {\n    background: radial-gradient(circle at top left, rgba(0,0,0,0.08), transparent 55%);\n    border-radius: 14px;\n    padding: 14px;\n    border: 1px solid rgba(0,0,0,0.08);\n    animation: kalyImgGlow 3.2s ease-in-out infinite;\n  }\n\n  .kaly-hero-img-wrap img {\n    width: 100%;\n    display: block;\n    border-radius: 12px;\n  }\n\n  .kaly-hero-card {\n    background: #ffffff;\n    border-radius: 16px;\n    padding: 16px 18px 18px;\n    border: 1px solid rgba(0,0,0,0.12);\n    text-align: left;\n  }\n\n  .kaly-hero-card-title {\n    font-size: 15px;\n    font-weight: 700;\n    margin-bottom: 6px;\n    color: #000;\n  }\n\n  .kaly-hero-small {\n    font-size: 12px;\n    margin-bottom: 12px;\n    color: rgba(0,0,0,0.8);\n  }\n\n  .kaly-hero-list {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n    font-size: 14px;\n  }\n\n  .kaly-hero-list li {\n    display: flex;\n    align-items: flex-start;\n    gap: 8px;\n    margin-bottom: 6px;\n    color: rgba(0,0,0,0.9);\n  }\n\n  .kaly-hero-bullet {\n    width: 18px;\n    height: 18px;\n    border-radius: 999px;\n    background: #000;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    font-size: 11px;\n    flex-shrink: 0;\n    color: #fff;\n    box-shadow: 0 0 0 0 rgba(0,0,0,0.25);\n    animation: kalyBulletPulse 2.1s infinite;\n  }\n\n  @keyframes kalyImgGlow {\n    0%   { transform: translateY(0); box-shadow: 0 10px 24px rgba(0,0,0,0.25); }\n    50%  { transform: translateY(-3px); box-shadow: 0 18px 42px rgba(0,0,0,0.3); }\n    100% { transform: translateY(0); box-shadow: 0 10px 24px rgba(0,0,0,0.25); }\n  }\n\n  @keyframes kalyBulletPulse {\n    0%   { box-shadow: 0 0 0 0 rgba(0,0,0,0.25); }\n    50%  { box-shadow: 0 0 12px 4px rgba(0,0,0,0.35); }\n    100% { box-shadow: 0 0 0 0 rgba(0,0,0,0); }\n  }\n\n  \/* --- Sections caractéristiques --- *\/\n  .kaly-section {\n    margin-bottom: 26px;\n    padding: 16px 18px;\n    border-radius: 14px;\n    background: #ffffff;\n    border: 1px solid rgba(0,0,0,0.12);\n  }\n\n  .kaly-section--accent {\n    background: #f4f4f4;\n    border-color: #e0e0e0;\n    color: #111;\n  }\n\n  .kaly-section-header {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 10px;\n    margin-bottom: 8px;\n  }\n\n  .kaly-section-title {\n    font-size: 16px;\n    font-weight: 700;\n    color: #000;\n  }\n\n  .kaly-section-pill {\n    padding: 3px 10px;\n    border-radius: 999px;\n    font-size: 9px;\n    text-transform: uppercase;\n    letter-spacing: .08em;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    white-space: nowrap;\n    font-weight: 600;\n    position: relative;\n  }\n\n  .kaly-pill-nobrico {\n    background: #000;\n    color: #fff;\n    animation: kalyHaloGrey 2.3s infinite;\n  }\n\n  .kaly-pill-ct {\n    background: #000;\n    color: #fff;\n    animation: kalyHaloGrey 2.3s infinite;\n  }\n\n  @keyframes kalyHaloGrey {\n    0%   { box-shadow: 0 0 0 0 rgba(0,0,0,15); }\n    50%  { box-shadow: 0 0 32px 14px rgba(0,0,0,0.35); }\n    100% { box-shadow: 0 0 0 0 rgba(0,0,0,0); }\n  }\n\n  .kaly-section-text {\n    font-size: 14px;\n    line-height: 1.6;\n    color: rgba(0,0,0,0.9);\n  }\n\n  .kaly-section-grid {\n    display: grid;\n    grid-template-columns: 1.1fr 1fr;\n    gap: 18px;\n    align-items: center;\n  }\n\n  .kaly-section-img img {\n    width: 100%;\n    border-radius: 12px;\n    display: block;\n    box-shadow: 0 10px 26px rgba(0,0,0,0.35);\n    animation: kalyImgGlow2 3.4s ease-in-out infinite;\n  }\n\n  @keyframes kalyImgGlow2 {\n    0%   { transform: translateY(0); box-shadow: 0 10px 26px rgba(0,0,0,0.35); }\n    50%  { transform: translateY(-3px); box-shadow: 0 18px 46px rgba(0,0,0,0.4); }\n    100% { transform: translateY(0); box-shadow: 0 10px 26px rgba(0,0,0,0.35); }\n  }\n\n  \/* --- Bloc confiance \/ footer --- *\/\n  .kaly-footer {\n    margin-top: 22px;\n    padding-top: 16px;\n    border-top: 1px dashed rgba(0,0,0,0.25);\n    font-size: 14px;\n    color: rgba(0,0,0,0.9);\n  }\n\n  .kaly-footer-strong {\n    font-weight: 600;\n    color: #000;\n  }\n\n  .kaly-footer span.kaly-kalystock {\n    color: #000;\n    font-weight: 700;\n  }\n\n  \/* --- Responsive --- *\/\n  @media (max-width: 768px) {\n    .kaly-purevision {\n      padding: 18px 14px 22px;\n      border-radius: 14px;\n    }\n    .kaly-title {\n      font-size: 19px;\n    }\n    .kaly-subtitle {\n      font-size: 14px;\n    }\n    .kaly-hero {\n      grid-template-columns: 1fr;\n    }\n    .kaly-section-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"text-align: center;\" class=\"kaly-purevision\"\u003e\n\u003c!-- Badge \/ catégorie --\u003e\n\u003cdiv class=\"kaly-badge-wrapper\"\u003e\n\u003cdiv class=\"kaly-badge\"\u003e\u003cspan\u003eADAPTATEURS ANTIBROUILLARD  • CLIO 4 PHASe 1\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Titre principal --\u003e\n\u003ch2 class=\"kaly-title\"\u003e\u003cspan class=\"kaly-red\"\u003e\u003cstrong\u003eKit antibrouillards LED RS Vision pour Clio 4 \u003c\/strong\u003e\u003c\/span\u003e\u003c\/h2\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2 class=\"kaly-title\"\u003e\n\u003cspan class=\"kaly-red\"\u003e\u003cstrong\u003eAdaptateurs feux antibrouillard LED RS Vision \u003c\/strong\u003e\u003c\/span\u003e Kit Plug \u0026amp; Play, esthétique sportive et visibilité améliorée sans modification du faisceau.\u003c\/h2\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003c!-- Sous-titre \/ promesse --\u003e\n\u003cp style=\"text-align: center;\" class=\"kaly-subtitle\"\u003eAvec nos adaptateurs antibrouillard LED RS Vision pour Renault Clio 4 Phase 1, offrez à l’avant de votre véhicule un design plus moderne et agressif, tout en conservant une installation 100 % compatible et sécurisée.\u003c\/p\u003e\n\u003cp style=\"text-align: center;\" class=\"kaly-subtitle\"\u003e \u003c\/p\u003e\n\u003c!-- Intro courte --\u003e\n\u003cp style=\"text-align: center;\" class=\"kaly-intro\"\u003eRemplacez vos anciens antibrouillards halogènes par un éclairage LED RS Vision puissant, blanc et homogène, sans tirer de nouveaux câbles et sans reprogrammation. Les adaptateurs se branchent directement sur les prises d’origine pour une mise à niveau propre, rapide et professionnelle.\u003c\/p\u003e\n\u003c!-- Hero : photo produit + bénéfices clés --\u003e\n\u003cdiv class=\"kaly-hero\"\u003e\n\u003cdiv class=\"kaly-hero-img-wrap\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0994\/9334\/7659\/files\/28.png?v=1764868031\" alt=\"Adaptateurs antibrouillard LED RS Vision Renault Clio 4 Phase 1\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"kaly-hero-card\"\u003e\n\u003cdiv style=\"text-align: center;\" class=\"kaly-hero-card-title\"\u003eAdaptateurs antibrouillard LED RS Vision pour Renault Clio 4 Phase 1\u003c\/div\u003e\n\u003cdiv class=\"kaly-hero-small\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cul class=\"kaly-hero-list\"\u003e\n\u003cli\u003e\n\u003cspan class=\"kaly-hero-bullet\"\u003e✓\u003c\/span\u003e \u003cspan\u003e\u003cstrong\u003eInstallation Plug \u0026amp; Play\u003c\/strong\u003e : se connecte directement sur les prises d’origine, sans couper ni modifier les câbles.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"kaly-hero-bullet\"\u003e✓\u003c\/span\u003e \u003cspan\u003eLook \u003cstrong\u003eRS Vision\u003c\/strong\u003e moderne, parfaitement assorti aux feux avant LED pour une face avant plus dynamique.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"kaly-hero-bullet\"\u003e✓\u003c\/span\u003e \u003cspan\u003eVisibilité renforcée par temps de pluie, de nuit et de brouillard grâce à un faisceau LED plus large et plus lisible.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cspan class=\"kaly-hero-bullet\"\u003e✓\u003c\/span\u003e \u003cspan\u003eCompatible \u003cstrong\u003eClio 4, Clio IV et Break\u003c\/strong\u003e, idéal pour une mise à niveau esthétique et sécuritaire sans modification définitive.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Section 1 : Plug \u0026 Play --\u003e\n\u003cdiv class=\"kaly-section kaly-section--accent\"\u003e\n\u003cdiv class=\"kaly-section-header\"\u003e\n\u003cdiv style=\"text-align: left;\" class=\"kaly-section-title\"\u003eInstallation Plug \u0026amp; Play en 5 minutes\u003c\/div\u003e\n\u003cdiv class=\"kaly-section-pill kaly-pill-nobrico\"\u003eSANS BRICOLAGE\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" class=\"kaly-section-text\"\u003eInutile de passer par un garage ou un électricien auto. Les adaptateurs antibrouillard LED RS Vision se branchent sur les connecteurs d’origine de votre Renault Clio 4 Phase 1. Vous démontez vos anciens antibrouillards, vous connectez le kit, vous remontez et c’est terminé : upgrade propre, réversible et sans risque pour le faisceau.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Section 2 : Éclairage RS Vision --\u003e\n\u003cdiv class=\"kaly-section\"\u003e\n\u003cdiv class=\"kaly-section-grid\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"kaly-section-header\"\u003e\n\u003cdiv style=\"text-align: left;\" class=\"kaly-section-title\"\u003eÉclairage avant RS Vision – style, puissance et sportivité\u003c\/div\u003e\n\u003cdiv class=\"kaly-section-pill kaly-pill-ct\"\u003eHOMOLOGUÉ CT\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" class=\"kaly-section-text\"\u003eDémarquez-vous avec des antibrouillards RS Vision inspirés des versions sportives de la Clio. L’éclairage LED offre une lumière blanche plus intense, mieux dirigée vers la route et idéale dans les conditions difficiles. Vous gagnez en confort de conduite, en sécurité et en design, tout en restant conforme pour le contrôle technique.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kaly-section-img\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0994\/9334\/7659\/files\/33.png?v=1764868076\" alt=\"Clio 4 Phase 1 équipée d'antibrouillards LED RS Vision\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Section 3 : Compatibilité \u0026 contrôle technique --\u003e\n\u003cdiv class=\"kaly-section\"\u003e\n\u003cdiv class=\"kaly-section-header\"\u003e\n\u003cdiv style=\"text-align: left;\" class=\"kaly-section-title\"\u003eApprouvé et 100 % compatible Renault Clio 4 Phase 1\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" class=\"kaly-section-text\"\u003eDéveloppés pour Renault Clio 4 Phase 1 (Clio IV et Break), ces adaptateurs conservent le fonctionnement d’origine depuis l’habitacle. Ils s’intègrent dans l’installation existante sans générer d’erreur au tableau de bord. Conformes à la réglementation européenne, ils sont étudiés pour rester performants lors des contrôles techniques et des visites de routine.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Footer \/ rassurance --\u003e\n\u003cdiv class=\"kaly-footer\"\u003e\n\u003cp class=\"kaly-footer-strong\"\u003e\u003cstrong\u003eComplétez votre installation :\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eDécouvrez également nos adaptateurs pour feux avant PURE VISION, kits LED RS Vision, feux arrière et autres accessoires pour Renault dans la boutique \u003cspan class=\"kaly-kalystock\"\u003eKALYSTOCK\u003c\/span\u003e. Livraison suivie, retour facile et support client réactif pour vous accompagner dans toutes vos améliorations d’éclairage.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Renault","offers":[{"title":"Default Title","offer_id":56022882451787,"sku":null,"price":69.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0994\/9334\/7659\/files\/29_a4d5c7b6-5600-4ce3-a8f0-853c8cd074e0.png?v=1765316503"},{"product_id":"adaptateurs-antibrouillard-rs-vision-led-clio-4-kit-plug-play-look-sportif","title":"Adaptateurs Antibrouillard RS Vision LED Clio 4 – Kit Plug \u0026 Play, Look Sportif","description":"\u003cstyle\u003e\n  \/* --- Bloc KALYSTOCK RS Vision --- *\/\n  .kaly-purevision {\n    max-width: 900px;\n    margin: 0 auto 40px;\n    padding: 24px 18px 28px;\n    \/* Dégradé noir \/ bleu plus discret, comme la version rouge\/noir *\/\n    background: radial-gradient(circle at top left, #001a3a 0%, #050910 45%, #000000 100%);\n    border-radius: 18px;\n    border: 3px solid #2b7bff;\n    color: #fff;\n    font-family: \"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n    box-shadow: 0 18px 40px rgba(0,0,0,0.5);\n  }\n\n  .kaly-purevision * {\n    box-sizing: border-box;\n  }\n\n  \/* --- Badge haut --- *\/\n  .kaly-badge-wrapper {\n    text-align: center;\n    margin-bottom: 14px;\n  }\n\n  .kaly-badge {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    padding: 4px 16px;\n    border-radius: 999px;\n    background: #111;\n    border: 1px solid rgba(255,255,255,0.15);\n    font-size: 11px;\n    letter-spacing: .06em;\n    text-transform: uppercase;\n    color: rgba(255,255,255,0.9);\n    position: relative;\n    animation: kalyBadgePulse 2s infinite;\n  }\n\n  .kaly-badge span.kaly-dot {\n    width: 8px;\n    height: 8px;\n    border-radius: 999px;\n    background: #3bb5ff; \/* bleu au lieu du jaune *\/\n    box-shadow: 0 0 0 6px rgba(59,181,255,0.25);\n    flex-shrink: 0;\n  }\n\n  @keyframes kalyBadgePulse {\n    0%   { box-shadow: 0 0 0 0 rgba(59,181,255,0.32); transform: translateY(0); }\n    50%  { box-shadow: 0 0 18px 6px rgba(59,181,255,0.55); transform: translateY(-1px); }\n    100% { box-shadow: 0 0 0 0 rgba(59,181,255,0.0); transform: translateY(0); }\n  }\n\n  \/* --- Titre \u0026 intro --- *\/\n  .kaly-title {\n    font-size: 22px;\n    line-height: 1.35;\n    margin: 0 0 10px;\n    font-weight: 400; \/* fin *\/\n  }\n\n  \/* On garde le nom .kaly-red mais en bleu pour ce produit *\/\n  .kaly-title span.kaly-red {\n    color: #3aa9ff;\n    font-weight: 500;\n    display: block;\n    margin-bottom: 4px;\n  }\n\n  .kaly-subtitle {\n    font-size: 15px;\n    line-height: 1.4;\n    color: rgba(255,255,255,0.9);\n    margin: 0 0 20px;\n  }\n\n  .kaly-intro {\n    font-size: 15px;\n    line-height: 1.6;\n    color: rgba(255,255,255,0.9);\n    margin-bottom: 26px;\n  }\n\n  \/* --- Hero : image + carte bénéfices --- *\/\n  .kaly-hero {\n    display: grid;\n    grid-template-columns: 1.15fr 1fr;\n    gap: 20px;\n    align-items: center;\n    margin-bottom: 28px;\n  }\n\n  .kaly-hero-img-wrap {\n    background: radial-gradient(circle at top left, rgba(255,255,255,0.18), transparent 55%);\n    border-radius: 14px;\n    padding: 14px;\n    border: 1px solid rgba(255,255,255,0.07);\n    animation: kalyImgGlow 3.2s ease-in-out infinite;\n  }\n\n  .kaly-hero-img-wrap img {\n    width: 100%;\n    display: block;\n    border-radius: 12px;\n  }\n\n  .kaly-hero-card {\n    background: linear-gradient(135deg, #14171c, #0b0d11);\n    border-radius: 16px;\n    padding: 16px 18px 18px;\n    border: 1px solid rgba(255,255,255,0.08);\n  }\n\n  .kaly-hero-card-title {\n    font-size: 15px;\n    font-weight: 600;\n    margin-bottom: 10px;\n    color: #fff;\n  }\n\n  .kaly-hero-list {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n    font-size: 14px;\n  }\n\n  .kaly-hero-list li {\n    display: flex;\n    align-items: flex-start;\n    gap: 8px;\n    margin-bottom: 6px;\n    color: rgba(255,255,255,0.9);\n  }\n\n  .kaly-hero-bullet {\n    width: 18px;\n    height: 18px;\n    border-radius: 999px;\n    background: #2b7bff;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    font-size: 11px;\n    flex-shrink: 0;\n    box-shadow: 0 0 0 0 rgba(43,123,255,0.4);\n    animation: kalyBulletPulse 2.1s infinite;\n  }\n\n  @keyframes kalyImgGlow {\n    0%   { transform: translateY(0); box-shadow: 0 10px 24px rgba(0,0,0,0.5); }\n    50%  { transform: translateY(-3px); box-shadow: 0 18px 42px rgba(43,123,255,0.38); }\n    100% { transform: translateY(0); box-shadow: 0 10px 24px rgba(0,0,0,0.5); }\n  }\n\n  @keyframes kalyBulletPulse {\n    0%   { box-shadow: 0 0 0 0 rgba(43,123,255,0.45); }\n    50%  { box-shadow: 0 0 12px 4px rgba(43,123,255,0.7); }\n    100% { box-shadow: 0 0 0 0 rgba(43,123,255,0); }\n  }\n\n  \/* --- Sections caractéristiques --- *\/\n  .kaly-section {\n    margin-bottom: 26px;\n    padding: 16px 18px;\n    border-radius: 14px;\n    background: #111;\n    border: 1px solid rgba(255,255,255,0.08);\n  }\n\n  .kaly-section--accent {\n    background: #2b7bff;\n    border-color: #2b7bff;\n    color: #fff;\n  }\n\n  .kaly-section-header {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 10px;\n    margin-bottom: 8px;\n  }\n\n  .kaly-section-title {\n    font-size: 16px;\n    font-weight: 700;\n    color: #fff;\n  }\n\n  .kaly-section-pill {\n    padding: 3px 10px;\n    border-radius: 999px;\n    font-size: 9px;\n    text-transform: uppercase;\n    letter-spacing: .08em;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    white-space: nowrap;\n    font-weight: 600;\n    position: relative;\n  }\n\n  \/* Pastille SANS BRICOLAGE (sur fond bleu) *\/\n  .kaly-pill-nobrico {\n    background: #000;\n    color: #fff;\n    box-shadow: 0 0 0 0 rgba(0,240,255,0.0);\n    animation: kalyHaloCyan 2.3s infinite;\n  }\n\n  \/* Pastille HOMOLOGUÉ CT (sur fond noir) *\/\n  .kaly-pill-ct {\n    background: #2b7bff;\n    color: #fff;\n    box-shadow: 0 0 0 0 rgba(59,181,255,0.0);\n    animation: kalyHaloYellow 2.3s infinite;\n  }\n\n  @keyframes kalyHaloCyan {\n    0%   { box-shadow: 0 0 0 0 rgba(0,240,255,0.0); }\n    50%  { box-shadow: 0 0 14px 5px rgba(0,240,255,0.75); }\n    100% { box-shadow: 0 0 0 0 rgba(0,240,255,0.0); }\n  }\n\n  @keyframes kalyHaloYellow {\n    0%   { box-shadow: 0 0 0 0 rgba(59,181,255,0.0); }\n    50%  { box-shadow: 0 0 14px 5px rgba(59,181,255,0.75); }\n    100% { box-shadow: 0 0 0 0 rgba(59,181,255,0.0); }\n  }\n\n  .kaly-section-text {\n    font-size: 14px;\n    line-height: 1.6;\n    color: rgba(255,255,255,0.9);\n  }\n\n  .kaly-section-grid {\n    display: grid;\n    grid-template-columns: 1.1fr 1fr;\n    gap: 18px;\n    align-items: center;\n  }\n\n  .kaly-section-img img {\n    width: 100%;\n    border-radius: 12px;\n    display: block;\n    box-shadow: 0 10px 26px rgba(0,0,0,0.6);\n    animation: kalyImgGlow2 3.4s ease-in-out infinite;\n  }\n\n  @keyframes kalyImgGlow2 {\n    0%   { transform: translateY(0); box-shadow: 0 10px 26px rgba(0,0,0,0.6); }\n    50%  { transform: translateY(-3px); box-shadow: 0 18px 46px rgba(43,123,255,0.45); }\n    100% { transform: translateY(0); box-shadow: 0 10px 26px rgba(0,0,0,0.6); }\n  }\n\n  \/* --- Bloc confiance \/ footer --- *\/\n  .kaly-footer {\n    margin-top: 22px;\n    padding-top: 16px;\n    border-top: 1px dashed rgba(255,255,255,0.18);\n    font-size: 14px;\n    color: rgba(255,255,255,0.9);\n  }\n\n  .kaly-footer-strong {\n    font-weight: 600;\n    color: #2b7bff;\n  }\n\n  .kaly-footer span.kaly-kalystock {\n    color: #ffce33;\n    font-weight: 600;\n  }\n\n  \/* --- Responsive --- *\/\n  @media (max-width: 768px) {\n    .kaly-purevision {\n      padding: 18px 14px 22px;\n      border-radius: 14px;\n    }\n    .kaly-title {\n      font-size: 19px;\n    }\n    .kaly-subtitle {\n      font-size: 14px;\n    }\n    .kaly-hero {\n      grid-template-columns: 1fr;\n    }\n    .kaly-section-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n\u003c\/style\u003e\n\u003cdiv class=\"kaly-purevision\" style=\"text-align: center;\"\u003e\n\u003c!-- Badge \/ catégorie --\u003e\n\u003cdiv class=\"kaly-badge-wrapper\"\u003e\n\u003cdiv class=\"kaly-badge\"\u003e\u003cspan\u003eADAPTATEURS ANTIBROUILLARD •  CLIO 4 RS VISION\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Titre principal --\u003e\n\u003ch2 class=\"kaly-title\"\u003e\n\u003cspan class=\"kaly-red\"\u003eKit antibrouillards LED RS Vision pour Renault Clio 4\u003c\/span\u003e\u003cbr\u003e\n\u003c\/h2\u003e\n\u003ch2 class=\"kaly-title\"\u003e\n\u003cspan class=\"kaly-red\"\u003eAdaptateurs feux antibrouillard LED RS Vision Clio 4 \/ Clio IV\u003c\/span\u003e Kit Plug \u0026amp; Play, améliore l’esthétique, la visibilité et la sécurité sans modifier le faisceau.\u003c\/h2\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003c!-- Sous-titre \/ promesse --\u003e\n\u003cp class=\"kaly-subtitle\" style=\"text-align: center;\"\u003eDonnez à votre Renault Clio 4 un véritable look \u003cstrong\u003eRS Vision\u003c\/strong\u003e : antibrouillards LED blancs, style sportif et éclairage avant moderne, tout en restant 100 % compatible avec l’installation d’origine.\u003c\/p\u003e\n\u003c!-- Intro courte --\u003e\n\u003cp class=\"kaly-intro\" style=\"text-align: center;\"\u003eTransformez vos antibrouillards halogènes en éclairage LED RS Vision puissant et homogène sans tirer de nouveaux câbles. Les adaptateurs se branchent directement sur les connecteurs d’origine pour une installation rapide, propre et fiable.\u003c\/p\u003e\n\u003c!-- Hero : photo produit + bénéfices clés --\u003e\n\u003cdiv class=\"kaly-hero\"\u003e\n\u003cdiv class=\"kaly-hero-img-wrap\"\u003e\n\u003c!-- 👉 Remplace cette URL par la photo de ton adaptateur antibrouillard RS Vision --\u003e \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0994\/9334\/7659\/files\/19.png?v=1764867960\" alt=\"Adaptateur antibrouillard LED RS Vision Renault Clio 4\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kaly-hero-card\"\u003e\n\u003cdiv class=\"kaly-hero-card-title\" style=\"text-align: center;\"\u003ePourquoi ce kit RS Vision est idéal pour votre Clio 4 :\u003c\/div\u003e\n\u003cdiv class=\"kaly-hero-card-title\" style=\"text-align: left;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cul class=\"kaly-hero-list\"\u003e\n\u003cli style=\"text-align: left;\"\u003e\n\u003cspan class=\"kaly-hero-bullet\"\u003e✓\u003c\/span\u003e \u003cspan\u003e\u003cstrong\u003eVéritable Plug \u0026amp; Play\u003c\/strong\u003e : se connecte directement sur les prises d’origine des antibrouillards, sans coupe de fils ni relais à ajouter.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli style=\"text-align: left;\"\u003e\n\u003cspan class=\"kaly-hero-bullet\"\u003e✓\u003c\/span\u003e \u003cspan\u003eLook \u003cstrong\u003eRS Vision\u003c\/strong\u003e moderne, assorti aux feux avant LED, pour une face avant plus agressive et sportive.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli style=\"text-align: left;\"\u003e\n\u003cspan class=\"kaly-hero-bullet\"\u003e✓\u003c\/span\u003e \u003cspan\u003eVisibilité renforcée par temps de pluie, de nuit et de brouillard grâce à une lumière blanche intense et homogène.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli style=\"text-align: left;\"\u003e\n\u003cspan class=\"kaly-hero-bullet\"\u003e✓\u003c\/span\u003e \u003cspan\u003eCompatible \u003cstrong\u003eClio 4, Clio IV, RS et Break\u003c\/strong\u003e, idéal pour une mise à niveau esthétique et sécuritaire sans modification définitive.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Section 1 : Plug \u0026 Play --\u003e\n\u003cdiv class=\"kaly-section kaly-section--accent\"\u003e\n\u003cdiv class=\"kaly-section-header\"\u003e\n\u003cdiv class=\"kaly-section-title\" style=\"text-align: left;\"\u003eInstallation Plug \u0026amp; Play en 5 minutes\u003c\/div\u003e\n\u003cdiv class=\"kaly-section-pill kaly-pill-nobrico\"\u003eSANS BRICOLAGE\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kaly-section-text\" style=\"text-align: left;\"\u003ePlus besoin de passer par un garage ou de modifier le faisceau électrique. Les adaptateurs antibrouillard LED RS Vision se branchent sur les connecteurs d’origine de votre Clio 4 : vous démontez les anciens antibrouillards, vous connectez le kit, vous remontez et c’est terminé. Une mise à niveau propre, réversible et sécurisée.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Section 2 : Éclairage RS Vision --\u003e\n\u003cdiv class=\"kaly-section\"\u003e\n\u003cdiv class=\"kaly-section-grid\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"kaly-section-header\"\u003e\n\u003cdiv class=\"kaly-section-title\" style=\"text-align: left;\"\u003eÉclairage antibrouillard RS Vision – style, puissance et sportivité\u003c\/div\u003e\n\u003cdiv class=\"kaly-section-pill kaly-pill-ct\"\u003eHOMOLOGUÉ CT\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kaly-section-text\" style=\"text-align: left;\"\u003eDémarquez-vous avec un avant de Clio 4 inspiré des versions RS Vision. L’éclairage LED offre un faisceau plus large et plus lisible au ras de la route, idéal par temps de pluie ou de brouillard. Vous gagnez en sécurité, en confort de conduite et en look, tout en restant conforme pour le contrôle technique.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kaly-section-img\"\u003e\n\u003c!-- 👉 Remplace par une photo de l’avant de la Clio avec antibrouillards RS Vision --\u003e \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0994\/9334\/7659\/files\/24.png?v=1764867962\" alt=\"Renault Clio 4 équipée d'antibrouillards LED RS Vision\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Section 3 : Compatibilité \u0026 contrôle technique --\u003e\n\u003cdiv class=\"kaly-section\"\u003e\n\u003cdiv class=\"kaly-section-header\"\u003e\n\u003cdiv class=\"kaly-section-title\" style=\"text-align: left;\"\u003eApprouvé et 100 % compatible Clio 4\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kaly-section-text\" style=\"text-align: left;\"\u003eConçus spécifiquement pour Renault Clio 4 (Clio IV, RS, Break), ces adaptateurs permettent de remplacer les antibrouillards halogènes par des modules LED RS Vision tout en conservant l’utilisation normale depuis l’habitacle. Compatibles avec la réglementation européenne, ils sont étudiés pour rester performants lors des contrôles techniques et des visites de routine.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Footer \/ rassurance --\u003e\n\u003cdiv class=\"kaly-footer\"\u003e\n\u003cp class=\"kaly-footer-strong\"\u003eComplétez votre installation :\u003c\/p\u003e\n\u003cp\u003eRetrouvez également nos adaptateurs pour feux avant PURE VISION, feux arrière et autres kits LED pour Renault dans la boutique \u003cspan class=\"kaly-kalystock\"\u003eKALYSTOCK\u003c\/span\u003e. Livraison suivie, retour facile et support client réactif pour vous accompagner dans chaque upgrade de votre Clio 4.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Renault","offers":[{"title":"Default Title","offer_id":56022883074379,"sku":null,"price":69.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0994\/9334\/7659\/files\/hh_5ddcb548-d3ac-48d3-aad8-a9fe37a9c6c6.png?v=1765298162"},{"product_id":"adaptateurs-feux-arriere-led-pure-vision-renault-clio-4-plug-play-homologue","title":"Adaptateurs Feux Arrière LED Pure Vision Renault Clio 4 – Plug \u0026 Play, Homologué","description":"\u003cstyle\u003e\n  \/* --- Bloc KALYSTOCK RS Vision (gris \/ noir) --- *\/\n  .kaly-purevision {\n    max-width: 900px;\n    margin: 0 auto 40px;\n    padding: 24px 18px 28px;\n    \/* Dégradé noir \/ gris léger *\/\n    background: radial-gradient(circle at top left, #3b3b3b 0%, #141414 45%, #000000 100%);\n    border-radius: 18px;\n    border: 3px solid #5a5a5a;\n    color: #fff;\n    font-family: \"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n    box-shadow: 0 18px 40px rgba(0,0,0,0.5);\n  }\n\n  .kaly-purevision * {\n    box-sizing: border-box;\n  }\n\n  \/* --- Badge haut --- *\/\n  .kaly-badge-wrapper {\n    text-align: center;\n    margin-bottom: 14px;\n  }\n\n  .kaly-badge {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    padding: 4px 16px;\n    border-radius: 999px;\n    background: #111;\n    border: 1px solid rgba(255,255,255,0.15);\n    font-size: 11px;\n    letter-spacing: .06em;\n    text-transform: uppercase;\n    color: rgba(255,255,255,0.9);\n    position: relative;\n    animation: kalyBadgePulse 2s infinite;\n  }\n\n  .kaly-badge span.kaly-dot {\n    width: 8px;\n    height: 8px;\n    border-radius: 999px;\n    background: #e0e0e0; \/* gris clair *\/\n    box-shadow: 0 0 0 6px rgba(224,224,224,0.25);\n    flex-shrink: 0;\n  }\n\n  @keyframes kalyBadgePulse {\n    0%   { box-shadow: 0 0 0 0 rgba(224,224,224,0.32); transform: translateY(0); }\n    50%  { box-shadow: 0 0 18px 6px rgba(224,224,224,0.55); transform: translateY(-1px); }\n    100% { box-shadow: 0 0 0 0 rgba(224,224,224,0.0); transform: translateY(0); }\n  }\n\n  \/* --- Titre \u0026 intro --- *\/\n  .kaly-title {\n    font-size: 22px;\n    line-height: 1.35;\n    margin: 0 0 10px;\n    font-weight: 400; \/* fin *\/\n  }\n\n  .kaly-title span.kaly-red {\n    color: #ff1e1e;\n    font-weight: 500;\n    display: block;\n    margin-bottom: 4px;\n  }\n\n  .kaly-subtitle {\n    font-size: 15px;\n    line-height: 1.4;\n    color: rgba(255,255,255,0.9);\n    margin: 0 0 20px;\n  }\n\n  .kaly-intro {\n    font-size: 15px;\n    line-height: 1.6;\n    color: rgba(255,255,255,0.9);\n    margin-bottom: 26px;\n  }\n\n  \/* --- Hero : image + carte bénéfices --- *\/\n  .kaly-hero {\n    display: grid;\n    grid-template-columns: 1.15fr 1fr;\n    gap: 20px;\n    align-items: center;\n    margin-bottom: 28px;\n  }\n\n  .kaly-hero-img-wrap {\n    background: radial-gradient(circle at top left, rgba(255,255,255,0.18), transparent 55%);\n    border-radius: 14px;\n    padding: 14px;\n    border: 1px solid rgba(255,255,255,0.07);\n    animation: kalyImgGlow 3.2s ease-in-out infinite;\n  }\n\n  .kaly-hero-img-wrap img {\n    width: 100%;\n    display: block;\n    border-radius: 12px;\n  }\n\n  .kaly-hero-card {\n    background: linear-gradient(135deg, #14171c, #0b0d11);\n    border-radius: 16px;\n    padding: 16px 18px 18px;\n    border: 1px solid rgba(255,255,255,0.08);\n  }\n\n  .kaly-hero-card-title {\n    font-size: 15px;\n    font-weight: 600;\n    margin-bottom: 10px;\n    color: #fff;\n  }\n\n  .kaly-hero-list {\n    list-style: none;\n    padding: 0;\n    margin: 0;\n    font-size: 14px;\n  }\n\n  .kaly-hero-list li {\n    display: flex;\n    align-items: flex-start;\n    gap: 8px;\n    margin-bottom: 6px;\n    color: rgba(255,255,255,0.9);\n  }\n\n  .kaly-hero-bullet {\n    width: 18px;\n    height: 18px;\n    border-radius: 999px;\n    background: #5a5a5a;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    font-size: 11px;\n    flex-shrink: 0;\n    box-shadow: 0 0 0 0 rgba(224,224,224,0.4);\n    animation: kalyBulletPulse 2.1s infinite;\n  }\n\n  @keyframes kalyImgGlow {\n    0%   { transform: translateY(0); box-shadow: 0 10px 24px rgba(0,0,0,0.5); }\n    50%  { transform: translateY(-3px); box-shadow: 0 18px 42px rgba(224,224,224,0.35); }\n    100% { transform: translateY(0); box-shadow: 0 10px 24px rgba(0,0,0,0.5); }\n  }\n\n  @keyframes kalyBulletPulse {\n    0%   { box-shadow: 0 0 0 0 rgba(224,224,224,0.45); }\n    50%  { box-shadow: 0 0 12px 4px rgba(224,224,224,0.7); }\n    100% { box-shadow: 0 0 0 0 rgba(224,224,224,0); }\n  }\n\n  \/* --- Sections caractéristiques --- *\/\n  .kaly-section {\n    margin-bottom: 26px;\n    padding: 16px 18px;\n    border-radius: 14px;\n    background: #111;\n    border: 1px solid rgba(255,255,255,0.08);\n  }\n\n  .kaly-section--accent {\n    background: #2b2b2b;\n    border-color: #2b2b2b;\n    color: #fff;\n  }\n\n  .kaly-section-header {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 10px;\n    margin-bottom: 8px;\n  }\n\n  .kaly-section-title {\n    font-size: 16px;\n    font-weight: 700;\n    color: #fff;\n  }\n\n  .kaly-section-pill {\n    padding: 3px 10px;\n    border-radius: 999px;\n    font-size: 9px;\n    text-transform: uppercase;\n    letter-spacing: .08em;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    white-space: nowrap;\n    font-weight: 600;\n    position: relative;\n  }\n\n  .kaly-pill-nobrico {\n    background: #000;\n    color: #fff;\n    box-shadow: 0 0 0 0 rgba(224,224,224,0.0);\n    animation: kalyHaloGrey 2.3s infinite;\n  }\n\n  .kaly-pill-ct {\n    background: #444;\n    color: #fff;\n    box-shadow: 0 0 0 0 rgba(224,224,224,0.0);\n    animation: kalyHaloGrey 2.3s infinite;\n  }\n\n  @keyframes kalyHaloGrey {\n    0%   { box-shadow: 0 0 0 0 rgba(224,224,224,0.0); }\n    50%  { box-shadow: 0 0 14px 5px rgba(224,224,224,0.8); }\n    100% { box-shadow: 0 0 0 0 rgba(224,224,224,0.0); }\n  }\n\n  .kaly-section-text {\n    font-size: 14px;\n    line-height: 1.6;\n    color: rgba(255,255,255,0.9);\n  }\n\n  .kaly-section-grid {\n    display: grid;\n    grid-template-columns: 1.1fr 1fr;\n    gap: 18px;\n    align-items: center;\n  }\n\n  .kaly-section-img img {\n    width: 100%;\n    border-radius: 12px;\n    display: block;\n    box-shadow: 0 10px 26px rgba(0,0,0,0.6);\n    animation: kalyImgGlow2 3.4s ease-in-out infinite;\n  }\n\n  @keyframes kalyImgGlow2 {\n    0%   { transform: translateY(0); box-shadow: 0 10px 26px rgba(0,0,0,0.6); }\n    50%  { transform: translateY(-3px); box-shadow: 0 18px 46px rgba(224,224,224,0.45); }\n    100% { transform: translateY(0); box-shadow: 0 10px 26px rgba(0,0,0,0.6); }\n  }\n\n  \/* --- Bloc confiance \/ footer --- *\/\n  .kaly-footer {\n    margin-top: 22px;\n    padding-top: 16px;\n    border-top: 1px dashed rgba(255,255,255,0.18);\n    font-size: 14px;\n    color: rgba(255,255,255,0.9);\n  }\n\n  .kaly-footer-strong {\n    font-weight: 600;\n    color: #e0e0e0;\n  }\n\n  .kaly-footer span.kaly-kalystock {\n    color: #f5f5f5;\n    font-weight: 600;\n  }\n\n  \/* --- Responsive --- *\/\n  @media (max-width: 768px) {\n    .kaly-purevision {\n      padding: 18px 14px 22px;\n      border-radius: 14px;\n    }\n    .kaly-title {\n      font-size: 19px;\n    }\n    .kaly-subtitle {\n      font-size: 14px;\n    }\n    .kaly-hero {\n      grid-template-columns: 1fr;\n    }\n    .kaly-section-grid {\n      grid-template-columns: 1fr;\n    }\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"text-align: center;\" class=\"kaly-purevision\"\u003e\n\u003c!-- Badge \/ catégorie --\u003e\n\u003cdiv class=\"kaly-badge-wrapper\"\u003e\n\u003cdiv class=\"kaly-badge\"\u003e\u003cspan\u003eADAPTATEURS FEUX ARRIÈRE LED  • RENAULT CLIO 4\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Titre principal --\u003e\n\u003ch2 class=\"kaly-title\"\u003e\n\u003cstrong\u003e\u003cspan class=\"kaly-red\"\u003eAdaptateurs feux arrière LED pour Renault Clio 4\u003c\/span\u003e\u003c\/strong\u003e\u003cbr\u003e\n\u003c\/h2\u003e\n\u003ch2 class=\"kaly-title\"\u003e\n\u003cstrong\u003e\u003cspan class=\"kaly-red\"\u003eKit Plug \u0026amp; Play homologué contrôle technique\u003c\/span\u003e\u003c\/strong\u003e Visibilité arrière maximale, style moderne et installation sans modification de câblage.\u003c\/h2\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003c!-- Sous-titre \/ promesse --\u003e\n\u003cp style=\"text-align: center;\" class=\"kaly-subtitle\"\u003eAdaptateurs arrière LED Pure Vision Clio 4 : plus de sécurité, plus de style et plus de confiance à chaque trajet, sans tracas ni bricolage.\u003c\/p\u003e\n\u003cp style=\"text-align: center;\" class=\"kaly-subtitle\"\u003e \u003c\/p\u003e\n\u003c!-- Intro courte --\u003e\n\u003cp style=\"text-align: center;\" class=\"kaly-intro\"\u003eRemplacez vos feux arrière halogènes par un éclairage LED Pure Vision moderne et lumineux tout en conservant le faisceau d’origine. Les adaptateurs se branchent directement sur les connecteurs de votre Renault Clio 4 pour une mise à niveau propre, rapide et 100 % réversible.\u003c\/p\u003e\n\u003c!-- Hero : photo produit + bénéfices clés --\u003e\n\u003cdiv class=\"kaly-hero\"\u003e\n\u003cdiv class=\"kaly-hero-img-wrap\"\u003e\u003cimg alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0994\/9334\/7659\/files\/Photos_Ebay.png?v=1765316738\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"kaly-hero-card\"\u003e\n\u003cdiv style=\"text-align: center;\" class=\"kaly-hero-card-title\"\u003eAdaptateurs LED Pure Vision arrière Clio 4 : les avantages pour vous\u003c\/div\u003e\n\u003cul class=\"kaly-hero-list\"\u003e\n\u003cli style=\"text-align: left;\"\u003e\n\u003cspan class=\"kaly-hero-bullet\"\u003e✓\u003c\/span\u003e \u003cspan\u003e\u003cstrong\u003eVrai Plug \u0026amp; Play\u003c\/strong\u003e : connexion directe sur les prises d’origine, sans couper ni modifier les câbles.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli style=\"text-align: left;\"\u003e\n\u003cspan class=\"kaly-hero-bullet\"\u003e✓\u003c\/span\u003e \u003cspan\u003e\u003cstrong\u003eVisibilité arrière renforcée\u003c\/strong\u003e grâce à un éclairage LED plus intense et mieux défini pour les conducteurs qui vous suivent.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli style=\"text-align: left;\"\u003e\n\u003cspan class=\"kaly-hero-bullet\"\u003e✓\u003c\/span\u003e \u003cspan\u003eStyle \u003cstrong\u003emoderne et premium\u003c\/strong\u003e inspiré des versions récentes, pour rajeunir instantanément l’arrière de votre Clio 4.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli style=\"text-align: left;\"\u003e\n\u003cspan class=\"kaly-hero-bullet\"\u003e✓\u003c\/span\u003e \u003cspan\u003eCompatibles \u003cstrong\u003eClio 4, Clio IV, RS et Break\u003c\/strong\u003e, phases 1 \u0026amp; 2, tout en restant conformes au contrôle technique.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Section 1 : Plug \u0026 Play --\u003e\n\u003cdiv class=\"kaly-section kaly-section--accent\"\u003e\n\u003cdiv class=\"kaly-section-header\"\u003e\n\u003cdiv style=\"text-align: left;\" class=\"kaly-section-title\"\u003eInstallation Plug \u0026amp; Play en 5 minutes\u003c\/div\u003e\n\u003cdiv class=\"kaly-section-pill kaly-pill-nobrico\"\u003eSANS BRICOLAGE\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" class=\"kaly-section-text\"\u003ePas besoin de vous déplacer au garage ni de dépenser de l’argent pour l’installation. Branchez les adaptateurs directement sur les connecteurs d’origine, clipsés entre le faisceau et vos feux arrière LED Pure Vision, et profitez instantanément de votre nouveau système d’éclairage.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Section 2 : Plus de sécurité \u0026 visibilité arrière --\u003e\n\u003cdiv class=\"kaly-section\"\u003e\n\u003cdiv class=\"kaly-section-grid\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"kaly-section-header\"\u003e\n\u003cdiv style=\"text-align: left;\" class=\"kaly-section-title\"\u003ePlus de sécurité et de visibilité arrière\u003c\/div\u003e\n\u003cdiv class=\"kaly-section-pill kaly-pill-ct\"\u003eHOMOLOGUÉ CT\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" class=\"kaly-section-text\"\u003eSoyez toujours bien visible grâce à un éclairage arrière LED moderne et lumineux. Améliorez la visibilité des conducteurs qui vous suivent, réduisez les risques de collision et renforcez votre sécurité à chaque trajet, de jour comme de nuit, en ville comme sur autoroute.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kaly-section-img\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0994\/9334\/7659\/files\/41.png?v=1765038113\" alt=\"Feux arrière LED Pure Vision sur Renault Clio 4\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Section 3 : Compatibilité \u0026 contrôle technique --\u003e\n\u003cdiv class=\"kaly-section\"\u003e\n\u003cdiv class=\"kaly-section-header\"\u003e\n\u003cdiv style=\"text-align: left;\" class=\"kaly-section-title\"\u003eApprouvé et 100 % compatible Renault Clio 4\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\" class=\"kaly-section-text\"\u003eConçus pour Renault Clio 4 (Clio IV, RS, Break), ces adaptateurs conservent toutes les fonctions d’origine : feux de jour, feux de croisement et feux de route, selon la configuration de votre véhicule. Conformes à la réglementation européenne, ils sont étudiés pour offrir un fonctionnement fiable lors des contrôles techniques et des visites d’entretien.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- Footer \/ rassurance --\u003e\n\u003cdiv class=\"kaly-footer\"\u003e\n\u003cp class=\"kaly-footer-strong\"\u003eComplétez votre installation :\u003c\/p\u003e\n\u003cp\u003eDécouvrez également nos adaptateurs pour feux avant PURE VISION, kits RS Vision et antibrouillards LED dans la boutique \u003cspan class=\"kaly-kalystock\"\u003eKALYSTOCK\u003c\/span\u003e. Livraison suivie, retour facile et support client réactif pour vous accompagner dans toutes vos améliorations d’éclairage.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e","brand":"Renault","offers":[{"title":"Default Title","offer_id":56022991110475,"sku":null,"price":69.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0994\/9334\/7659\/files\/38_51de49ea-4c79-46f5-b840-a2b5fe2d5c2c.png?v=1765316587"},{"product_id":"adaptateur-led-pure-vision-renault-clio-4-iv-rs-estate-installation-facile-1","title":"Adaptateur LED Pure Vision Renault Clio 4 IV RS \/ Estate – Installation facile","description":"\u003cstyle\u003e\n.kaly-y{\n  --k-yellow:#ffd54a;\n  --k-bg1:#473600; --k-bg2:#050505; --k-bg3:#000;\n  --k-text:rgba(255,255,255,.92);\n  --k-card1:#1a1a1a; --k-card2:#101010;\n  --k-border:rgba(255,255,255,.08);\n\n  max-width:900px;margin:0 auto 40px;padding:24px 18px 28px;\n  background:radial-gradient(circle at top left,var(--k-bg1) 0%,var(--k-bg2) 45%,var(--k-bg3) 100%);\n  border-radius:18px;border:3px solid var(--k-yellow);color:#fff;\n  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;\n  box-shadow:0 18px 40px rgba(0,0,0,.5);\n  position:relative;\n}\n.kaly-y *{box-sizing:border-box}\n\n\/* Badge *\/\n.kaly-y .kaly-badge-wrap{text-align:center;margin-bottom:14px}\n.kaly-y .kaly-badge{\n  display:inline-flex;align-items:center;gap:8px;padding:4px 16px;border-radius:999px;\n  background:#111;border:1px solid rgba(255,255,255,.15);\n  font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.9);\n  animation:kalyBpulse 2s infinite;\n}\n@keyframes kalyBpulse{\n  0%{box-shadow:0 0 0 0 rgba(255,213,74,.32);transform:translateY(0)}\n  50%{box-shadow:0 0 18px 6px rgba(255,213,74,.55);transform:translateY(-1px)}\n  100%{box-shadow:0 0 0 0 rgba(255,213,74,0);transform:translateY(0)}\n}\n\n\/* Titles *\/\n.kaly-y .kaly-title{font-size:22px;line-height:1.35;margin:0 0 10px;font-weight:400}\n.kaly-y .kaly-accent{color:var(--k-yellow);font-weight:700;display:block;margin-bottom:4px}\n.kaly-y .kaly-sub{font-size:15px;line-height:1.4;color:var(--k-text);margin:0 0 20px}\n.kaly-y .kaly-intro{font-size:14px;line-height:1.6;color:var(--k-text);margin:0 0 26px}\n\n\/* Hero *\/\n.kaly-y .kaly-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:20px;align-items:center;margin-bottom:28px}\n\n@keyframes kalyFloatGlow{\n  0%{transform:translateY(0);box-shadow:0 10px 24px rgba(0,0,0,.5)}\n  50%{transform:translateY(-3px);box-shadow:0 18px 42px rgba(255,213,74,.38)}\n  100%{transform:translateY(0);box-shadow:0 10px 24px rgba(0,0,0,.5)}\n}\n.kaly-y .kaly-media-wrap{\n  background:radial-gradient(circle at top left,rgba(255,255,255,.18),transparent 55%);\n  border-radius:14px;padding:14px;border:1px solid rgba(255,255,255,.07);\n  animation:kalyFloatGlow 3.2s ease-in-out infinite;\n}\n.kaly-y .kaly-media-box{border-radius:12px;overflow:hidden;position:relative}\n.kaly-y .kaly-media-box video{\n  width:100%;height:100%;display:block;\n  object-fit:contain;background:transparent;\n  pointer-events:none;user-select:none;\n}\n\n\/* Bullets card *\/\n.kaly-y .kaly-hero-card{\n  background:linear-gradient(135deg,var(--k-card1),var(--k-card2));\n  border-radius:16px;padding:16px 18px 18px;border:1px solid var(--k-border);\n}\n.kaly-y .kaly-hero-card-title{font-size:15px;font-weight:700;margin-bottom:10px;color:#fff}\n.kaly-y .kaly-hero-list{list-style:none;padding:0;margin:0;font-size:14px}\n.kaly-y .kaly-hero-list li{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px;color:var(--k-text)}\n.kaly-y .kaly-bullet{\n  width:18px;height:18px;border-radius:999px;background:var(--k-yellow);\n  display:inline-flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0;\n  box-shadow:0 0 0 0 rgba(255,213,74,.4);animation:kalyBulPulse 2.1s infinite;\n}\n@keyframes kalyBulPulse{\n  0%{box-shadow:0 0 0 0 rgba(255,213,74,.45)}\n  50%{box-shadow:0 0 12px 4px rgba(255,213,74,.7)}\n  100%{box-shadow:0 0 0 0 rgba(255,213,74,0)}\n}\n\n\/* Sections *\/\n.kaly-y .kaly-section{\n  margin-bottom:26px;padding:16px 18px;border-radius:14px;background:#111;border:1px solid var(--k-border);\n}\n.kaly-y .kaly-section.accent{background:var(--k-yellow);border-color:var(--k-yellow);color:#111}\n.kaly-y .kaly-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}\n.kaly-y .kaly-section-title{font-size:16px;font-weight:700;color:#fff}\n.kaly-y .kaly-section.accent .kaly-section-title{color:#111}\n.kaly-y .kaly-section-text{font-size:14px;line-height:1.6;color:var(--k-text)}\n.kaly-y .kaly-section.accent .kaly-section-text{color:#111}\n\n\/* Pills *\/\n.kaly-y .kaly-pill{\n  padding:3px 10px;border-radius:999px;font-size:9px;text-transform:uppercase;letter-spacing:.08em;\n  display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;font-weight:600;\n}\n.kaly-y .kaly-pill.nobrico{background:#000;color:#fff;animation:kalyHaloCyan 2.3s infinite}\n.kaly-y .kaly-pill.ct{background:var(--k-yellow);color:#111;animation:kalyHaloY 2.3s infinite}\n@keyframes kalyHaloCyan{\n  0%{box-shadow:0 0 0 0 rgba(0,240,255,0)}\n  50%{box-shadow:0 0 14px 5px rgba(0,240,255,.75)}\n  100%{box-shadow:0 0 0 0 rgba(0,240,255,0)}\n}\n@keyframes kalyHaloY{\n  0%{box-shadow:0 0 0 0 rgba(255,213,74,0)}\n  50%{box-shadow:0 0 14px 5px rgba(255,213,74,.75)}\n  100%{box-shadow:0 0 0 0 rgba(255,213,74,0)}\n}\n\n\/* Grid image *\/\n.kaly-y .kaly-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:18px;align-items:center}\n.kaly-y .kaly-grid img{\n  width:100%;border-radius:12px;display:block;\n  box-shadow:0 10px 26px rgba(0,0,0,.6);\n  animation:kalyFloatGlow 3.4s ease-in-out infinite;\n}\n\n\/* Footer *\/\n.kaly-y .kaly-footer{margin-top:22px;padding-top:16px;border-top:1px dashed rgba(255,255,255,.18);font-size:14px;color:var(--k-text)}\n.kaly-y .kaly-footer-strong{font-weight:700;color:var(--k-yellow)}\n.kaly-y .kaly-kalystock{color:var(--k-yellow);font-weight:700}\n\n@media (max-width:768px){\n  .kaly-y{padding:18px 14px 22px;border-radius:14px}\n  .kaly-y .kaly-title{font-size:19px}\n  .kaly-y .kaly-sub{font-size:14px}\n  .kaly-y .kaly-hero{grid-template-columns:1fr}\n  .kaly-y .kaly-grid{grid-template-columns:1fr}\n}\n\u003c\/style\u003e\n\u003cdiv class=\"kaly-y\" style=\"text-align: center;\"\u003e\n\u003cdiv class=\"kaly-badge-wrap\"\u003e\n\u003cdiv class=\"kaly-badge\"\u003e\u003cspan\u003eADAPTATEURS LED • RENAULT CLIO 4\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003ch2 class=\"kaly-title\"\u003e\u003cspan class=\"kaly-accent\"\u003eAdaptateurs LED Plug \u0026amp; Play Pure Vision\u003c\/span\u003e\u003c\/h2\u003e\n\u003ch2 class=\"kaly-title\"\u003e\n\u003cspan class=\"kaly-accent\"\u003e\u003c\/span\u003e\u003cbr\u003e\n\u003c\/h2\u003e\n\u003ch2 class=\"kaly-title\"\u003e\u003cspan class=\"kaly-accent\"\u003eRenault Clio 4 pour phares avant\u003c\/span\u003e\u003c\/h2\u003e\n\u003ch2 class=\"kaly-title\"\u003ehomologués contrôle technique, installation rapide et sans modification\u003c\/h2\u003e\n\u003cp class=\"kaly-sub\"\u003e \u003c\/p\u003e\n\u003cp class=\"kaly-sub\"\u003eUn éclairage moderne, puissant et parfaitement orienté, tout en conservant le faisceau d’origine et la conformité au contrôle technique.\u003c\/p\u003e\n\u003cp class=\"kaly-intro\"\u003eInstallez vos phares LED PURE VISION sans complications. Avec l’adaptateur Pure Vision, connectez vos phares LED en quelques minutes, sans outils, sans découpe de câbles et sans bricolage.\u003c\/p\u003e\n\u003cdiv class=\"kaly-hero\"\u003e\n\u003cdiv class=\"kaly-media-wrap\"\u003e\n\u003cdiv class=\"kaly-media-box\" data-kaly-video=\"\"\u003e\u003cvideo autoplay=\"autoplay\" muted=\"\" loop=\"loop\" playsinline=\"\" preload=\"metadata\"\u003e\n          \u003csource src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/681e2f03dea541d0b8f936ca38d3fdc8.mov\" type=\"video\/mp4\"\u003e\u003c\/video\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kaly-hero-card\"\u003e\n\u003cdiv class=\"kaly-hero-card-title\" style=\"text-align: center;\"\u003ePourquoi ces adaptateurs changent tout :\u003c\/div\u003e\n\u003cul class=\"kaly-hero-list\"\u003e\n\u003cli style=\"text-align: left;\"\u003e\n\u003cspan class=\"kaly-bullet\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eVéritable Plug \u0026amp; Play\u003c\/strong\u003e : branchez simplement entre les phares LED PURE VISION et les prises.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli style=\"text-align: left;\"\u003e\n\u003cspan class=\"kaly-bullet\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cstrong\u003eAucun câblage à modifier\u003c\/strong\u003e : pas de coupe de fils, pas de programmation.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli style=\"text-align: left;\"\u003e\n\u003cspan class=\"kaly-bullet\"\u003e✓\u003c\/span\u003e\u003cspan\u003eCompatibles \u003cstrong\u003eClio 4, Clio IV RS et Estate\u003c\/strong\u003e, phases 1 \u0026amp; 2, moteurs dCi et TCe.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003cli style=\"text-align: left;\"\u003e\n\u003cspan class=\"kaly-bullet\"\u003e✓\u003c\/span\u003e\u003cspan\u003eMontage propre, prêt pour le \u003cstrong\u003econtrôle technique\u003c\/strong\u003e et les visites de routine.\u003c\/span\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kaly-section accent\"\u003e\n\u003cdiv class=\"kaly-section-head\"\u003e\n\u003cdiv class=\"kaly-section-title\" style=\"text-align: left;\"\u003eInstallation Plug \u0026amp; Play en quelques minutes\u003c\/div\u003e\n\u003cdiv class=\"kaly-pill nobrico\"\u003eSANS BRICOLAGE\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kaly-section-text\" style=\"text-align: left;\"\u003ePas besoin d’aller au garage ni de tirer de nouveaux câbles. Branchez les adaptateurs directement sur les connecteurs d’origine, installer vos phares LED PURE VISION et profitez immédiatement de votre nouveau système d’éclairage.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kaly-section\"\u003e\n\u003cdiv class=\"kaly-grid\"\u003e\n\u003cdiv\u003e\n\u003cdiv class=\"kaly-section-head\"\u003e\n\u003cdiv class=\"kaly-section-title\" style=\"text-align: left;\"\u003eVision nocturne 2× plus puissante et plus sûre\u003c\/div\u003e\n\u003cdiv class=\"kaly-pill ct\"\u003eHOMOLOGUÉ CT\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kaly-section-text\" style=\"text-align: left;\"\u003eConduisez en toute confiance grâce à une lumière blanche intense (6000 K), bien plus lumineuse que les phares halogènes classiques. Le faisceau reste net et bien orienté, anticipe les obstacles, limite l’éblouissement et réduit la fatigue oculaire à chaque trajet.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0994\/9334\/7659\/files\/6.png?v=1764867811\" alt=\"Phares LED Pure Vision Renault Clio 4\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kaly-section\"\u003e\n\u003cdiv class=\"kaly-section-head\"\u003e\n\u003cdiv class=\"kaly-section-title\" style=\"text-align: left;\"\u003eApprouvé et 100% compatible\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kaly-section-text\" style=\"text-align: left;\"\u003eConçus pour Renault Clio 4 (Clio IV, RS et Break), ces adaptateurs conservent toutes les fonctions d’origine : feux de jour LED (DRL), clignotants, feux de croisement et feux de route. Conformes à la réglementation européenne, ils sont pensés pour être performants lors des contrôles techniques et des visites de routine.\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"kaly-footer\"\u003e\n\u003cp class=\"kaly-footer-strong\"\u003eComplétez votre installation :\u003c\/p\u003e\n\u003cp\u003eDécouvrez également nos adaptateurs pour feux avant, arrière et antibrouillard dans la boutique \u003cspan class=\"kaly-kalystock\"\u003eKALYSTOCK\u003c\/span\u003e.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e","brand":"Renault","offers":[{"title":"Default Title","offer_id":56022991700299,"sku":null,"price":69.99,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0994\/9334\/7659\/files\/1_f8cbf39a-b6f1-48d0-b16b-8cd88cf1701c.png?v=1765115364"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0994\/9334\/7659\/collections\/jj.jpg?v=1765808071","url":"https:\/\/kalystock.com\/collections\/vehicles-and-parts-example-products.oembed","provider":"KALYSTOCK","version":"1.0","type":"link"}