<!DOCTYPE html>
<html lang="fr">
    <head>

        <script type="text/javascript" src="https://cache.consentframework.com/js/pa/31260/c/iuk2E/stub" referrerpolicy="origin" charset="utf-8"></script>
        <script type="text/javascript" src="https://cdn.sirdata.eu/insights.js" async></script>
        <script type="text/javascript" src="https://tag.analytics-helper.com/ans/ga?pa=31260&c=242&tid=UA-1781857-1"></script>
                <script type="text/javascript" src="https://choices.consentframework.com/js/pa/31260/c/iuk2E/cmp" referrerpolicy="origin" charset="utf-8" async></script>
    
        <!-- GTM -->
        <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
        new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
        'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
        })(window,document,'script','dataLayer','GTM-NGSWKSK');</script>
        <!-- End GTM -->

        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <meta name="format-detection" content="telephone=no">
        <title>P&eacute;tition, sondage : MyPetition.org - Site de p&eacute;tition et de sondage en ligne</title>
        <meta name="description" lang="fr" content="Site de petitions et de sondages en ligne - Créer, gérer gratuitement vos pétitions et vos sondages en ligne" />
        <meta name="language" content="fr" />
        <meta itemprop="name" name="author" content="MyPetition.org" />
        <link rel="apple-touch-icon" href="https://www.mypetition.org/public/img/thematique/mesopinions-logo-socials-networks.png">

                        <link rel="canonical" href="https://www.mypetition.org/fr" />
                            <link rel="alternate" hreflang="pt" href="https://www.mypetition.org/pt" />
                            <link rel="alternate" hreflang="de" href="https://www.mypetition.org/de" />
                            <link rel="alternate" hreflang="en" href="https://www.mypetition.org/en" />
                            <link rel="alternate" hreflang="es" href="https://www.mypetition.org/es" />
                            <link rel="alternate" hreflang="fr" href="https://www.mypetition.org/fr" />
                            <link rel="alternate" hreflang="it" href="https://www.mypetition.org/it" />
                            <link rel="alternate" hreflang="pl" href="https://www.mypetition.org/pl" />
                            <link rel="alternate" hreflang="tr" href="https://www.mypetition.org/tr" />
                            <link rel="alternate" hreflang="x-default" href="https://www.mypetition.org/fr" />
            
                        <meta name="robots" content="index, follow" />
            
        
        <meta name="syndication-source" content="https://www.mypetition.org/fr" />
        <meta name="original-source" content="https://www.mypetition.org/fr" />

        <meta property="og:site_name" content="https://www.mypetition.org/" />
        <meta property="fb:admins" content="100000468289564" />
        <meta property="fb:app_id" content="1737315313006946" />
        <meta property="fb:pages" content="362787738480" />
        <meta property="og:title" content="P&eacute;tition, sondage : MyPetition.org - Site de p&eacute;tition et de sondage en ligne" />
        <meta property="og:description" content="Site de petitions et de sondages en ligne - Créer, gérer gratuitement vos pétitions et vos sondages en ligne" />
        <meta property="og:image" content="https://www.mypetition.org/public/img/facebook_share.png" />
        <meta property="og:image:width" content="620" />
        <meta property="og:image:height" content="372" />
        <meta property="og:url" content="https://www.mypetition.org/fr" />
        <meta property="og:type" content="website" />
        <meta property="og:locale" content="fr" />

        <meta name="google-site-verification" content="lqRipVGM6cJvPqqE-KHUtMMBlxEK-Ns6SFhb43GoxgI" />
        <meta name="google-site-verification" content="uuK9rIu_-wNiSyiUOnMRzvudHNIV3E-4wIDnW-dZC58" />

        <meta name="twitter:card" content="summary_large_image" />
        <meta name="twitter:site" content="@mesopinions_com" />
        <meta name="twitter:creator" content="@mesopinions_com" />
        <meta name="twitter:title" content="P&eacute;tition, sondage : MyPetition.org - Site de p&eacute;tition et de sondage en ligne" />
        <meta name="twitter:description" content="Site de petitions et de sondages en ligne - Créer, gérer gratuitement vos pétitions et vos sondages en ligne" />
                <meta name="twitter:image" content="https://www.mypetition.org/public/img/facebook_share.png" />
                

        <link rel="preconnect" href="https://connect.facebook.net" crossorigin>
        <link rel="preconnect" href="https://www.facebook.com" crossorigin>
        <link rel="preconnect" href="https://www.google.com" crossorigin>
        <link rel="preconnect" href="https://www.google.fr" crossorigin>
        <link rel="preconnect" href="https://stats.g.doubleclick.net" crossorigin>
        <link rel="preconnect" href="https://fonts.googleapis.com" crossorigin>

        <link rel="stylesheet" type="text/css"href="https://www.mypetition.org/public/css/style.min.css?v=2.93">

        <script type="text/javascript" src="https://www.mypetition.org/public/js/jquery-3.4.1.min.js"></script>

        
        <link rel="stylesheet" href="https://www.mypetition.org/public/css/notifications.css" media="none" onload="if(media!='all')media='all'">
        <noscript><link rel="stylesheet" href="https://www.mypetition.org/public/css/notifications.css"></noscript>

        <link rel="stylesheet" href="https://www.mypetition.org/public/css/fontawesome-5.2.0/css/all.min.css" media="none" onload="if(media!='all')media='all'">        
        <noscript><link rel="stylesheet" href="https://www.mypetition.org/public/css/fontawesome-5.2.0/css/all.min.css"></noscript>

        <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css" rel="stylesheet" media="none" onload="if(media!='all')media='all'">
        <noscript><link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css" rel="stylesheet"></noscript>
        
        <link rel="icon" type="image/png" href="https://www.mypetition.org/public/assets/favicon.png"/>

        <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.4.0/clipboard.min.js" async></script>

        <script type="text/javascript" src="https://www.mypetition.org/public/js/common.js?v=2.5"></script>

        <script defer>(function(w,d,t,r,u){var f,n,i;w[u]=w[u]||[],f=function(){var o={ti:"17448704"};o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")},n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function(){var s=this.readyState;s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)},i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)})(window,document,"script","//bat.bing.com/bat.js","uetq");</script>
        

        <meta name="facebook-domain-verification" content="e1g7w8o0vyzc2s6qmbcjho11n7jb87" />

        <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4821007005578981"
     crossorigin="anonymous"></script>

            </head>
<body>

<!-- GTM (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NGSWKSK"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End GTM (noscript) -->

    <div class="mo-userbar">
            <a href="https://www.mypetition.org/communaute/connexion" class="mo-login-btn">
            Se connecter        </a>
    
</div>
    <style type="text/css">
    body .mo-navbar .mo-navbar-sub-container .mo-navbar-sub-menu .sub-item.sub-item-special:hover {
        border-color: #DA091B;
    }
</style>

<div class="mo-navbar">
    <a aria-label="Accueil de MyPetition.org" class="brand-a" href="https://www.mypetition.org/fr">
        <picture>
            <!--[if IE 9]><video style="display: none;><![endif]-->
                <source type="image/webp" srcset="https://www.mypetition.org/public/assets/mypetition/logo_name_color.webp">
                <source type="image/jpeg" srcset="https://www.mypetition.org/public/assets/mypetition/logo_name_color.png">
            <!--[if IE 9]></video><![endif]-->
            <img class="mo-image-main lazyload loading" src="https://www.mypetition.org/public/assets/mypetition/logo_name_color.png" alt="Logo MyPetition.org">
        </picture>
    </a>

    <div class="mo-navbar-sub-container">
        <div class="mo-navbar-sub-menu sub-menu-petitions">
            <div class="common sub-col hide-bg">
                <div class="menu-header">
                    <a href="https://www.mypetition.org/soutenir?source=header-menu-mobile" class="no-underline c-quaternary">Nous soutenir</a>
                </div>
                <div class="menu-header pt-3">
                    <a href="https://www.mypetition.org/petition/creer-petition?source=header-menu-mobile" class="no-underline c-primary">Lancer une pétition</a>
                </div>
            </div>

            <div class="common sub-col">
                <div class="menu-header">Pétitions</div>
                <a href="https://www.mypetition.org/petition/a-la-une" class="sub-item">Les pétitions à la une</a>
                <a href="https://www.mypetition.org/petition/top-petition" class="sub-item">Les tops pétitions</a>
                <a href="https://www.mypetition.org/petition/" class="sub-item">Les pétitions récentes</a>
                <a href="https://www.mypetition.org/mobilisation-cause-animale" class="sub-item">
                    <picture>
                        <!--[if IE 9]><video style="display: none;><![endif]-->
                            <source type="image/webp" srcset="https://www.mypetition.org/public/assets/mca/LOGO_MCA_2.webp">
                            <source type="image/jpeg" srcset="https://www.mypetition.org/public/assets/mca/LOGO_MCA_2.png">
                        <!--[if IE 9]></video><![endif]-->
                        <img class="mo-image-main lazyload loading mca-image" src="https://www.mypetition.org/public/assets/mca/LOGO_MCA_2.png" alt="Logo Mobilisation pour la Cause Animale">
                    </picture>
                </a>
            </div>

            <div class="categories">
                <div class="menu-header">Catégories pétitions</div>
                <div class="categories-items">
                    
                                                                                                    <div class="categories-col">
                                                            <div class="categorie-item">
                                                                            <a href="https://www.mypetition.org/petition/politique/" class="sub-item">Politique</a>
                                                                    </div>
                                                                                                                                                <div class="categorie-item">
                                                                            <div class="menu-header-cat-mca">
                                            <a href="https://www.mypetition.org/petition/animaux/" class="sub-item">Animaux</a>
                                            <img src="/public/assets/mca/LOGO_MCA_JAUNEMARRONSANSFOND_min.png" alt="Logo MCA">
                                        </div>
                                                                    </div>
                                                                                                                                                <div class="categorie-item">
                                                                            <a href="https://www.mypetition.org/petition/nature-environnement/" class="sub-item">Nature et environnement</a>
                                                                    </div>
                                                                                                                                                <div class="categorie-item">
                                                                            <a href="https://www.mypetition.org/petition/social/" class="sub-item">Social</a>
                                                                    </div>
                                                                                                                                                <div class="categorie-item">
                                                                            <a href="https://www.mypetition.org/petition/justice/" class="sub-item">Justice</a>
                                                                    </div>
                                                                                                </div>
                                                                                                                    <div class="categories-col">
                                                            <div class="categorie-item">
                                                                            <a href="https://www.mypetition.org/petition/sante/" class="sub-item">Santé</a>
                                                                    </div>
                                                                                                                                                <div class="categorie-item">
                                                                            <a href="https://www.mypetition.org/petition/droits-homme/" class="sub-item">Droits de l'Homme</a>
                                                                    </div>
                                                                                                                                                <div class="categorie-item">
                                                                            <a href="https://www.mypetition.org/petition/espace-europeen/" class="sub-item">Espace européen</a>
                                                                    </div>
                                                                                                                                                <div class="categorie-item">
                                                                            <a href="https://www.mypetition.org/petition/enfants/" class="sub-item">Enfants</a>
                                                                    </div>
                                                                                                                                                <div class="categorie-item">
                                                                            <a href="https://www.mypetition.org/petition/art-culture/" class="sub-item">Arts et culture</a>
                                                                    </div>
                                                                                                </div>
                                                                                                                    <div class="categories-col">
                                                            <div class="categorie-item">
                                                                            <a href="https://www.mypetition.org/petition/medias/" class="sub-item">Médias</a>
                                                                    </div>
                                                                                                                                                <div class="categorie-item">
                                                                            <a href="https://www.mypetition.org/petition/sports/" class="sub-item">Sports</a>
                                                                    </div>
                                                                                                                                                <div class="categorie-item">
                                                                            <a href="https://www.mypetition.org/petition/autres/" class="sub-item">Autres</a>
                                                                    </div>
                                                                                                        </div>
                </div>
            </div>
            <div class="common sub-col hide-bg">
                <div class="menu-header">
                    <a href="https://www.mypetition.org/petition/victoire/" class="no-underline c-black">Victoires</a>
                </div>
            </div>
            <a href="https://www.mypetition.org/petition/creer-petition?source=header-img" class="cta hide-sm">
                <div class="menu-image" style="background-image:url(https://www.mypetition.org/public/assets/menu-start-petition.jpg)">
                    <div class="menu-image-overlay">
                        <p class="menu-image-txt f-quote">"Nous permettons au plus grand nombre de citoyens d'être entendus dans leur combat, jusqu'à la <span class="highlight-primary">victoire</span>, pour plus de démocratie et de solidarité."</p>
                        <div class="menu-image-btn f-title">Lancer votre pétition</div>
                    </div>
                </div>
            </a>
        </div>

        <div class="mo-navbar-sub-menu sub-menu-sondages">
            <div class="common sub-col">
                <div class="menu-header">Sondages</div>
                <a href="https://www.mypetition.org/sondage/a-la-une" class="sub-item">Les sondages à la une</a>
                <a href="https://www.mypetition.org/sondage/top-sondage" class="sub-item">Les tops sondages</a>
                <a href="https://www.mypetition.org/sondage/" class="sub-item">Les sondages récents</a>
                <a href="https://www.mypetition.org/sondage/creer-sondage" class="sub-item">Lancer un sondage</a>
            </div>
            <div class="categories">
                <div class="menu-header">Catégories sondages</div>
                <div class="categories-items">
                    
                                                                                                    <div class="categories-col">
                                                            <div class="categorie-item">
                                    <a href="https://www.mypetition.org/sondage/politique/" class="sub-item">Politique</a>
                                </div>
                                                                                                                                                <div class="categorie-item">
                                    <a href="https://www.mypetition.org/sondage/animaux/" class="sub-item">Animaux</a>
                                </div>
                                                                                                                                                <div class="categorie-item">
                                    <a href="https://www.mypetition.org/sondage/nature-environnement/" class="sub-item">Nature et environnement</a>
                                </div>
                                                                                                                                                <div class="categorie-item">
                                    <a href="https://www.mypetition.org/sondage/social/" class="sub-item">Social</a>
                                </div>
                                                                                                                                                <div class="categorie-item">
                                    <a href="https://www.mypetition.org/sondage/justice/" class="sub-item">Justice</a>
                                </div>
                                                                                                </div>
                                                                                                                    <div class="categories-col">
                                                            <div class="categorie-item">
                                    <a href="https://www.mypetition.org/sondage/sante/" class="sub-item">Santé</a>
                                </div>
                                                                                                                                                <div class="categorie-item">
                                    <a href="https://www.mypetition.org/sondage/droits-homme/" class="sub-item">Droits de l'Homme</a>
                                </div>
                                                                                                                                                <div class="categorie-item">
                                    <a href="https://www.mypetition.org/sondage/espace-europeen/" class="sub-item">Espace européen</a>
                                </div>
                                                                                                                                                <div class="categorie-item">
                                    <a href="https://www.mypetition.org/sondage/enfants/" class="sub-item">Enfants</a>
                                </div>
                                                                                                                                                <div class="categorie-item">
                                    <a href="https://www.mypetition.org/sondage/art-culture/" class="sub-item">Arts et culture</a>
                                </div>
                                                                                                </div>
                                                                                                                    <div class="categories-col">
                                                            <div class="categorie-item">
                                    <a href="https://www.mypetition.org/sondage/medias/" class="sub-item">Médias</a>
                                </div>
                                                                                                                                                <div class="categorie-item">
                                    <a href="https://www.mypetition.org/sondage/sports/" class="sub-item">Sports</a>
                                </div>
                                                                                                                                                <div class="categorie-item">
                                    <a href="https://www.mypetition.org/sondage/autres/" class="sub-item">Autres</a>
                                </div>
                                                                                                        </div>
                </div>
            </div>
            <a href="https://www.mypetition.org/sondage/creer-sondage" class="cta hide-sm">
                <div class="menu-image" style="background-image:url(https://www.mypetition.org/public/assets/menu-start-survey.jpg)">
                    <div class="menu-image-overlay">
                        <p class="menu-image-txt f-quote">"Participez à la démocratie numérique en interrogeant d’autres citoyens."</p>
                        <div class="menu-image-btn f-title">Lancer votre sondage</div>
                    </div>
                </div>
            </a>
        </div>

        <div class="mo-navbar-sub-menu sub-menu-sondages">
            <div class="common sub-col hide-bg">
                <a href="https://www.mypetition.org/blog/?source=nav-mobile" class="sub-item">Blog - Parlons Mobilisation</a>
            </div>
        </div>

        <div class="mo-navbar-sub-menu sub-menu-search">
        <form class="mo-search-grp" action="https://www.mypetition.org/recherche" method="GET">
            <input name="search-url" type="hidden" value="recherche">
            <input name="search-txt" type="text" placeholder="Rechercher des pétitions" value="">
            <div id="nav-search-btn" class="mo-button-primary">
                <i class="fas fa-search"></i>
            </div>
        </form>
        </div>
    </div>

    <div class="mo-controls">
        <a class="mo-navbar-btn menu-btn-no-dropdown" href="https://www.mypetition.org/fr">Accueil</a>
        <a href="https://www.mypetition.org/petition/a-la-une" class="mo-navbar-btn menu-petition">
            <span>Pétitions</span>
            <i class="fas fa-chevron-down"></i>
        </a>

        <a class="mo-navbar-btn menu-btn-no-dropdown" href="https://www.mypetition.org/petition/victoire/">Victoires</a>
        
        <a id="menu-support-item" class="mo-navbar-btn mca menu-btn-no-dropdown" href="https://www.mypetition.org/mobilisation-cause-animale">
            <picture>
                <!--[if IE 9]><video style="display: none;><![endif]-->
                    <source type="image/webp" srcset="https://www.mypetition.org/public/assets/mca/LOGO_MCA_2.webp">
                    <source type="image/jpeg" srcset="https://www.mypetition.org/public/assets/mca/LOGO_MCA_2.png">
                <!--[if IE 9]></video><![endif]-->
                <img class="mo-image-main lazyload loading mca-image" src="https://www.mypetition.org/public/assets/mca/LOGO_MCA_2.png" alt="Logo Mobilisation pour la Cause Animale">
            </picture>
        </a>

        <a id="menu-support-item" class="mo-navbar-btn menu-btn-no-dropdown" href="https://www.mypetition.org/blog/">Blog</a>

        <a id="menu-support-item" class="mo-navbar-btn menu-btn-no-dropdown c-quaternary" href="https://www.mypetition.org/soutenir?source=header-menu">Nous soutenir</a>

        <div class="mo-navbar-btn mo-navbar-btn-search">
            <i class="fas fa-search"></i>
        </div>

        <a class="mo-navbar-btn-red" href="https://www.mypetition.org/petition/creer-petition?source=header-btn">Lancer une pétition</a>
    </div>

    <div class="mo-controls-sm">

    <div class="mo-navbar-btn mo-navbar-btn-search-sm">
        <i class="fas fa-search"></i>
    </div>

     
        <div class="mo-navbar-btn mo-login-btn">
            <a href="https://www.mypetition.org/communaute/mon-compte" class="c-black"><i class="fas fa-user"></i></a>
        </div>
    
    <div class="mo-navbar-btn mo-navbar-btn-menu">
        <i class="fas fa-bars"></i>
    </div>
</div></div>

<script src="https://www.mypetition.org/public/js/views/navbar.js?v=2.0"></script>
 


<div class="alerts-container"></div>

<div class="alert-error-prototype">
    <div class="c-error bg-error f-text d-flex p-3 mb-3 align-center">
        <div class="d-flex mr-3">
            <i class="far fa-times-circle fa-2x"></i>
        </div>
        <div class="d-flex">
            <span class="d-block c-error error-text"></span>
        </div>
    </div>
</div>

<div class="alert-success-prototype">
    <div class="c-success bg-success f-text d-flex p-3 mb-3 align-center">
        <div class="d-flex mr-3">
            <i class="far fa-check-circle fa-2x"></i>
        </div>
        <div class="d-flex">
            <span class="d-block c-success success-text"></span>
        </div>
    </div>
</div>

<!-- Rich Snippets -->
<script type="application/ld+json">
    {
        "@context": "https://schema.org",
        "@type"   : "Organization",
        "name"    : "MyPetition",
        "url"     : "https://www.mypetition.org",
        "logo"    : "https://www.mypetition.org/public/assets/logo.jpg",
        "sameAs"  : [
                            "https://www.facebook.com/mesopinions",
                "https://x.com/mesopinions_com",
                "https://www.instagram.com/mesopinions",
                "https://www.youtube.com/@MesOpinionsMobilisation"
                    ]
    }
</script>

    <script type="application/ld+json">
    {
        "@context": "https://schema.org",
        "@type"   : "WebSite",
        "url"     : "https://www.mypetition.org",
        "potentialAction": {
            "@type": "SearchAction",
            "target": {
            "@type": "EntryPoint",
            "urlTemplate": "https://www.mypetition.org/recherche?t={search_term_string}"
            },
            "query-input": "required name=search_term_string"
        }
    }
</script>

<div id="homepage-banner-block" class="container mo-txtoverimg-home pad-v-30">
    <div class="banner-overlay">
        <div class="banner-block">
            <h1 class="banner-text">Nous permettons au plus grand nombre de citoyens d'être entendus dans leur combat, jusqu'à la <span class="highlight-primary">victoire</span>, pour plus de démocratie et de solidarité.</h1>
            <p class="banner-signs">
                Déjà <strong id="homeTotalCounter"></strong> signatures sur MyPetition.org            </p>
            <a href="https://www.mypetition.org/petition/creer-petition?source=homepage" class="mo-button-primary button-home text-uppercase">Lancer votre pétition</a>
        </div>
        <div class="banner-more p-2">
            <i class="fas fa-chevron-down"></i>
        </div>
    </div>
</div>

    <div class="container-home">
        <div class="container pad-v-30">
            <span class="petiton-section text-uppercase">- Bénéficiez de l’accompagnement MyPetition -</span>
            <div class="blog-header header-list">L'expertise gratuite pour mener vos combats jusqu'à la victoire</div>
            <a class="no-underline" href="https://www.mypetition.org/accompagnement/?source=home">
                <div class="mo-button-showmore-light mo-button-showmore-blog"><h2>Accéder à la page "Accompagnement"</h2></div>
            </a>
        </div>
        <div class="container pad-v-30">
            <span class="petiton-section text-uppercase">- Retrouvez les pétitions proches de chez vous -</span>
            <div class="blog-header header-list">Explorez la carte et découvrez toutes les pétitions locales</div>
            <a class="no-underline" href="https://www.mypetition.org/autour-de-vous">
                <div class="mo-button-showmore-light mo-button-showmore-blog"><h2>Accédez à la page "Les pétitions proches de chez vous"</h2></div>
            </a>
        </div>
    </div>

    <div id="homepage-block-victories" class="container bg-tertiary pad-v-30">
        <span class="petiton-section text-uppercase">- Victoires -</span>
        <div class="petition-header header-list">Vous avez gagné</div>

        <div class="mo-list">
                            <a href="https://www.mypetition.org/petition/enfants/exigeons-mise-retrait-vice-presidente-ciivise/227608" class="mo-list-item">
                    <div class="mo-card">
                        <div class="mo-card-header">
                                                            <picture>
                                    <!--[if IE 9]><video style="display: none;><![endif]-->
                                        <source type="image/webp" data-srcset="https://www.mypetition.org/public/img/petition/petition-img-227608-fr.webp" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="lazyload loading">
                                        <source type="image/jpeg" data-srcset="https://www.mypetition.org/public/img/petition/petition-img-227608-fr.jpeg" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="lazyload loading">
                                    <!--[if IE 9]></video><![endif]-->
                                    <img class="mo-image-main lazyload loading" data-src="https://www.mypetition.org/public/img/petition/petition-img-227608-fr.jpeg" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="Victoire : Exigeons la mise en retrait de la vice-présidente de la CIIVISE, la docteure Caroline Rey-Salmon">
                                </picture>
                                                    </div>
                        <div class="mo-card-body">
                            <div class="card-body-type">Victoire</div>
                            <div class="card-body-title">Exigeons la mise en retrait de la vice-présidente de la CIIVISE, la docteure Car...</div>
                            <div class="card-body-user">
                                                                <div class=""><span>Auteur : </span><span class="user-name">MOUV'ENFANTS</span></div>
                            </div>
                            <div class="card-body-counter"><strong>8.014</strong> signatures</div>
                            <p class="card-body-text">Par cette pétition, nous apportons notre soutien à Louison Lume, victime d’inceste qui, le 5 février 2024, a rendu public des faits de violences gynécologiques, agressions sex...</p>
                        </div>
                    </div>
                </a>
                            <a href="https://www.mypetition.org/petition/art-culture/retrait-boi-bouquinistes-jeux-olympiques/213258" class="mo-list-item">
                    <div class="mo-card">
                        <div class="mo-card-header">
                                                            <picture>
                                    <!--[if IE 9]><video style="display: none;><![endif]-->
                                        <source type="image/webp" data-srcset="https://www.mypetition.org/public/img/petition/petition-img-213258-fr.webp" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="lazyload loading">
                                        <source type="image/jpeg" data-srcset="https://www.mypetition.org/public/img/petition/petition-img-213258-fr.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="lazyload loading">
                                    <!--[if IE 9]></video><![endif]-->
                                    <img class="mo-image-main lazyload loading" data-src="https://www.mypetition.org/public/img/petition/petition-img-213258-fr.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="Victoire : Non au retrait des boîtes des bouquinistes pour les Jeux Olympiques !">
                                </picture>
                                                    </div>
                        <div class="mo-card-body">
                            <div class="card-body-type">Victoire</div>
                            <div class="card-body-title">Non au retrait des boîtes des bouquinistes pour les Jeux Olympiques !</div>
                            <div class="card-body-user">
                                                                <div class=""><span>Auteur : </span><span class="user-name">Hugues Dufour</span></div>
                            </div>
                            <div class="card-body-counter"><strong>16.727</strong> signatures</div>
                            <p class="card-body-text">Quelle ne fut pas ma surprise et mon indignation lorsque j’ai appris que la mairie de Paris avait décidé de retirer les boîtes des bouquinistes des quais de Seine pour les Jeu...</p>
                        </div>
                    </div>
                </a>
                            <a href="https://www.mypetition.org/petition/enfants/a-fermeture-classe-maternelle-a-st/227068" class="mo-list-item">
                    <div class="mo-card">
                        <div class="mo-card-header">
                                                            <picture>
                                    <!--[if IE 9]><video style="display: none;><![endif]-->
                                        <source type="image/webp" data-srcset="https://www.mypetition.org/public/img/petition/petition-img-227068-fr.webp" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="lazyload loading">
                                        <source type="image/jpeg" data-srcset="https://www.mypetition.org/public/img/petition/petition-img-227068-fr.jpeg" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="lazyload loading">
                                    <!--[if IE 9]></video><![endif]-->
                                    <img class="mo-image-main lazyload loading" data-src="https://www.mypetition.org/public/img/petition/petition-img-227068-fr.jpeg" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="Victoire : Non à la fermeture d'une classe maternelle à St Gervais d'Auvergne">
                                </picture>
                                                    </div>
                        <div class="mo-card-body">
                            <div class="card-body-type">Victoire</div>
                            <div class="card-body-title">Non à la fermeture d'une classe maternelle à St Gervais d'Auvergne</div>
                            <div class="card-body-user">
                                                                <div class=""><span>Auteur : </span><span class="user-name">DÉLÉGUÉ PARENTS D'ÉLÈVES ST GERVAIS D'AUVERGNE</span></div>
                            </div>
                            <div class="card-body-counter"><strong>8.854</strong> signatures</div>
                            <p class="card-body-text">ECOLE EN DANGER, SIGNEZ NOTRE PÉTITION, SVP<br /><br /> Nous avons appris qu’une classe pourrait être fermée lors de la rentrée scolaire de septembre 2024. <br /><br />Nous, p...</p>
                        </div>
                    </div>
                </a>
                    </div>

        <a class="no-underline" href="https://www.mypetition.org/petition/victoire/">
            <div class="mo-button-showmore-light text-uppercase"><h2>Voir toutes les victoires</h2></div>
        </a>
    </div>
    <div class="container pad-v-30">
        <span class="petiton-section text-uppercase">- Pétitions -</span>
        <div class="petition-header header-list">Mobilisez-vous</div>

        <div class="mo-list">
                            <a href="https://www.mypetition.org/petition/enfants/jules-autres-stop-a-impunite-agresseurs/282771" class="mo-list-item">
                    <div class="mo-card">
                        <div class="mo-card-header">
                                                            <picture>
                                    <!--[if IE 9]><video style="display: none;><![endif]-->
                                        <source type="image/webp" data-srcset="https://www.mypetition.org/public/img/petition/petition-img-282771-1782821937-fr.webp" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="lazyload loading">
                                        <source type="image/jpeg" data-srcset="https://www.mypetition.org/public/img/petition/petition-img-282771-1782821937-fr.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="lazyload loading">
                                    <!--[if IE 9]></video><![endif]-->
                                    <img class="mo-image-main lazyload loading" data-src="https://www.mypetition.org/public/img/petition/petition-img-282771-1782821937-fr.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="Pétition : Pour Jules et tous les autres : stop à l'impunité des agresseurs sexuels à l'école !">
                                </picture>
                                                    </div>
                        <div class="mo-card-body">
                            <div class="card-body-type">Pétition</div>
                            <div class="card-body-title">Pour Jules et tous les autres : stop à l'impunité des agresseurs sexuels à l'éco...</div>
                            <div class="card-body-user">
                                                                <div class=""><span>Auteur : </span><span class="user-name">Léa Martin</span></div>
                            </div>
                            <div class="card-body-counter"><strong>18.135</strong> signatures</div>
                            <p class="card-body-text">Je m'appelle Léa, j'ai 30 ans et je vis en Espagne depuis plus d'un an. Mon fils Jules a été violé par son professeur de sport pendant au moins six mois au sein de son école. ...</p>
                        </div>
                        <div class="mo-card-footer">
                            <div class="card-footer-btn">
                                <i class="fas fa-pencil-alt"></i>
                                <span class="card-footer-btn-label">Je signe</span>
                            </div>
                        </div>
                    </div>
                </a>
                            <a href="https://www.mypetition.org/petition/justice/justice-enzo-reouverture-poursuite-dossier-viol/277653" class="mo-list-item">
                    <div class="mo-card">
                        <div class="mo-card-header">
                                                            <picture>
                                    <!--[if IE 9]><video style="display: none;><![endif]-->
                                        <source type="image/webp" data-srcset="https://www.mypetition.org/public/img/petition/petition-img-277653-1772637524-fr.webp" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="lazyload loading">
                                        <source type="image/jpeg" data-srcset="https://www.mypetition.org/public/img/petition/petition-img-277653-1772637524-fr.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="lazyload loading">
                                    <!--[if IE 9]></video><![endif]-->
                                    <img class="mo-image-main lazyload loading" data-src="https://www.mypetition.org/public/img/petition/petition-img-277653-1772637524-fr.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="Pétition : Justice pour Enzo : pour la réouverture et la poursuite du dossier de viol !">
                                </picture>
                                                    </div>
                        <div class="mo-card-body">
                            <div class="card-body-type">Pétition</div>
                            <div class="card-body-title">Justice pour Enzo : pour la réouverture et la poursuite du dossier de viol !</div>
                            <div class="card-body-user">
                                                                <div class=""><span>Auteur : </span><span class="user-name">Sandrine</span></div>
                            </div>
                            <div class="card-body-counter"><strong>19.347</strong> signatures</div>
                            <p class="card-body-text">Je suis la mère d’Enzo, victime d’un viol commis dans un bus à Pau le 4 décembre 2025. Depuis, je vis une colère et une incompréhension profondes. Un témoin a alerté la conduc...</p>
                        </div>
                        <div class="mo-card-footer">
                            <div class="card-footer-btn">
                                <i class="fas fa-pencil-alt"></i>
                                <span class="card-footer-btn-label">Je signe</span>
                            </div>
                        </div>
                    </div>
                </a>
                            <a href="https://www.mypetition.org/petition/justice/urgence-contre-insecurite-exigeons-pose-cameras/234232" class="mo-list-item">
                    <div class="mo-card">
                        <div class="mo-card-header">
                                                            <picture>
                                    <!--[if IE 9]><video style="display: none;><![endif]-->
                                        <source type="image/webp" data-srcset="https://www.mypetition.org/public/img/petition/petition-img-234232-1781764236-fr.webp" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="lazyload loading">
                                        <source type="image/jpeg" data-srcset="https://www.mypetition.org/public/img/petition/petition-img-234232-1781764236-fr.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" class="lazyload loading">
                                    <!--[if IE 9]></video><![endif]-->
                                    <img class="mo-image-main lazyload loading" data-src="https://www.mypetition.org/public/img/petition/petition-img-234232-1781764236-fr.png" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="Pétition : Urgence : Contre l'insécurité, exigeons la pose de caméras dans nos résidences">
                                </picture>
                                                    </div>
                        <div class="mo-card-body">
                            <div class="card-body-type">Pétition</div>
                            <div class="card-body-title">Urgence : Contre l'insécurité, exigeons la pose de caméras dans nos résidences</div>
                            <div class="card-body-user">
                                                                <div class=""><span>Auteur : </span><span class="user-name">Chris Roux</span></div>
                            </div>
                            <div class="card-body-counter"><strong>20.431</strong> signatures</div>
                            <p class="card-body-text">Signez et partager cette pétition.<br /> Contre cette extension de la délinquance et des trafics vers d’autres zones <br /><br /><br />C'est le moment d'intervenir pour renfor...</p>
                        </div>
                        <div class="mo-card-footer">
                            <div class="card-footer-btn">
                                <i class="fas fa-pencil-alt"></i>
                                <span class="card-footer-btn-label">Je signe</span>
                            </div>
                        </div>
                    </div>
                </a>
                    </div>
        <a class="no-underline" href="https://www.mypetition.org/petition/">
            <div class="mo-button-showmore-light text-uppercase"><h2>Voir toutes les pétitions</h2></div>
        </a>
    </div>

<script>
	$(function () {
		var counter = 295977667;
		$('#homeTotalCounter').text(spaceSeparateNumber(Math.round(counter)));

		$('.banner-more').on('click', function() {
			$('html, body').animate({
		        scrollTop: $('#homepage-block-victories').offset().top
		    }, 500);
		});

		function displayCounter() {
			counter += getRandomNumber(1,4);
			$('#homeTotalCounter').text(spaceSeparateNumber(Math.round(counter)));

			delay = getRandomNumber(200, 700);
  			setTimeout(displayCounter, delay);
		}

		setTimeout(displayCounter, 200);
	});

	function getRandomNumber(min, max) {
	    return Math.random() * (+max - +min) + +min;
	}

	function spaceSeparateNumber(val){
	    while (/(\d+)(\d{3})/.test(val.toString())){
	      	val = val.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1 ");
	    }
	    return val;
	}
</script>		  
		    <div class="mo-pre-footer">
    <img class="logo-footer lazyload" data-src="https://www.mypetition.org/public/assets/mypetition/logo_name_white.png" alt="">
    <img class="logo-footer-sm lazyload" data-src="https://www.mypetition.org/public/assets/mypetition/logo_white.png" alt="">
    <div class="mo-socials">
        <a target="_blank" href="https://www.facebook.com/mypetition"><div class="mo-social-btn social-fb">
            <img class="lazyload" data-src="https://www.mypetition.org/public/assets/facebook.png" alt="Logo facebook" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==">
        </div></a>
        <a target="_blank" href="https://www.tiktok.com/@mesopinions"><div class="mo-social-btn social-tt">
            <img class="lazyload" data-src="https://www.mypetition.org/public/assets/tiktok.png" alt="Logo tiktok" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==">
        </div></a>
        <a target="_blank" href="https://x.com/mypetitionfr"><div class="mo-social-btn social-tw">
            <img class="lazyload" data-src="https://www.mypetition.org/public/assets/x.png" alt="Logo X" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==">
        </div></a>
        <a target="_blank" href="https://www.youtube.com/@MesOpinionsMobilisation"><div class="mo-social-btn social-yt">
            <img class="lazyload" data-src="https://www.mypetition.org/public/assets/youtube.png" alt="Logo youtube" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==">
        </div></a>
        <a target="_blank" href="https://www.instagram.com/mypetitionfr/"><div class="mo-social-btn social-ig">
            <img class="lazyload" data-src="https://www.mypetition.org/public/assets/instagram.png" alt="Logo instagram" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==">
        </div></a>
    </div>
</div>
		
		 
		    <div class="mo-footer">
    <div class="footer-top">
        <div>
            <span>Réussir votre mobilisation</span>
            <ul>
                <li><a href="https://www.mypetition.org/petition/creer-petition?source=footer-link">Lancer votre pétition</a></li>
                    <li><a href="https://www.mypetition.org/blog/?source=footer">Blog - Parlons Mobilisation</a></li>
                                    <li><a href="https://www.mypetition.org/accompagnement?source=footer">Accompagnement</a></li>
                    <li><a href="https://www.mypetition.org/fundraising">Partenariat et fundraising</a></li>
                    <li><a href="https://www.mypetition.org/autour-de-vous">Les pétitions proches de chez vous</a></li>
                            </ul>
        </div>

        <div>
            <span>Notre communauté</span>
            <ul>
                <li><a target="_blank" rel="nofollow" href="https://www.facebook.com/mypetition">Facebook</a></li>
                <li><a target="_blank" rel="nofollow" href="https://www.tiktok.com/@mesopinions">TikTok</a></li>
                <li><a target="_blank" rel="nofollow" href="https://x.com/mypetitionfr">X</a></li>
                <li><a target="_blank" rel="nofollow" href="https://www.instagram.com/mypetitionfr/">Instagram</a></li>
                <li><a target="_blank" rel="nofollow" href="https://www.youtube.com/@MesOpinionsMobilisation">Youtube</a></li>
            </ul>
        </div>

        <div>
            <span>Espace presse</span>
            <ul>
                <li><a href="https://www.mypetition.org/qui-sommes-nous">Qui sommes-nous?</a></li>
                <li><a href="https://www.mypetition.org/presse/petition-presse">Nos pétitions dans la presse</a></li>
                <li><a href="https://www.mypetition.org/mesopinions-presse">MyPetition dans la presse</a></li>
                <li><a href="https://www.mypetition.org/contact?type=8">Contact presse</a></li>
            </ul>
        </div>

        <div>
            <a href="/bcorp"><img src="https://www.mypetition.org/public/img/logo-bcorp-light.png" alt="B Corp" class="logo-bcorp"></a>
        </div>
    </div>
    <div class="footer-middle">
        <a href="https://www.mypetition.org/fr">Accueil</a><span>|</span>
        <a href="https://www.mypetition.org/soutenir?source=footer-link">Nous soutenir</a><span>|</span>
        <a href="https://www.mypetition.org/aide">Aide</a><span>|</span>
        <a href="https://www.mypetition.org/faq">FAQ</a><span>|</span>
        <a href="https://www.mypetition.org/contact">Contactez-nous</a><span>|</span>
        <a href="https://www.mypetition.org/vie-privee">Vie privée</a><span>|</span>
        <a href="#" onclick="window.Sddan.cmp.displayUI(); return false;">Cookies</a><span>|</span>
        <a href="https://www.mypetition.org/politique-confidentialite">Politique de confidentialité</a><span>|</span>
        <a href="https://www.mypetition.org/mentions-legales">Mentions légales</a><span>|</span>
        <a href="https://www.mypetition.org/conditions-utilisation">Conditions d'utilisation</a>
                    <span>|</span><a href="https://www.mypetition.org/partenaires" rel="nofollow">Partenaires</a>
            </div>
    <div class="footer-bottom">

        <div>© Copyright MyPetition.org - Site réalisé par l'agence <a href="https://www.developr.fr/" target="_blank" style="color:#2e3242;text-decoration:none;">Developr</a></div>
                <div class="dropup">
            <div class="footer-select-lang-container">
                <select id="select-lang" onchange="handleLangSelectChange(this)">
                                                                        <option value="br" >
                                Brasil                            </option>
                                                                                                <option value="de" >
                                Deutsch                            </option>
                                                                                                <option value="au" >
                                English (Australia)                            </option>
                                                                                                <option value="ca" >
                                English (Canada)                            </option>
                                                                                                <option value="in" >
                                English (India)                            </option>
                                                                                                <option value="en" >
                                English (United Kingdom)                            </option>
                                                                                                <option value="us" >
                                English (United States)                            </option>
                                                                                                <option value="ar" >
                                Español (Argentina)                            </option>
                                                                                                <option value="es" >
                                Español (España)                            </option>
                                                                                                <option value="lat" >
                                Español (Latinoamérica)                            </option>
                                                                                                <option value="fr" selected>
                                Français                            </option>
                                                                                                <option value="it" >
                                Italiano                            </option>
                                                                                                <option value="pl" >
                                Polski                            </option>
                                                                                                <option value="pt" >
                                Português                            </option>
                                                                                                <option value="tr" >
                                Türkçe                            </option>
                                                            </select>
            </div>
        </div>
    </div>

</div>
		
		
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
<script type="text/javascript" src="https://www.mypetition.org/public/js/mo-front.js?v=2.1"></script>
<script type="text/javascript" src="https://www.mypetition.org/public/js/lazysizes.min.js" async></script>


<script>
    $(document).ready(function() {
        $('.close-store-notice').on('click', function(evt) {
            evt.preventDefault();

            $('#store-notice').remove();
            
            wsRequestCommon('/petitionws/addCookie', 'POST', {cookie_name: 'notice'}, null, function(response, err) {
            });
        });

        $('.link-store-notice').on('click', function(evt) {
            evt.preventDefault();

            var urlNotice = $(this).attr('href');

            wsRequestCommon('/petitionws/incrementClicsNotice', 'POST', {}, null, function(response, err) {
                window.location.href = urlNotice;
            });
        });
    });
if(document.domain == 'www.mypetition.org'){
    (function () {
        var ZTRemail;
        var ZTRpromote = 0;
                    ZTRemail = '0';
        
        // Pétition : Page avec promote=true
                    ZTRidpetition = '0';
        
        // Sondage : Page avec promote=true
                    ZTRidsondage = '0';
        
        var ZTR = document.createElement('script');
        var ZTRurl = encodeURIComponent(window.location.href);
        var ZTRreferer = encodeURIComponent((window.document.referrer != null
        && typeof window.document.referrer !== 'undefined') ? window.document.referrer : '');
        ZTR.src = ((location.protocol === 'https:') ? 'https:' : 'http:') + '//prz.mypetition.org/visite/add?url=' + ZTRurl + '&type=1&referrer=' + ZTRreferer + '&email=' + ZTRemail + '&id_petition=' + ZTRidpetition + '&id_sondage=' + ZTRidsondage + '&mediatisation=' + ZTRpromote;
        var ZTRtag = document.getElementsByTagName('script')[0];
        ZTRtag.parentNode.insertBefore(ZTR, ZTRtag); }())
}




</script>
<script>var emailTypoConnNonce = 'ab45d9a019845eef606bac312c397ffb';</script>
<style>
/* ─── Couleur accent (sync thème) ───────────────────────────── */
#popup-connexion { --popup-accent: #DA091B; }
#popup-connexion.popup-connexion-mca { --popup-accent: #FDB833; }

/* ─── Overlay ──────────────────────────────────────────────── */
#popup-connexion {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .5);
    z-index: 10000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 16px;
    box-sizing: border-box;
}

/* ─── Card ─────────────────────────────────────────────────── */
#popup-connexion > form {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .2);
    width: 100%;
    max-width: 420px;
    overflow: hidden;
    padding: 0;
}

/* ─── Step panels ───────────────────────────────────────────── */
.block-popup {
    display: none;
    flex-direction: column;
    align-items: stretch;
    padding: 56px 36px 36px;
    box-sizing: border-box;
    position: relative;
}

/* ─── Nav buttons ───────────────────────────────────────────── */
.close-popup,
.back {
    position: absolute;
    top: 14px;
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    cursor: pointer;
    color: #aaa;
    font-size: 15px;
    line-height: 1;
    transition: background .15s, color .15s;
    z-index: 2;
}
.close-popup { right: 14px; }
.back        { left: 14px; }
.close-popup:hover,
.back:hover  { background: #f0f0f0; color: #222; }

/* ─── Title ─────────────────────────────────────────────────── */
#popup-connexion .login-form-title {
    font-size: 1.3rem;
    font-weight: 700;
    color: #111;
    margin: 0 0 20px;
    text-align: center;
    width: 100%;
    line-height: 1.2;
}

/* ─── Divider ───────────────────────────────────────────────── */
.popup-or {
    display: flex;
    align-items: center;
    width: 100%;
    gap: 12px;
    color: #c0c0c0;
    font-size: 11px;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin: 14px 0;
}
.popup-or::before,
.popup-or::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #ebebeb;
}

/* ─── Inputs ────────────────────────────────────────────────── */
#popup-connexion .block-input {
    position: relative;
    width: 100%;
    border: none;
    background: transparent;
}
#popup-connexion .form-input {
    width: 100%;
    box-sizing: border-box;
    border: 1.5px solid #e0e0e0;
    border-radius: 8px;
    padding: 12px 14px;
    font-size: 15px;
    color: #111;
    background: #f8f8f8;
    outline: none;
    transition: border-color .18s, background .18s;
    -webkit-appearance: none;
    appearance: none;
}
#popup-connexion .form-input:focus {
    border-color: var(--popup-accent);
    background: #fff;
}
#popup-connexion .form-error .form-input,
#popup-connexion .form-input.error-input {
    border-color: #e53935;
    background: #fff8f8;
}
#popup-connexion .form-input::placeholder { color: #aaa; }

