{"id":306,"date":"2026-08-14T15:54:40","date_gmt":"2026-08-14T15:54:40","guid":{"rendered":"https:\/\/joyoverfit.com\/?page_id=306"},"modified":"2026-08-16T05:11:37","modified_gmt":"2026-08-16T05:11:37","slug":"306-2","status":"publish","type":"page","link":"https:\/\/joyoverfit.com\/","title":{"rendered":"Joy Over Fit Lpage"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Joy OverFit \u2013 Transform in Secret. Shock Them With Your Results.<\/title>\n<!-- TikTok Pixel Code Start -->\n<script>\n!function (w, d, t) {\n  w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=[\"page\",\"track\",\"identify\",\"instances\",\"debug\",\"on\",\"off\",\"once\",\"ready\",\"alias\",\"group\",\"enableCookie\",\"disableCookie\",\"holdConsent\",\"revokeConsent\",\"grantConsent\"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for( var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var r=\"https:\/\/analytics.tiktok.com\/i18n\/pixel\/events.js\",o=n&#038;&#038;n.partner;ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=r,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};n=document.createElement(\"script\") ;n.type=\"text\/javascript\",n.async=!0,n.src=r+\"?sdkid=\"+e+\"&#038;lib=\"+t;e=document.getElementsByTagName(\"script\")[0];e.parentNode.insertBefore(n,e)};\n  ttq.load('DA0K7UJC77U575JE9VMG');\n  ttq.page();\n}(window, document, 'ttq');\n<\/script>\n<!-- TikTok Pixel Code End -->\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Playfair+Display:wght@700;900&#038;family=Inter:wght@400;500;600;700&#038;display=swap\" rel=\"stylesheet\">\n<style>\n  :root {\n    --cream: #F2EAE1;\n    --cream-dark: #E8DDD3;\n    --blue: #4A6274;\n    --blue-light: #6A8294;\n    --orange: #E07A5F;\n    --orange-dark: #C96848;\n    --white: #FFFFFF;\n    --radius: 16px;\n    --radius-lg: 28px;\n    --shadow: 0 4px 24px rgba(74,98,116,0.10);\n    --shadow-lg: 0 12px 48px rgba(74,98,116,0.16);\n  }\n  * { margin: 0; padding: 0; box-sizing: border-box; }\n  html { scroll-behavior: smooth; }\n  body { font-family: 'Inter', sans-serif; background: var(--cream); color: var(--blue); line-height: 1.6; font-size: 16px; }\n  h1, h2, h3 { font-family: 'Playfair Display', serif; line-height: 1.2; }\n  img { max-width: 100%; height: auto; display: block; }\n\n  \/* ============ TRUST BAR ============ *\/\n  .trust-bar {\n    background: var(--blue);\n    color: var(--white);\n    text-align: center;\n    padding: 11px 16px;\n    font-size: 13px;\n    font-weight: 500;\n    letter-spacing: 0.02em;\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    gap: 40px;\n    flex-wrap: wrap;\n  }\n  .trust-item {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    white-space: nowrap;\n  }\n  .trust-item svg {\n    width: 16px;\n    height: 16px;\n    flex-shrink: 0;\n    opacity: 0.9;\n  }\n  .trust-sep {\n    width: 1px;\n    height: 16px;\n    background: rgba(255,255,255,0.25);\n  }\n\n  \/* ============ NAVBAR ============ *\/\n  .navbar {\n    position: sticky;\n    top: 0;\n    z-index: 100;\n    background: var(--cream);\n    border-bottom: 1px solid rgba(74,98,116,0.12);\n    padding: 14px 48px;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n  }\n  .navbar-logo { height: 42px; width: auto; }\n  .navbar-cta {\n    background: var(--orange);\n    color: var(--white);\n    border: none;\n    border-radius: 50px;\n    padding: 11px 26px;\n    font-size: 14px;\n    font-weight: 700;\n    cursor: pointer;\n    text-decoration: none;\n    transition: background 0.2s, transform 0.15s;\n    letter-spacing: 0.01em;\n  }\n  .navbar-cta:hover { background: var(--orange-dark); transform: translateY(-1px); }\n\n  \/* ============ HERO ============ *\/\n  .hero {\n    max-width: 1280px;\n    margin: 0 auto;\n    padding: 72px 48px 64px;\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 64px;\n    align-items: center;\n  }\n  .hero-eyebrow {\n    font-size: 12px;\n    font-weight: 700;\n    color: var(--orange);\n    text-transform: uppercase;\n    letter-spacing: 0.1em;\n    margin-bottom: 18px;\n  }\n  .hero h1 {\n    font-size: clamp(2.4rem, 4.5vw, 3.6rem);\n    color: var(--blue);\n    margin-bottom: 22px;\n  }\n  .hero h1 em { font-style: normal; color: var(--orange); }\n  .hero-sub {\n    font-size: 17px;\n    color: var(--blue-light);\n    margin-bottom: 38px;\n    max-width: 480px;\n    line-height: 1.7;\n  }\n  .btn-primary {\n    display: inline-block;\n    background: linear-gradient(135deg, var(--orange), var(--orange-dark));\n    color: var(--white);\n    border: none;\n    border-radius: 50px;\n    padding: 18px 42px;\n    font-size: 17px;\n    font-weight: 700;\n    cursor: pointer;\n    text-decoration: none;\n    transition: transform 0.2s, box-shadow 0.2s;\n    box-shadow: 0 6px 24px rgba(224,122,95,0.35);\n  }\n  .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 10px 32px rgba(224,122,95,0.45); }\n  .hero-guarantee {\n    margin-top: 14px;\n    font-size: 12px;\n    color: var(--blue-light);\n    display: flex;\n    align-items: center;\n    gap: 6px;\n  }\n  .hero-image-wrap {\n    position: relative;\n    border-radius: var(--radius-lg);\n    overflow: hidden;\n    aspect-ratio: 4\/3;\n    background: var(--cream-dark);\n  }\n  .hero-image-wrap img { width: 100%; height: 100%; object-fit: cover; }\n  .hero-badge {\n    position: absolute;\n    bottom: 20px;\n    left: 20px;\n    background: var(--white);\n    border-radius: 50px;\n    padding: 8px 18px;\n    font-size: 12px;\n    font-weight: 600;\n    color: var(--blue);\n    box-shadow: var(--shadow);\n    display: flex;\n    align-items: center;\n    gap: 8px;\n  }\n  .hero-badge .dot {\n    width: 8px; height: 8px;\n    background: #22C55E;\n    border-radius: 50%;\n    animation: pulse 2s infinite;\n  }\n  @keyframes pulse { 0%,100%{opacity:1} 50%{opacity:0.4} }\n\n  \/* ============ PROBLEM ============ *\/\n  .problem { background: var(--white); padding: 88px 48px; text-align: center; }\n  .problem h2 { font-size: clamp(1.9rem, 3.5vw, 2.8rem); color: var(--blue); max-width: 800px; margin: 0 auto 32px; }\n  .problem-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; max-width: 1040px; margin: 48px auto 0; }\n  .problem-card { background: var(--cream); border-radius: var(--radius); padding: 32px 26px; text-align: left; }\n  .problem-icon { width: 44px; height: 44px; background: rgba(224,122,95,0.12); border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 14px; }\n  .problem-icon svg { width: 22px; height: 22px; color: var(--orange); }\n  .problem-card h3 { font-family:'Inter',sans-serif; font-size:15px; font-weight:700; color:var(--blue); margin-bottom:8px; }\n  .problem-card p { font-size:14px; color:var(--blue-light); line-height:1.65; }\n  .problem-reframe { margin:48px auto 0; max-width:700px; background:var(--blue); color:var(--white); border-radius:var(--radius-lg); padding:40px 48px; }\n  .problem-reframe h3 { font-family:'Playfair Display',serif; font-size:1.6rem; margin-bottom:12px; }\n  .problem-reframe p { font-size:15px; opacity:0.85; line-height:1.7; }\n\n  \/* ============ SECTION LABELS ============ *\/\n  .section-label { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--orange); margin-bottom:14px; }\n\n  \/* ============ ECOSYSTEM INTRO ============ *\/\n  .ecosystem-intro { padding:88px 48px; max-width:1280px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }\n  .ecosystem-intro img { border-radius:var(--radius-lg); width:100%; aspect-ratio:4\/3; object-fit:cover; }\n  .ecosystem-intro h2 { font-size:clamp(1.8rem,3vw,2.6rem); color:var(--blue); margin-bottom:20px; }\n  .ecosystem-intro > div > p { font-size:16px; color:var(--blue-light); margin-bottom:28px; }\n  .feature-list { list-style:none; }\n  .feature-list li { display:flex; align-items:flex-start; gap:12px; padding:10px 0; font-size:15px; color:var(--blue); border-bottom:1px solid rgba(74,98,116,0.1); }\n  .feature-list li:last-child { border-bottom:none; }\n  .feature-list .check { width:22px; height:22px; background:var(--orange); border-radius:50%; color:white; font-size:11px; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2px; }\n\n  \/* ============ CAROUSEL PRODUITS ============ *\/\n  .carousel-section { padding:88px 0; background:var(--white); }\n  .carousel-header { text-align:center; max-width:700px; margin:0 auto 56px; padding:0 24px; }\n  .carousel-header h2 { font-size:clamp(1.8rem,3vw,2.6rem); color:var(--blue); margin-bottom:12px; }\n  .carousel-header p { color:var(--blue-light); font-size:16px; }\n  .carousel-wrap { position:relative; overflow:hidden; }\n  .carousel-track {\n    display:flex;\n    transition:transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94);\n    will-change:transform;\n  }\n  .carousel-slide {\n    min-width:100%;\n    padding:0 48px;\n    display:grid;\n    grid-template-columns:1fr 1fr;\n    gap:72px;\n    align-items:center;\n  }\n  .carousel-slide.reverse { direction:rtl; }\n  .carousel-slide.reverse > * { direction:ltr; }\n  .slide-img {\n    border-radius:var(--radius-lg);\n    aspect-ratio:4\/3;\n    width:100%;\n    object-fit:contain;\n    background:var(--cream);\n    padding:32px;\n  }\n  .slide-number { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:0.12em; color:var(--orange); margin-bottom:10px; }\n  .slide-title { font-family:'Playfair Display',serif; font-size:clamp(1.6rem,2.5vw,2.2rem); color:var(--blue); margin-bottom:16px; }\n  .slide-desc { font-size:15px; color:var(--blue-light); line-height:1.75; }\n\n  \/* Carousel controls *\/\n  .carousel-controls { display:flex; align-items:center; justify-content:center; gap:24px; margin-top:48px; padding:0 24px; }\n  .carousel-btn {\n    width:48px; height:48px;\n    border:2px solid rgba(74,98,116,0.2);\n    border-radius:50%;\n    background:var(--white);\n    cursor:pointer;\n    display:flex; align-items:center; justify-content:center;\n    transition:all 0.2s;\n    flex-shrink:0;\n  }\n  .carousel-btn:hover { border-color:var(--orange); background:var(--orange); }\n  .carousel-btn:hover svg { color:var(--white); }\n  .carousel-btn svg { width:18px; height:18px; color:var(--blue); transition:color 0.2s; }\n  .carousel-dots { display:flex; gap:8px; align-items:center; }\n  .carousel-dot {\n    width:8px; height:8px;\n    border-radius:50%;\n    background:rgba(74,98,116,0.2);\n    cursor:pointer;\n    transition:all 0.3s;\n    border:none;\n    padding:0;\n  }\n  .carousel-dot.active { background:var(--orange); width:24px; border-radius:4px; }\n\n  \/* ============ APP CAROUSEL ============ *\/\n  .app-section { padding:88px 48px; background:var(--blue); }\n  .app-section-inner { max-width:1280px; margin:0 auto; }\n  .app-header { text-align:center; max-width:680px; margin:0 auto 56px; }\n  .app-header h2 { font-size:clamp(1.8rem,3vw,2.6rem); color:var(--white); margin-bottom:14px; }\n  .app-header p { font-size:16px; color:rgba(255,255,255,0.75); line-height:1.7; }\n  .app-carousel-wrap { position:relative; overflow:hidden; }\n  .app-carousel-track { display:flex; transition:transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94); }\n  .app-carousel-slide {\n    min-width:100%;\n    display:grid;\n    grid-template-columns:1fr 1fr;\n    gap:64px;\n    align-items:center;\n  }\n  .app-slide-img {\n    width:260px;\n    margin:0 auto;\n    border-radius:28px;\n    box-shadow:0 24px 64px rgba(0,0,0,0.4);\n    aspect-ratio:9\/16;\n    object-fit:cover;\n    background:#1a1a2e;\n  }\n  .app-slide-content { color:var(--white); }\n  .app-slide-tag { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:0.1em; color:var(--orange); margin-bottom:14px; }\n  .app-slide-title { font-family:'Playfair Display',serif; font-size:clamp(1.6rem,2.5vw,2.2rem); color:var(--white); margin-bottom:16px; }\n  .app-slide-desc { font-size:15px; color:rgba(255,255,255,0.8); line-height:1.75; margin-bottom:28px; }\n  .app-features-list { list-style:none; }\n  .app-features-list li { display:flex; align-items:flex-start; gap:10px; padding:8px 0; font-size:14px; color:rgba(255,255,255,0.8); border-bottom:1px solid rgba(255,255,255,0.1); }\n  .app-features-list li:last-child { border-bottom:none; }\n  .app-features-list .acheck { width:20px; height:20px; background:var(--orange); border-radius:50%; font-size:10px; color:white; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:2px; }\n  .app-controls { display:flex; align-items:center; justify-content:center; gap:24px; margin-top:48px; }\n  .app-btn {\n    width:48px; height:48px;\n    border:2px solid rgba(255,255,255,0.2);\n    border-radius:50%;\n    background:transparent;\n    cursor:pointer;\n    display:flex; align-items:center; justify-content:center;\n    transition:all 0.2s;\n  }\n  .app-btn:hover { border-color:var(--orange); background:var(--orange); }\n  .app-btn svg { width:18px; height:18px; color:var(--white); }\n  .app-dots { display:flex; gap:8px; align-items:center; }\n  .app-dot { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.25); cursor:pointer; transition:all 0.3s; border:none; padding:0; }\n  .app-dot.active { background:var(--orange); width:24px; border-radius:4px; }\n\n  \/* ============ GUARANTEE ============ *\/\n  .guarantee { padding:88px 48px; max-width:940px; margin:0 auto; text-align:center; }\n  .guarantee-badge { width:84px; height:84px; background:linear-gradient(135deg,var(--orange),var(--orange-dark)); border-radius:50%; display:flex; align-items:center; justify-content:center; margin:0 auto 28px; }\n  .guarantee-badge svg { width:40px; height:40px; color:white; }\n  .guarantee h2 { font-size:clamp(1.8rem,3vw,2.4rem); color:var(--blue); margin-bottom:20px; }\n  .guarantee p { font-size:16px; color:var(--blue-light); max-width:700px; margin:0 auto 16px; line-height:1.8; }\n  .shipping-note { display:inline-flex; align-items:center; gap:10px; background:var(--cream-dark); border-radius:50px; padding:12px 24px; font-size:14px; color:var(--blue); font-weight:500; margin-top:20px; }\n  .shipping-note svg { width:16px; height:16px; color:var(--orange); }\n\n  \/* ============ SIZE DRAWER ============ *\/\n  .size-drawer-wrap {\n    max-width: 780px;\n    margin: 0 auto 48px;\n    padding: 0 48px;\n  }\n  .size-drawer-toggle {\n    width: 100%;\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    background: var(--white);\n    border: 2px solid rgba(74,98,116,0.15);\n    border-radius: var(--radius);\n    padding: 16px 22px;\n    cursor: pointer;\n    transition: all 0.2s;\n    font-family: 'Inter', sans-serif;\n  }\n  .size-drawer-toggle:hover { border-color: var(--orange); box-shadow: var(--shadow); }\n  .size-drawer-toggle[aria-expanded=\"true\"] { border-color: var(--orange); border-bottom-left-radius: 0; border-bottom-right-radius: 0; }\n  .size-drawer-icon { color: var(--orange); flex-shrink: 0; }\n  .size-drawer-label { flex: 1; text-align: left; font-size: 15px; font-weight: 700; color: var(--blue); }\n  .size-drawer-arrow { color: var(--blue-light); transition: transform 0.3s; flex-shrink: 0; }\n  .size-drawer-toggle[aria-expanded=\"true\"] .size-drawer-arrow { transform: rotate(180deg); }\n\n  .size-drawer {\n    max-height: 0;\n    overflow: hidden;\n    transition: max-height 0.4s cubic-bezier(0.25,0.46,0.45,0.94);\n    background: var(--white);\n    border: 2px solid var(--orange);\n    border-top: none;\n    border-bottom-left-radius: var(--radius);\n    border-bottom-right-radius: var(--radius);\n  }\n  .size-drawer.open { max-height: 600px; }\n  .size-drawer-inner { padding: 24px 24px 20px; }\n\n  .size-group { margin-bottom: 22px; }\n  .size-group-label { font-size: 13px; font-weight: 700; color: var(--blue); margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.06em; }\n  .size-group-hint { font-size: 12px; color: var(--blue-light); margin-bottom: 10px; }\n  .size-options { display: flex; flex-wrap: wrap; gap: 8px; }\n  .size-btn {\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    gap: 2px;\n    padding: 8px 14px;\n    border: 1.5px solid rgba(74,98,116,0.2);\n    border-radius: 8px;\n    background: var(--cream);\n    font-size: 13px;\n    font-weight: 700;\n    color: var(--blue);\n    cursor: pointer;\n    transition: all 0.15s;\n    font-family: 'Inter', sans-serif;\n    min-width: 52px;\n  }\n  .size-btn span { font-size: 9px; font-weight: 400; color: var(--blue-light); }\n  .size-btn:hover { border-color: var(--orange); background: rgba(224,122,95,0.06); }\n  .size-btn.selected { border-color: var(--orange); background: var(--orange); color: var(--white); }\n  .size-btn.selected span { color: rgba(255,255,255,0.8); }\n\n  .size-summary {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    background: rgba(34,197,94,0.08);\n    border: 1px solid rgba(34,197,94,0.25);\n    border-radius: 8px;\n    padding: 10px 14px;\n    font-size: 13px;\n    color: #166534;\n    font-weight: 500;\n    margin-bottom: 16px;\n  }\n  .size-summary svg { color: #22C55E; flex-shrink: 0; }\n\n  .size-drawer-close {\n    width: 100%;\n    background: linear-gradient(135deg, var(--orange), var(--orange-dark));\n    color: var(--white);\n    border: none;\n    border-radius: 50px;\n    padding: 13px 24px;\n    font-size: 14px;\n    font-weight: 700;\n    cursor: pointer;\n    font-family: 'Inter', sans-serif;\n    transition: opacity 0.2s;\n  }\n  .size-drawer-close:hover { opacity: 0.9; }\n\n  @media(max-width:900px) {\n    .size-drawer-wrap { padding: 0 20px; margin-bottom: 32px; }\n    .size-btn { min-width: 44px; padding: 7px 10px; font-size: 12px; }\n  }\n\n  \/* ============ PRICING ============ *\/\n  .pricing { background:var(--white); padding:88px 48px; }\n  .pricing-header { text-align:center; max-width:660px; margin:0 auto 60px; }\n  .pricing-header h2 { font-size:clamp(1.8rem,3vw,2.6rem); color:var(--blue); margin-bottom:12px; }\n  .pricing-header p { color:var(--blue-light); font-size:16px; }\n  .pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; max-width:1100px; margin:0 auto; align-items:start; }\n  .pricing-card { border-radius:var(--radius-lg); padding:36px 28px; border:2px solid transparent; background:var(--cream); position:relative; transition:transform 0.2s, box-shadow 0.2s; }\n  .pricing-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }\n  .pricing-card.featured { background:var(--white); border-color:var(--orange); box-shadow:var(--shadow-lg); transform:scale(1.04); }\n  .pricing-card.featured:hover { transform:scale(1.04) translateY(-4px); }\n  .badge-popular { position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:var(--orange); color:var(--white); border-radius:50px; padding:5px 20px; font-size:12px; font-weight:700; white-space:nowrap; }\n  .card-img { width:100%; aspect-ratio:4\/3; background:var(--cream-dark); border-radius:var(--radius); margin-bottom:20px; object-fit:cover; display:block; }\n  .card-plan-name { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:0.06em; color:var(--orange); margin-bottom:6px; }\n  .card-title { font-family:'Playfair Display',serif; font-size:1.3rem; color:var(--blue); margin-bottom:20px; }\n  .card-items { list-style:none; margin-bottom:24px; }\n  .card-items li { display:flex; align-items:flex-start; gap:10px; padding:7px 0; font-size:14px; color:var(--blue); border-bottom:1px solid rgba(74,98,116,0.08); }\n  .card-items li:last-child { border-bottom:none; }\n  .card-items .icon { color:var(--orange); font-size:13px; flex-shrink:0; margin-top:3px; }\n  .card-price { font-family:'Playfair Display',serif; font-size:2.6rem; color:var(--blue); font-weight:900; margin-bottom:4px; }\n  .card-price-sub { font-size:13px; color:var(--blue-light); margin-bottom:24px; }\n  .btn-card { display:block; text-align:center; border-radius:50px; padding:15px 24px; font-size:15px; font-weight:700; text-decoration:none; cursor:pointer; transition:opacity 0.2s, transform 0.15s; border:none; }\n  .btn-card:hover { opacity:0.9; transform:translateY(-1px); }\n  .btn-card-secondary { background:var(--cream-dark); color:var(--blue); }\n  .btn-card-primary { background:linear-gradient(135deg,var(--orange),var(--orange-dark)); color:var(--white); box-shadow:0 4px 16px rgba(224,122,95,0.3); }\n\n  \/* ============ FAQ ============ *\/\n  .faq { padding:88px 48px; max-width:840px; margin:0 auto; }\n  .faq h2 { font-size:clamp(1.8rem,3vw,2.2rem); color:var(--blue); text-align:center; margin-bottom:52px; }\n  .faq-item { border-bottom:1px solid rgba(74,98,116,0.15); }\n  .faq-q { display:flex; justify-content:space-between; align-items:center; padding:22px 0; cursor:pointer; font-size:16px; font-weight:600; color:var(--blue); user-select:none; gap:16px; }\n  .faq-icon { width:28px; height:28px; border-radius:50%; background:rgba(224,122,95,0.1); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:background 0.2s; }\n  .faq-item.open .faq-icon { background:var(--orange); }\n  .faq-icon svg { width:14px; height:14px; color:var(--orange); transition:transform 0.3s, color 0.2s; }\n  .faq-item.open .faq-icon svg { transform:rotate(45deg); color:white; }\n  .faq-a { max-height:0; overflow:hidden; transition:max-height 0.35s ease, padding 0.35s ease; font-size:15px; color:var(--blue-light); line-height:1.75; }\n  .faq-item.open .faq-a { max-height:400px; padding-bottom:22px; }\n\n  \/* ============ FINAL CTA ============ *\/\n  .final-cta { background:var(--blue); color:var(--white); text-align:center; padding:88px 48px; }\n  .final-cta h2 { font-size:clamp(1.8rem,3.5vw,2.8rem); color:var(--white); max-width:720px; margin:0 auto 16px; }\n  .final-cta p { font-size:16px; opacity:0.8; max-width:560px; margin:0 auto 36px; line-height:1.7; }\n  .final-trust { display:flex; justify-content:center; gap:32px; margin-top:36px; flex-wrap:wrap; }\n  .final-trust-item { font-size:13px; opacity:0.7; display:flex; align-items:center; gap:8px; }\n  .final-trust-item svg { width:14px; height:14px; }\n\n  \/* ============ PAY BADGES ============ *\/\n  .pay-badges { display:flex; gap:8px; margin-bottom:16px; flex-wrap:wrap; }\n  .pay-badge { display:inline-flex; align-items:center; gap:6px; background:rgba(255,179,199,0.15); border:1px solid rgba(255,179,199,0.4); border-radius:6px; padding:5px 10px; font-size:12px; font-weight:600; color:var(--blue); }\n\n  \/* ============ FOOTER ============ *\/\n  .footer { background:#2C3E4A; color:rgba(255,255,255,0.55); padding:36px 48px; text-align:center; font-size:13px; }\n  .footer a { color:rgba(255,255,255,0.55); text-decoration:none; margin:0 14px; }\n  .footer a:hover { color:#FFFFFF; }\n  .footer-links { margin-bottom:14px; }\n\n  \/* ============ RESPONSIVE ============ *\/\n  @media(max-width:1024px) {\n    .hero, .ecosystem-intro { grid-template-columns:1fr; gap:40px; padding:48px 24px; }\n    .hero-image-wrap { order:-1; }\n    .carousel-slide { grid-template-columns:1fr; gap:32px; padding:0 24px; }\n    .carousel-slide.reverse { direction:ltr; }\n    .app-carousel-slide { grid-template-columns:1fr; gap:40px; }\n    .app-slide-img { width:200px; }\n    .problem-grid { grid-template-columns:1fr; }\n    .pricing-grid { grid-template-columns:1fr; }\n    .pricing-card.featured { transform:none; }\n    .problem, .pricing, .faq, .guarantee, .app-section { padding:56px 24px; }\n    .carousel-section { padding:56px 0; }\n    .final-cta { padding:56px 24px; }\n    .final-trust { gap:16px; }\n    .trust-sep { display:none; }\n  }\n  @media(max-width:600px) {\n    .navbar { padding:14px 20px; }\n    .trust-bar { gap:12px; font-size:12px; }\n    .app-slide-img { width:160px; }\n  }\n  @media(prefers-reduced-motion:reduce) { *, *::before, *::after { animation-duration:0.01ms !important; transition-duration:0.01ms !important; } }\n<\/style>\n<\/head>\n<body>\n\n<!-- TRUST BAR -->\n<div class=\"trust-bar\">\n  <div class=\"trust-item\">\n    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\/><\/svg>\n    60-Day Money-Back Guarantee\n  <\/div>\n  <div class=\"trust-sep\"><\/div>\n  <div class=\"trust-item\">\n    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"1\" y=\"3\" width=\"15\" height=\"13\"\/><polygon points=\"16 8 20 8 23 11 23 16 16 16 16 8\"\/><circle cx=\"5.5\" cy=\"18.5\" r=\"2.5\"\/><circle cx=\"18.5\" cy=\"18.5\" r=\"2.5\"\/><\/svg>\n    Tracked Delivery in 7\u20139 Business Days\n  <\/div>\n  <div class=\"trust-sep\"><\/div>\n  <div class=\"trust-item\">\n    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><path d=\"M12 8v4l3 3\"\/><\/svg>\n    Full AI Coach Included\n  <\/div>\n<\/div>\n\n<!-- NAVBAR -->\n<nav class=\"navbar\">\n  <img decoding=\"async\" src=\"https:\/\/joyoverfit.com\/wp-content\/uploads\/2026\/07\/logo_JOF-removebg-preview-1.png\" alt=\"Joy OverFit\" class=\"navbar-logo\">\n  <a href=\"#pricing\" class=\"navbar-cta\">Get My Ecosystem \u2192<\/a>\n<\/nav>\n\n<!-- HERO -->\n<section class=\"hero\">\n  <div>\n    <p class=\"hero-eyebrow\">Zero public gyms \u00b7 Built for heavy starts \u00b7 Zero joint impact<\/p>\n    <h1>Transform in secret.<br><em>Shock them<\/em> with YOUR results.<\/h1>\n    <p class=\"hero-sub\">The complete at-home smart ecosystem built to protect your joints and rebuild your body \u2014 without judgment, without shame, and without an audience.<\/p>\n    <a href=\"#pricing\" class=\"btn-primary\">Unlock My Ecosystem \u2192<\/a>\n    <p class=\"hero-guarantee\">60-day comfort guarantee \u00b7 Free return shipping \u00b7 Zero risk<\/p>\n  <\/div>\n  <div class=\"hero-image-wrap\">\n    <img decoding=\"async\" src=\"https:\/\/joyoverfit.com\/wp-content\/uploads\/2026\/08\/banierre-2-scaled.webp\" alt=\"Joy OverFit\">\n    <div class=\"hero-badge\"><div class=\"dot\"><\/div>90-Day Progressive Challenge<\/div>\n  <\/div>\n<\/section>\n\n<!-- PROBLEM -->\n<section class=\"problem\">\n  <h2>Public gyms demand a performance.<br>Standard cardio destroys your knees.<\/h2>\n  <div class=\"problem-grid\">\n    <div class=\"problem-card\">\n      <div class=\"problem-icon\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"\/><circle cx=\"12\" cy=\"12\" r=\"3\"\/><\/svg>\n      <\/div>\n      <h3>The Gym Stare<\/h3>\n      <p>Every machine feels like an audience. Every rep is a performance you didn't sign up for.<\/p>\n    <\/div>\n    <div class=\"problem-card\">\n      <div class=\"problem-icon\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 2L2 7l10 5 10-5-10-5z\"\/><path d=\"M2 17l10 5 10-5M2 12l10 5 10-5\"\/><\/svg>\n      <\/div>\n      <h3>Joint Pain on Day 3<\/h3>\n      <p>Standard cardio is built for people already fit. Heavy starts destroy knees and ankles before results appear.<\/p>\n    <\/div>\n    <div class=\"problem-card\">\n      <div class=\"problem-icon\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"23 4 23 10 17 10\"\/><polyline points=\"1 20 1 14 7 14\"\/><path d=\"M3.51 9a9 9 0 0114.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0020.49 15\"\/><\/svg>\n      <\/div>\n      <h3>The Restart Loop<\/h3>\n      <p>You start strong, get injured or discouraged, and reset to zero. The traditional fitness industry was never designed for your starting point.<\/p>\n    <\/div>\n  <\/div>\n  <div class=\"problem-reframe\">\n    <h3>You haven't failed. The system failed you.<\/h3>\n    <p>The traditional fitness industry just wasn't built for heavy starts. The Joy OverFit system changes the rules of the game \u2014 built from day one around your body, your joints, and your pace.<\/p>\n  <\/div>\n<\/section>\n\n<!-- ECOSYSTEM INTRO -->\n<section>\n  <div class=\"ecosystem-intro\">\n    <img decoding=\"async\" src=\"https:\/\/joyoverfit.com\/wp-content\/uploads\/2026\/08\/coffret.webp\" alt=\"Joy OverFit Ecosystem\">\n    <div>\n      <p class=\"section-label\">The JOF System<\/p>\n      <h2>The First Ecosystem That Actually Listens to Your Body.<\/h2>\n      <p>Why the JOF System guarantees your 90-day success:<\/p>\n      <ul class=\"feature-list\">\n        <li><span class=\"check\">\u2713<\/span><span><strong>Zero-Friction Nutrition:<\/strong> The smart food scale and app handle your calories automatically. No math, no guesswork, no stress.<\/span><\/li>\n        <li><span class=\"check\">\u2713<\/span><span><strong>Joint-First Engineering:<\/strong> Compression sleeves absorb shock and protect your knees and ankles from day one.<\/span><\/li>\n        <li><span class=\"check\">\u2713<\/span><span><strong>Intuitive Daily Adaptation:<\/strong> The smart bracelet tracks your recovery so the AI adjusts your intensity every single day.<\/span><\/li>\n        <li><span class=\"check\">\u2713<\/span><span><strong>Guaranteed Low-Impact Training:<\/strong> Zero violent jumps, zero traumatic floor exercises.<\/span><\/li>\n        <li><span class=\"check\">\u2713<\/span><span><strong>Invisible Progression:<\/strong> From 2 minutes on day one, up to 45 minutes \u2014 entirely at your own pace.<\/span><\/li>\n        <li><span class=\"check\">\u2713<\/span><span><strong>Total Privacy:<\/strong> Your living room is your new sanctuary. The only eyes on you are your own.<\/span><\/li>\n      <\/ul>\n      <br>\n      <a href=\"#pricing\" class=\"btn-primary\">Get The Full System \u2192<\/a>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- CAROUSEL PRODUITS PHYSIQUES -->\n<section class=\"carousel-section\">\n  <div class=\"carousel-header\">\n    <p class=\"section-label\">What's Inside<\/p>\n    <h2>Your Complete 8-Piece Sanctuary.<\/h2>\n    <p>Every piece works together. No guesswork, no missing tools \u2014 a connected ecosystem built to protect your joints and accelerate your transformation from day one.<\/p>\n  <\/div>\n\n  <div class=\"carousel-wrap\" id=\"productCarousel\">\n    <div class=\"carousel-track\" id=\"productTrack\">\n\n      <div class=\"carousel-slide\">\n        <img decoding=\"async\" class=\"slide-img\" src=\"https:\/\/joyoverfit.com\/wp-content\/uploads\/2026\/08\/jumprope-1.webp\" alt=\"Jump Rope\">\n        <div>\n          <p class=\"slide-number\">01 of 08<\/p>\n          <h3 class=\"slide-title\">The 2-in-1 Adaptive Jump Rope<\/h3>\n          <p class=\"slide-desc\">Start with the cordless weighted balls to build endurance and activate your metabolism safely in your living room, with zero tripping hazards. Once your confidence grows, simply snap on the real cable. The ultimate high-reward cardio, completely redesigned for heavy starts.<\/p>\n        <\/div>\n      <\/div>\n\n      <div class=\"carousel-slide reverse\">\n        <img decoding=\"async\" class=\"slide-img\" src=\"https:\/\/joyoverfit.com\/wp-content\/uploads\/2026\/08\/Genouillere-1.webp\" alt=\"Knee Armor\">\n        <div>\n          <p class=\"slide-number\">02 of 08<\/p>\n          <h3 class=\"slide-title\">The 360\u00b0 Knee Armor<\/h3>\n          <p class=\"slide-desc\">Your knees take the hardest hit during a heavy start. These high-compression sleeves act like a second set of ligaments, wrapping your joints in a tight protective shield. Move with total confidence, without fearing the pain of tomorrow.<\/p>\n        <\/div>\n      <\/div>\n\n      <div class=\"carousel-slide\">\n        <img decoding=\"async\" class=\"slide-img\" src=\"https:\/\/joyoverfit.com\/wp-content\/uploads\/2026\/08\/chevilliere-1.webp\" alt=\"Ankle Wraps\">\n        <div>\n          <p class=\"slide-number\">03 of 08<\/p>\n          <h3 class=\"slide-title\">The Core-Stability Ankle Wraps<\/h3>\n          <p class=\"slide-desc\">A successful transformation requires a rock-solid foundation. These adjustable wraps lock your ankles in a safe biomechanical position, completely eliminating the fear of rolling or twisting a joint during your daily sessions.<\/p>\n        <\/div>\n      <\/div>\n\n      <div class=\"carousel-slide reverse\">\n        <img decoding=\"async\" class=\"slide-img\" src=\"https:\/\/joyoverfit.com\/wp-content\/uploads\/2026\/08\/semelle-1.webp\" alt=\"Insoles\">\n        <div>\n          <p class=\"slide-number\">04 of 08<\/p>\n          <h3 class=\"slide-title\">The Cloud-Step Shock Insoles<\/h3>\n          <p class=\"slide-desc\">Every step you take sends shockwaves up your legs. Slip these into your current shoes to instantly absorb heavy impacts. They turn hard living room floors into soft landing pads, saving your joints from unnecessary wear and tear.<\/p>\n        <\/div>\n      <\/div>\n\n      <div class=\"carousel-slide\">\n        <img decoding=\"async\" class=\"slide-img\" src=\"https:\/\/joyoverfit.com\/wp-content\/uploads\/2026\/08\/scale-men-1.webp\" alt=\"Smart Scale\">\n        <div>\n          <p class=\"slide-number\">05 of 08<\/p>\n          <h3 class=\"slide-title\">The Judgment-Free Smart Scale<\/h3>\n          <p class=\"slide-desc\">Step on, step off, done. No need to write anything down. This scale privately syncs your progress directly to your app, tracking real body composition changes and celebrating your victories in total privacy.<\/p>\n        <\/div>\n      <\/div>\n\n      <div class=\"carousel-slide reverse\">\n        <img decoding=\"async\" class=\"slide-img\" src=\"https:\/\/joyoverfit.com\/wp-content\/uploads\/2026\/08\/Scale-food-1.webp\" alt=\"Food Scale\">\n        <div>\n          <p class=\"slide-number\">06 of 08<\/p>\n          <h3 class=\"slide-title\">The Zero-Friction Food Scale<\/h3>\n          <p class=\"slide-desc\">Place your food on it and the app instantly registers calories and macros. No math, no barcode scanning, no overwhelming diet apps. Just perfectly portioned meals in seconds, every single day.<\/p>\n        <\/div>\n      <\/div>\n\n      <div class=\"carousel-slide\">\n        <img decoding=\"async\" class=\"slide-img\" src=\"https:\/\/joyoverfit.com\/wp-content\/uploads\/2026\/08\/bracelet1.webp\" alt=\"Smart Band\">\n        <div>\n          <p class=\"slide-number\">07 of 08<\/p>\n          <h3 class=\"slide-title\">The Smart Recovery Band<\/h3>\n          <p class=\"slide-desc\">Your invisible link to the AI Coach. It silently tracks your heart rate, sleep quality, and daily fatigue \u2014 sending vital data to the app so your workout is always perfectly adapted to what your body can actually handle today.<\/p>\n        <\/div>\n      <\/div>\n\n      <div class=\"carousel-slide reverse\">\n        <img decoding=\"async\" class=\"slide-img\" src=\"https:\/\/joyoverfit.com\/wp-content\/uploads\/2026\/08\/Smart-ruban-meter-1.webp\" alt=\"Smart Tape\">\n        <div>\n          <p class=\"slide-number\">08 of 08<\/p>\n          <h3 class=\"slide-title\">The Smart Body Measuring Tape<\/h3>\n          <p class=\"slide-desc\">The scale only tells half the story. As you rebuild your body, muscle replaces fat. This smart tape automatically syncs your measurements (waist, arms, chest) to the AI Coach \u2014 celebrating your inch-loss even on days when the scale doesn't move.<\/p>\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/div>\n\n  <div class=\"carousel-controls\">\n    <button class=\"carousel-btn\" id=\"productPrev\" aria-label=\"Previous\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><polyline points=\"15 18 9 12 15 6\"\/><\/svg>\n    <\/button>\n    <div class=\"carousel-dots\" id=\"productDots\"><\/div>\n    <button class=\"carousel-btn\" id=\"productNext\" aria-label=\"Next\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><polyline points=\"9 18 15 12 9 6\"\/><\/svg>\n    <\/button>\n  <\/div>\n<\/section>\n\n<!-- APP CAROUSEL -->\n<section class=\"app-section\">\n  <div class=\"app-section-inner\">\n    <div class=\"app-header\">\n      <p class=\"section-label\" style=\"color:rgba(255,255,255,0.6);\">The Brain of The System<\/p>\n      <h2>The Joy OverFit AI Coach<\/h2>\n      <p>It doesn't push you to the limit \u2014 it protects you. Connected to your smart bracelet, it reads your body every single day and adapts everything automatically. Zero guesswork. Zero risk of injury.<\/p>\n    <\/div>\n\n    <div class=\"app-carousel-wrap\" id=\"appCarousel\">\n      <div class=\"app-carousel-track\" id=\"appTrack\">\n\n        <div class=\"app-carousel-slide\">\n          <img decoding=\"async\" class=\"app-slide-img\" src=\"https:\/\/joyoverfit.com\/wp-content\/uploads\/2026\/08\/hub-scale-food-2026_6_9_17_21_06_4.webp\" alt=\"App Workout\">\n          <div class=\"app-slide-content\">\n            <p class=\"app-slide-tag\">Feature 01<\/p>\n            <h3 class=\"app-slide-title\">Sleep-Aware Daily Adaptation<\/h3>\n            <p class=\"app-slide-desc\">Every morning, your smart bracelet sends your sleep quality, heart rate, and fatigue data to the AI. It then recalculates your entire day \u2014 workout intensity, meal portions, recovery plan. Bad night? The AI protects your joints and keeps your streak alive.<\/p>\n            <ul class=\"app-features-list\">\n              <li><span class=\"acheck\">\u2713<\/span>Automatic intensity adjustment based on sleep<\/li>\n              <li><span class=\"acheck\">\u2713<\/span>Joint protection protocols activated on tough days<\/li>\n              <li><span class=\"acheck\">\u2713<\/span>Zero decisions required \u2014 just follow the plan<\/li>\n            <\/ul>\n          <\/div>\n        <\/div>\n\n        <div class=\"app-carousel-slide\">\n          <img decoding=\"async\" class=\"app-slide-img\" src=\"https:\/\/joyoverfit.com\/wp-content\/uploads\/2026\/08\/scale-men_1.webp\" alt=\"App Nutrition\">\n          <div class=\"app-slide-content\">\n            <p class=\"app-slide-tag\">Feature 02<\/p>\n            <h3 class=\"app-slide-title\">Zero-Friction Nutrition Tracking<\/h3>\n            <p class=\"app-slide-desc\">Place your food on the smart scale \u2014 the app registers calories and macros instantly. Eating out? Scan your plate once a week. The AI recalculates tomorrow's nutrition plan automatically, keeping you on track without obsessing over numbers.<\/p>\n            <ul class=\"app-features-list\">\n              <li><span class=\"acheck\">\u2713<\/span>90-day done-for-you meal plan included<\/li>\n              <li><span class=\"acheck\">\u2713<\/span>1 plate scan per week \u2014 AI recalibrates the rest<\/li>\n              <li><span class=\"acheck\">\u2713<\/span>Weekly shopping list generated every 3 days<\/li>\n            <\/ul>\n          <\/div>\n        <\/div>\n\n        <div class=\"app-carousel-slide\">\n          <img decoding=\"async\" class=\"app-slide-img\" src=\"https:\/\/joyoverfit.com\/wp-content\/uploads\/2026\/08\/smart-ruban-.webp\" alt=\"App Recipes\">\n          <div class=\"app-slide-content\">\n            <p class=\"app-slide-tag\">Feature 03<\/p>\n            <h3 class=\"app-slide-title\">90 Days of Smart Workouts<\/h3>\n            <p class=\"app-slide-desc\">From a 2-minute cordless rope activation on Day 1, to 45-minute full sessions by Day 90. Every workout is low-impact, joint-protected, and adapted to your exact fitness level. The app tracks every session and adjusts the next one automatically.<\/p>\n            <ul class=\"app-features-list\">\n              <li><span class=\"acheck\">\u2713<\/span>Progressive training \u2014 invisible, automatic scaling<\/li>\n              <li><span class=\"acheck\">\u2713<\/span>Zero violent jumps, zero traumatic floor exercises<\/li>\n              <li><span class=\"acheck\">\u2713<\/span>Video-guided sessions, no gym required<\/li>\n            <\/ul>\n          <\/div>\n        <\/div>\n\n      <\/div>\n    <\/div>\n\n    <div class=\"app-controls\">\n      <button class=\"app-btn\" id=\"appPrev\" aria-label=\"Previous\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><polyline points=\"15 18 9 12 15 6\"\/><\/svg>\n      <\/button>\n      <div class=\"app-dots\" id=\"appDots\"><\/div>\n      <button class=\"app-btn\" id=\"appNext\" aria-label=\"Next\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><polyline points=\"9 18 15 12 9 6\"\/><\/svg>\n      <\/button>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- GUARANTEE -->\n<section class=\"guarantee\">\n  <div class=\"guarantee-badge\">\n    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\/><polyline points=\"9 12 11 14 15 10\"\/><\/svg>\n  <\/div>\n  <h2>The 60-Day Safe-Start Comfort Guarantee.<\/h2>\n  <p>Try the entire Joy OverFit ecosystem in your living room for 60 days. If the joint armor causes discomfort, or if the system doesn't make you feel 100% secure, we will refund your money in full and cover the return shipping.<\/p>\n  <p><strong style=\"color:var(--blue);\">You even keep the digital bonuses. Zero risk.<\/strong><\/p>\n  <div class=\"shipping-note\">\n    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"1\" y=\"3\" width=\"15\" height=\"13\"\/><polygon points=\"16 8 20 8 23 11 23 16 16 16 16 8\"\/><circle cx=\"5.5\" cy=\"18.5\" r=\"2.5\"\/><circle cx=\"18.5\" cy=\"18.5\" r=\"2.5\"\/><\/svg>\n    Fully tracked delivery \u00b7 7 to 9 business days\n  <\/div>\n<\/section>\n\n<!-- SIZE SELECTOR TIROIR -->\n<section class=\"pricing\" id=\"pricing\">\n  <div class=\"size-drawer-wrap\">\n    <button class=\"size-drawer-toggle\" id=\"sizeDrawerToggle\" aria-expanded=\"false\">\n      <span class=\"size-drawer-icon\">\n        <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M21 16V8a2 2 0 00-1-1.73l-7-4a2 2 0 00-2 0l-7 4A2 2 0 003 8v8a2 2 0 001 1.73l7 4a2 2 0 002 0l7-4A2 2 0 0021 16z\"\/><\/svg>\n      <\/span>\n      <span class=\"size-drawer-label\">Select your sizes before ordering<\/span>\n      <span class=\"size-drawer-arrow\">\n        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><polyline points=\"6 9 12 15 18 9\"\/><\/svg>\n      <\/span>\n    <\/button>\n\n    <div class=\"size-drawer\" id=\"sizeDrawer\">\n      <div class=\"size-drawer-inner\">\n\n        <div class=\"size-group\">\n          <p class=\"size-group-label\">\ud83d\udc5f Insole Size<\/p>\n          <p class=\"size-group-hint\">Measure your foot length or check your current shoe size<\/p>\n          <div class=\"size-options\" data-group=\"insole\">\n            <button class=\"size-btn\" data-size=\"XS (EU 35-36)\">XS<span>EU 35-36<\/span><\/button>\n            <button class=\"size-btn\" data-size=\"S (EU 37-38)\">S<span>EU 37-38<\/span><\/button>\n            <button class=\"size-btn\" data-size=\"M (EU 39-40)\">M<span>EU 39-40<\/span><\/button>\n            <button class=\"size-btn\" data-size=\"L (EU 41-42)\">L<span>EU 41-42<\/span><\/button>\n            <button class=\"size-btn\" data-size=\"XL (EU 43-44)\">XL<span>EU 43-44<\/span><\/button>\n            <button class=\"size-btn\" data-size=\"XXL (EU 45-46)\">XXL<span>EU 45-46<\/span><\/button>\n          <\/div>\n        <\/div>\n\n        <div class=\"size-group\">\n          <p class=\"size-group-label\">\ud83e\uddb5 Knee Sleeve Size<\/p>\n          <p class=\"size-group-hint\">Measure the circumference of your knee<\/p>\n          <div class=\"size-options\" data-group=\"knee\">\n            <button class=\"size-btn\" data-size=\"XL\">XL<\/button>\n            <button class=\"size-btn\" data-size=\"2XL\">2XL<\/button>\n            <button class=\"size-btn\" data-size=\"3XL\">3XL<\/button>\n            <button class=\"size-btn\" data-size=\"4XL\">4XL<\/button>\n            <button class=\"size-btn\" data-size=\"5XL\">5XL<\/button>\n            <button class=\"size-btn\" data-size=\"6XL\">6XL<\/button>\n          <\/div>\n        <\/div>\n\n        <div class=\"size-group\">\n          <p class=\"size-group-label\">\ud83e\uddb6 Ankle Wrap Size<\/p>\n          <p class=\"size-group-hint\">Measure the circumference of your ankle<\/p>\n          <div class=\"size-options\" data-group=\"ankle\">\n            <button class=\"size-btn\" data-size=\"XL\">XL<\/button>\n            <button class=\"size-btn\" data-size=\"2XL\">2XL<\/button>\n            <button class=\"size-btn\" data-size=\"3XL\">3XL<\/button>\n            <button class=\"size-btn\" data-size=\"4XL\">4XL<\/button>\n            <button class=\"size-btn\" data-size=\"5XL\">5XL<\/button>\n            <button class=\"size-btn\" data-size=\"6XL\">6XL<\/button>\n          <\/div>\n        <\/div>\n\n        <div class=\"size-summary\" id=\"sizeSummary\" style=\"display:none;\">\n          <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg>\n          <span id=\"sizeSummaryText\"><\/span>\n        <\/div>\n\n        <button class=\"size-drawer-close\" id=\"sizeDrawerClose\">\n          Got it \u2014 Show me the plans \u2193\n        <\/button>\n\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"pricing-header\">\n    <p class=\"section-label\">Choose Your Start<\/p>\n    <h2>Start Your 90-Day Transformation Today.<\/h2>\n    <p>Every plan includes the Joy OverFit app and AI Coach access. No hidden fees.<\/p>\n  <\/div>\n  <div class=\"pricing-grid\">\n\n    <div class=\"pricing-card\">\n      <img decoding=\"async\" class=\"card-img\" src=\"https:\/\/joyoverfit.com\/wp-content\/uploads\/2026\/07\/generated-image.pngbox2-1.png\" alt=\"Foundation Plan\" onerror=\"this.src='https:\/\/placehold.co\/400x300\/E8DDD3\/4A6274?text=Foundation'\">\n      <p class=\"card-plan-name\">The Foundation Plan<\/p>\n      <p class=\"card-title\">4-Piece Joint Armor<\/p>\n      <ul class=\"card-items\">\n        <li><span class=\"icon\">\u2713<\/span>Rope, Knee Sleeves, Ankle Wraps, Insoles<\/li>\n        <li><span class=\"icon\">\u2713<\/span>JOF App Access<\/li>\n        <li><span class=\"icon\">\u2713<\/span>1-Month AI Coach Trial<\/li>\n      <\/ul>\n      <div class=\"card-price\">$199<\/div>\n      <p class=\"card-price-sub\">1 month AI included \u00b7 Then $19.90\/mo, cancel anytime.<\/p>\n      <div class=\"pay-badges\"><span class=\"pay-badge\"><svg width=\"38\" height=\"16\" viewBox=\"0 0 38 16\" fill=\"none\"><rect width=\"38\" height=\"16\" rx=\"3\" fill=\"#FFB3C7\"\/><text x=\"19\" y=\"11.5\" text-anchor=\"middle\" font-size=\"7\" font-weight=\"700\" fill=\"#1A1A1A\" font-family=\"Arial\">afterpay<\/text><\/svg> 4x $49.75<\/span><span class=\"pay-badge\"><svg width=\"38\" height=\"16\" viewBox=\"0 0 38 16\" fill=\"none\"><rect width=\"38\" height=\"16\" rx=\"3\" fill=\"#FFB3C7\"\/><text x=\"19\" y=\"11.5\" text-anchor=\"middle\" font-size=\"7\" font-weight=\"700\" fill=\"#1A1A1A\" font-family=\"Arial\">klarna<\/text><\/svg> 4x $49.75<\/span><\/div>\n      <a href=\"https:\/\/joyoverfit.com\/?page_id=310&#038;add-to-cart=206\" class=\"btn-card btn-card-secondary\">Start Basic<\/a>\n    <\/div>\n\n    <div class=\"pricing-card featured\">\n      <div class=\"badge-popular\">\u2b50 Most Popular<\/div>\n      <img decoding=\"async\" class=\"card-img\" src=\"https:\/\/joyoverfit.com\/wp-content\/uploads\/2026\/07\/generated-image.pngbox2-1.png\" alt=\"Complete Ecosystem\" onerror=\"this.src='https:\/\/placehold.co\/400x300\/E8DDD3\/4A6274?text=Complete'\">\n      <p class=\"card-plan-name\">The Complete Ecosystem<\/p>\n      <p class=\"card-title\">Full 8-Piece Smart System<\/p>\n      <ul class=\"card-items\">\n        <li><span class=\"icon\">\u2713<\/span>The Full 8-Piece Smart Ecosystem<\/li>\n        <li><span class=\"icon\">\u2713<\/span>90-Day Full AI Coach Access<\/li>\n        <li><span class=\"icon\">\u2713<\/span>Zero-Friction Automated Tracking<\/li>\n        <li><span class=\"icon\">\u2713<\/span>90-Day Done-For-You Meal Plan<\/li>\n      <\/ul>\n      <div class=\"card-price\">$399<\/div>\n      <p class=\"card-price-sub\">3 months AI included \u00b7 Then $19.90\/mo, cancel anytime.<\/p>\n      <div class=\"pay-badges\"><span class=\"pay-badge\"><svg width=\"38\" height=\"16\" viewBox=\"0 0 38 16\" fill=\"none\"><rect width=\"38\" height=\"16\" rx=\"3\" fill=\"#FFB3C7\"\/><text x=\"19\" y=\"11.5\" text-anchor=\"middle\" font-size=\"7\" font-weight=\"700\" fill=\"#1A1A1A\" font-family=\"Arial\">afterpay<\/text><\/svg> 4x $99.75<\/span><span class=\"pay-badge\"><svg width=\"38\" height=\"16\" viewBox=\"0 0 38 16\" fill=\"none\"><rect width=\"38\" height=\"16\" rx=\"3\" fill=\"#FFB3C7\"\/><text x=\"19\" y=\"11.5\" text-anchor=\"middle\" font-size=\"7\" font-weight=\"700\" fill=\"#1A1A1A\" font-family=\"Arial\">klarna<\/text><\/svg> 4x $99.75<\/span><\/div>\n      <a href=\"https:\/\/joyoverfit.com\/?page_id=310&#038;add-to-cart=207\" class=\"btn-card btn-card-primary\">Get The Full System \u2192<\/a>\n    <\/div>\n\n    <div class=\"pricing-card\">\n      <img decoding=\"async\" class=\"card-img\" src=\"https:\/\/joyoverfit.com\/wp-content\/uploads\/2026\/07\/generated-image.pngbox2-1.png\" alt=\"Transform Together\" onerror=\"this.src='https:\/\/placehold.co\/400x300\/E8DDD3\/4A6274?text=Together'\">\n      <p class=\"card-plan-name\">Transform Together<\/p>\n      <p class=\"card-title\">Multi-User Advanced<\/p>\n      <ul class=\"card-items\">\n        <li><span class=\"icon\">\u2713<\/span>The Complete 8-Piece Ecosystem<\/li>\n        <li><span class=\"icon\">\u2713<\/span>4 Additional Smart Recovery Bands<\/li>\n        <li><span class=\"icon\">\u2713<\/span>Extended 6-Month AI Coach Access<\/li>\n        <li><span class=\"icon\">\u2713<\/span>Phase 2: Muscle Building Program<\/li>\n      <\/ul>\n      <div class=\"card-price\">$599<\/div>\n      <p class=\"card-price-sub\">6 months AI included \u00b7 Then $19.90\/mo, cancel anytime.<\/p>\n      <div class=\"pay-badges\"><span class=\"pay-badge\"><svg width=\"38\" height=\"16\" viewBox=\"0 0 38 16\" fill=\"none\"><rect width=\"38\" height=\"16\" rx=\"3\" fill=\"#FFB3C7\"\/><text x=\"19\" y=\"11.5\" text-anchor=\"middle\" font-size=\"7\" font-weight=\"700\" fill=\"#1A1A1A\" font-family=\"Arial\">afterpay<\/text><\/svg> 4x $149.75<\/span><span class=\"pay-badge\"><svg width=\"38\" height=\"16\" viewBox=\"0 0 38 16\" fill=\"none\"><rect width=\"38\" height=\"16\" rx=\"3\" fill=\"#FFB3C7\"\/><text x=\"19\" y=\"11.5\" text-anchor=\"middle\" font-size=\"7\" font-weight=\"700\" fill=\"#1A1A1A\" font-family=\"Arial\">klarna<\/text><\/svg> 4x $149.75<\/span><\/div>\n      <a href=\"https:\/\/joyoverfit.com\/?page_id=310&#038;add-to-cart=208\" class=\"btn-card btn-card-secondary\">Transform Together<\/a>\n    <\/div>\n\n  <\/div>\n<\/section>\n\n<!-- FAQ -->\n<section class=\"faq\">\n  <h2>Frequently Asked Questions<\/h2>\n  <div class=\"faq-item\">\n    <div class=\"faq-q\">How long does delivery take?<div class=\"faq-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg><\/div><\/div>\n    <div class=\"faq-a\">Your ecosystem is shipped directly from our manufacturing partners. Fully tracked, standard delivery takes 7 to 9 business days to the United States.<\/div>\n  <\/div>\n  <div class=\"faq-item\">\n    <div class=\"faq-q\">What if I'm very heavy or haven't exercised in years?<div class=\"faq-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg><\/div><\/div>\n    <div class=\"faq-a\">Joy OverFit was built specifically for heavy starts. Day 1 starts with just 2 minutes of cordless rope activation. No jumping, no floor exercises, no joint impact. The system scales invisibly with your progress.<\/div>\n  <\/div>\n  <div class=\"faq-item\">\n    <div class=\"faq-q\">What is the 60-day guarantee exactly?<div class=\"faq-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg><\/div><\/div>\n    <div class=\"faq-a\">Try the complete ecosystem for 60 days. If you're not fully satisfied, contact us and we will refund every cent and cover return shipping. You keep the digital bonuses regardless.<\/div>\n  <\/div>\n  <div class=\"faq-item\">\n    <div class=\"faq-q\">How does the AI Coach work exactly?<div class=\"faq-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg><\/div><\/div>\n    <div class=\"faq-a\">Your smart bracelet sends your sleep quality, heart rate, and fatigue data to the app every morning. The AI then recalculates your workout and meal plan for the day. Had a rough night? The AI automatically reduces intensity and protects your joints. You follow the plan \u2014 it does the thinking.<\/div>\n  <\/div>\n  <div class=\"faq-item\">\n    <div class=\"faq-q\">What happens after the included AI period?<div class=\"faq-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg><\/div><\/div>\n    <div class=\"faq-a\">After your included AI Coach period, access continues at $19.90\/month \u2014 cancel anytime with no penalty. You unlock Phase 2 programs as long as your subscription is active. All your data and progress stay in the app forever.<\/div>\n  <\/div>\n  <div class=\"faq-item\">\n    <div class=\"faq-q\">Is my data private?<div class=\"faq-icon\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg><\/div><\/div>\n    <div class=\"faq-a\">Completely. Your body data, measurements, and progress are private and encrypted. Nothing is shared publicly. Your living room remains your sanctuary \u2014 in the physical world and the digital one.<\/div>\n  <\/div>\n<\/section>\n\n<!-- FINAL CTA -->\n<section class=\"final-cta\">\n  <h2>Start Day 1 \u2014 Today. In Your Living Room.<\/h2>\n  <p>Stop waiting for the \"right time.\" Start transforming in private, at your own pace, with a system built for your body.<\/p>\n  <a href=\"#pricing\" class=\"btn-primary\">Unlock My Ecosystem \u2192<\/a>\n  <div class=\"final-trust\">\n    <div class=\"final-trust-item\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\/><\/svg>\n      60-Day Money-Back\n    <\/div>\n    <div class=\"final-trust-item\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"1\" y=\"3\" width=\"15\" height=\"13\"\/><polygon points=\"16 8 20 8 23 11 23 16 16 16 16 8\"\/><circle cx=\"5.5\" cy=\"18.5\" r=\"2.5\"\/><circle cx=\"18.5\" cy=\"18.5\" r=\"2.5\"\/><\/svg>\n      Tracked Delivery 7\u20139 Days\n    <\/div>\n    <div class=\"final-trust-item\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><path d=\"M12 8v4l3 3\"\/><\/svg>\n      AI Coach Included\n    <\/div>\n    <div class=\"final-trust-item\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M3 9l9-7 9 7v11a2 2 0 01-2 2H5a2 2 0 01-2-2z\"\/><polyline points=\"9 22 9 12 15 12 15 22\"\/><\/svg>\n      100% At Home\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- FOOTER -->\n<footer class=\"footer\">\n  <div class=\"footer-links\">\n    <a href=\"https:\/\/joyoverfit.com\/?page_id=413\">Privacy Policy<\/a>\n    <a href=\"https:\/\/joyoverfit.com\/?page_id=411\">Terms of Service<\/a>\n    <a href=\"https:\/\/joyoverfit.com\/?page_id=409\">Return Policy<\/a>\n    <a href=\"mailto:customer@joyoverfit.com\">Contact<\/a>\n  <\/div>\n  <p>\u00a9 2026 Joy OverFit LLC. All rights reserved.<\/p>\n  <p style=\"margin-top:8px;font-size:11px;opacity:0.4;\">Results may vary. This product is not intended to diagnose, treat, cure, or prevent any disease.<\/p>\n<\/footer>\n\n<script>\n(function(){\n  \/\/ ===== CAROUSEL G\u00c9N\u00c9RIQUE =====\n  function initCarousel(trackId, dotsId, prevId, nextId, autoDelay) {\n    var track = document.getElementById(trackId);\n    var dotsWrap = document.getElementById(dotsId);\n    var prevBtn = document.getElementById(prevId);\n    var nextBtn = document.getElementById(nextId);\n    if(!track) return;\n\n    var slides = track.children;\n    var total = slides.length;\n    var current = 0;\n    var timer = null;\n\n    \/\/ Cr\u00e9er les dots\n    for(var i=0; i<total; i++){\n      var dot = document.createElement('button');\n      dot.className = 'carousel-dot' + (i===0?' active':'');\n      dot.setAttribute('aria-label','Slide '+(i+1));\n      (function(idx){ dot.addEventListener('click', function(){ goTo(idx); resetTimer(); }); })(i);\n      dotsWrap.appendChild(dot);\n    }\n    \/\/ Changer la classe si c'est app-dots\n    if(dotsWrap.className === 'app-dots'){\n      var dots = dotsWrap.querySelectorAll('.carousel-dot');\n      dots.forEach(function(d){ d.className = 'app-dot' + (d.classList.contains('active')?' active':''); });\n    }\n\n    function goTo(idx){\n      current = (idx + total) % total;\n      track.style.transform = 'translateX(-' + (current * 100) + '%)';\n      var allDots = dotsWrap.children;\n      for(var j=0; j<allDots.length; j++){\n        allDots[j].classList.toggle('active', j===current);\n      }\n    }\n\n    function resetTimer(){\n      if(timer) clearInterval(timer);\n      timer = setInterval(function(){ goTo(current+1); }, autoDelay);\n    }\n\n    prevBtn.addEventListener('click', function(){ goTo(current-1); resetTimer(); });\n    nextBtn.addEventListener('click', function(){ goTo(current+1); resetTimer(); });\n\n    \/\/ Swipe mobile\n    var startX = 0;\n    track.addEventListener('touchstart', function(e){ startX = e.touches[0].clientX; }, {passive:true});\n    track.addEventListener('touchend', function(e){\n      var diff = startX - e.changedTouches[0].clientX;\n      if(Math.abs(diff) > 50){ goTo(diff > 0 ? current+1 : current-1); resetTimer(); }\n    }, {passive:true});\n\n    \/\/ Pause au hover\n    track.parentElement.addEventListener('mouseenter', function(){ if(timer) clearInterval(timer); });\n    track.parentElement.addEventListener('mouseleave', function(){ resetTimer(); });\n\n    resetTimer();\n  }\n\n  initCarousel('productTrack','productDots','productPrev','productNext', 4500);\n  initCarousel('appTrack','appDots','appPrev','appNext', 5000);\n\n  \/\/ ===== FAQ =====\n  \/\/ ===== TIKTOK EVENTS =====\n  \/\/ ViewContent \u2014 page vue\n  if(typeof ttq !== 'undefined') {\n    ttq.track('ViewContent', {\n      contents: [\n        { content_id: '207', content_type: 'product', content_name: 'Joy OverFit Complete Ecosystem', price: 399, brand: 'Joy OverFit' },\n        { content_id: '206', content_type: 'product', content_name: 'Joy OverFit Foundation Plan', price: 199, brand: 'Joy OverFit' },\n        { content_id: '208', content_type: 'product', content_name: 'Joy OverFit Transform Together', price: 599, brand: 'Joy OverFit' }\n      ],\n      value: 399,\n      currency: 'USD'\n    });\n  }\n\n  \/\/ AddToCart + InitiateCheckout \u2014 clic sur les boutons pricing\n  document.querySelectorAll('.btn-card').forEach(function(btn) {\n    btn.addEventListener('click', function() {\n      if(typeof ttq === 'undefined') return;\n      var href = this.href || '';\n      var contentId = href.includes('206') ? '206' : href.includes('207') ? '207' : '208';\n      var contentName = contentId === '206' ? 'Joy OverFit Foundation Plan' : contentId === '207' ? 'Joy OverFit Complete Ecosystem' : 'Joy OverFit Transform Together';\n      var price = contentId === '206' ? 199 : contentId === '207' ? 399 : 599;\n\n      ttq.track('AddToCart', {\n        contents: [{ content_id: contentId, content_type: 'product', content_name: contentName }],\n        value: price,\n        currency: 'USD'\n      });\n\n      ttq.track('InitiateCheckout', {\n        contents: [{ content_id: contentId, content_type: 'product', content_name: contentName, price: price, num_items: 1, brand: 'Joy OverFit' }],\n        value: price,\n        currency: 'USD'\n      });\n    });\n  });\n\n  \/\/ ===== SIZE DRAWER =====\n  (function(){\n    var toggle = document.getElementById('sizeDrawerToggle');\n    var drawer = document.getElementById('sizeDrawer');\n    var closeBtn = document.getElementById('sizeDrawerClose');\n    var summary = document.getElementById('sizeSummary');\n    var summaryText = document.getElementById('sizeSummaryText');\n    var selections = { insole: null, knee: null, ankle: null };\n\n    function updateSummary() {\n      var filled = Object.values(selections).filter(Boolean).length;\n      if(filled === 3) {\n        summaryText.textContent = 'Insole: ' + selections.insole + ' \u00b7 Knee: ' + selections.knee + ' \u00b7 Ankle: ' + selections.ankle;\n        summary.style.display = 'flex';\n        \/\/ Mettre \u00e0 jour les URLs des boutons checkout avec les tailles\n        var note = 'Insole:' + selections.insole + '|Knee:' + selections.knee + '|Ankle:' + selections.ankle;\n        document.querySelectorAll('a[href*=\"add-to-cart\"]').forEach(function(btn){\n          var url = btn.href.split('&size_note')[0];\n          btn.href = url + '&size_note=' + encodeURIComponent(note);\n        });\n      } else {\n        summary.style.display = 'none';\n      }\n    }\n\n    \/\/ Toggle drawer\n    toggle.addEventListener('click', function(){\n      var isOpen = drawer.classList.contains('open');\n      if(isOpen) {\n        drawer.classList.remove('open');\n        toggle.setAttribute('aria-expanded','false');\n      } else {\n        drawer.classList.add('open');\n        toggle.setAttribute('aria-expanded','true');\n      }\n    });\n\n    \/\/ Close button\n    closeBtn.addEventListener('click', function(){\n      drawer.classList.remove('open');\n      toggle.setAttribute('aria-expanded','false');\n      \/\/ Scroll vers pricing\n      document.getElementById('pricing').scrollIntoView({behavior:'smooth', block:'start'});\n    });\n\n    \/\/ Size buttons\n    document.querySelectorAll('.size-options').forEach(function(group){\n      var groupName = group.getAttribute('data-group');\n      group.querySelectorAll('.size-btn').forEach(function(btn){\n        btn.addEventListener('click', function(){\n          group.querySelectorAll('.size-btn').forEach(function(b){ b.classList.remove('selected'); });\n          btn.classList.add('selected');\n          selections[groupName] = btn.getAttribute('data-size');\n          updateSummary();\n          \/\/ Update toggle label\n          var filled = Object.values(selections).filter(Boolean).length;\n          document.querySelector('.size-drawer-label').textContent =\n            filled === 3 ? '\u2713 Sizes selected \u2014 ready to order!' :\n            filled > 0 ? 'Select your sizes (' + filled + '\/3 done)' :\n            'Select your sizes before ordering';\n        });\n      });\n    });\n  })();\n\n  \/\/ ===== FAQ =====\n  document.querySelectorAll('.faq-q').forEach(function(q){\n    q.addEventListener('click', function(){\n      var item = this.parentElement;\n      var isOpen = item.classList.contains('open');\n      document.querySelectorAll('.faq-item').forEach(function(i){ i.classList.remove('open'); });\n      if(!isOpen) item.classList.add('open');\n    });\n  });\n})();\n<\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>Joy OverFit \u2013 Transform in Secret. Shock Them With Your Results. 60-Day Money-Back Guarantee Tracked Delivery in 7\u20139 Business Days Full AI Coach Included Get My Ecosystem \u2192 Zero public gyms \u00b7 Built for heavy starts \u00b7 Zero joint impact Transform in secret.Shock them with YOUR results. The complete at-home smart ecosystem built to protect [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-306","page","type-page","status-publish","hentry","entry","owp-thumbs-layout-horizontal","owp-btn-normal","owp-tabs-layout-horizontal","has-no-thumbnails"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/joyoverfit.com\/index.php?rest_route=\/wp\/v2\/pages\/306","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/joyoverfit.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/joyoverfit.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/joyoverfit.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/joyoverfit.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=306"}],"version-history":[{"count":7,"href":"https:\/\/joyoverfit.com\/index.php?rest_route=\/wp\/v2\/pages\/306\/revisions"}],"predecessor-version":[{"id":419,"href":"https:\/\/joyoverfit.com\/index.php?rest_route=\/wp\/v2\/pages\/306\/revisions\/419"}],"wp:attachment":[{"href":"https:\/\/joyoverfit.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=306"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}