
{"id":213,"date":"2025-08-12T21:12:51","date_gmt":"2025-08-12T21:12:51","guid":{"rendered":"https:\/\/stupido-running.fr\/?page_id=213"},"modified":"2025-08-12T21:12:51","modified_gmt":"2025-08-12T21:12:51","slug":"contact-stupido-running","status":"publish","type":"page","link":"https:\/\/stupido-running.fr\/index.php\/contact-stupido-running\/","title":{"rendered":"Contact &#8211; Stupido Running"},"content":{"rendered":"\n<!doctype html>\n<html lang=\"fr\">\n<head>\n  <meta charset=\"utf-8\">\n  <title>Contact \u2014 Stupido Running Club<\/title>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n  <style>\n    :root{\n      --bg:#ffffff;\n      --fg:#1F1E23;\n      --muted:#6b6a70;\n      --accent:#BBF48B;\n      --border:#e9e9ec;\n      --error:#d11a2a;\n      --ok:#1a7f37;\n    }\n    html,body{background:var(--bg); color:var(--fg); font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;}\n    .contact-shell{max-width:980px; margin:40px auto; padding:0 20px;}\n    .head{\n      display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; border-bottom:1px solid var(--border); padding-bottom:12px; margin-bottom:24px;\n    }\n    .brand{font-weight:800; text-transform:uppercase; letter-spacing:.5px;}\n    .brand small{display:block; color:var(--muted); font-weight:600; text-transform:none; letter-spacing:0;}\n    .grid{display:grid; grid-template-columns:1.2fr .8fr; gap:28px;}\n    @media (max-width:820px){ .grid{grid-template-columns:1fr;} }\n\n    \/* Card *\/\n    .card{border:1px solid var(--border); border-radius:16px; padding:20px;}\n    .card h2{font-size:1.15rem; margin:0 0 12px;}\n    .card p{color:var(--muted); margin:0 0 12px;}\n\n    \/* Form *\/\n    form{display:grid; gap:14px;}\n    .row{display:grid; grid-template-columns:1fr 1fr; gap:12px;}\n    @media (max-width:560px){ .row{grid-template-columns:1fr;} }\n    label{font-weight:600; font-size:.95rem;}\n    .req{color:var(--muted); font-weight:500; margin-left:6px; font-size:.85rem;}\n    input, select, textarea{\n      width:100%; border:1px solid var(--border); border-radius:12px; padding:12px 14px; font:inherit; color:inherit; background:#fff;\n    }\n    input:focus, select:focus, textarea:focus{outline:2px solid var(--accent); outline-offset:1px;}\n    textarea{min-height:140px; resize:vertical;}\n\n    .hint{font-size:.85rem; color:var(--muted); margin-top:6px;}\n    .error{color:var(--error); font-size:.9rem; display:none;}\n    .ok{color:var(--ok); font-size:.95rem; display:none;}\n    .actions{display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-top:6px;}\n    .btn{\n      border:none; border-radius:999px; padding:12px 18px; font-weight:800; text-transform:uppercase; letter-spacing:.4px; cursor:pointer;\n      background:var(--fg); color:#fff;\n    }\n    .btn:disabled{opacity:.6; cursor:not-allowed;}\n    .btn.alt{background:#fff; color:var(--fg); border:1px solid var(--border);}\n    .legal{\n      border-top:1px dashed var(--border); padding-top:10px; margin-top:6px; font-size:.85rem; color:var(--muted);\n    }\n    .legal a{color:var(--fg);}\n    \/* Honeypot *\/\n    .hp{position:absolute; left:-50000px; top:auto; width:1px; height:1px; overflow:hidden;}\n\n    \/* Info card *\/\n    .info-item{display:flex; gap:10px; align-items:flex-start; margin-bottom:10px;}\n    .info-item svg{flex:0 0 20px;}\n    .map{border-radius:12px; border:1px solid var(--border); overflow:hidden;}\n  <\/style>\n<\/head>\n<body>\n  <div class=\"contact-shell\" role=\"main\">\n    <header class=\"head\" aria-label=\"En-t\u00eate de la page\">\n      <div class=\"brand\">\n        STUPIDO RUNNING CLUB\n        <small>\u201cStupid is the new fast\u201d<\/small>\n      <\/div>\n      <div>\n        <a class=\"btn alt\" href=\"\/\" aria-label=\"Retour \u00e0 l\u2019accueil\">Accueil<\/a>\n      <\/div>\n    <\/header>\n\n    <div class=\"grid\">\n      <!-- FORMULAIRE -->\n      <section class=\"card\" aria-labelledby=\"contact-title\">\n        <h2 id=\"contact-title\">Nous \u00e9crire<\/h2>\n        <p>Une question sur un \u00e9v\u00e9nement, un partenariat ou une commande&nbsp;? \u00c9cris-nous, on r\u00e9pond vite et on va droit au but.<\/p>\n\n        <!-- Remplace action par ton endpoint (ex. Formspree\/Make\/Netlify\/CF Worker). -->\n        <form id=\"contactForm\" action=\"#\" method=\"post\" novalidate>\n          <!-- Anti-spam honeypot -->\n          <div class=\"hp\">\n            <label for=\"website\">Votre site (laisser vide)<\/label>\n            <input type=\"text\" id=\"website\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\">\n          <\/div>\n\n          <div class=\"row\">\n            <div>\n              <label for=\"fullname\">Nom complet <span class=\"req\">(requis)<\/span><\/label>\n              <input id=\"fullname\" name=\"fullname\" type=\"text\" autocomplete=\"name\" required>\n              <div class=\"error\" id=\"err-fullname\">Merci d\u2019indiquer votre nom.<\/div>\n            <\/div>\n            <div>\n              <label for=\"email\">Email <span class=\"req\">(requis)<\/span><\/label>\n              <input id=\"email\" name=\"email\" type=\"email\" inputmode=\"email\" autocomplete=\"email\" required>\n              <div class=\"error\" id=\"err-email\">Entre une adresse email valide.<\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"row\">\n            <div>\n              <label for=\"phone\">T\u00e9l\u00e9phone<\/label>\n              <input id=\"phone\" name=\"phone\" type=\"tel\" inputmode=\"tel\" autocomplete=\"tel\" placeholder=\"07 69 82 87 29\">\n              <div class=\"hint\">Optionnel, mais \u00e7a acc\u00e9l\u00e8re le suivi.<\/div>\n            <\/div>\n            <div>\n              <label for=\"subject\">Sujet <span class=\"req\">(requis)<\/span><\/label>\n              <select id=\"subject\" name=\"subject\" required>\n                <option value=\"\">\u2014 Choisir \u2014<\/option>\n                <option>Inscription \u00e9v\u00e9nement<\/option>\n                <option>Partenariat \/ stand<\/option>\n                <option>Commande boutique<\/option>\n                <option>Question g\u00e9n\u00e9rale<\/option>\n              <\/select>\n              <div class=\"error\" id=\"err-subject\">Choisis un sujet.<\/div>\n            <\/div>\n          <\/div>\n\n          <div>\n            <label for=\"message\">Message <span class=\"req\">(requis)<\/span><\/label>\n            <textarea id=\"message\" name=\"message\" required><\/textarea>\n            <div class=\"error\" id=\"err-message\">Dis-nous l\u2019essentiel pour qu\u2019on t\u2019aide efficacement.<\/div>\n          <\/div>\n\n          <div>\n            <input type=\"checkbox\" id=\"consent\" name=\"consent\" required>\n            <label for=\"consent\">J\u2019accepte que mes donn\u00e9es soient utilis\u00e9es pour traiter ma demande, conform\u00e9ment \u00e0 la <a href=\"\/politique-de-confidentialite\">Politique de confidentialit\u00e9<\/a>. <span class=\"req\">(requis)<\/span><\/label>\n            <div class=\"error\" id=\"err-consent\">Tu dois accepter pour qu\u2019on puisse te r\u00e9pondre.<\/div>\n          <\/div>\n\n          <!-- M\u00e9tadonn\u00e9es utiles -->\n          <input type=\"hidden\" name=\"site\" value=\"stupido-running.fr\">\n          <input type=\"hidden\" name=\"form\" value=\"contact_v1\">\n\n          <div class=\"actions\">\n            <button class=\"btn\" type=\"submit\" id=\"submitBtn\">Envoyer<\/button>\n            <span class=\"ok\" id=\"ok-msg\" aria-live=\"polite\">Message envoy\u00e9. On revient vers toi rapidement.<\/span>\n            <span class=\"error\" id=\"fail-msg\" aria-live=\"polite\">\u00c9chec de l\u2019envoi. R\u00e9essaie ou \u00e9cris-nous \u00e0 <a href=\"mailto:contact@stupido-running.fr\">contact@stupido-running.fr<\/a>.<\/span>\n          <\/div>\n\n          <div class=\"legal\">\n            <p>\n              Responsable de traitement : Stupido Running Club \u2014 Bastien HOUVENAGHEL. <br>\n              Plus d\u2019infos : <a href=\"\/mentions-legales\">Mentions l\u00e9gales<\/a> \u2022 <a href=\"\/cgv\">CGV<\/a> \u2022 <a href=\"\/cookies\">Cookies<\/a>.\n            <\/p>\n          <\/div>\n        <\/form>\n      <\/section>\n\n      <!-- INFOS \/ COORDONN\u00c9ES -->\n      <aside class=\"card\" aria-labelledby=\"info-title\">\n        <h2 id=\"info-title\">Coordonn\u00e9es<\/h2>\n        <div class=\"info-item\">\n          <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" aria-hidden=\"true\"><path d=\"M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7Zm0 9.5c-1.4 0-2.5-1.1-2.5-2.5S10.6 6.5 12 6.5s2.5 1.1 2.5 2.5S13.4 11.5 12 11.5Z\"\/><\/svg>\n          <div>\n            Chemin de la plaine, 06530 Peymeinade<br>\n            France\n          <\/div>\n        <\/div>\n        <div class=\"info-item\">\n          <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" aria-hidden=\"true\"><path d=\"M6.6 10.8c1.4 2.7 3.9 5.1 6.6 6.6l2.2-2.2c.3-.3.8-.4 1.2-.2 1.3.5 2.7.7 4.2.7.7 0 1.2.5 1.2 1.2v3.7c0 .7-.5 1.2-1.2 1.2C10.9 22 2 13.1 2 2.5 2 1.8 2.5 1.3 3.2 1.3H7c.7 0 1.2.5 1.2 1.2 0 1.5.3 2.9.7 4.2.1.4 0 .9-.3 1.2l-2 2.9Z\"\/><\/svg>\n          <div>\n            <a href=\"tel:+33769828729\">07 69 82 87 29<\/a>\n          <\/div>\n        <\/div>\n        <div class=\"info-item\">\n          <svg viewBox=\"0 0 24 24\" width=\"20\" height=\"20\" aria-hidden=\"true\"><path d=\"M2 6.5C2 5.7 2.7 5 3.5 5h17c.8 0 1.5.7 1.5 1.5v11c0 .8-.7 1.5-1.5 1.5h-17C2.7 19 2 18.3 2 17.5v-11Zm2 .5v.3l7.6 4.5c.3.2.6.2.9 0L20 7.3V7H4Zm16 2.2-6.8 4a3 3 0 0 1-3 0L4 9.2V17h16V9.2Z\"\/><\/svg>\n          <div>\n            <a href=\"mailto:contact@stupido-running.fr\">contact@stupido-running.fr<\/a>\n          <\/div>\n        <\/div>\n\n        <h2 style=\"margin-top:16px;\">Horaires<\/h2>\n        <p class=\"hint\">Lun\u2013Ven \u2022 09:00\u201318:00<\/p>\n\n        <div class=\"map\" aria-label=\"Carte d\u2019emplacement (exemple)\" style=\"margin-top:12px;\">\n          <!-- Optionnel : remplace l\u2019iframe par une vraie carte si tu veux -->\n          <iframe title=\"Peymeinade \u2014 Plan\" width=\"100%\" height=\"180\" loading=\"lazy\" referrerpolicy=\"no-referrer-when-downgrade\"\n            src=\"https:\/\/www.openstreetmap.org\/export\/embed.html?bbox=6.833%2C43.63%2C6.95%2C43.70&#038;layer=mapnik\">\n          <\/iframe>\n        <\/div>\n      <\/aside>\n    <\/div>\n  <\/div>\n\n  <script>\n    \/\/ ====== Validation simple + simulation d'envoi ======\n    const f = document.getElementById('contactForm');\n    const okMsg = document.getElementById('ok-msg');\n    const failMsg = document.getElementById('fail-msg');\n    const submitBtn = document.getElementById('submitBtn');\n\n    function show(id, on){ const el = document.getElementById(id); if(!el) return; el.style.display = on ? 'inline' : 'none'; }\n\n    f.addEventListener('submit', async (e)=>{\n      e.preventDefault();\n      okMsg.style.display = 'none'; failMsg.style.display = 'none';\n\n      const hp = f.website.value.trim(); \/\/ honeypot\n      const fullname = f.fullname.value.trim();\n      const email = f.email.value.trim();\n      const subject = f.subject.value.trim();\n      const message = f.message.value.trim();\n      const consent = f.consent.checked;\n\n      let ok = true;\n      show('err-fullname', !fullname); if(!fullname) ok = false;\n\n      \/\/ Email tr\u00e8s simple\n      const emailOk = \/^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$\/.test(email);\n      show('err-email', !emailOk); if(!emailOk) ok = false;\n\n      show('err-subject', !subject); if(!subject) ok = false;\n      show('err-message', !message); if(!message) ok = false;\n      show('err-consent', !consent); if(!consent) ok = false;\n\n      \/\/ Le bot remplit souvent le champ cach\u00e9 -> on annule\n      if(hp){ ok = false; }\n\n      if(!ok) return;\n\n      \/\/ ====== Envoi : remplace FORM_ENDPOINT par ton endpoint (Formspree\/Make\/Netlify\/etc.) ======\n      \/\/ Exemple Formspree: const FORM_ENDPOINT = \"https:\/\/formspree.io\/f\/xxxxxx\";\n      const FORM_ENDPOINT = \"\"; \/\/ <= ajoute ton URL pour activer l\u2019envoi r\u00e9el\n\n      try{\n        submitBtn.disabled = true;\n        if(FORM_ENDPOINT){\n          const fd = new FormData(f);\n          const r = await fetch(FORM_ENDPOINT, { method:'POST', body: fd });\n          if(!r.ok) throw new Error('HTTP ' + r.status);\n        } else {\n          \/\/ Pas d\u2019endpoint : on simule un succ\u00e8s pour test UI\n          await new Promise(res=>setTimeout(res, 400));\n        }\n        okMsg.style.display = 'inline';\n        f.reset();\n      }catch(err){\n        console.error(err);\n        failMsg.style.display = 'inline';\n      }finally{\n        submitBtn.disabled = false;\n      }\n    });\n  <\/script>\n<\/body>\n<\/html>\n\n","protected":false},"excerpt":{"rendered":"<p>Contact \u2014 Stupido Running Club STUPIDO RUNNING CLUB \u201cStupid is the new fast\u201d Accueil Nous \u00e9crire Une question sur un \u00e9v\u00e9nement, un partenariat ou une commande&nbsp;? \u00c9cris-nous, on r\u00e9pond vite et on va droit au but. Votre site (laisser vide) Nom complet (requis) Merci d\u2019indiquer votre nom. Email (requis) Entre une adresse email valide. T\u00e9l\u00e9phone [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-213","page","type-page","status-publish"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/stupido-running.fr\/index.php\/wp-json\/wp\/v2\/pages\/213","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/stupido-running.fr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/stupido-running.fr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/stupido-running.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/stupido-running.fr\/index.php\/wp-json\/wp\/v2\/comments?post=213"}],"version-history":[{"count":1,"href":"https:\/\/stupido-running.fr\/index.php\/wp-json\/wp\/v2\/pages\/213\/revisions"}],"predecessor-version":[{"id":215,"href":"https:\/\/stupido-running.fr\/index.php\/wp-json\/wp\/v2\/pages\/213\/revisions\/215"}],"wp:attachment":[{"href":"https:\/\/stupido-running.fr\/index.php\/wp-json\/wp\/v2\/media?parent=213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}