/* Password toggle */
#popup-connexion .input-wrapper { position: relative; width: 100%; }
#popup-connexion .displayPassword {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    color: #c0c0c0;
    font-size: 14px;
    transition: color .15s;
}
#popup-connexion .displayPassword:hover { color: #555; }

/* ─── Error messages ────────────────────────────────────────── */
.c-error {
    font-size: 12.5px;
    color: #e53935;
    display: none;
    width: 100%;
    text-align: left;
    margin-top: 3px;
}

/* ─── Bouton primaire ───────────────────────────────────────── */
#popup-connexion .mo-button-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
    width: 100%;
}

/* ─── Social buttons ────────────────────────────────────────── */

/* Conteneur Google : pleine largeur, iframe centrée à l'intérieur */
#googleConnect,
#googleRegister {
    display: flex;
    justify-content: stretch;
    margin: 0 0 12px !important;
    position: relative;
    width: 100%;
    box-sizing: border-box;
    overflow: visible;
}

#googleConnect > div,
#googleRegister > div,
#googleConnect iframe,
#googleRegister iframe {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Google ajoute 10px de padding horizontal dans l'iframe du bouton connecté. */
#googleConnect iframe,
#googleRegister iframe {
    width: calc(100% + 20px) !important;
    margin: 0 -10px !important;
}

