{"product_id":"set-professionnel-mandoline-v5-hill-step-iii","title":"Set Professionnel Mandoline V5 (hill) STEP III 44","description":"\u003cbody\u003e\n\n\n    \u003cmeta charset=\"utf-8\"\u003e\n    \u003cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0, viewport-fit=cover\"\u003e\n    \u003ctitle\u003eATTENTION : Offre Secrète\u003c\/title\u003e\n\n    \u003c!-- Preload immagini per zero flickering --\u003e\n    \u003clink rel=\"preload\" as=\"image\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0831\/1413\/1786\/files\/1_0a5d26e2-6d4a-4cc2-8832-c9a5b56922db.png\"\u003e\n    \u003clink rel=\"preload\" as=\"image\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1081\/7568\/8011\/files\/1_68681b61-aec1-4db3-8956-d33d0270a0d9.jpg?v=1788686234\"\u003e\n    \u003clink rel=\"preload\" as=\"image\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1081\/7568\/8011\/files\/2_cf6f6c45-71ac-414e-9b01-8d206a56be8e.jpg?v=1788686234\"\u003e\n    \u003clink rel=\"preload\" as=\"image\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1081\/7568\/8011\/files\/3_9b195657-5075-4eb6-9a5d-f351da4805d3.jpg?v=1788686234\"\u003e\n    \u003clink rel=\"preload\" as=\"image\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1081\/7568\/8011\/files\/4_fef141c8-2937-4b16-8289-d80c414f1f47.jpg?v=1788686234\"\u003e\n    \u003clink rel=\"preload\" as=\"image\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1081\/7568\/8011\/files\/6_78aa5038-5773-4e63-a683-8d2ba993cf97.jpg?v=1788686234\"\u003e\n    \u003clink rel=\"preload\" as=\"image\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1081\/7568\/8011\/files\/7_81a851e8-cfaf-43d6-a2ff-7fdd9c9b826f.jpg?v=1788686234\"\u003e\n    \u003clink rel=\"preload\" as=\"image\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1081\/7568\/8011\/files\/8_a2defb70-9297-402a-8aca-6276d77d329f.jpg?v=1788686234\"\u003e\n    \u003clink rel=\"preload\" as=\"image\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1081\/7568\/8011\/files\/10_02a9f473-358f-4d29-afad-64a9a5bc488e.jpg?v=1788686234\"\u003e\n    \u003clink rel=\"preload\" as=\"image\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1081\/7568\/8011\/files\/9_4da8b8e2-eeb4-48de-a47f-ec9972c74ecc.jpg?v=1788686235\"\u003e\n    \u003clink rel=\"preload\" as=\"image\" href=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1081\/7568\/8011\/files\/11_cf1c4fa3-c8c5-49c7-a6e6-e763febadc32.jpg?v=1788686234\"\u003e\n\n    \u003cstyle\u003e\n        \/* =========================================\n           RESET E BLOCCO SCROLL (solo per step 1-5)\n           ========================================= *\/\n        * { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent; }\n        html, body { height: 100%; width: 100%; overflow: hidden; touch-action: manipulation; background-color: #000; font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif; }\n\n        \/* =========================================\n           CONTAINER APP\n           ========================================= *\/\n        .app {\n            position: fixed; inset: 0; max-width: 480px; margin: 0 auto; background: #fff; overflow: hidden; box-shadow: 0 0 40px rgba(2,6,23,.12); display: flex; flex-direction: column;\n        }\n\n        \/* =========================================\n           HEADER AGGRESSIVO\n           ========================================= *\/\n        .header {\n            background: #111827; padding: 12px 16px 8px 16px; flex-shrink: 0; z-index: 40;\n        }\n        .reserve {\n            display: flex; align-items: center; justify-content: center; gap: 8px; background: #111827; color: #fbbf24; font-size: .78rem; font-weight: 800; padding: 4px 0; letter-spacing: .5px; text-transform: uppercase;\n        }\n        .reserve svg { width: 14px; height: 14px; }\n        .reserve .t {\n            background: rgba(255,255,255,.1); border-radius: 6px; padding: 2px 7px; font-variant-numeric: tabular-nums; font-weight: 900;\n        }\n        .progress-bar-bg { background: #374151; height: 10px; border-radius: 10px; overflow: hidden; margin: 6px 0; border: 1px solid #4b5563; }\n        .progress-bar-fill { background: #fbbf24; box-shadow: 0 0 10px #fbbf24; height: 100%; width: 16%; border-radius: 10px; transition: width .5s cubic-bezier(.22,1,.36,1); }\n        .step-text { font-size: .75rem; font-weight: 900; color: #fbbf24; text-transform: uppercase; letter-spacing: 1px; text-align: center; animation: blink 2s infinite; }\n        @keyframes blink { 50% { opacity: .5; } }\n\n        \/* =========================================\n           CONTENUTO SCORREVOLE (solo step 6)\n           ========================================= *\/\n        .content-area {\n            flex: 1; position: relative; overflow: hidden; background: #fff;\n        }\n        .screen {\n            position: absolute; top: 0; left: 0; right: 0; bottom: 0; padding: 0 16px; display: none; flex-direction: column; align-items: center; justify-content: flex-start; background: #fff; overflow-y: auto; -webkit-overflow-scrolling: touch;\n        }\n        .screen.active { display: flex; }\n        .stack {\n            width: 100%; max-width: 430px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; padding-top: 20px; padding-bottom: 30px;\n        }\n        \/* Spazio extra per step 6 per non coprire l'ultima recensione con la sticky bar *\/\n        #screen-6 .stack { padding-bottom: 180px; }\n\n        \/* Animazione entrata *\/\n        @keyframes smashIn { 0% { opacity: 0; transform: scale(.8); } 100% { opacity: 1; transform: scale(1); } }\n        .screen.active .stack \u003e * { animation: smashIn .4s cubic-bezier(.175,.885,.32,1.275) forwards; opacity: 0; }\n        .screen.active .stack \u003e *:nth-child(1) { animation-delay: .04s; }\n        .screen.active .stack \u003e *:nth-child(2) { animation-delay: .12s; }\n        .screen.active .stack \u003e *:nth-child(3) { animation-delay: .20s; }\n        .screen.active .stack \u003e *:nth-child(4) { animation-delay: .28s; }\n        .screen.active .stack \u003e *:nth-child(5) { animation-delay: .36s; }\n        .screen.active .stack \u003e *:nth-child(6) { animation-delay: .44s; }\n        .screen.active .stack \u003e *:nth-child(7) { animation-delay: .52s; }\n        .screen.active .stack \u003e *:nth-child(8) { animation-delay: .60s; }\n        .screen.active .stack \u003e *:nth-child(9) { animation-delay: .68s; }\n        .screen.active .stack \u003e *:nth-child(10) { animation-delay: .76s; }\n        @media (prefers-reduced-motion: reduce) { .screen.active .stack \u003e * { animation: none; opacity: 1; } }\n\n        \/* =========================================\n           TIPOGRAFIA AGGRESSIVA\n           ========================================= *\/\n        .hype-badge {\n            display: inline-block; background: #ef4444; color: #fff; padding: 5px 14px; border-radius: 4px; font-size: .8rem; font-weight: 900; text-transform: uppercase; margin-bottom: 6px; transform: rotate(-2deg); box-shadow: 0 2px 0 #b91c1c;\n        }\n        .hype-badge.green { background: #16a34a; box-shadow: 0 2px 0 #14532d; }\n        .hype-badge.black { background: #000; color: #fbbf24; box-shadow: 0 2px 0 #333; }\n\n        h1, h2 {\n            font-size: clamp(1.5rem, 6vw, 1.9rem); font-weight: 900; line-height: 1.1; margin-bottom: 8px; color: #000; text-transform: uppercase; letter-spacing: -.5px;\n        }\n        h2 mark, h1 mark { background: #fde047; color: #000; padding: 0 4px; }\n        .lead {\n            font-size: 1.05rem; color: #1f2937; font-weight: 600; line-height: 1.35; max-width: 33ch; margin-bottom: 6px;\n        }\n        .lead b { color: #000; }\n\n        .media { width: 100%; max-width: 340px; margin-bottom: 8px; text-align: center; }\n        .media img {\n            width: 100%;\n            height: auto;\n            max-height: none;\n            object-fit: contain;\n            border-radius: 8px;\n            border: 3px solid #ef4444;\n            box-shadow: 0 8px 20px rgba(239,68,68,.2);\n            display: block;\n        }\n\n        \/* === MODIFICA: immagini step 1-5 più grandi (40vh) e aderenti al bordo === *\/\n        .screen:not(#screen-6) .media img {\n            width: auto;\n            max-width: 100%;\n            max-height: 40vh;\n            margin: 0 auto;\n            object-fit: contain;\n        }\n        \/* ================================================================ *\/\n\n        .media img.final-img {\n            border: 3px solid #16a34a;\n            box-shadow: 0 8px 20px rgba(22,163,74,.3);\n            object-fit: contain;\n            background: #f7f8fa;\n            padding: 10px;\n            border-radius: 12px;\n        }\n\n        \/* =========================================\n           BOTTONI 3D AGGRESSIVI (BLU + ANIMAZIONI)\n           ========================================= *\/\n        .cta {\n            position: relative; display: block; width: 100%; max-width: 430px; border: 0; cursor: pointer; overflow: hidden;\n            background: linear-gradient(180deg, #3b82f6 0%, #2563eb 45%, #1d4ed8 100%);\n            color: #fff !important; font-weight: 900; font-size: 1.25rem; text-transform: uppercase; letter-spacing: .5px;\n            padding: 18px 20px; border-radius: 8px;\n            box-shadow: 0 2px 0 #1e3a8a, 0 6px 0 #1e3a8a, 0 8px 20px rgba(37,99,235,.4), inset 0 1px 0 rgba(255,255,255,.3);\n            transition: transform .08s ease, box-shadow .08s ease;\n            text-decoration: none;\n            display: flex; flex-direction: column; align-items: center; justify-content: center;\n        }\n        .cta:active {\n            transform: translateY(6px);\n            box-shadow: 0 1px 0 #1e3a8a, 0 2px 8px rgba(37,99,235,.3), inset 0 1px 0 rgba(255,255,255,.3);\n        }\n        .cta.green {\n            background: linear-gradient(180deg, #4ade80 0%, #16a34a 45%, #15803d 100%);\n            box-shadow: 0 2px 0 #15803d, 0 6px 0 #14532d, 0 8px 20px rgba(22,163,74,.4), inset 0 1px 0 rgba(255,255,255,.3);\n        }\n        .cta.green:active {\n            transform: translateY(6px);\n            box-shadow: 0 1px 0 #15803d, 0 2px 8px rgba(22,163,74,.3), inset 0 1px 0 rgba(255,255,255,.3);\n        }\n        .cta small {\n            display: block; font-weight: 600; font-size: .8rem; opacity: .95; margin-top: 3px; text-transform: none; letter-spacing: 0;\n        }\n        .cta::after {\n            content: \"\"; position: absolute; top: 0; left: -60%; width: 40%; height: 100%;\n            background: linear-gradient(100deg, transparent, rgba(255,255,255,.45), transparent);\n            transform: skewX(-18deg); animation: shine 3.2s ease-in-out infinite;\n        }\n        @keyframes shine { 0%,60% { left:-60%; } 100% { left:130%; } }\n        @keyframes pulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.015); } }\n        .cta.pulse { animation: pulse 1.8s ease-in-out infinite; }\n        @keyframes buzz { 0%,100% { transform: translateX(0) scale(1.02); } 15% { transform: translateX(-4px) scale(1.02); } 30% { transform: translateX(4px) scale(1.02); } 45% { transform: translateX(-3px) scale(1.02); } 60% { transform: translateX(3px) scale(1.02); } 75% { transform: translateX(-2px) scale(1.02); } }\n        .cta.buzz { animation: buzz .5s ease-in-out infinite; }\n\n        .micro {\n            font-size: .76rem; color: #6b7280; font-weight: 600; margin-top: 2px;\n        }\n        .micro b { color: #16a34a; }\n\n        \/* =========================================\n           RECENSIONI\n           ========================================= *\/\n        .rating { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; }\n        .rating .stars { color: #fbbf24; letter-spacing: 1px; }\n        .rating .n { color: #6b7280; font-size: .85rem; font-weight: 600; }\n        .rev {\n            border: 1px solid #e5e7eb; border-radius: 14px; padding: 13px 15px; text-align: left; width: 100%; box-shadow: 0 8px 22px rgba(2,6,23,.07);\n        }\n        .rev .h { display: flex; justify-content: space-between; align-items: center; margin-bottom: 5px; }\n        .rev .name { font-weight: 800; font-size: .95rem; }\n        .rev .vf {\n            font-size: .62rem; font-weight: 800; color: #047857; background: #ecfdf5; border-radius: 5px; padding: 2px 6px; text-transform: uppercase;\n        }\n        .rev .stars { color: #fbbf24; font-size: .9rem; }\n        .rev p { font-size: .88rem; color: #6b7280; }\n        .rev p b { color: #111827; }\n        .rev .when {\n            display: inline-flex; align-items: center; gap: 5px; font-size: .68rem; font-weight: 800; color: #047857; background: #ecfdf5; border-radius: 6px; padding: 2px 7px; margin: 4px 0 2px;\n        }\n        .rev .when svg { width: 10px; height: 10px; }\n        .rev img {\n            width: 100%;\n            height: auto;\n            max-height: none;\n            object-fit: contain;\n            border-radius: 10px;\n            border: 1px solid #e5e7eb;\n            display: block;\n            margin-bottom: 9px;\n        }\n        .rev-wall { width: 100%; display: flex; flex-direction: column; gap: 12px; align-items: stretch; }\n        .rev-wall .hype-badge { align-self: center; }\n\n        \/* =========================================\n           STEP 6 – OFFERTA COMPLETA\n           ========================================= *\/\n        .hero-offer {\n            width: 100%;\n            height: auto;\n            max-height: none;\n            object-fit: contain;\n            background: #f7f8fa;\n            border: 3px solid #16a34a;\n            border-radius: 16px;\n            padding: 10px;\n            box-shadow: 0 8px 20px rgba(22,163,74,.2);\n            display: block;\n        }\n\n        .hero-duo {\n            width: 100%;\n            background: #f7f8fa;\n            border: 3px solid #16a34a;\n            border-radius: 16px;\n            padding: 12px;\n            box-shadow: 0 8px 20px rgba(22,163,74,.2);\n        }\n        .hero-duo img {\n            width: 100%;\n            height: auto;\n            max-height: none;\n            object-fit: contain;\n            display: block;\n            margin-bottom: 8px;\n            border-radius: 8px;\n        }\n        .hero-duo img:last-child {\n            margin-bottom: 0;\n        }\n\n        \/* Scarsità *\/\n        .stock-top {\n            width: 100%; background: #fff; border: 2px solid #fecaca; border-radius: 14px; padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; box-shadow: 0 4px 14px rgba(185,28,28,.08); transition: background .3s ease, border-color .3s ease;\n        }\n        .stock-top .label { display: flex; flex-direction: column; gap: 2px; font-size: .88rem; font-weight: 800; color: #b91c1c; transition: color .3s ease, transform .3s ease; }\n        .stock-top .label svg { width: 20px; height: 20px; color: #b91c1c; flex: 0 0 auto; align-self: flex-start; }\n        .stock-top .label .main { font-size: .95rem; line-height: 1.15; }\n        .stock-top .label .sub { font-size: .68rem; font-weight: 700; color: #9a3412; text-transform: uppercase; letter-spacing: .5px; opacity: .8; }\n        .stock-top .label.urgent { color: #b91c1c; animation: pulseUrgent 1.2s ease-in-out infinite; }\n        .stock-top .label.urgent .main { font-size: 1.05rem; font-weight: 900; }\n        @keyframes pulseUrgent { 0%,100% { transform: scale(1); color: #b91c1c; } 50% { transform: scale(1.05); color: #7f1d1d; } }\n        .stock-top .num {\n            display: flex; flex-direction: column; align-items: center; justify-content: center; min-width: 56px; height: 56px; padding: 0 12px; background: #fee2e2; color: #b91c1c; border: 1px solid #fca5a5; border-radius: 12px; transition: background .3s ease, transform .25s ease;\n        }\n        .stock-top .num .count { font-size: 1.75rem; font-weight: 900; font-variant-numeric: tabular-nums; letter-spacing: -.5px; line-height: 1; }\n        .stock-top .num .unit { font-size: .62rem; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: #9a3412; margin-top: 2px; }\n        @keyframes stockFlash { 0% { background: #fee2e2; transform: scale(1); } 30% { background: #fca5a5; transform: scale(1.1); } 60% { background: #fecaca; transform: scale(1.05); } 100% { background: #fff; transform: scale(1); } }\n        .stock-top.flash { animation: stockFlash .7s ease-out; border-color: #f87171; }\n\n        .price-card {\n            width: 100%; background: #fff; border: 1px solid #e5e7eb; border-radius: 20px; box-shadow: 0 12px 34px rgba(2,6,23,.1); padding: 20px 18px; text-align: center;\n        }\n        .tag-today { display: inline-block; background: #fee2e2; color: #b91c1c; font-weight: 800; font-size: .7rem; letter-spacing: .7px; text-transform: uppercase; padding: 4px 11px; border-radius: 999px; }\n        .price-card .prod { font-size: 1.16rem; font-weight: 800; color: #111827; margin-top: 12px; line-height: 1.22; }\n        .price-row { display: flex; align-items: baseline; justify-content: center; gap: 12px; margin-top: 10px; }\n        .price-row .now { font-size: 3.5rem; font-weight: 900; color: #111827; line-height: 1; letter-spacing: -1.5px; font-variant-numeric: tabular-nums; }\n        .price-row .old {\n            font-size: 1.2rem; color: #ef4444;\n            text-decoration: line-through; font-weight: 900;\n        }\n        .price-sub {\n            color: #047857; font-weight: 900; font-size: 1rem; margin-top: 8px; text-transform: uppercase; letter-spacing: .5px;\n        }\n        .active-badge { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; background: #ecfdf5; color: #047857; border: 1px solid #a7f3d0; border-radius: 999px; padding: 7px 14px; font-weight: 800; font-size: .72rem; letter-spacing: .5px; text-transform: uppercase; }\n        .active-badge .dot { width: 9px; height: 9px; border-radius: 50%; background: #22c55e; animation: ping 1.7s ease-out infinite; }\n        @keyframes ping { 0% { box-shadow: 0 0 0 0 rgba(34,197,94,.55); } 70% { box-shadow: 0 0 0 8px rgba(34,197,94,0); } 100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); } }\n\n        \/* Delivery Box *\/\n        .delivery-box {\n            width: 100%; background: linear-gradient(180deg, #f0f9ff 0%, #f8fafc 100%); border: 1px solid #bae6fd; border-radius: 18px; padding: 18px 16px; display: flex; align-items: flex-start; gap: 14px; box-shadow: 0 6px 18px rgba(2,132,199,.08), inset 0 0 0 1px rgba(255,255,255,.7);\n        }\n        .delivery-box .truck {\n            flex: 0 0 auto; width: 44px; height: 44px; border-radius: 12px; background: linear-gradient(135deg, #0ea5e9, #0284c7); display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 10px rgba(14,165,233,.35);\n        }\n        .delivery-box .truck svg { width: 24px; height: 24px; color: #fff; }\n        .delivery-box .info { flex: 1; display: flex; flex-direction: column; gap: 6px; text-align: left; }\n        .delivery-box .line1 { font-size: .94rem; font-weight: 900; color: #0c4a6e; line-height: 1.25; letter-spacing: -.2px; display: flex; align-items: center; gap: 6px; }\n        .delivery-box .line1 .check { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; border-radius: 50%; background: #10b981; color: #fff; flex: 0 0 auto; }\n        .delivery-box .line1 .check svg { width: 10px; height: 10px; }\n        .delivery-box .line2 { font-size: .98rem; font-weight: 800; color: #111827; line-height: 1.35; }\n        .delivery-box .line2 .date { color: #047857; font-weight: 900; }\n        .delivery-box .line3 { font-size: .78rem; font-weight: 600; color: #475569; line-height: 1.35; padding-top: 4px; border-top: 1px dashed #cbd5e1; margin-top: 2px; }\n\n        .scrollcue { display: flex; flex-direction: column; align-items: center; gap: 1px; color: #6b7280; font-size: .66rem; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; animation: bob 1.5s ease-in-out infinite; margin: -4px 0; }\n        .scrollcue .arr { font-size: 1rem; letter-spacing: 0; color: #6b7280; }\n        .scrollcue .arr svg { width: 16px; height: 16px; }\n        @keyframes bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(6px); } }\n\n        .olist { list-style: none; width: 100%; text-align: left; background: #fff; border: 1px solid #e5e7eb; border-radius: 16px; padding: 6px 16px; box-shadow: 0 8px 22px rgba(2,6,23,.07); }\n        .olist li { display: flex; gap: 10px; align-items: flex-start; padding: 10px 0; border-bottom: 1px solid #f1f5f9; font-size: .88rem; font-weight: 500; color: #374151; }\n        .olist li:last-child { border-bottom: 0; }\n        .olist .ck { color: #16a34a; font-weight: 900; flex: 0 0 auto; font-size: 1rem; line-height: 1.2; }\n        .olist b { color: #111827; font-weight: 800; }\n        .val { color: #b91c1c; font-weight: 800; }\n\n        .cod-card { width: 100%; background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 16px; padding: 15px 16px; text-align: left; }\n        .cod-card .big { display: flex; align-items: center; gap: 10px; font-weight: 800; font-size: 1.02rem; color: #047857; }\n        .cod-card .big svg { width: 22px; height: 22px; flex: 0 0 auto; }\n        .cod-card ul { list-style: none; margin-top: 9px; display: flex; flex-direction: column; gap: 6px; }\n        .cod-card li { font-size: .84rem; color: #166534; font-weight: 500; display: flex; gap: 8px; align-items: flex-start; }\n        .cod-card li b { color: #047857; font-weight: 800; }\n        .cod-card li .ck { color: #16a34a; font-weight: 900; flex: 0 0 auto; }\n\n        .trust-icons { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; padding: 2px 0 4px; }\n        .trust-icons .ti { display: flex; flex-direction: column; align-items: center; gap: 4px; font-size: .66rem; font-weight: 700; color: #6b7280; width: 66px; }\n        .trust-icons svg { width: 22px; height: 22px; color: #16a34a; }\n\n        \/* =========================================\n           STICKY BAR + HELP POINTER\n           ========================================= *\/\n        #buyBar {\n            position: absolute; left: 0; right: 0; bottom: 0; z-index: 46; display: none; background: rgba(255,255,255,.98); backdrop-filter: saturate(180%) blur(12px); -webkit-backdrop-filter: saturate(180%) blur(12px); border-top: 1px solid #e5e7eb; box-shadow: 0 -10px 30px rgba(2,6,23,.10); padding: 12px 14px calc(12px + env(safe-area-inset-bottom));\n        }\n        #buyBar.show { display: block; }\n        #buyBar .cta { margin: 0; }\n        .arrival-info {\n            display: flex; align-items: center; justify-content: center; gap: 8px; font-size: .92rem; font-weight: 800; color: #111827; margin-bottom: 10px; padding: 8px 12px; background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 10px;\n        }\n        .arrival-info svg { width: 18px; height: 18px; color: #16a34a; flex: 0 0 auto; }\n        .arrival-info b { color: #047857; font-weight: 900; }\n\n        .help-pointer {\n            position: absolute; bottom: calc(100% + 10px); left: 50%; transform: translateX(-50%); display: none; background: #fff; border: 2px solid #2563eb; color: #1d4ed8; padding: 10px 16px; border-radius: 10px; font-size: .88rem; font-weight: 800; white-space: nowrap; box-shadow: 0 8px 22px rgba(37,99,235,.25); z-index: 47; align-items: center; gap: 8px;\n        }\n        .help-pointer.show { display: flex; animation: bouncePointer 1.4s ease-in-out infinite; }\n        .help-pointer svg { width: 18px; height: 18px; flex: 0 0 auto; animation: pointDown 1s ease-in-out infinite; }\n        .help-pointer::after { content: ''; position: absolute; bottom: -9px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-left: 9px solid transparent; border-right: 9px solid transparent; border-top: 9px solid #2563eb; }\n        @keyframes bouncePointer { 0%,100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-6px); } }\n        @keyframes pointDown { 0%,100% { transform: translateY(0); } 50% { transform: translateY(3px); } }\n\n        \/* =========================================\n           INTERSTITIAL 2.0\n           ========================================= *\/\n        #inter {\n            position: absolute; inset: 0; z-index: 60; background: #0f172a; display: none; flex-direction: column; align-items: center; justify-content: center; gap: 24px; padding: 28px; color: #e2e8f0;\n        }\n        #inter.show { display: flex; }\n        #inter .terminal {\n            width: 100%; max-width: 380px; background: #1e293b; border: 1px solid #334155; border-radius: 14px; padding: 22px 20px; box-shadow: 0 20px 50px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.05);\n        }\n        #inter .term-head { display: flex; align-items: center; gap: 6px; margin-bottom: 14px; padding-bottom: 10px; border-bottom: 1px solid #334155; }\n        #inter .term-head .d { width: 10px; height: 10px; border-radius: 50%; }\n        #inter .term-head .d.r { background: #ef4444; }\n        #inter .term-head .d.y { background: #eab308; }\n        #inter .term-head .d.g { background: #22c55e; }\n        #inter .term-head span { font-size: .68rem; color: #64748b; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; margin-left: auto; }\n        #inter .txt {\n            font-size: 1rem; font-weight: 800; color: #f1f5f9; text-align: left; font-family: 'SF Mono', Consolas, Menlo, monospace; min-height: 1.5em; line-height: 1.4; transition: color .3s ease;\n        }\n        #inter .txt.ok { color: #4ade80; }\n        #inter .txt .cursor { display: inline-block; width: 9px; height: 1.1em; background: #94a3b8; vertical-align: text-bottom; margin-left: 2px; animation: blink 1s steps(1) infinite; }\n        @keyframes blink { 50% { opacity: 0; } }\n        #inter .bar {\n            width: 100%; height: 10px; background: #0f172a; border-radius: 999px; overflow: hidden; margin-top: 16px; border: 1px solid #334155;\n        }\n        #inter .bar \u003e i {\n            display: block; height: 100%; width: 0%; background: linear-gradient(90deg, #3b82f6, #22c55e); border-radius: 999px; transition: width .8s cubic-bezier(.22,1,.36,1), background .5s ease; position: relative;\n        }\n        #inter .bar \u003e i::after {\n            content: \"\"; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent); animation: shine 1.8s linear infinite;\n        }\n        #inter .bar \u003e i.done { background: linear-gradient(90deg, #22c55e, #16a34a); }\n        #inter .phase {\n            display: flex; justify-content: space-between; align-items: center; margin-top: 12px; font-size: .7rem; font-weight: 700; color: #64748b; letter-spacing: .5px; font-family: 'SF Mono', Consolas, Menlo, monospace;\n        }\n        #inter .phase b { color: #94a3b8; font-variant-numeric: tabular-nums; }\n\n        \/* =========================================\n           RESPONSIVE PER ALTEZZE BASSE\n           ========================================= *\/\n        @media (max-height: 720px) {\n            .screen { padding: 0 12px; }\n            .stack { gap: 10px; padding-top: 12px; }\n            .media img { max-height: none; }\n            h1, h2 { font-size: 1.4rem; }\n            .lead { font-size: .95rem; }\n            .cta { font-size: 1.05rem; padding: 14px 18px; }\n            .price-row .now { font-size: 3rem; }\n            .delivery-box { padding: 14px 14px; }\n            .stock-top .label .main { font-size: .88rem; }\n            .stock-top .num { min-width: 48px; height: 48px; }\n            .stock-top .num .count { font-size: 1.4rem; }\n            #screen-6 .stack { padding-bottom: 160px; }\n            .hero-duo img { max-height: none; }\n            .hero-offer { max-height: none; }\n        }\n    \u003c\/style\u003e\n\n\n    \u003cdiv class=\"app\"\u003e\n        \u003c!-- HEADER AGGRESSIVO --\u003e\n        \u003cdiv class=\"header\"\u003e\n            \u003cdiv class=\"reserve\"\u003e\n                \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\"\u003e\u003crect x=\"4\" y=\"10\" width=\"16\" height=\"10\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M8 10V7a4 4 0 0 1 8 0v3\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n                \u003cspan\u003e🔥 -75% de réduction bloquée pour vous\u003c\/span\u003e\n                \u003cspan class=\"t\" id=\"clock\"\u003e10:00\u003c\/span\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"progress-bar-bg\"\u003e\n                \u003cdiv class=\"progress-bar-fill\" id=\"pfill\"\u003e\u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"step-text\" id=\"plbl\"\u003eATTENTION: ÉTAPE 1 SUR 6\u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003c!-- CONTENUTO (SCREENS) --\u003e\n        \u003cdiv class=\"content-area\" id=\"contentArea\"\u003e\n            \u003c!-- STEP 1: IMMAGINE PRINCIPALE DEL PRODOTTO --\u003e\n            \u003csection class=\"screen active\" id=\"screen-1\"\u003e\n                \u003cdiv class=\"stack\"\u003e\n                    \u003cspan class=\"hype-badge\"\u003e🚨 LE SECRET DÉVOILÉ\u003c\/span\u003e\n                    \u003ch1\u003eLes chefs \u003cmark\u003edétestent\u003c\/mark\u003e cet outil\u003c\/h1\u003e\n                    \u003cdiv class=\"media\"\u003e\n                        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0831\/1413\/1786\/files\/1_0a5d26e2-6d4a-4cc2-8832-c9a5b56922db.png\" alt=\"Mandoline Vital Börner\"\u003e\n                    \u003c\/div\u003e\n                    \u003cp class=\"lead\"\u003eLes couteaux et râpes classiques sont lents et dangereux. Cette mandoline tranche, râpe et assaisonne en un seul geste, \u003cb\u003esans risque et sans effort.\u003c\/b\u003e\u003c\/p\u003e\n                    \u003cbutton class=\"cta pulse\" onclick=\"go(2)\"\u003eDÉCOUVREZ LE ROULEAU À VINAIGRETTE 😱\u003csmall\u003eCliquez pour continuer\u003c\/small\u003e\u003c\/button\u003e\n                    \u003cspan class=\"micro\"\u003ePaiement sécurisé · \u003cb\u003esans engagement\u003c\/b\u003e\u003c\/span\u003e\n                \u003c\/div\u003e\n            \u003c\/section\u003e\n\n            \u003c!-- STEP 2 --\u003e\n            \u003csection class=\"screen\" id=\"screen-2\"\u003e\n                \u003cdiv class=\"stack\"\u003e\n                    \u003cspan class=\"hype-badge\"\u003e🤯 ROULEAU À VINAIGRETTE\u003c\/span\u003e\n                    \u003ch2\u003eCoupez et assaisonnez.\u003cbr\u003e\u003cmark\u003eUn seul geste.\u003c\/mark\u003e\n\u003c\/h2\u003e\n                    \u003cdiv class=\"media\"\u003e\n                        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1081\/7568\/8011\/files\/3_9b195657-5075-4eb6-9a5d-f351da4805d3.jpg?v=1788686234\" alt=\"Rouleau à vinaigrette\"\u003e\n                    \u003c\/div\u003e\n                    \u003cp class=\"lead\"\u003eVersez votre sauce dans la cartouche, fermez et tranchez. Vos légumes tombent déjà parfaitement assaisonnés. Salades prêtes instantanément.\u003c\/p\u003e\n                    \u003cbutton class=\"cta\" onclick=\"go(3)\"\u003ePLUSIEURS ÉPAISSEURS? 🔋\u003csmall\u003e4 tailles réglables\u003c\/small\u003e\u003c\/button\u003e\n                \u003c\/div\u003e\n            \u003c\/section\u003e\n\n            \u003c!-- STEP 3 --\u003e\n            \u003csection class=\"screen\" id=\"screen-3\"\u003e\n                \u003cdiv class=\"stack\"\u003e\n                    \u003cspan class=\"hype-badge\"\u003e⚡ 4 ÉPAISSEURS DE COUPE\u003c\/span\u003e\n                    \u003ch2\u003eJulienne, râpé, tranches.\u003cbr\u003e\u003cmark\u003ePolyvalence totale.\u003c\/mark\u003e\n\u003c\/h2\u003e\n                    \u003cdiv class=\"media\"\u003e\n                        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1081\/7568\/8011\/files\/2_cf6f6c45-71ac-414e-9b01-8d206a56be8e.jpg?v=1788686234\" alt=\"Plaques interchangeables\"\u003e\n                    \u003c\/div\u003e\n                    \u003cp class=\"lead\"\u003eLes plaques Roko et Grater transforment la mandoline en râpe professionnelle. Juliennes parfaites, spaghettis de légumes, parmesan râpé.\u003c\/p\u003e\n                    \u003cbutton class=\"cta\" onclick=\"go(4)\"\u003eSÉCURITÉ? 🛑\u003csmall\u003ePoussoir impénétrable\u003c\/small\u003e\u003c\/button\u003e\n                \u003c\/div\u003e\n            \u003c\/section\u003e\n\n            \u003c!-- STEP 4 --\u003e\n            \u003csection class=\"screen\" id=\"screen-4\"\u003e\n                \u003cdiv class=\"stack\"\u003e\n                    \u003cspan class=\"hype-badge black\"\u003e🛡️ POUSSOIR DE SÉCURITÉ\u003c\/span\u003e\n                    \u003ch2\u003eZéro coupure.\u003cbr\u003e\u003cmark\u003eZéro gaspillage.\u003c\/mark\u003e\n\u003c\/h2\u003e\n                    \u003cdiv class=\"media\"\u003e\n                        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1081\/7568\/8011\/files\/4_fef141c8-2937-4b16-8289-d80c414f1f47.jpg?v=1788686234\" alt=\"Poussoir de sécurité\"\u003e\n                    \u003c\/div\u003e\n                    \u003cp class=\"lead\"\u003eLe poussoir maintient l'aliment et protège vos doigts des lames. Vous tranchez le légume dans sa totalité, sans aucun risque.\u003c\/p\u003e\n                    \u003cbutton class=\"cta green\" onclick=\"go(5)\"\u003eVOIR LES AVIS ⭐\u003csmall\u003eAvis vérifiés\u003c\/small\u003e\u003c\/button\u003e\n                \u003c\/div\u003e\n            \u003c\/section\u003e\n\n            \u003c!-- STEP 5 (Recensioni) --\u003e\n            \u003csection class=\"screen\" id=\"screen-5\"\u003e\n                \u003cdiv class=\"stack\"\u003e\n                    \u003cspan class=\"hype-badge green\"\u003e⭐ AVIS VÉRIFIÉS\u003c\/span\u003e\n                    \u003cdiv class=\"rating\"\u003e\n\u003cspan class=\"stars\"\u003e★★★★★\u003c\/span\u003e\u003cspan class=\"n\"\u003e4,9 \/ 5\u003c\/span\u003e\n\u003c\/div\u003e\n                    \u003cdiv class=\"rev\"\u003e\n                        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1081\/7568\/8011\/files\/7_81a851e8-cfaf-43d6-a2ff-7fdd9c9b826f.jpg?v=1788686234\" alt=\"Avis Jean\"\u003e\n                        \u003cdiv class=\"h\"\u003e\n\u003cspan class=\"name\"\u003eJean Dupont\u003c\/span\u003e\u003cspan class=\"vf\"\u003e✓ Achat vérifié\u003c\/span\u003e\n\u003c\/div\u003e\n                        \u003cdiv class=\"when\"\u003eAcheté il y a 3 jours\u003c\/div\u003e\n\u003cdiv class=\"stars\"\u003e★★★★★\u003c\/div\u003e\n                        \u003cp\u003e«\u003cb\u003eJe peux trancher mes légumes rapidement.\u003c\/b\u003e La vinaigrette intégrée est une vraie innovation.»\u003c\/p\u003e\n                    \u003c\/div\u003e\n                    \u003cdiv class=\"rev\"\u003e\n                        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1081\/7568\/8011\/files\/10_02a9f473-358f-4d29-afad-64a9a5bc488e.jpg?v=1788686234\" alt=\"Avis Pierre\"\u003e\n                        \u003cdiv class=\"h\"\u003e\n\u003cspan class=\"name\"\u003ePierre Lambert\u003c\/span\u003e\u003cspan class=\"vf\"\u003e✓ Achat vérifié\u003c\/span\u003e\n\u003c\/div\u003e\n                        \u003cdiv class=\"when\"\u003eAcheté il y a 5 jours\u003c\/div\u003e\n\u003cdiv class=\"stars\"\u003e★★★★★\u003c\/div\u003e\n                        \u003cp\u003e«\u003cb\u003eLes pieds antidérapants offrent une excellente stabilité.\u003c\/b\u003e La découpe est toujours parfaite.»\u003c\/p\u003e\n                    \u003c\/div\u003e\n                    \u003cbutton class=\"cta pulse\" onclick=\"go(6)\"\u003eVÉRIFIER LA DISPONIBILITÉ 📦\u003csmall\u003eDébloquez la remise -75%\u003c\/small\u003e\u003c\/button\u003e\n                \u003c\/div\u003e\n            \u003c\/section\u003e\n\n            \u003c!-- STEP 6: OFFERTA COMPLETA --\u003e\n            \u003csection class=\"screen\" id=\"screen-6\"\u003e\n                \u003cdiv class=\"stack\"\u003e\n                    \u003c!-- IMMAGINE PRINCIPALE NEL RIQUADRO VERDE --\u003e\n                    \u003cdiv class=\"hero-duo\"\u003e\n                        \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0831\/1413\/1786\/files\/1_0a5d26e2-6d4a-4cc2-8832-c9a5b56922db.png\" alt=\"Mandoline Vital Börner\"\u003e\n                    \u003c\/div\u003e\n                    \n                    \u003cdiv class=\"stock-top\" id=\"stockTop\"\u003e\n                        \u003cdiv class=\"label\" id=\"stockLabel\"\u003e\n                            \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M8.5 14.5A2.5 2.5 0 0 0 11 12c0-1.38-.5-2-1-3-1.072-2.143-.224-4.054 2-6 .5 2.5 2 4.9 4 6.5 2 1.6 3 3.5 3 5.5a7 7 0 1 1-14 0c0-1.153.433-2.294 1-3a2.5 2.5 0 0 0 2.5 2.5z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n                            \u003cspan class=\"main\" id=\"stockMain\"\u003eStock limité\u003c\/span\u003e\n                            \u003cspan class=\"sub\"\u003ePièces disponibles\u003c\/span\u003e\n                        \u003c\/div\u003e\n                        \u003cdiv class=\"num\"\u003e\n                            \u003cspan class=\"count\" id=\"stockN\"\u003e25\u003c\/span\u003e\n                            \u003cspan class=\"unit\"\u003epcs\u003c\/span\u003e\n                        \u003c\/div\u003e\n                    \u003c\/div\u003e\n\n                    \u003cdiv class=\"price-card\"\u003e\n                        \u003cspan class=\"tag-today\"\u003eAujourd'hui seulement · -75%\u003c\/span\u003e\n                        \u003cdiv class=\"prod\"\u003eSet Mandoline Vital Börner + Plaque 10mm\u003c\/div\u003e\n                        \u003cdiv class=\"price-row\"\u003e\n\u003cspan class=\"now\"\u003e19,99 €\u003c\/span\u003e\u003cspan class=\"old\"\u003e79,99 €\u003c\/span\u003e\n\u003c\/div\u003e\n                        \u003cdiv class=\"price-sub\"\u003ePaiement sécurisé\u003c\/div\u003e\n                        \u003cdiv class=\"active-badge\"\u003e\n\u003cspan class=\"dot\"\u003e\u003c\/span\u003e Promotion active et disponible\u003c\/div\u003e\n                    \u003c\/div\u003e\n\n                    \u003cdiv class=\"delivery-box\"\u003e\n                        \u003cdiv class=\"truck\"\u003e\n                            \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003crect x=\"1\" y=\"6\" width=\"13\" height=\"12\" rx=\"1.5\"\u003e\u003c\/rect\u003e\u003cpath d=\"M14 9h4l3 3v6h-7\"\u003e\u003c\/path\u003e\u003ccircle cx=\"6\" cy=\"19\" r=\"2\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"17\" cy=\"19\" r=\"2\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e\n                        \u003c\/div\u003e\n                        \u003cdiv class=\"info\"\u003e\n                            \u003cdiv class=\"line1\"\u003e\n\u003cspan class=\"check\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M5 12l5 5L20 7\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e Livraison Rapide et Suivie GRATUITE\u003c\/div\u003e\n                            \u003cdiv class=\"line2\"\u003eCommandez maintenant, recevez \u003cspan class=\"date\" id=\"deliv\"\u003esous 2 jours\u003c\/span\u003e\n\u003c\/div\u003e\n                            \u003cdiv class=\"line3\"\u003ePaiement 100% sécurisé par carte.\u003c\/div\u003e\n                        \u003c\/div\u003e\n                    \u003c\/div\u003e\n\n                    \u003cdiv class=\"scrollcue\"\u003e\n                        \u003cspan\u003eFaites défiler pour les détails\u003c\/span\u003e\n                        \u003cspan class=\"arr\"\u003e\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M6 9l6 6 6-6\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/span\u003e\n                    \u003c\/div\u003e\n\n                    \u003cul class=\"olist\"\u003e\n                        \u003cli\u003e\n\u003cspan class=\"ck\"\u003e✓\u003c\/span\u003e \u003cspan\u003e1× \u003cb\u003eMandoline Vital Börner\u003c\/b\u003e\u003c\/span\u003e\n\u003c\/li\u003e\n                        \u003cli\u003e\n\u003cspan class=\"ck\"\u003e✓\u003c\/span\u003e \u003cspan\u003eRouleau à vinaigrette intégré\u003c\/span\u003e\n\u003c\/li\u003e\n                        \u003cli\u003e\n\u003cspan class=\"ck\"\u003e✓\u003c\/span\u003e \u003cspan\u003ePlaques de tranche (4 épaisseurs)\u003c\/span\u003e\n\u003c\/li\u003e\n                        \u003cli\u003e\n\u003cspan class=\"ck\"\u003e✓\u003c\/span\u003e \u003cspan\u003ePoussoir et Plaque de sécurité\u003c\/span\u003e\n\u003c\/li\u003e\n                        \u003cli\u003e\n\u003cspan class=\"ck\"\u003e✓\u003c\/span\u003e \u003cspan\u003ePlaque de coupe 10mm — \u003cspan class=\"val\"\u003eOFFRE SPÉCIALE\u003c\/span\u003e\u003c\/span\u003e\n\u003c\/li\u003e\n                    \u003c\/ul\u003e\n\n                    \u003cdiv class=\"cod-card\"\u003e\n                        \u003cdiv class=\"big\"\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\"\u003e\u003cpath d=\"M9 12l2 2 4-4\"\u003e\u003c\/path\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"9\"\u003e\u003c\/circle\u003e\u003c\/svg\u003e Paiement sécurisé · Retour 30 jours\u003c\/div\u003e\n                        \u003cul\u003e\n                            \u003cli\u003e\n\u003cspan class=\"ck\"\u003e✓\u003c\/span\u003e\u003cspan\u003e\u003cb\u003ePaiement par carte sécurisé.\u003c\/b\u003e Transactions protégées par cryptage avancé.\u003c\/span\u003e\n\u003c\/li\u003e\n                            \u003cli\u003e\n\u003cspan class=\"ck\"\u003e✓\u003c\/span\u003e\u003cspan\u003ePas satisfait? \u003cb\u003eRetour gratuit sous 30 jours\u003c\/b\u003e, remboursement complet.\u003c\/span\u003e\n\u003c\/li\u003e\n                            \u003cli\u003e\n\u003cspan class=\"ck\"\u003e✓\u003c\/span\u003e\u003cspan\u003eGarantie produit incluse · support actif.\u003c\/span\u003e\n\u003c\/li\u003e\n                        \u003c\/ul\u003e\n                    \u003c\/div\u003e\n\n                    \u003c!-- Recensioni con foto --\u003e\n                    \u003cdiv class=\"rev-wall\"\u003e\n                        \u003cspan class=\"hype-badge green\"\u003eAvis réels · ✓ vérifiés\u003c\/span\u003e\n                        \u003cdiv class=\"rev\"\u003e\n                            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1081\/7568\/8011\/files\/7_81a851e8-cfaf-43d6-a2ff-7fdd9c9b826f.jpg?v=1788686234\" alt=\"Avis Jean\"\u003e\n                            \u003cdiv class=\"h\"\u003e\n\u003cspan class=\"name\"\u003eJean Dupont\u003c\/span\u003e\u003cspan class=\"vf\"\u003e✓ Vérifié\u003c\/span\u003e\n\u003c\/div\u003e\n                            \u003cdiv class=\"when\"\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\"\u003e\u003ccircle cx=\"9\" cy=\"21\" r=\"1\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"20\" cy=\"21\" r=\"1\"\u003e\u003c\/circle\u003e\u003cpath d=\"M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAcheté il y a 3 jours\u003c\/div\u003e\n\u003cdiv class=\"stars\"\u003e★★★★★\u003c\/div\u003e\n                            \u003cp\u003eJe peux trancher mes légumes rapidement. \u003cb\u003eLa vinaigrette intégrée est une vraie innovation.\u003c\/b\u003e\u003c\/p\u003e\n                        \u003c\/div\u003e\n                        \u003cdiv class=\"rev\"\u003e\n                            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1081\/7568\/8011\/files\/10_02a9f473-358f-4d29-afad-64a9a5bc488e.jpg?v=1788686234\" alt=\"Avis Pierre\"\u003e\n                            \u003cdiv class=\"h\"\u003e\n\u003cspan class=\"name\"\u003ePierre Lambert\u003c\/span\u003e\u003cspan class=\"vf\"\u003e✓ Vérifié\u003c\/span\u003e\n\u003c\/div\u003e\n                            \u003cdiv class=\"when\"\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\"\u003e\u003ccircle cx=\"9\" cy=\"21\" r=\"1\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"20\" cy=\"21\" r=\"1\"\u003e\u003c\/circle\u003e\u003cpath d=\"M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAcheté il y a 5 jours\u003c\/div\u003e\n\u003cdiv class=\"stars\"\u003e★★★★★\u003c\/div\u003e\n                            \u003cp\u003eLes pieds antidérapants offrent une excellente stabilité. \u003cb\u003eLa découpe est toujours parfaite.\u003c\/b\u003e\u003c\/p\u003e\n                        \u003c\/div\u003e\n                        \u003cdiv class=\"rev\"\u003e\n                            \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1081\/7568\/8011\/files\/9_4da8b8e2-eeb4-48de-a47f-ec9972c74ecc.jpg?v=1788686235\" alt=\"Avis Sophie\"\u003e\n                            \u003cdiv class=\"h\"\u003e\n\u003cspan class=\"name\"\u003eSophie Dubois\u003c\/span\u003e\u003cspan class=\"vf\"\u003e✓ Vérifié\u003c\/span\u003e\n\u003c\/div\u003e\n                            \u003cdiv class=\"when\"\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\"\u003e\u003ccircle cx=\"9\" cy=\"21\" r=\"1\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"20\" cy=\"21\" r=\"1\"\u003e\u003c\/circle\u003e\u003cpath d=\"M1 1h4l2.7 13.4a2 2 0 0 0 2 1.6h9.7a2 2 0 0 0 2-1.6L23 6H6\"\u003e\u003c\/path\u003e\u003c\/svg\u003eAcheté il y a 1 semaine\u003c\/div\u003e\n\u003cdiv class=\"stars\"\u003e★★★★★\u003c\/div\u003e\n                            \u003cp\u003eParfaite pour préparer des juliennes et des spaghettis de légumes. \u003cb\u003eLe design est très élégant.\u003c\/b\u003e\u003c\/p\u003e\n                        \u003c\/div\u003e\n                    \u003c\/div\u003e\n\n                    \u003cdiv class=\"trust-icons\"\u003e\n                        \u003cdiv class=\"ti\"\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\u003e\u003cpath d=\"M12 2l7 4v6c0 5-3.5 8-7 10-3.5-2-7-5-7-10V6z\"\u003e\u003c\/path\u003e\u003c\/svg\u003eGarantie\u003c\/div\u003e\n                        \u003cdiv class=\"ti\"\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\u003e\u003crect x=\"1\" y=\"6\" width=\"13\" height=\"12\" rx=\"1\"\u003e\u003c\/rect\u003e\u003cpath d=\"M14 9h4l3 3v6h-7\"\u003e\u003c\/path\u003e\u003ccircle cx=\"6\" cy=\"19\" r=\"2\"\u003e\u003c\/circle\u003e\u003ccircle cx=\"17\" cy=\"19\" r=\"2\"\u003e\u003c\/circle\u003e\u003c\/svg\u003eLivraison rapide\u003c\/div\u003e\n                        \u003cdiv class=\"ti\"\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\u003e\u003cpath d=\"M3 12a9 9 0 1 0 3-6.7L3 8\"\u003e\u003c\/path\u003e\u003cpath d=\"M3 3v5h5\"\u003e\u003c\/path\u003e\u003c\/svg\u003eRetour 30j\u003c\/div\u003e\n                        \u003cdiv class=\"ti\"\u003e\n\u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"\u003e\u003crect x=\"4\" y=\"10\" width=\"16\" height=\"10\" rx=\"2\"\u003e\u003c\/rect\u003e\u003cpath d=\"M8 10V7a4 4 0 0 1 8 0v3\"\u003e\u003c\/path\u003e\u003c\/svg\u003ePaiement sécurisé\u003c\/div\u003e\n                    \u003c\/div\u003e\n                \u003c\/div\u003e\n            \u003c\/section\u003e\n        \u003c\/div\u003e\n\n        \u003c!-- INTERSTITIAL --\u003e\n        \u003cdiv id=\"inter\"\u003e\n            \u003cdiv class=\"terminal\"\u003e\n                \u003cdiv class=\"term-head\"\u003e\n                    \u003cspan class=\"d r\"\u003e\u003c\/span\u003e\u003cspan class=\"d y\"\u003e\u003c\/span\u003e\u003cspan class=\"d g\"\u003e\u003c\/span\u003e\n                    \u003cspan\u003esystème de commande\u003c\/span\u003e\n                \u003c\/div\u003e\n                \u003cdiv class=\"txt\" id=\"interTxt\"\u003eContrôle du stock...\u003cspan class=\"cursor\"\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n                \u003cdiv class=\"bar\"\u003e\u003ci id=\"interBar\"\u003e\u003c\/i\u003e\u003c\/div\u003e\n                \u003cdiv class=\"phase\"\u003e\n\u003cspan id=\"phaseLabel\"\u003ePhase 1 sur 3\u003c\/span\u003e\u003cb id=\"phasePerc\"\u003e0%\u003c\/b\u003e\n\u003c\/div\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003c!-- STICKY BAR FINALE --\u003e\n        \u003cdiv id=\"buyBar\"\u003e\n            \u003cdiv class=\"arrival-info\"\u003e\n                \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003ccircle cx=\"12\" cy=\"12\" r=\"9\"\u003e\u003c\/circle\u003e\u003cpath d=\"M12 7v5l3 2\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n                \u003cspan\u003eArrivée estimée: \u003cb id=\"arrivalDate\"\u003esous 2 jours\u003c\/b\u003e\u003c\/span\u003e\n            \u003c\/div\u003e\n            \u003ca href=\"https:\/\/secure.borner.click\/?offer=4857\u0026amp;uid=01900299-1acb-7afc-a86a-c76356e70006\u0026amp;subid4=Set%20Professionnel%20Mandoline%20V5\u0026amp;utm_medium=https%3A%2F%2Fhankshome.store%2Fcdn%2Fshop%2Ffiles%2FOmaggio_Set_Mandoline_1800x1800.png\" id=\"finalCta\" class=\"cta green pulse cta-order\" target=\"_blank\"\u003e\n               ACHETER MAINTENANT\u003csmall\u003ePaiement sécurisé\u003c\/small\u003e\n            \u003c\/a\u003e\n            \u003cdiv class=\"help-pointer\" id=\"helpPointer\"\u003e\n                \u003csvg viewbox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\u003e\u003cpath d=\"M12 5v14M5 12l7 7 7-7\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n                \u003cspan\u003eCliquez ici pour finaliser la commande\u003c\/span\u003e\n            \u003c\/div\u003e\n        \u003c\/div\u003e\n    \u003c\/div\u003e\n\n    \u003cscript\u003e\n        \/* ===================== CONFIG ===================== *\/\n        const TOTAL = 6;\n        const RESERVE_MIN = 10;\n        const STOCK_START = 25;\n        const STOCK_PHASES = [\n            { value: 25, delay: 0 },\n            { value: 20, delay: 2000 },\n            { value: 14, delay: 2200 },\n            { value: 9,  delay: 2000 },\n            { value: 4,  delay: 2300 }\n        ];\n        const SHIP_DAYS = 2;\n        const IDLE_MS = 4500;\n\n        \/* ===================== STATE ===================== *\/\n        let interDone = false;\n        let offerReached = false;\n        let helpT = null;\n        let stockTs = [];\n        let pointerDismissed = false;\n        let listenersAttached = false;\n\n        \/* ===================== DOM REFS ===================== *\/\n        const pfill = document.getElementById('pfill');\n        const plbl = document.getElementById('plbl');\n        const contentArea = document.getElementById('contentArea');\n        const buyBar = document.getElementById('buyBar');\n        const inter = document.getElementById('inter');\n        const finalCta = document.getElementById('finalCta');\n        const helpPointer = document.getElementById('helpPointer');\n\n        \/* ===================== STEP ENGINE ===================== *\/\n        function go(to) {\n            if (to === 6 \u0026\u0026 !interDone) {\n                runInterstitial(function() {\n                    reveal(6);\n                    pushStep(6);\n                });\n                return;\n            }\n            reveal(to);\n            pushStep(to);\n        }\n\n        function reveal(to) {\n            const current = document.querySelector('.screen.active');\n            if (current) current.classList.remove('active');\n            const el = document.getElementById('screen-' + to);\n            el.classList.add('active');\n            el.scrollTop = 0;\n            pfill.style.width = Math.round((to \/ TOTAL) * 100) + '%';\n            plbl.textContent = 'ATTENTION: ÉTAPE ' + to + ' SUR ' + TOTAL;\n            if (to === TOTAL) {\n                plbl.textContent = '🔥 REMISE ACTIVÉE!';\n                plbl.style.color = '#16a34a';\n                buyBar.classList.add('show');\n                onOfferEnter();\n            } else {\n                plbl.style.color = '#fbbf24';\n                buyBar.classList.remove('show');\n                resetAll();\n            }\n            contentArea.scrollTop = 0;\n            if (window.fbq) { fbq('trackCustom', 'PrelanderStep', { step: to }); }\n        }\n\n        function pushStep(to) {\n            try { history.pushState({ step: to }, '', '#step-' + to); } catch(e) {}\n        }\n\n        \/\/ Zero Exit Lock\n        window.addEventListener('popstate', function(e) {\n            var to = (e.state \u0026\u0026 e.state.step) ? e.state.step : 1;\n            reveal(to);\n        });\n        try { history.replaceState({ step: 1 }, '', '#step-1'); } catch(e) {}\n\n        \/* ===================== INTERSTITIAL ===================== *\/\n        function runInterstitial(cb) {\n            const txt = document.getElementById('interTxt');\n            const bar = document.getElementById('interBar');\n            const phase = document.getElementById('phaseLabel');\n            const perc = document.getElementById('phasePerc');\n\n            txt.classList.remove('ok');\n            bar.style.width = '0%';\n            bar.classList.remove('done');\n            txt.innerHTML = 'Contrôle du stock...\u003cspan class=\"cursor\"\u003e\u003c\/span\u003e';\n            phase.textContent = 'Phase 1 sur 3';\n            perc.textContent = '0%';\n\n            inter.classList.add('show');\n\n            setTimeout(function() {\n                bar.style.width = '30%';\n                perc.textContent = '30%';\n            }, 80);\n\n            setTimeout(function() {\n                txt.innerHTML = 'Réservation d\\'une unité...\u003cspan class=\"cursor\"\u003e\u003c\/span\u003e';\n                bar.style.width = '70%';\n                phase.textContent = 'Phase 2 sur 3';\n                perc.textContent = '70%';\n            }, 1000);\n\n            setTimeout(function() {\n                txt.innerHTML = 'Remise -75% confirmée ✓';\n                txt.classList.add('ok');\n                bar.style.width = '100%';\n                bar.classList.add('done');\n                phase.textContent = 'Terminé';\n                perc.textContent = '100%';\n            }, 2000);\n\n            setTimeout(function() {\n                inter.classList.remove('show');\n                interDone = true;\n                cb();\n            }, 3000);\n        }\n\n        \/* ===================== SCARSITÀ DINAMICA ===================== *\/\n        function runStockSequence() {\n            const n = document.getElementById('stockN');\n            const top = document.getElementById('stockTop');\n            const main = document.getElementById('stockMain');\n            const label = document.getElementById('stockLabel');\n            if (!n || !top || !main || !label) return;\n\n            n.textContent = STOCK_PHASES[0].value;\n            main.textContent = 'Stock limité';\n            label.classList.remove('urgent');\n\n            let cumulative = 0;\n            for (let i = 1; i \u003c STOCK_PHASES.length; i++) {\n                cumulative += STOCK_PHASES[i].delay;\n                const val = STOCK_PHASES[i].value;\n                const isFinal = (i === STOCK_PHASES.length - 1);\n                const t = setTimeout(function() {\n                    top.classList.remove('flash');\n                    void top.offsetWidth;\n                    top.classList.add('flash');\n                    n.style.transform = 'scale(1.15)';\n                    setTimeout(function() {\n                        n.textContent = val;\n                        n.style.transform = 'scale(1)';\n                        if (isFinal) {\n                            setTimeout(function() {\n                                main.textContent = 'Commandez MAINTENANT!';\n                                label.classList.add('urgent');\n                            }, 400);\n                        }\n                    }, 150);\n                }, cumulative);\n                stockTs.push(t);\n            }\n        }\n\n        function resetStockSequence() {\n            stockTs.forEach(t =\u003e clearTimeout(t));\n            stockTs = [];\n            const n = document.getElementById('stockN');\n            const top = document.getElementById('stockTop');\n            const main = document.getElementById('stockMain');\n            const label = document.getElementById('stockLabel');\n            if (n) n.textContent = STOCK_START;\n            if (top) top.classList.remove('flash');\n            if (main) main.textContent = 'Stock limité';\n            if (label) label.classList.remove('urgent');\n        }\n\n        \/* ===================== HELP POINTER RESILIENTE ===================== *\/\n        function attachRadarListeners() {\n            if (listenersAttached) return;\n            listenersAttached = true;\n            document.getElementById('screen-6').addEventListener('scroll', resetRadar, { passive: true });\n            document.addEventListener('click', resetRadar, { passive: true });\n            document.addEventListener('touchstart', resetRadar, { passive: true });\n        }\n        function detachRadarListeners() {\n            listenersAttached = false;\n            document.getElementById('screen-6').removeEventListener('scroll', resetRadar);\n            document.removeEventListener('click', resetRadar);\n            document.removeEventListener('touchstart', resetRadar);\n        }\n\n        function showPointer() {\n            if (pointerDismissed) return;\n            if (offerReached \u0026\u0026 helpPointer) helpPointer.classList.add('show');\n        }\n        function hidePointer() {\n            if (helpPointer) helpPointer.classList.remove('show');\n        }\n        function armRadar() {\n            clearTimeout(helpT);\n            hidePointer();\n            helpT = setTimeout(showPointer, IDLE_MS);\n        }\n        function resetRadar() {\n            hidePointer();\n            if (offerReached \u0026\u0026 !pointerDismissed) {\n                clearTimeout(helpT);\n                helpT = setTimeout(showPointer, IDLE_MS);\n            }\n        }\n        function dismissRadar() {\n            pointerDismissed = true;\n            clearTimeout(helpT);\n            hidePointer();\n            detachRadarListeners();\n        }\n\n        \/* ===================== EVENTI PIXEL ===================== *\/\n        const FP_PRODUCT = {\n            content_type: 'product',\n            content_id:   'mandoline-v5',\n            content_name: 'Set Mandoline Vital Börner',\n            value: 19.99,\n            currency: 'EUR'\n        };\n        function fpTrack(name) {\n            try { if (window.ttq \u0026\u0026 ttq.track) ttq.track(name, FP_PRODUCT); } catch (e) {}\n            try { if (window.fbq)              fbq('track', name, FP_PRODUCT); } catch (e) {}\n        }\n\n        \/* ===================== FUNZIONI MANCANTI ===================== *\/\n        function onOfferEnter() {\n            offerReached = true;\n            pointerDismissed = false;\n            runStockSequence();\n            attachRadarListeners();\n            armRadar();\n            fpTrack('ViewContent');\n        }\n        function resetAll() {\n            resetStockSequence();\n            clearTimeout(helpT);\n            hidePointer();\n            detachRadarListeners();\n            offerReached = false;\n            pointerDismissed = false;\n        }\n\n        \/* ===================== FINAL CTA ===================== *\/\n        finalCta.addEventListener('click', function (e) {\n            dismissRadar();\n            fpTrack('AddToCart');\n        });\n\n        \/* ===================== COUNTDOWN RISERVA ===================== *\/\n        (function() {\n            let s = RESERVE_MIN * 60;\n            const c = document.getElementById('clock');\n            function tick() {\n                const m = Math.floor(s \/ 60);\n                const ss = s % 60;\n                c.textContent = (m \u003c 10 ? '0' : '') + m + ':' + (ss \u003c 10 ? '0' : '') + ss;\n                if (s \u003e 0) s--;\n            }\n            tick();\n            setInterval(tick, 1000);\n        })();\n\n        \/* ===================== DATA CONSEGNA LOCALIZZATA ===================== *\/\n        (function() {\n            const d = new Date();\n            d.setDate(d.getDate() + SHIP_DAYS);\n            const giorni = ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'];\n            const mesi = ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'];\n            let g = giorni[d.getDay()];\n            g = g.charAt(0).toUpperCase() + g.slice(1);\n            const formatted = g + ' ' + d.getDate() + ' ' + mesi[d.getMonth()];\n            const delivEl = document.getElementById('deliv');\n            const arrivalEl = document.getElementById('arrivalDate');\n            if (delivEl) delivEl.textContent = formatted;\n            if (arrivalEl) arrivalEl.textContent = formatted;\n        })();\n    \u003c\/script\u003e\n\n\u003c\/body\u003e","brand":"Rabais Maison \u0026 Jardin","offers":[{"title":"Noir","offer_id":58396044394827,"sku":null,"price":19.99,"currency_code":"USD","in_stock":false},{"title":"Orange","offer_id":58396044427595,"sku":null,"price":19.99,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1081\/7568\/8011\/files\/1_79428894-d99a-4ff5-9887-84cdbbcbe50a.png?v=1788682152","url":"https:\/\/foireprime.com\/products\/set-professionnel-mandoline-v5-hill-step-iii","provider":"FoirePrime","version":"1.0","type":"link"}