/* Facebook : couleur de marque, mais même gabarit que le bouton Google */
#popup-connexion #comm-fb-connect-div,
#popup-connexion #comm-fb-register-div2,
#popup-connexion #comm-fb-signup-connect-div {
    background: #1877f2;
    color: #fff;
    border: 1px solid #1877f2;
    border-radius: 4px;
    height: 40px;
    padding: 0 14px;
    margin: 0 auto 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 500;
    width: 100%;
    box-sizing: border-box;
    transition: background .15s;
}
#popup-connexion #comm-fb-connect-div:hover,
#popup-connexion #comm-fb-register-div2:hover,
#popup-connexion #comm-fb-signup-connect-div:hover {
    background: #166fe5;
    border-color: #166fe5;
}
.fb-logo,
#popup-connexion #fb-logo {
    width: 20px !important;
    height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    flex-shrink: 0;
    object-fit: contain;
}

/* ─── Text links / secondary actions ───────────────────────── */
.btn-other {
    font-size: 13px;
    color: #888;
    cursor: pointer;
    text-align: center;
    transition: color .15s;
}
.btn-other:hover { color: var(--popup-accent); }
.cursor-pointer  { cursor: pointer; }
.text-underline  { text-decoration: underline; }

/* ─── Form grid (signup) ────────────────────────────────────── */
.form-input-grp {
    display: flex;
    flex-direction: column;
    width: 100%;
}

/* ─── Radio (civilité) ──────────────────────────────────────── */
#block-civilite {
    text-align: left;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    width: 100%;
}
#block-civilite input[type=radio] { accent-color: var(--popup-accent); }

/* ─── Email autocomplete dropdown ───────────────────────────── */
.email-suggest-conn {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1.5px solid #e0e0e0;
    border-top: none;
    border-radius: 0 0 8px 8px;
    z-index: 200;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .1);
    overflow: hidden;
}
.email-suggest-item-conn {
    padding: 9px 14px;
    cursor: pointer;
    font-size: 14px;
    color: #333;
    border-bottom: 1px solid #f5f5f5;
    transition: background .1s;
}
.email-suggest-item-conn:hover { background: #f8f8f8; }

/* ─── Altcha ────────────────────────────────────────────────── */
.altcha-container { display: flex; justify-content: center; margin-top: 14px; }

/* ─── RGPD ──────────────────────────────────────────────────── */
#block-rgpd { margin-top: 12px; text-align: center; }
#block-rgpd img { width: 130px; }

/* ─── Signup FB fallback ────────────────────────────────────── */
body .block-popup .signup--fb { margin: 4px 0 !important; }

/* ─── Specific blocks ───────────────────────────────────────── */
#login-form   { display: flex; }
#signup-form  { font-size: 15px; }
#message-block { width: 100%; }
#message-block #message-text {
    font-size: 14px;
    color: #666;
    line-height: 1.65;
    margin: 8px 0 24px;
    text-align: center;
}

/* ─── Mobile ────────────────────────────────────────────────── */
@media (max-width: 480px) {
    #popup-connexion {
        padding: 16px;
        align-items: center;
    }
    #popup-connexion > form {
        border-radius: 10px;
        max-width: 100%;
    }
    .block-popup { padding: 52px 22px 28px; }
}
</style>

<div id="popup-connexion" class="f-text">
	<form>
	    <input type="hidden" id="mailUser" value="">
	    <input type="hidden" id="typeLogin" value="0">

	    <!-- LOGIN -->
	    <div id="login-form" class="block-popup">
	        <div class="close-popup"><i class="fa fa-times"></i></div>
	        <div class="login-form-title">Connexion</div>
	        <div class="f-text c-text-light text-center d-block my-2">Vous n'avez pas encore de compte ? <span class="cursor-pointer inscription-btn btn-other c-primary text-underline">Inscription</span></div>
	        <div id="googleConnect"></div>
	        <div id="comm-fb-connect-div" class="f-text">
	            <svg class="fb-logo" viewBox="0 0 24 24" aria-hidden="true"><path fill="#fff" d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/></svg>
	            Se connecter avec Facebook	        </div>
	        <span class="popup-or">ou</span>
	        <span id="login-email-forgot-error" class="c-error f-text errors-mail mb-2"></span>
	        <div class="block-input block-input-login-email w-100">
	            <input type="email" maxlength="150" required id="login-email" value="" placeholder="Email" autofocus class="form-input" autocomplete="email" />
	            <div id="email-suggest-conn-login" class="email-suggest-conn"></div>
	        </div>
	        <span id="login-email-error" class="c-error f-text messages"></span>
	        <div class="mo-button-primary mb-3 mt-3 p-3 mx-auto text-uppercase w-100" id="valid-login-form">Valider</div>
	        <div class="f-text c-text-light text-center d-block cursor-pointer forgotpass-btn btn-other">Mot de passe oublié ?</div>
	    </div>

	    <!-- MESSAGE LIEN ENVOYÉ -->
	    <div id="message-block" class="block-popup">
	        <div class="close-popup"><i class="fa fa-times"></i></div>
	        <div class="login-form-title">Connexion</div>
	        <span id="message-email"></span>
	        <p id="message-text">Il s'agit de votre première connexion sur votre profil MyPetition.org. Pour y accéder, un lien vous permettant de créer votre mot de passe personnalisé vous a été envoyé par mail.</p>
	        <div class="mo-button-primary p-3 mx-auto text-uppercase w-100" id="btn-to-login">Connexion</div>
	    </div>

	    <!-- LOGIN AVEC MOT DE PASSE -->
	    <div id="login-password-form" class="block-popup">
	        <div class="close-popup"><i class="fa fa-times"></i></div>
	        <div class="login-form-title">Connexion</div>
	        <p class="f-text text-center c-text-light my-2">Identifiant : <span id="email-login-password" class="c-primary"></span></p>
	        <div class="block-input input-wrapper hideShowPasswordForm block-input-login-password w-100">
	            <input type="password" minlength="4" maxlength="50" id="login-password" required autofocus placeholder="Mot de passe" class="form-input show-hide-password" />
	            <span toggle=".show-hide-password" class="displayPassword fas fa-eye-slash"></span>
	        </div>
	        <span id="login-password-error" class="c-error f-text"></span>
	        <div class="mo-button-primary my-3 p-3 mx-auto text-uppercase w-100" id="valid-login-password-form">Valider</div>
	        <div class="f-text c-text-light text-center d-block cursor-pointer forgotpass-btn btn-other mb-2">Mot de passe oublié ?</div>
	        <div class="f-text c-text-light text-center d-block cursor-pointer inscription-btn btn-other">Inscription</div>
	    </div>

	    <!-- INSCRIPTION -->
	    <div id="signup-form" class="block-popup">
	        <div class="back cursor-pointer"><i class="fa fa-arrow-left"></i></div>
	        <div class="close-popup"><i class="fa fa-times"></i></div>
	        <div class="login-form-title">Inscription</div>
	        <div class="f-text c-text-light text-center d-block my-2">Vous avez déjà un compte ? <span class="backco cursor-pointer btn-other c-primary text-underline">Connexion</span></div>
	        <div id="googleRegister"></div>
	        <div id="comm-fb-register-div2" class="f-text">
	            <svg class="fb-logo" viewBox="0 0 24 24" aria-hidden="true"><path fill="#fff" d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/></svg>
	            S'inscrire avec Facebook	        </div>
	        <span class="popup-or">ou</span>
	        <div class="form-input-grp mt-2" id="form-signup">
	            <div id="block-civilite" class="block-input-radio f-text mb-3">
	                Civilité* :
	                <input type="radio" id="Mme" name="gender" value="2"/>
	                <label for="Mme">Mme</label>
	                <input type="radio" id="Mr" name="gender" value="1"/>
	                <label for="Mr">M.</label>
	            </div>
	            <span id="signup-gender-error" class="c-error f-text"></span>

	            <div class="block-input block-input-signup-fname mt-2">
	                <input type="text" id="fname-popup" maxlength="50" required placeholder="Prénom*" class="form-input" />
	            </div>
	            <span id="signup-fname-error" class="c-error f-text"></span>

	            <div class="block-input block-input-signup-name mt-2">
	                <input type="text" id="name-popup" maxlength="50" required placeholder="Nom*" class="form-input" />
	            </div>
	            <span id="signup-name-error" class="c-error f-text"></span>

	            <div class="block-input block-input-signup-email mt-2">
	                <input type="email" maxlength="150" required id="email-popup" placeholder="Email*" class="form-input" autocomplete="email" />
	                <div id="email-suggest-conn-signup" class="email-suggest-conn"></div>
	            </div>
	            <span id="signup-email-error" class="c-error f-text"></span>

	            <div class="block-input block-input-signup-password mt-2 input-wrapper hideShowPasswordForm">
	                <input type="password" minlength="4" maxlength="50" required id="signup-password" placeholder="Mot de passe*" class="form-input show-hide-password" />
	                <span toggle=".show-hide-password" class="displayPassword fas fa-eye-slash"></span>
	            </div>
	            <span id="signup-password-error" class="c-error f-text"></span>

	            
	            <div class="mo-button-primary my-3 p-3 mx-auto text-uppercase w-100" id="valid-signup-form">Inscription</div>

	            
	            <div id="block-rgpd" class="d-flex flex-end text-center">
	                <figure class="m-0">
	                    <figcaption class="f-text">RGPD - DPO : 14846</figcaption>
	                </figure>
	            </div>
	        </div>
	    </div>

	    <!-- CODE (legacy) -->
	    <div id="code-form" class="block-popup">
	        <div class="back cursor-pointer"><i class="fa fa-arrow-left"></i></div>
	        <div class="close-popup"><i class="fa fa-times"></i></div>
	        <div class="login-form-title">Connexion</div>
	        <div class="form-input-grp w-100">
	            <p id="txt-code-form" class="c-text-light"></p>
	            <div class="block-input block-input-code">
	                <input type="text" required id="code-validation" placeholder="Code de validation*" class="form-input" />
	            </div>
	            <span id="code-error" class="c-error f-text"></span>
	            <div class="mo-button-primary my-3 p-3 mx-auto text-uppercase w-100" id="valid-code-form">Valider</div>
	        </div>
	    </div>

	    <!-- NOUVEAU MOT DE PASSE -->
	    <div id="password-form" class="block-popup">
	        <div class="back cursor-pointer"><i class="fa fa-arrow-left"></i></div>
	        <div class="close-popup"><i class="fa fa-times"></i></div>
	        <div class="login-form-title">Mot de passe</div>
	        <p class="f-text text-center c-text-light my-2">Email : <span id="password-email" class="c-primary"></span></p>
	        <div class="block-input input-wrapper hideShowPasswordForm block-input-password w-100">
	            <input type="password" minlength="4" maxlength="50" id="password-popup" required autofocus placeholder="Mot de passe*" class="form-input show-hide-password" />
	            <span toggle=".show-hide-password" class="displayPassword fas fa-eye-slash"></span>
	        </div>
	        <span id="password-error" class="c-error f-text"></span>
	        <div class="mo-button-primary my-3 p-3 mx-auto text-uppercase w-100" id="valid-password-form">Valider</div>
	    </div>

	    <!-- MOT DE PASSE OUBLIÉ -->
	    <div id="forgot-password-form" class="block-popup">
	        <div class="back cursor-pointer"><i class="fa fa-arrow-left"></i></div>
	        <div class="close-popup"><i class="fa fa-times"></i></div>
	        <div class="login-form-title">Mot de passe oublié ?</div>
	        <p class="my-2 text-center c-text-light f-text">Indiquez votre adresse email. Un mail vous permettant de créer un nouveau mot de passe va vous être envoyé.</p>
	        <div class="block-input block-input-forgot-password-mail w-100">
	            <input type="email" maxlength="150" required id="forgot-password-email" value="" placeholder="Email*" class="form-input" autocomplete="email" />
	            <div id="email-suggest-conn-forgot" class="email-suggest-conn"></div>
	        </div>
	        <span id="forgot-password-mail-error" class="c-error f-text"></span>
	        <div class="mo-button-primary my-3 p-3 mx-auto text-uppercase w-100" id="valid-forgot-password-form">Réinitialiser votre mot de passe</div>
	    </div>
	</form>
</div>

<div id="popup-email-typo" style="display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:10001;align-items:center;justify-content:center;">
    <div style="background:#fff;border-radius:12px;padding:28px 24px;max-width:360px;width:90%;text-align:center;box-shadow:0 12px 40px rgba(0,0,0,.2);">
        <p style="margin-bottom:12px;font-size:15px;">Vouliez-vous écrire :</p>
        <p style="font-weight:700;font-size:16px;margin-bottom:16px;" id="email-typo-suggestion"></p>
        <p style="font-size:14px;color:#888;margin-bottom:20px;">au lieu de <span id="email-typo-original"></span>&nbsp;?</p>
        <button id="email-typo-accept" class="mo-button-main" style="width:100%;margin-bottom:10px;">Oui, corriger</button>
        <button id="email-typo-decline" style="background:none;border:none;color:#888;cursor:pointer;font-size:14px;">Non, garder mon adresse</button>
    </div>
</div>

<script src="https://accounts.google.com/gsi/client?hl=fr" async defer></script>
<script type="text/javascript">
    window.popupCallback = null;

    // ── Email typo detection ──────────────────────────────────────
    // Miroir du bloc de modules/petition/ressources/js/petition.php.
    // Les gardes typeof évitent la double définition quand les deux JS
    // sont chargés sur la même page. Toute évolution doit être reportée
    // dans les DEUX fichiers.

    // Liste servant uniquement à l'autocomplétion du champ email
    if (typeof EMAIL_COMMON_DOMAINS === 'undefined') {
        var EMAIL_COMMON_DOMAINS = [
            'gmail.com','hotmail.com','hotmail.fr','yahoo.fr','yahoo.com',
            'orange.fr','sfr.fr','free.fr','laposte.net','outlook.com',
            'outlook.fr','live.fr','live.com','wanadoo.fr','neuf.fr',
            'bbox.fr','numericable.fr','icloud.com','me.com','mac.com',
            'aol.com','gmx.fr','gmx.com','ymail.com','msn.com'
        ];
    }
    // Fournisseurs multi-pays : leur extension n'est jamais corrigée
    if (typeof EMAIL_MULTI_TLD_SLD === 'undefined') {
        var EMAIL_MULTI_TLD_SLD = ['yahoo','hotmail','outlook','live','msn','aol','gmx',
            'orange','wanadoo','proton','protonmail'];
    }
    // Fournisseurs à extension unique : une autre extension est une vraie erreur
    if (typeof EMAIL_MONO_TLD_SLD === 'undefined') {
        var EMAIL_MONO_TLD_SLD = {
            'gmail':'com','googlemail':'com','laposte':'net','sfr':'fr','free':'fr',
            'neuf':'fr','bbox':'fr','numericable':'fr','ymail':'com','icloud':'com',
            'me':'com','mac':'com'
        };
    }
    if (typeof EMAIL_KNOWN_SLD === 'undefined') {
        var EMAIL_KNOWN_SLD = EMAIL_MULTI_TLD_SLD.concat(Object.keys(EMAIL_MONO_TLD_SLD));
    }
    // Fournisseurs légitimes reconnus, jamais proposés comme correction
    if (typeof EMAIL_SAFE_SLD === 'undefined') {
        var EMAIL_SAFE_SLD = ['mail','email','web','terra','libero','virgilio','alice',
            'tiscali','tin','uol','bol','ig','globo','wp','o2','interia','onet','op',
            'gazeta','sapo','clix','netcabo','mynet','superonline','ttmail','telenet',
            'skynet','scarlet','voo','proximus','bluewin','sunrise','hispeed','ziggo',
            'kpnmail','xs4all','home','planet','telfort','telia','comhem','spray',
            'bredband','btinternet','sky','ntlworld','virginmedia','talktalk',
            'blueyonder','rogers','videotron','bell','sympatico','shaw','telus',
            'yandex','seznam','abv','zoho','fastmail','tutanota','freenet','arcor',
            't-online','movistar','telefonica'];
    }
    // Domaines métier/entreprise à ne jamais corriger
    if (typeof EMAIL_EXCLUDED_DOMAINS === 'undefined') {
        var EMAIL_EXCLUDED_DOMAINS = ['ntec.fr','netc.fr'];
    }
    if (typeof EMAIL_VALID_TLD === 'undefined') {
        var EMAIL_VALID_TLD = ['com','net','org','info','biz','eu','fr','be','ch','ca',
            'de','at','es','mx','ar','cl','co','it','pt','br','pl','tr','nl','uk','ie',
            'au','nz','jp','kr','sg','my','ph','th','id','il','in','hu','ro','sk','cz',
            'bg','gr','se','dk','no','fi','is','lu','li','ru','ua','za','ma','dz','tn',
            'sn','ci','cm','us','me','tv','io','cc','ws','mobi','name','pro','xyz',
            'online','site','email','app','dev','cloud'];
    }
    if (typeof EMAIL_MULTI_PART_TLD === 'undefined') {
        var EMAIL_MULTI_PART_TLD = ['co','com','net','org','ac','gov','edu'];
    }
    // Damerau-Levenshtein : l'inversion de deux lettres coûte 1 et non 2
    if (typeof emailTypoDistance === 'undefined') {
        var emailTypoDistance = function(a, b) {
            var d = [], i, j, cost;
            for (i = 0; i <= a.length; i++) d[i] = [i];
            for (j = 0; j <= b.length; j++) d[0][j] = j;
            for (i = 1; i <= a.length; i++) {
                for (j = 1; j <= b.length; j++) {
                    cost = (a[i-1] === b[j-1]) ? 0 : 1;
                    d[i][j] = Math.min(d[i-1][j] + 1, d[i][j-1] + 1, d[i-1][j-1] + cost);
                    if (i > 1 && j > 1 && a[i-1] === b[j-2] && a[i-2] === b[j-1]) {
                        d[i][j] = Math.min(d[i][j], d[i-2][j-2] + 1);
                    }
                }
            }
            return d[a.length][b.length];
        };
    }
    if (typeof emailSplitDomain === 'undefined') {
        var emailSplitDomain = function(domain) {
            var parts = domain.split('.');
            if (parts.length < 2) return null;
            if (parts.length >= 3
                && EMAIL_MULTI_PART_TLD.indexOf(parts[parts.length - 2]) !== -1
                && parts[parts.length - 1].length <= 3) {
                return { sld: parts.slice(0, -2).join('.'), tld: parts.slice(-2).join('.') };
            }
            return { sld: parts.slice(0, -1).join('.'), tld: parts[parts.length - 1] };
        };
    }
    if (typeof emailTldIsValid === 'undefined') {
        var emailTldIsValid = function(tld) {
            var parts = tld.split('.');
            for (var i = 0; i < parts.length; i++) {
                if (EMAIL_VALID_TLD.indexOf(parts[i]) === -1) return false;
            }
            return true;
        };
    }
    if (typeof emailSuggestDomain === 'undefined') {
        var emailSuggestDomain = function(domain) {
            if (EMAIL_EXCLUDED_DOMAINS.indexOf(domain) !== -1) return null;

            var d = emailSplitDomain(domain);
            if (!d || !d.sld || !d.tld) return null;

            if (EMAIL_SAFE_SLD.indexOf(d.sld) !== -1) return null;

            var i, dist, best, bestDist, canon;

            // SLD exact : seule l'extension peut éventuellement être corrigée
            if (EMAIL_KNOWN_SLD.indexOf(d.sld) !== -1) {
                if (EMAIL_MONO_TLD_SLD.hasOwnProperty(d.sld)) {
                    canon = EMAIL_MONO_TLD_SLD[d.sld];
                    return (d.tld !== canon) ? d.sld + '.' + canon : null;
                }
                // Fournisseur multi-pays + extension valide => on ne touche à rien
                if (emailTldIsValid(d.tld)) return null;
                best = null; bestDist = 2;
                for (i = 0; i < EMAIL_VALID_TLD.length; i++) {
                    dist = emailTypoDistance(d.tld, EMAIL_VALID_TLD[i]);
                    if (dist < bestDist) { bestDist = dist; best = EMAIL_VALID_TLD[i]; }
                }
                return best ? d.sld + '.' + best : null;
            }

            // SLD inconnu : rapprochement sur le SLD seul, extension préservée
            bestDist = (d.sld.length <= 7) ? 2 : 3;
            best = null;
            for (i = 0; i < EMAIL_KNOWN_SLD.length; i++) {
                dist = emailTypoDistance(d.sld, EMAIL_KNOWN_SLD[i]);
                if (dist < bestDist) { bestDist = dist; best = EMAIL_KNOWN_SLD[i]; }
            }
            if (!best) return null;
            if (EMAIL_MONO_TLD_SLD.hasOwnProperty(best)) {
                return best + '.' + EMAIL_MONO_TLD_SLD[best];
            }
            return best + '.' + (emailTldIsValid(d.tld) ? d.tld : 'com');
        };
    }
    if (typeof checkEmailTypo === 'undefined') {
        var checkEmailTypo = function(email) {
            var atPos = email.lastIndexOf('@');
            if (atPos === -1) return null;
            var local  = email.substring(0, atPos + 1);
            var domain = email.substring(atPos + 1).toLowerCase();
            var sugg   = emailSuggestDomain(domain);
            return (sugg && sugg !== domain) ? local + sugg : null;
        };
    }

    // ── Navigation ────────────────────────────────────────────────
    function showStep(id) {
        $('.block-popup').hide();
        $(id).css('display', 'flex');
        scheduleGoogleButtonsRefresh();
    }

    function closePopup() {
        showStep('#login-form');
        $('#popup-connexion').hide();
        $('#create-account-error').empty();
        $('.c-error').text('').hide();
        window.popupCallback = null;
    }

    function afterLogin() {
        if (window.popupCallback !== null) {
            window.popupCallback();
            closePopup();
        } else if ($('#typeLogin').val() == 1) {
            submitFormCreatePetition();
        } else {
            location.reload();
        }
    }

    // ── Email typo popup ──────────────────────────────────────────
    function showEmailTypoPopupConn(fieldSelector, suggestedEmail, onAccept, onDecline) {
        $('#email-typo-original').text($(fieldSelector).val());
        $('#email-typo-suggestion').text(suggestedEmail);
        $('#popup-email-typo').css({ display: 'flex', opacity: 0 }).animate({ opacity: 1 }, 200);
        $.post('/ws/trackEmailTypo', { type: 'proposee', nonce: emailTypoConnNonce });

        $('#email-typo-accept').off('click').on('click', function() {
            $.post('/ws/trackEmailTypo', { type: 'acceptee', nonce: emailTypoConnNonce });
            $(fieldSelector).val(suggestedEmail);
            $('#popup-email-typo').fadeOut(150);
            window.emailTypoAcknowledgedConn = true;
            onAccept();
        });
        $('#email-typo-decline').off('click').on('click', function() {
            $('#popup-email-typo').fadeOut(150);
            window.emailTypoAcknowledgedConn = true;
            onDecline();
        });
    }

    // ── Email domain autocomplete ─────────────────────────────────
    function connEmailDomainSuggest(inputId, suggestId) {
        $('#' + inputId).on('keyup', function() {
            var val   = $(this).val();
            var atPos = val.indexOf('@');
            if (atPos === -1 || val.substring(atPos + 1).length === 0) {
                $('#' + suggestId).empty().hide();
                return;
            }
            var typed   = val.substring(atPos + 1).toLowerCase();
            var matches = EMAIL_COMMON_DOMAINS.filter(function(d) { return d.indexOf(typed) === 0 && d !== typed; });
            if (!matches.length) { $('#' + suggestId).empty().hide(); return; }
            var local = val.substring(0, atPos + 1);
            var html  = matches.slice(0, 5).map(function(d) {
                return '<div class="email-suggest-item-conn" data-target="#' + inputId + '" data-suggest="#' + suggestId + '">' + local + d + '</div>';
            }).join('');
            $('#' + suggestId).html(html).show();
        });
        $('#' + inputId).on('blur', function() {
            setTimeout(function() { $('#' + suggestId).empty().hide(); }, 150);
        });
    }

    // ── Facebook SDK ──────────────────────────────────────────────
    window.fbAsyncInit = function() {
        FB.init({ appId: '1737315313006946', cookie: true, version: 'v3.3' });
        FB.AppEvents.logPageView();
    };
    (function(d, s, id) {
        var js, fjs = d.getElementsByTagName(s)[0];
        if (d.getElementById(id)) return;
        js = d.createElement(s); js.id = id;
        js.src = '//connect.facebook.net/fr_FR/sdk.js';
        fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));

    // ── Main ──────────────────────────────────────────────────────
    $(function() {

        // Ouverture via lien magique (?open_popup=reset)
        var urlParams = new URLSearchParams(window.location.search);
        if (urlParams.get('open_popup') === 'reset' && $('#mailUser').val()) {
            $('#password-email').text($('#mailUser').val());
            $('#popup-connexion').css('display', 'flex');
            showStep('#password-form');
            scheduleGoogleButtonsRefresh();
            var cleanUrl = window.location.pathname + window.location.search.replace(/[?&]open_popup=reset/, '').replace(/^&/, '?');
            history.replaceState(null, '', cleanUrl || window.location.pathname);
        }

        // Autocomplete email
        connEmailDomainSuggest('login-email',           'email-suggest-conn-login');
        connEmailDomainSuggest('email-popup',           'email-suggest-conn-signup');
        connEmailDomainSuggest('forgot-password-email', 'email-suggest-conn-forgot');

        $(document).on('mousedown', '.email-suggest-item-conn', function(e) {
            e.preventDefault();
            var target  = $(this).data('target');
            var suggest = $(this).data('suggest');
            $(target).val($(this).text()).trigger('blur');
            $(suggest).empty().hide();
        });

        // Toggle mot de passe
        $('#popup-connexion').on('click', '.displayPassword', function() {
            $(this).toggleClass('fa-eye-slash fa-eye');
            var input = $($(this).attr('toggle'));
            input.prop('type', input.prop('type') === 'password' ? 'text' : 'password');
        });

        // Fermeture
        $(document).on('click', '.block-popup .close-popup', closePopup);

        // Retour
        $(document).on('click', '.block-popup .back, .block-popup .backco', function() {
            showStep('#login-form');
        });

        // Vers inscription
        $(document).on('click', '.inscription-btn', function() {
            $('#email-popup').val($('#login-email').val());
            showStep('#signup-form');
        });

        // Message → login
        $('#btn-to-login').on('click', function() {
            showStep('#login-form');
        });

        // Vers mot de passe oublié
        $(document).on('click', '.forgotpass-btn', function() {
            $('#forgot-password-email').val($('#login-email').val() || $('#mailUser').val());
            showStep('#forgot-password-form');
            $('#forgot-password-email').focus();
        });

        // ── Étape 1 : email ──────────────────────────────────────
        function doVerifLogin() {
            if (!window.emailTypoAcknowledgedConn) {
                var suggestion = checkEmailTypo($('#login-email').val());
                if (suggestion) {
                    showEmailTypoPopupConn('#login-email', suggestion, verifLogin, verifLogin);
                    return;
                }
            }
            window.emailTypoAcknowledgedConn = false;
            verifLogin();
        }

        $('#login-email').on('keypress', function(e) { if (e.keyCode === 13) doVerifLogin(); });
        $('#valid-login-form').on('click', doVerifLogin);

        function verifLogin() {
            clearErrors();
            wsRequestCommon('/connexionws/connexion', 'GET', {
                email      : $('#login-email').val(),
                origin_url : window.location.href
            }, false, function(response, err) {
                if (err) {
                    showErrors(response.errors);
                } else if (response.message == 1) {
                    $('#mailUser').val($('#login-email').val());
                    $('#email-login-password').text($('#login-email').val());
                    showStep('#login-password-form');
                    $('#login-password').focus();
                } else if (response.message == 2) {
                    $('#mailUser').val($('#login-email').val());
                    $('#message-text').text("Il s'agit de votre première connexion sur votre profil MyPetition.org. Pour y accéder, un lien vous permettant de créer votre mot de passe personnalisé vous a été envoyé par mail.");
                    showStep('#message-block');
                }
            });
        }

        // ── Étape 2 : mot de passe ───────────────────────────────
        $('#login-password').on('keypress', function(e) { if (e.keyCode === 13) verifLoginPassword(); });
        $('#valid-login-password-form').on('click', verifLoginPassword);

        function verifLoginPassword() {
            clearErrors();
            wsRequestCommon('/connexionws/connexionPassword', 'GET', {
                email   : $('#mailUser').val(),
                password: $('#login-password').val(),
                url     : document.location.href
            }, false, function(response, err) {
                if (err) { showErrors(response.errors); } else { afterLogin(); }
            });
        }

        // ── Mot de passe oublié ──────────────────────────────────
        function doVerifForgotPassword() {
            if (!window.emailTypoAcknowledgedConn) {
                var suggestion = checkEmailTypo($('#forgot-password-email').val());
                if (suggestion) {
                    showEmailTypoPopupConn('#forgot-password-email', suggestion, verifForgotPassword, verifForgotPassword);
                    return;
                }
            }
            window.emailTypoAcknowledgedConn = false;
            verifForgotPassword();
        }

        $('#forgot-password-email').on('keypress', function(e) { if (e.keyCode === 13) doVerifForgotPassword(); });
        $('#valid-forgot-password-form').on('click', doVerifForgotPassword);

        function verifForgotPassword() {
            clearErrors();
            wsRequestCommon('/connexionws/forgotPassword', 'GET', {
                email      : $('#forgot-password-email').val(),
                origin_url : window.location.href
            }, false, function(response, err) {
                if (err) {
                    showErrors(response.errors);
                } else {
                    $('#mailUser').val($('#forgot-password-email').val());
                    $('#message-text').text("Un lien de réinitialisation de mot de passe vous a été envoyé par mail. Cliquez dessus pour créer votre nouveau mot de passe.");
                    showStep('#message-block');
                }
            });
        }

        // ── Inscription ──────────────────────────────────────────
        $('#valid-signup-form').on('click', function() {
            if (!window.emailTypoAcknowledgedConn) {
                var suggestion = checkEmailTypo($('#email-popup').val());
                if (suggestion) {
                    showEmailTypoPopupConn('#email-popup', suggestion,
                        function() { $('#valid-signup-form').trigger('click'); },
                        function() { $('#valid-signup-form').trigger('click'); }
                    );
                    return;
                }
            }
            window.emailTypoAcknowledgedConn = false;
            clearErrors();

            var altchaValue = '';
            
            $('#mailUser').val($('#email-popup').val());
            wsRequestCommon('/connexionws/register', 'GET', {
                gender        : $('input[name=gender]:checked').val(),
                fname         : $('#fname-popup').val(),
                name          : $('#name-popup').val(),
                email         : $('#email-popup').val(),
                password      : $('#signup-password').val(),
                optin         : $('input[name=optin]').is(':checked'),
                optinComm     : $('input[name=aboCommercial]').is(':checked'),
                isregistration: 'true',
                altcha        : altchaValue
            }, false, function(response, err) {
                if (err) {
                    showErrors(response.errors);
                } else if (response.message == 1) {
                    if ($('#formRegisterPA').val() == 1) {
                        closePopup();
                        if ($('#typePay').val() === 'paypal') {
                            $('#paypal-button-container').click();
                            hideLoaderShowPayBtn('paypal');
                        } else {
                            $('#pay-button').click();
                        }
                    } else {
                        afterLogin();
                    }
                }
            });
        });

        // ── Code legacy ──────────────────────────────────────────
        $('#valid-code-form').on('click', function() {
            clearErrors();
            wsRequestCommon('/connexionws/verifyCode', 'GET', {
                code : $('#code-validation').val(),
                email: $('#mailUser').val()
            }, false, function(response, err) {
                if (err) {
                    showErrors(response.errors);
                } else if (response.message == 1) {
                    $('#password-email').text($('#mailUser').val());
                    showStep('#password-form');
                }
            });
        });

        // ── Nouveau mot de passe ─────────────────────────────────
        $('#valid-password-form').on('click', function() {
            clearErrors();
            wsRequestCommon('/connexionws/newPassword', 'GET', {
                password: $('#password-popup').val(),
                email   : $('#mailUser').val()
            }, false, function(response, err) {
                if (err) { showErrors(response.errors); }
                else if (response.message == 1) { afterLogin(); }
            });
        });

        // ── Effacement erreurs à la saisie ───────────────────────
        $('input').on('keypress', function() { $(this).removeClass('error-input'); });

        $(document).on('updateAutoVilleCP', function() {
            $('#city, #zipcode').removeClass('error-input');
            $('#verif-zipcode-error, #verif-city-error').hide();
        });

        // ── Helpers ──────────────────────────────────────────────
        function clearErrors() {
            $('.c-error').text('').hide();
            $('.block-input').removeClass('form-error');
        }

        function showErrors(errors) {
            errors.forEach(function(el) {
                var key = Object.getOwnPropertyNames(el)[0];
                $('#' + key + '-error').html(el[key]).show();
                $('.' + key + '-input').addClass('error-input');
                $('.block-input-' + key).addClass('form-error');
            });
        }
    });

    // ── Facebook login ────────────────────────────────────────────
    $(document).on('click', '#comm-fb-connect-div, #comm-fb-register-div2, #fb-connect-div2, #comm-fb-signup-connect-div', function() {
        FB.login(function(response) {
            if (response.authResponse) {
                wsRequestCommon('/connexionws/registerFacebook', 'POST', {}, false, function() { afterLogin(); });
            }
        }, { scope: 'email', auth_type: 'rerequest' });
    });

    // ── Google OAuth ──────────────────────────────────────────────
    function handleCredentialResponse(datas) {
        $.ajax({
            type: 'POST',
            url : '/connexionws/connectGoogle',
            data: datas,
            success: function(response) {
                if (response.code_retour) {
                    if (window.location.pathname.split('/')[2] === 'connexion') {
                        window.location = "https://www.mypetition.org/communaute/connexion";
                    } else if (window.popupCallback !== null) {
                        window.popupCallback();
                        closePopup();
                    } else {
                        submitFormCreatePetition();
                    }
                }
            }
        });
    }

    var googleButtonsInitialized = false;
    var googleButtonClientId = '803313661052-hjt1l0qg4que8i7qteprvfn46lacfs8d.apps.googleusercontent.com';
    var googleButtonConfigs = [
        ['googleConnect',     { theme: 'outline',      size: 'large', width: 'auto', locale: 'fr' }],
        ['googleRegister',    { theme: 'outline',      size: 'large', width: 'auto', text: 'signup_with', locale: 'fr' }],
        ['googleConnect2',    { theme: 'outline',      size: 'large', width: 'auto', locale: 'fr' }],
        ['googleConnectSign', { theme: 'filled_black', size: 'large', width: 370,    text: 'continue_with', locale: 'fr' }]
    ];

    function getGoogleButtonWidth(id) {
        var el = document.getElementById(id);
        if (!el) return 348;

        var width = Math.round(el.getBoundingClientRect().width);
        if (!width) {
            var panel = el.closest ? el.closest('.block-popup') : null;
            width = panel ? Math.round(panel.getBoundingClientRect().width) : 0;
        }
        if (!width) {
            width = Math.round(
                $('#comm-fb-connect-div').outerWidth() ||
                $('#comm-fb-register-div2').outerWidth() ||
                $('#fb-connect-div2').outerWidth() || 0
            );
        }

        return Math.max(200, width || 348);
    }

    function forceGoogleButtonFullWidth(id) {
        var el = document.getElementById(id);
        if (!el) return;

        el.style.width = '100%';
        if (el.firstElementChild) {
            el.firstElementChild.style.width = '100%';
            el.firstElementChild.style.maxWidth = 'none';
            el.firstElementChild.style.margin = '0';
        }
        Array.prototype.forEach.call(el.querySelectorAll('iframe'), function(child) {
            child.style.width = 'calc(100% + 20px)';
            child.style.maxWidth = 'none';
            child.style.margin = '0 -10px';
        });
    }

    function renderGoogleButton(id, config) {
        var el = document.getElementById(id);
        if (!el || !window.google || !google.accounts || !google.accounts.id) return;

        var renderConfig = Object.assign({}, config);
        if (renderConfig.width === 'auto') {
            renderConfig.width = getGoogleButtonWidth(id);
        }

        if (el.getAttribute('data-google-width') !== String(renderConfig.width) || !el.querySelector('iframe')) {
            el.innerHTML = '';
            google.accounts.id.renderButton(el, renderConfig);
            el.setAttribute('data-google-width', renderConfig.width);
        }
        forceGoogleButtonFullWidth(id);
    }

    function renderGoogleButtons() {
        if (!window.google || !google.accounts || !google.accounts.id) return;

        if (!googleButtonsInitialized) {
            google.accounts.id.initialize({ client_id: googleButtonClientId, callback: handleCredentialResponse });
            googleButtonsInitialized = true;
        }

        googleButtonConfigs.forEach(function(pair) {
            renderGoogleButton(pair[0], pair[1]);
        });
    }

    function initGoogleButtons(attempt) {
        attempt = attempt || 0;
        if (!window.google || !google.accounts || !google.accounts.id) {
            if (attempt < 30) setTimeout(function() { initGoogleButtons(attempt + 1); }, 100);
            return;
        }
        renderGoogleButtons();
        scheduleGoogleButtonsRefresh();
    }

    function scheduleGoogleButtonsRefresh() {
        setTimeout(renderGoogleButtons, 0);
        setTimeout(renderGoogleButtons, 150);
        setTimeout(renderGoogleButtons, 400);
    }

    window.addEventListener('load', function() {
        initGoogleButtons();
    });
    window.addEventListener('resize', scheduleGoogleButtonsRefresh);

    if (window.MutationObserver) {
        var popupObserver = new MutationObserver(scheduleGoogleButtonsRefresh);
        var popupNode = document.getElementById('popup-connexion');
        if (popupNode) {
            popupObserver.observe(popupNode, { attributes: true, attributeFilter: ['style', 'class'] });
        }
    }
</script>
</body>
</html>