{"version":3,"file":"script_main.CUOUDUX7.mjs","names":["React.useState","React.useCallback","React.useRef","c","Framer","React.useLayoutEffect","React.useEffect","useRef","React.useId","React.createElement","SiteLayout","Framer.PageRoot","Framer.lazy","Framer.useCurrentRoute","Framer.useLocaleInfo","Framer.useRouter","React.Fragment","React.memo","React.useCallback","React.useEffect","React.useRef","React.useState","React.useLayoutEffect","Framer.LazyValue","Framer.GracefullyDegradingErrorBoundary","Framer.PageEffectsProvider","Framer.patchRoutesForABTesting","Framer.inferInitialRouteFromPath","Framer.yieldToMain","React.startTransition","Framer.ErrorPlaceholder"],"sources":["https:/framerusercontent.com/modules/I4xTqug3O5PjxWq7hRzH/AukuYQkhZbTlZlwaokEc/SiteNav.js","https:/framerusercontent.com/modules/PzsRPKNXwbofe2CdY0Sf/znOgE7nN8SyDR3Dg7ha3/vMeiyyvjh.js","framer:toplevel/main"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import*as Framer from\"framer\";import{addPropertyControls,useLocaleInfo}from\"framer\";// Framer's router is exported at runtime but missing from its type\n// definitions. Read it defensively: without it, links behave as plain links.\nconst F=Framer;const useRouter=typeof F.useRouter===\"function\"?F.useRouter:()=>null;const useCurrentRouteId=typeof F.useCurrentRouteId===\"function\"?F.useCurrentRouteId:()=>undefined;const inferRoute=typeof F.inferInitialRouteFromPath===\"function\"?F.inferInitialRouteFromPath:null;// Shared navigation for every page of poteau-app.com: one header and one\n// footer, so the site reads as one place instead of separate silos.\n// Links are rendered on the server (SEO) and localised with the page locale:\n// French has no prefix, the other languages live under /en, /es and /it.\nconst FONT=\"'Plus Jakarta Sans', system-ui, sans-serif\";const NB=\"\\xa0\";const P_MARK=\"https://framerusercontent.com/images/k5pPTubJovIVy4HNM3kv8SCkwg.svg\";const APP_ICON=\"https://framerusercontent.com/images/cLANF7U9SvtNcz9Nujlyp5bnc.webp\";const BRANCH=\"https://poteau.app.link/hJRYQ2vBTLb\";const APP_STORE=\"https://apps.apple.com/app/poteau/id1664764947\";const PLAY_STORE=\"https://play.google.com/store/apps/details?id=com.krank.club\";const MAX_URL=\"https://poteau-max.com/?utm_source=poteau-app.com&utm_medium=website&utm_campaign=site-nav\";const APPLE_PROVIDER_TOKEN=\"117784615\";const PREFIX={fr:\"\",en:\"/en\",es:\"/es\",it:\"/it\"};const T={fr:{mail:\"Envoyer un mail\",level:\"Niveau\",home:\"Accueil\",cities:\"Villes\",centres:\"Centres\",blog:\"Blog\",download:\"T\\xe9l\\xe9charger\",pro:\"Tu g\\xe8res un centre ?\",proRest:\" est fait pour toi\",menu:\"Menu\",close:\"Fermer\",allCities:`Toutes les villes${NB}→`,allCentres:`Tous les centres${NB}→`,allArticles:`Tous les articles${NB}→`,app:`T\\xe9l\\xe9charger l’app`,privacy:\"Confidentialit\\xe9\",terms:\"Conditions d’utilisation\",legal:`Mentions${NB}l\\xe9gales`,cookies:\"Cookies\",tagline:\"Trouve un match de foot ou de padel pr\\xe8s de chez toi.\",poteau:\"Poteau\",language:\"Langue\"},en:{mail:\"Send an email\",level:\"Level\",home:\"Home\",cities:\"Cities\",centres:\"Centers\",blog:\"Blog\",download:\"Download\",pro:\"Run a center?\",proRest:\" is made for you\",menu:\"Menu\",close:\"Close\",allCities:`All cities${NB}→`,allCentres:`All centers${NB}→`,allArticles:`All articles${NB}→`,app:\"Get the app\",privacy:\"Privacy\",terms:\"Terms of use\",legal:`Legal${NB}notice`,cookies:\"Cookies\",tagline:\"Find a soccer or padel game near you.\",poteau:\"Poteau\",language:\"Language\"},es:{mail:\"Enviar un correo\",level:\"Nivel\",home:\"Inicio\",cities:\"Ciudades\",centres:\"Centros\",blog:\"Blog\",download:\"Descargar\",pro:\"\\xbfGestionas un centro?\",proRest:\" est\\xe1 hecho para ti\",menu:\"Men\\xfa\",close:\"Cerrar\",allCities:`Todas las ciudades${NB}→`,allCentres:`Todos los centros${NB}→`,allArticles:`Todos los art\\xedculos${NB}→`,app:\"Descarga la app\",privacy:\"Privacidad\",terms:\"Condiciones de uso\",legal:`Aviso${NB}legal`,cookies:\"Cookies\",tagline:\"Encuentra un partido de f\\xfatbol o de p\\xe1del cerca de ti.\",poteau:\"Poteau\",language:\"Idioma\"},it:{mail:\"Invia un’email\",level:\"Livello\",home:\"Home\",cities:\"Citt\\xe0\",centres:\"Centri\",blog:\"Blog\",download:\"Scarica\",pro:\"Gestisci un centro?\",proRest:\" fa per te\",menu:\"Menu\",close:\"Chiudi\",allCities:`Tutte le citt\\xe0${NB}→`,allCentres:`Tutti i centri${NB}→`,allArticles:`Tutti gli articoli${NB}→`,app:\"Scarica l’app\",privacy:\"Privacy\",terms:\"Condizioni d’uso\",legal:`Note${NB}legali`,cookies:\"Cookie\",tagline:\"Trova una partita di calcetto o di padel vicino a te.\",poteau:\"Poteau\",language:\"Lingua\"}};const LEGAL={fr:[\"politique-de-confidentialite\",\"cgu\",\"mentions-legales\"],en:[\"privacy-policy\",\"terms\",\"legal-notice\"],es:[\"politica-de-privacidad\",\"condiciones-de-uso\",\"aviso-legal\"],it:[\"informativa-privacy\",\"condizioni-d-uso\",\"note-legali\"]};const CATEGORIES=[{slug:{fr:\"trouver-un-match\",en:\"find-a-game\",es:\"encontrar-partido\",it:\"trovare-una-partita\"},name:{fr:\"Trouver un match\",en:\"Find a game\",es:\"Encontrar un partido\",it:\"Trovare una partita\"}},{slug:{fr:\"organiser-un-match\",en:\"organize-a-game\",es:\"organizar-un-partido\",it:\"organizzare-una-partita\"},name:{fr:\"Organiser un match\",en:\"Organize a game\",es:\"Organizar un partido\",it:\"Organizzare una partita\"}},{slug:{fr:\"ou-jouer\",en:\"where-to-play\",es:\"donde-jugar\",it:\"dove-giocare\"},name:{fr:\"O\\xf9 jouer et \\xe0 quel prix\",en:\"Where to play and prices\",es:\"D\\xf3nde jugar y precios\",it:\"Dove giocare e prezzi\"}},{slug:{fr:\"regles-et-conseils\",en:\"rules-and-tips\",es:\"reglas-y-consejos\",it:\"regole-e-consigli\"},name:{fr:\"R\\xe8gles et conseils\",en:\"Rules and tips\",es:\"Reglas y consejos\",it:\"Regole e consigli\"}},{slug:{fr:\"jouer-au-padel\",en:\"play-padel\",es:\"jugar-al-padel\",it:\"giocare-a-padel\"},name:{fr:\"Jouer au padel\",en:\"Play padel\",es:\"Jugar al p\\xe1del\",it:\"Giocare a padel\"}}];// The hubs with real traffic first (Search Console), then the rest of France.\nconst CITIES=[[\"paris\",\"Paris\"],[\"lyon\",\"Lyon\"],[\"marseille\",\"Marseille\"],[\"lille\",\"Lille\"],[\"toulouse\",\"Toulouse\"],[\"bordeaux\",\"Bordeaux\"],[\"miami\",\"Miami\"],[\"los-angeles\",\"Los Angeles\"]];const TOP_CENTRES=[[\"le-five-paris-18\",\"LE FIVE Paris 18\"],[\"stadium-thiais\",\"Stadium Thiais\"],[\"impulstar-park\",\"IMPULSTAR PARK\"],[\"le-five-colombes\",\"LE FIVE Colombes\"],[\"foot-power-5\",\"Foot POWER 5\"]];function useLang(){const info=useLocaleInfo();const code=String(info?.activeLocale?.code||\"fr\").slice(0,2).toLowerCase();return[\"fr\",\"en\",\"es\",\"it\"].includes(code)?code:\"fr\";}const stripLocale=p=>p.replace(/^\\/(en|es|it)(?=\\/|$)/,\"\")||\"/\";// The current path without its locale prefix, updated on every in-site\n// navigation (the header stays mounted when it lives in the layout template).\nfunction usePath(){const routeId=useCurrentRouteId();const[p,setP]=React.useState(\"\");React.useEffect(()=>{const read=()=>setP(stripLocale(window.location.pathname));read();window.addEventListener(\"popstate\",read);return()=>window.removeEventListener(\"popstate\",read);},[routeId]);return p;}// Which section the visitor is in, for the active link (client only).\nfunction useSection(){const p=usePath();return p.startsWith(\"/city\")?\"cities\":p.startsWith(\"/center\")?\"centres\":p.startsWith(\"/blog\")?\"blog\":p.startsWith(\"/level\")?\"level\":p===\"/\"?\"home\":\"\";}// Internal links go through Framer's router, like links drawn on the canvas:\n// no full reload, no white flash, the header and scripts stay alive. The href\n// stays a real URL for crawlers, new tabs and anything the router can't match.\nfunction useInternalNav(after){const router=useRouter();return React.useCallback(e=>{if(e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;const href=e.currentTarget.getAttribute(\"href\")||\"\";if(!href.startsWith(\"/\")||e.currentTarget.target===\"_blank\")return;const[path,hash]=href.split(\"#\");try{if(!inferRoute||!router?.routes||typeof router.navigate!==\"function\")return;const match=inferRoute(router.routes,stripLocale(path));if(!match?.routeId)return;e.preventDefault();router.navigate(match.routeId,hash?`#${hash}`:undefined,match.pathVariables);if(after)after();}catch{/* the browser follows the href */}},[router,after]);}// On a phone, go straight to the store page (Branch opened the App Store home on iOS).\nfunction onDownload(e){if(typeof navigator===\"undefined\")return;const ua=navigator.userAgent||\"\";const iOS=/iPhone|iPad|iPod/.test(ua)||/Macintosh/.test(ua)&&navigator.maxTouchPoints>1;const android=/Android/.test(ua);if(!iOS&&!android)return;e.preventDefault();const w=window;if(typeof w.gtag_report_conversion===\"function\")w.gtag_report_conversion();window.location.href=iOS?`${APP_STORE}?pt=${APPLE_PROVIDER_TOKEN}&ct=site-nav&mt=8`:`${PLAY_STORE}&referrer=${encodeURIComponent(\"utm_source=poteau-app.com&utm_medium=website&utm_campaign=site-nav\")}`;}// A touch screen under 600 points on its short side is a phone whatever its\n// user agent says: an iPhone asking for the desktop site, and some in-app\n// browsers, announce themselves as a Mac, and were treated as an iPad (Tim's\n// iPhone showed no download button on a centre page, 2026-10-07). The smallest\n// iPad is 744 points wide.\nfunction isSmallTouchScreen(){if(typeof navigator===\"undefined\"||typeof window===\"undefined\"||!window.screen)return false;return navigator.maxTouchPoints>0&&Math.min(window.screen.width,window.screen.height)<600;}// Anything that is not a phone: iPads (including iPadOS's desktop user agent),\n// Android tablets (no \"Mobile\" in their user agent) and narrow desktop windows\n// (no touch).\nfunction isNotPhone(){if(typeof navigator===\"undefined\")return false;const ua=navigator.userAgent||\"\";if(/iPhone|iPod/.test(ua)||/Android/.test(ua)&&/Mobile/.test(ua)||isSmallTouchScreen())return false;if(/iPad/.test(ua)||/Macintosh/.test(ua)||/Android/.test(ua))return true;return!(navigator.maxTouchPoints>0);}// The same test as isNotPhone(), run by an inline script while the HTML is\n// parsed, BEFORE the first paint: it marks <html> so an iPad or a narrow\n// computer window never draws the download button at all. Without it the\n// server-rendered button showed, then vanished once React set \"notphone\"\n// (Tim, 2026-10-04: \"should never appear in the first place\").\nconst NOT_PHONE_JS=`(function(){try{var u=navigator.userAgent||\"\";var phone=/iPhone|iPod/.test(u)||(/Android/.test(u)&&/Mobile/.test(u))||(navigator.maxTouchPoints>0&&window.screen&&Math.min(screen.width,screen.height)<600);var np=!phone&&(/iPad|Macintosh|Android/.test(u)||!(navigator.maxTouchPoints>0));if(np)document.documentElement.classList.add(\"pnav-np\")}catch(e){}})()`;// A tap that comes BEFORE the page's script has loaded. Every button holds a\n// Branch link in the HTML, and the code that turns it into a store page only\n// attaches once React is up: tap in that gap and the phone followed Branch,\n// whose script redirect opens the App Store on its home page (Tim, 2026-10-08:\n// « now it works, but earlier no »). This inline script runs as the HTML is\n// parsed and covers the gap; it steps aside once the real handlers are there\n// (window.__poteauTapReady), which also carry the campaign names.\nconst EARLY_TAP_JS=`(function(){try{document.addEventListener(\"click\",function(e){if(window.__poteauTapReady||e.defaultPrevented||e.button||e.metaKey||e.ctrlKey)return;var a=e.target&&e.target.closest&&e.target.closest('a[href^=\"https://poteau.app.link/\"]');if(!a)return;var u=navigator.userAgent||\"\",small=navigator.maxTouchPoints>0&&window.screen&&Math.min(screen.width,screen.height)<600,phone=/iPhone|iPod/.test(u)||(/Android/.test(u)&&/Mobile/.test(u))||small,m=/^\\\\/(en|es|it)(?=\\\\/|$)/.exec(location.pathname),d=null;if(phone)d=/Android/.test(u)?\"${PLAY_STORE}&referrer=\"+encodeURIComponent(\"utm_source=poteau-app.com&utm_medium=website&utm_campaign=site-early-tap\"):\"${APP_STORE}?pt=${APPLE_PROVIDER_TOKEN}&ct=site-early-tap&mt=8\";else if(/iPad/.test(u)||(/Macintosh/.test(u)&&navigator.maxTouchPoints>1)||/Android/.test(u))d=(m?\"/\"+m[1]:\"\")+\"/redirect\";if(!d)return;e.preventDefault();location.href=d},true)}catch(e){}})()`;// Every poteau.app.link anchor on the page, including the ones pasted inside\n// blog article bodies that carry no withStoreTap (found 2026-10-02). On a\n// phone, Branch's script redirect opened the App Store on its home page, so a\n// phone goes straight to its store; a tablet goes to the download card (we\n// never push a tablet to install). Computers keep Branch. The header is on\n// every page, so one listener covers the site. Anchors already handled\n// (withStoreTap, the header button) have called preventDefault and are skipped.\n// Anonymous counters (Cloud Function siteEvent): how many people see each kind\n// of page and what they tap there. No id, no cookie, no URL: a page type, a\n// platform and a language. Automated browsers are left out.\nconst SITE_EVENT=\"https://us-central1-krank-club.cloudfunctions.net/siteEvent\";function pageKind(path){const p=path.replace(/\\/+$/,\"\")||\"/\";if(p===\"/\")return\"home\";if(p===\"/city\")return\"city_index\";if(p.startsWith(\"/city/\"))return\"city\";if(p===\"/center\")return\"center_index\";if(p.startsWith(\"/center/\"))return\"center\";if(p===\"/blog\")return\"blog_index\";if(p.startsWith(\"/blog/\"))return\"blog\";if(p.startsWith(\"/level\"))return\"level\";if(p.startsWith(\"/redirect\"))return\"redirect\";if(p.startsWith(\"/legal\"))return\"legal\";return\"other\";}function count(event){try{const ua=navigator.userAgent||\"\";// A preview in the Poteau Max tool is not a visit.\nif(document.documentElement.classList.contains(\"pc-preview\"))return;if(navigator.webdriver||/bot|crawl|spider|slurp|lighthouse|headless|preview|facebookexternalhit|whatsapp/i.test(ua))return;const lang=(window.location.pathname.match(/^\\/(en|es|it)(\\/|$)/)||[])[1]||\"fr\";const platform=/iPhone|iPad|iPod/.test(ua)||/Macintosh/.test(ua)&&navigator.maxTouchPoints>1?\"ios\":/Android/.test(ua)?\"android\":isNotPhone()?\"desktop\":\"mobile\";const body=JSON.stringify({event,page:pageKind(stripLocale(window.location.pathname)),platform,lang});if(!(navigator.sendBeacon&&navigator.sendBeacon(SITE_EVENT,body)))fetch(SITE_EVENT,{method:\"POST\",body,keepalive:true,headers:{\"Content-Type\":\"text/plain\"}}).catch(()=>{});}catch{}}function onCountedTap(e){const a=e.target?.closest?.(\"a[href]\");if(!a)return;const h=a.getAttribute(\"href\")||\"\";if(/apps\\.apple\\.com|play\\.google\\.com|poteau\\.app\\.link|\\/redirect(\\?|$)/.test(h))count(\"store_tap\");else if(/poteau\\.app\\/([a-z]{2}\\/)?game\\//.test(h))count(\"game_tap\");else if(/#(soccer|padel)$/.test(h))count(\"level_tap\");else if(/poteau-max\\.com/.test(h))count(\"max_tap\");}function onAnyBranchLink(e){if(e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey)return;const a=e.target?.closest?.(\"a[href]\");if(!a||!/^https:\\/\\/poteau\\.app\\.link\\//.test(a.href))return;const ua=navigator.userAgent||\"\";const lang=/^\\/(en|es|it)(?=\\/|$)/.exec(window.location.pathname);let dest;const tablet=!isSmallTouchScreen()&&(/iPad/.test(ua)||/Macintosh/.test(ua)&&navigator.maxTouchPoints>1||/Android/.test(ua)&&!/Mobile/.test(ua));if(tablet){dest=(lang?\"/\"+lang[1]:\"\")+\"/redirect\";}else if(isNotPhone()){return;// a computer: Branch handles it\n}else{const seg=window.location.pathname.split(\"/\").filter(Boolean).find(x=>!/^(en|es|it)$/.test(x))||\"home\";const section=seg===\"blog\"?\"blog\":seg===\"home\"?\"home\":/^(center|city)$/.test(seg)?seg:\"site\";const c=section+\"-\"+(a.href.split(\"/\").pop()||\"link\").replace(/[^A-Za-z0-9_-]/g,\"\").slice(0,40);if(/iPhone|iPod/.test(ua)||/Macintosh/.test(ua)&&isSmallTouchScreen())dest=`${APP_STORE}?pt=${APPLE_PROVIDER_TOKEN}&ct=${c}&mt=8`;else if(/Android/.test(ua))dest=`${PLAY_STORE}&referrer=${encodeURIComponent(\"utm_source=poteau-app.com&utm_medium=website&utm_campaign=\"+c)}`;else return;}e.preventDefault();const w=window;if(typeof w.gtag_report_conversion===\"function\")w.gtag_report_conversion();window.location.href=dest;}const useIsoLayoutEffect=typeof window!==\"undefined\"?React.useLayoutEffect:React.useEffect;// One green line under the current section (none on the home page, where the P turns green).\n// The header stays mounted between pages, so the line slides from the old\n// section to the new one. The first placement is instant.\nfunction useIndicator(section){const box=React.useRef(null);const[pos,setPos]=React.useState(null);const[animate,setAnimate]=React.useState(false);const measure=React.useCallback(()=>{const el=box.current;if(!el)return;const target=el.querySelector(section===\"home\"?\".pnav-logo img\":`.pnav-links a[data-k=\"${section}\"]`);const anyLink=el.querySelector(\".pnav-links a\");if(!target||!anyLink||!anyLink.offsetParent)return setPos(p=>p?{...p,w:0}:null);const b=el.getBoundingClientRect(),r=target.getBoundingClientRect(),l=anyLink.getBoundingClientRect();// Home is marked by the green P alone: the line fades out under it.\nsetPos({x:r.left-b.left,w:section===\"home\"?0:r.width,y:l.bottom-b.top});},[section]);useIsoLayoutEffect(()=>{measure();window.addEventListener(\"resize\",measure);// The first measure can run on the fallback font: the links get wider\n// when Plus Jakarta Sans arrives and the line ends up off its word.\nconst links=box.current?.querySelector(\".pnav-links\");const ro=typeof ResizeObserver!==\"undefined\"&&links?new ResizeObserver(()=>measure()):null;if(ro&&links)ro.observe(links);document.fonts?.ready?.then(()=>measure());return()=>{window.removeEventListener(\"resize\",measure);ro?.disconnect();};},[measure]);React.useEffect(()=>{if(!pos||animate)return;const id=requestAnimationFrame(()=>requestAnimationFrame(()=>setAnimate(true)));return()=>cancelAnimationFrame(id);},[pos,animate]);const style=pos?{top:pos.y,width:pos.w,transform:`translateX(${pos.x}px)`,opacity:pos.w?1:0}:{opacity:0,width:0};return{box,style,animate};}const CSS=`\n.pnav, .pnav * { box-sizing: border-box; }\n.pnav { font-family: ${FONT}; background: #18301A; color: #fff; width: 100%; }\n.pnav-in { position: relative; max-width: 1280px; margin: 0 auto; height: 72px; padding: 0 40px; display: flex; align-items: center; gap: 36px; }\n.pnav-logo { display: flex; align-items: center; flex: none; }\n.pnav-logo img { height: 28px; width: auto; display: block; filter: brightness(0) invert(1); opacity: 0.88; transition: filter .35s ease, opacity .2s ease; }\n.pnav-logo:hover img { opacity: 1; }\n.pnav-logo[aria-current=\"page\"] img { filter: none; opacity: 1; }\n.pnav-ind { position: absolute; left: 0; height: 2px; border-radius: 2px; background: #00D434; pointer-events: none; transform-origin: left center; }\n.pnav-ind.anim { transition: transform .38s cubic-bezier(.3,.7,.2,1), width .38s cubic-bezier(.3,.7,.2,1), opacity .2s ease; }\n@media (prefers-reduced-motion: reduce) { .pnav-ind.anim, .pnav-logo img, .pnav-links a { transition: none; } }\n.pnav-links { display: flex; align-items: center; gap: 28px; }\n.pnav-links a { color: rgba(255,255,255,0.58); font-size: 15px; font-weight: 700; text-decoration: none; padding: 6px 0; white-space: nowrap; transition: color .25s ease; }\n.pnav-links a:hover { color: rgba(255,255,255,0.9); }\n.pnav-links a[aria-current=\"page\"] { color: #fff; }\n/* Phones only (Tim, 2026-10-02): on a computer, people read \"T\\xe9l\\xe9charger\" as\n   \"download the app onto this computer\", then land on a page telling them to\n   use their phone. And an iPad should not be pushed to install\n   the app (it exists there only because the App Store requires it). Hidden by\n   CSS from 810px up, and by the \"notphone\" class below that (an iPad mini is\n   744px wide in portrait; a desktop window can be narrow). */\n.pnav-dl { display: none; margin-left: auto; background: #fff; color: #141414; font-size: 14px; font-weight: 800; padding: 11px 18px; border-radius: 999px; text-decoration: none; white-space: nowrap; }\n/* Desktop only: the right edge belongs to the venue managers' entry point\n   (Tim, 2026-10-02). On phones it lives in the menu sheet instead. */\n.pnav-pro { margin-left: auto; display: inline-block; line-height: 1.25; background: rgba(255,255,255,0.07); box-shadow: inset 0 0 0 1px rgba(255,255,255,0.18); color: #fff; font-size: 13px; font-weight: 800; padding: 8px 12px; border-radius: 8px; text-decoration: none; white-space: nowrap; transition: background .2s ease, box-shadow .2s ease; }\n.pnav-pro:hover { background: rgba(255,255,255,0.12); box-shadow: inset 0 0 0 1px rgba(255,255,255,0.32); }\n.pnav-pro span { color: #00D434; }\n/* Blog articles: Framer gives a table no margin, so it touched the heading\n   above it (Tim, 2026-10-04). The header is on every page, hence here. */\nfigure.framer-table-wrapper { margin: 18px 0 8px !important; }\n/* Homepage partner logos: the scrolling strip was cut dead at both edges\n   (Tim, 2026-10-04). The logos now fade in and out over 56px. */\n[data-framer-name=\"Partner ticker\"] { -webkit-mask-image: linear-gradient(to right, transparent 0, #000 56px, #000 calc(100% - 56px), transparent 100%); mask-image: linear-gradient(to right, transparent 0, #000 56px, #000 calc(100% - 56px), transparent 100%); }\n.pnav-burger { display: none; background: transparent; border: 0; color: #fff; width: 44px; height: 44px; align-items: center; justify-content: center; cursor: pointer; font-family: inherit; }\n.pnav-sheet { display: none; }\n@media (max-width: 809.98px) {\n  .pnav-in { height: 64px; padding: 0 12px 0 16px; gap: 8px; }\n  .pnav-logo img { height: 26px; }\n  .pnav-links, .pnav-ind, .pnav-pro { display: none; }\n  /* The way over to Poteau Max, drawn like Poteau Max's own way back: a dashed box, the question muted, the answer bold. */\n  .pnav-sheet a.pro { margin-top: 14px; padding: 14px 16px; border: 1px dashed rgba(255,255,255,0.34); border-radius: 16px; text-align: center; font-size: 15px; font-weight: 500; line-height: 1.4; color: rgba(255,255,255,0.72); order: 99; }\n  .pnav-sheet a.pro span { display: block; color: #00D434; font-size: 16px; font-weight: 800; }\n  .pnav-burger { display: flex; margin-left: auto; }\n  .pnav-dl { display: block; }\n  .pnav-dl + .pnav-burger { margin-left: 0; }\n  .pnav.notphone .pnav-dl, html.pnav-np .pnav-dl { display: none; }\n  .pnav.notphone .pnav-dl + .pnav-burger, html.pnav-np .pnav-dl + .pnav-burger { margin-left: auto; }\n  .pnav-sheet.open { display: flex; flex-direction: column; gap: 2px; padding: 8px 16px 20px; border-top: 1px solid rgba(255,255,255,0.10); }\n  .pnav-sheet a { text-decoration: none; }\n  .pnav-sheet a:not(.pro) { color: #fff; font-size: 18px; font-weight: 800; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.08); }\n  .pnav-sheet a[aria-current=\"page\"] { color: #00D434; }\n}\n`;// Cookie consent on phones (< 810px): the site's own #poteau-consent banner\n// (custom code snippet: storage, buttons and tag loading untouched) shown as\n// one black line pinned under this header, in the page's language. Computers\n// keep the original card: every rule below sits in the phone media query.\nconst CONSENT_COPY={fr:{ask:\"Des cookies ?\",more:\"En savoir plus\",no:\"Non merci\",yes:\"Ok\"},en:{ask:\"Cookies?\",more:\"Learn more\",no:\"No thanks\",yes:\"Ok\"},es:{ask:\"\\xbfCookies?\",more:\"Saber m\\xe1s\",no:\"No, gracias\",yes:\"Ok\"},it:{ask:\"Cookie?\",more:\"Scopri di pi\\xf9\",no:\"No, grazie\",yes:\"Ok\"}};function consentCss(lang){const c=CONSENT_COPY[lang];const q=s=>JSON.stringify(s);const b=\"html #poteau-consent\";return`@media (max-width:809.98px){`+`${b}{top:var(--pc-top,64px);bottom:auto;left:0;right:0;width:auto;max-width:none;display:flex;align-items:center;gap:10px;padding:4px 6px 4px 16px;border:0;border-radius:0;border-bottom:1px solid rgba(255,255,255,.08);background:#141414;box-shadow:0 6px 18px rgba(0,0,0,.18);font-size:13px;line-height:1.3;white-space:nowrap;transform:translateY(-6px);transition:opacity 280ms cubic-bezier(.22,1,.36,1),transform 280ms cubic-bezier(.22,1,.36,1)}`+`${b}.pc-in{transform:none}`+`${b} .pc-title{flex:0 0 auto;margin:0;font-size:0;letter-spacing:0}`+`${b} .pc-title::before{content:${q(c.ask)};font-size:13px;font-weight:700;color:#fff}`+`${b} .pc-body{flex:1 1 auto;min-width:0;margin:0;font-size:0}`+`${b} .pc-body span{display:none}`+`${b} .pc-body a{font-size:0}`+`${b} .pc-body a::after{content:${q(c.more)};font-size:13px;font-weight:700;color:#00d434}`+`${b} .pc-actions{flex:0 0 auto;gap:0}`+`${b} button,${b} .pc-yes,${b} .pc-no{flex:0 0 auto;min-height:40px;padding:4px 10px;border:0;border-radius:8px;background:transparent;font-size:0}`+`${b} .pc-no::after{content:${q(c.no)};font-size:13px;font-weight:600;color:rgba(255,255,255,.72)}`+`${b} .pc-yes::after{content:${q(c.yes)};font-size:13px;font-weight:800;color:#00d434}`+// The line takes its own room: the page below the header moves down\n// by its height while it shows, and back once it is answered.\n// Eased only once the page is up: while it loads, the room is simply there.\n`html.pc-anim [data-framer-name=\"Site header\"]{transition:margin-bottom 280ms cubic-bezier(.22,1,.36,1)}`+`html.pc-room [data-framer-name=\"Site header\"]{margin-bottom:var(--pc-h,49px)!important}`+`}`+// Computers keep the card; it only leaves a little faster and calmer.\n`@media (min-width:810px){${b}{transition:opacity 280ms cubic-bezier(.22,1,.36,1),transform 280ms cubic-bezier(.22,1,.36,1)}}`+// Reduced motion: a quick fade, nothing moves.\n`@media (prefers-reduced-motion:reduce){${b},${b}.pc-in{transform:none!important;transition:opacity 150ms linear!important}html [data-framer-name=\"Site header\"]{transition:none!important}}`;}// Preview of a venue page inside the Poteau Max tool (?preview), or its guided\n// demo (?demo, where the booking block stays fully real): the page\n// starts with the centre's own content, without this header or the footer.\n// Without the parameter this does nothing.\nconst PREVIEW_JS=`(function(){try{var q=new URLSearchParams(location.search);if((q.has(\"preview\")||q.has(\"demo\"))&&/^\\\\/(?:(?:en|es|it)\\\\/)?center\\\\/[^\\\\/]+\\\\/?$/.test(location.pathname))document.documentElement.classList.add(\"pc-preview\")}catch(e){}})()`;// The cookie banner is only hidden from view: stored consent and the consent\n// script are untouched (never answered in preview, so nothing extra loads).\nconst PREVIEW_CSS=`html.pc-preview [data-framer-name=\"Site header\"],html.pc-preview [data-framer-name=\"Site footer\"],html.pc-preview #poteau-consent{display:none!important}`;// Runs while the page is parsed: if no valid answer is stored, the room for\n// the consent line is reserved before the line arrives, so nothing jumps.\n// Same key, values and 180-day validity as the site's consent script.\nconst CONSENT_ROOM_JS=`try{var v=JSON.parse(localStorage.getItem(\"poteau_consent_v1\")||\"null\");if(!(v&&(v.c===\"granted\"||v.c===\"denied\")&&Date.now()-v.t<15552000000))document.documentElement.classList.add(\"pc-room\")}catch(e){document.documentElement.classList.add(\"pc-room\")}`;function consentAnswered(){try{const v=JSON.parse(localStorage.getItem(\"poteau_consent_v1\")||\"null\");return!!(v&&(v.c===\"granted\"||v.c===\"denied\")&&Date.now()-v.t<15552e6);}catch(e){return false;}}// Keeps the consent line under the header while it is on screen, at the very\n// top once it has scrolled away, and keeps its room open only while it shows.\nfunction useConsentTop(){React.useEffect(()=>{const html=document.documentElement;const sync=()=>{const el=document.getElementById(\"poteau-consent\");if(el&&!el.dataset.pcClosing){html.classList.add(\"pc-room\");const h=el.getBoundingClientRect().height;if(h>0&&h<120)html.style.setProperty(\"--pc-h\",Math.round(h)+\"px\");}else if(consentAnswered()){html.classList.remove(\"pc-room\");}};// An answer closes the room at the tap, while the line fades: the\n// page slides up with it. The site's own handler still runs right\n// after (stores the choice, loads or not, fades the line out).\nconst onAnswer=event=>{const target=event.target;const button=target&&target.closest?target.closest(\"#poteau-consent .pc-yes, #poteau-consent .pc-no\"):null;if(!button)return;const el=document.getElementById(\"poteau-consent\");if(el)el.dataset.pcClosing=\"1\";html.classList.remove(\"pc-room\");};document.addEventListener(\"click\",onAnswer,true);sync();const animRaf=requestAnimationFrame(()=>requestAnimationFrame(()=>html.classList.add(\"pc-anim\")));const observer=new MutationObserver(sync);observer.observe(document.body,{childList:true});let raf=0;const place=()=>{raf=0;const header=document.querySelector(\"header.pnav\");const bottom=header?Math.max(0,Math.round(header.getBoundingClientRect().bottom)):0;html.style.setProperty(\"--pc-top\",bottom+\"px\");};const schedule=()=>{if(!raf)raf=requestAnimationFrame(place);};place();window.addEventListener(\"scroll\",schedule,{passive:true});window.addEventListener(\"resize\",schedule);return()=>{document.removeEventListener(\"click\",onAnswer,true);cancelAnimationFrame(animRaf);observer.disconnect();if(raf)cancelAnimationFrame(raf);window.removeEventListener(\"scroll\",schedule);window.removeEventListener(\"resize\",schedule);};},[]);}/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight auto\n */export function SiteHeader(props){const lang=useLang();const t=T[lang];const pre=PREFIX[lang];useConsentTop();// Same as PREVIEW_JS, for pages rendered in the browser without server\n// markup (inline scripts added by React do not run).\nReact.useEffect(()=>{try{const q=new URLSearchParams(location.search);if((q.has(\"preview\")||q.has(\"demo\"))&&/^\\/(?:(?:en|es|it)\\/)?center\\/[^/]+\\/?$/.test(location.pathname))document.documentElement.classList.add(\"pc-preview\");}catch(e){}},[]);const section=useSection();const path=usePath();// One view per page shown, counted once the path is known.\nReact.useEffect(()=>{if(path)count(\"view\");},[path]);React.useEffect(()=>{document.addEventListener(\"click\",onCountedTap,true);return()=>document.removeEventListener(\"click\",onCountedTap,true);},[]);const[open,setOpen]=React.useState(false);const close=React.useCallback(()=>setOpen(false),[]);const nav=useInternalNav(close);const ind=useIndicator(section);const[notPhone,setNotPhone]=React.useState(false);React.useEffect(()=>setNotPhone(isNotPhone()),[]);React.useEffect(()=>{document.addEventListener(\"click\",onAnyBranchLink);window.__poteauTapReady=true;return()=>{document.removeEventListener(\"click\",onAnyBranchLink);window.__poteauTapReady=false;};},[]);const links=[[\"cities\",t.cities,`${pre}/city`],[\"centres\",t.centres,`${pre}/center`],[\"blog\",t.blog,`${pre}/blog`],[\"level\",t.level,`${pre}/level`]];return /*#__PURE__*/_jsxs(\"header\",{className:\"pnav\"+(notPhone?\" notphone\":\"\"),style:props.style,children:[/*#__PURE__*/_jsx(\"style\",{children:CSS}),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:consentCss(lang)}}),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:PREVIEW_CSS}}),/*#__PURE__*/_jsx(\"script\",{dangerouslySetInnerHTML:{__html:PREVIEW_JS}}),/*#__PURE__*/_jsx(\"script\",{dangerouslySetInnerHTML:{__html:CONSENT_ROOM_JS}}),/*#__PURE__*/_jsx(\"script\",{dangerouslySetInnerHTML:{__html:NOT_PHONE_JS}}),/*#__PURE__*/_jsx(\"script\",{dangerouslySetInnerHTML:{__html:EARLY_TAP_JS}}),/*#__PURE__*/_jsxs(\"div\",{className:\"pnav-in\",ref:ind.box,children:[/*#__PURE__*/_jsx(\"a\",{className:\"pnav-logo\",href:pre||\"/\",\"aria-label\":t.home,\"aria-current\":section===\"home\"?\"page\":undefined,onClick:nav,children:/*#__PURE__*/_jsx(\"img\",{src:P_MARK,alt:\"Poteau\"})}),/*#__PURE__*/_jsx(\"nav\",{className:\"pnav-links\",\"aria-label\":\"Poteau\",children:links.map(([k,label,href])=>/*#__PURE__*/_jsx(\"a\",{\"data-k\":k,href:href,\"aria-current\":section===k?\"page\":undefined,onClick:nav,children:label},k))}),/*#__PURE__*/_jsx(\"span\",{className:\"pnav-ind\"+(ind.animate?\" anim\":\"\"),style:ind.style,\"aria-hidden\":\"true\"}),/*#__PURE__*/_jsxs(\"a\",{className:\"pnav-pro\",href:MAX_URL,target:\"_blank\",rel:\"noopener\",children:[t.pro,\" \",/*#__PURE__*/_jsxs(\"span\",{children:[\"Poteau Max\",t.proRest,NB,\"↗\"]})]}),/*#__PURE__*/_jsx(\"a\",{className:\"pnav-dl\",href:BRANCH,target:\"_blank\",rel:\"noopener\",onClick:onDownload,children:t.download}),/*#__PURE__*/_jsx(\"button\",{className:\"pnav-burger\",type:\"button\",\"aria-expanded\":open,\"aria-label\":open?t.close:t.menu,onClick:()=>setOpen(!open),children:/*#__PURE__*/_jsx(\"svg\",{width:\"22\",height:\"22\",viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",strokeWidth:\"2.4\",strokeLinecap:\"round\",\"aria-hidden\":\"true\",children:open?/*#__PURE__*/_jsx(\"path\",{d:\"M6 6l12 12M18 6L6 18\"}):/*#__PURE__*/_jsx(\"path\",{d:\"M4 7h16M4 12h16M4 17h16\"})})})]}),/*#__PURE__*/_jsxs(\"nav\",{className:\"pnav-sheet\"+(open?\" open\":\"\"),\"aria-label\":t.menu,children:[/*#__PURE__*/_jsx(\"a\",{href:pre||\"/\",\"aria-current\":section===\"home\"?\"page\":undefined,onClick:nav,children:t.home}),links.map(([k,label,href])=>/*#__PURE__*/_jsx(\"a\",{href:href,\"aria-current\":section===k?\"page\":undefined,onClick:nav,children:label},k)),/*#__PURE__*/_jsxs(\"a\",{className:\"pro\",href:MAX_URL,target:\"_blank\",rel:\"noopener\",onClick:close,children:[t.pro,\" \",/*#__PURE__*/_jsxs(\"span\",{children:[\"Poteau Max\",t.proRest,NB,\"↗\"]})]})]})]});}const FCSS=`\n.pfoot, .pfoot * { box-sizing: border-box; }\n.pfoot { font-family: ${FONT}; background: #0A0C0A; color: #C9D6C6; width: 100%; border-top: 1px solid rgba(255,255,255,0.10); }\n.pfoot-in { max-width: 1280px; margin: 0 auto; padding: 56px 40px 28px; display: flex; flex-direction: column; gap: 40px; }\n.pfoot-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; }\n.pfoot-brand { display: flex; flex-direction: column; gap: 14px; max-width: 280px; }\n.pfoot-brand img { width: 44px; height: 44px; border-radius: 10px; display: block; }\n.pfoot-brand p { margin: 0; font-size: 15px; line-height: 1.5; color: #C9D6C6; }\n.pfoot-brand a.pfoot-cta { align-self: flex-start; background: #00D434; color: #0A0C0A; font-weight: 800; font-size: 14px; padding: 11px 18px; border-radius: 999px; text-decoration: none; }\n.pfoot-col { display: flex; flex-direction: column; gap: 10px; min-width: 0; }\n.pfoot-col h3 { margin: 0 0 4px; font-size: 13px; font-weight: 800; color: #fff; letter-spacing: 0.02em; }\n.pfoot-col a { color: #C9D6C6; font-size: 14px; font-weight: 600; text-decoration: none; line-height: 1.35; }\n.pfoot-col a:hover { color: #fff; }\n.pfoot-col a.all { color: #00D434; font-weight: 800; }\n.pfoot-bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.10); font-size: 13px; font-weight: 700; }\n.pfoot-left { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }\n.pfoot-soc { display: flex; gap: 8px; }\n.pfoot-soc a { width: 36px; height: 36px; border-radius: 999px; background: rgba(255,255,255,0.08); color: #C9D6C6; display: flex; align-items: center; justify-content: center; transition: background .15s ease, color .15s ease; }\n.pfoot-soc a svg { width: 16px; height: 16px; fill: currentColor; display: block; }\n.pfoot-soc a:hover { background: #00D434; color: #0A0C0A; }\n.pfoot-soc a:focus-visible { outline: 2px solid #00D434; outline-offset: 2px; }\n.pfoot-legal { display: flex; gap: 18px; flex-wrap: wrap; }\n.pfoot-legal a { color: #8A9A88; text-decoration: none; }\n.pfoot-langs { display: flex; gap: 14px; }\n.pfoot-langs a { color: #8A9A88; text-decoration: none; }\n.pfoot-langs a[aria-current=\"true\"] { color: #fff; }\n@media (max-width: 1199.98px) { .pfoot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }\n/* Phones: the floating download button sits over the last 90px of the page, so\n   the footer ends with that much room and the languages stay readable. */\n@media (max-width: 809.98px) { .pfoot-in { padding: 40px 20px calc(120px + env(safe-area-inset-bottom, 0px)); gap: 32px; } .pfoot-grid { gap: 28px 20px; } }\n`;// Poteau's own pages, as icons in the footer (Tim, 2026-10-05). Glyphs from\n// Simple Icons (CC0), the same ones the centre pages use (SocialLinks.tsx).\nconst SOCIALS=[{name:\"Instagram\",href:\"https://www.instagram.com/poteau.app/\",path:\"M7.0301.084c-1.2768.0602-2.1487.264-2.911.5634-.7888.3075-1.4575.72-2.1228 1.3877-.6652.6677-1.075 1.3368-1.3802 2.127-.2954.7638-.4956 1.6365-.552 2.914-.0564 1.2775-.0689 1.6882-.0626 4.947.0062 3.2586.0206 3.6671.0825 4.9473.061 1.2765.264 2.1482.5635 2.9107.308.7889.72 1.4573 1.388 2.1228.6679.6655 1.3365 1.0743 2.1285 1.38.7632.295 1.6361.4961 2.9134.552 1.2773.056 1.6884.069 4.9462.0627 3.2578-.0062 3.668-.0207 4.9478-.0814 1.28-.0607 2.147-.2652 2.9098-.5633.7889-.3086 1.4578-.72 2.1228-1.3881.665-.6682 1.0745-1.3378 1.3795-2.1284.2957-.7632.4966-1.636.552-2.9124.056-1.2809.0692-1.6898.063-4.948-.0063-3.2583-.021-3.6668-.0817-4.9465-.0607-1.2797-.264-2.1487-.5633-2.9117-.3084-.7889-.72-1.4568-1.3876-2.1228C21.2982 1.33 20.628.9208 19.8378.6165 19.074.321 18.2017.1197 16.9244.0645 15.6471.0093 15.236-.005 11.977.0014 8.718.0076 8.31.0215 7.0301.0839m.1402 21.6932c-1.17-.0509-1.8053-.2453-2.2287-.408-.5606-.216-.96-.4771-1.3819-.895-.422-.4178-.6811-.8186-.9-1.378-.1644-.4234-.3624-1.058-.4171-2.228-.0595-1.2645-.072-1.6442-.079-4.848-.007-3.2037.0053-3.583.0607-4.848.05-1.169.2456-1.805.408-2.2282.216-.5613.4762-.96.895-1.3816.4188-.4217.8184-.6814 1.3783-.9003.423-.1651 1.0575-.3614 2.227-.4171 1.2655-.06 1.6447-.072 4.848-.079 3.2033-.007 3.5835.005 4.8495.0608 1.169.0508 1.8053.2445 2.228.408.5608.216.96.4754 1.3816.895.4217.4194.6816.8176.9005 1.3787.1653.4217.3617 1.056.4169 2.2263.0602 1.2655.0739 1.645.0796 4.848.0058 3.203-.0055 3.5834-.061 4.848-.051 1.17-.245 1.8055-.408 2.2294-.216.5604-.4763.96-.8954 1.3814-.419.4215-.8181.6811-1.3783.9-.4224.1649-1.0577.3617-2.2262.4174-1.2656.0595-1.6448.072-4.8493.079-3.2045.007-3.5825-.006-4.848-.0608M16.953 5.5864A1.44 1.44 0 1 0 18.39 4.144a1.44 1.44 0 0 0-1.437 1.4424M5.8385 12.012c.0067 3.4032 2.7706 6.1557 6.173 6.1493 3.4026-.0065 6.157-2.7701 6.1506-6.1733-.0065-3.4032-2.771-6.1565-6.174-6.1498-3.403.0067-6.156 2.771-6.1496 6.1738M8 12.0077a4 4 0 1 1 4.008 3.9921A3.9996 3.9996 0 0 1 8 12.0077\"},{name:\"TikTok\",href:\"https://www.tiktok.com/@poteau.app\",path:\"M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z\"},{name:\"LinkedIn\",href:\"https://www.linkedin.com/company/app-poteau/\",path:\"M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z\"}];// « Envoyer un mail »: address and subject are filled in, so the mail app opens\n// with the cursor in the message. No body: that is the part the person writes.\nconst MAIL_SUBJECT={fr:\"Message pour l’\\xe9quipe Poteau\",en:\"Message for the Poteau team\",es:\"Mensaje para el equipo Poteau\",it:\"Messaggio per il team Poteau\"};const mailHref=lang=>`mailto:contact@poteau.team?subject=${encodeURIComponent(MAIL_SUBJECT[lang])}`;/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight auto\n */// « Fait en France » signature, the same as poteau-max.com's footer (source of truth:\n// scripts/poteau-max-site/made_in_france.html; French pages only). A French creation and a French-born\n// athlete drawn at random, each with a short checked tip. Added 23 Oct 2026 (Tim).\nconst MIF_HTML='<p class=\"mif\" lang=\"fr\"><svg class=\"mif-fr\" viewBox=\"0 0 3 2\" aria-hidden=\"true\"><rect width=\"1\" height=\"2\" fill=\"#0055A4\"/><rect x=\"1\" width=\"1\" height=\"2\" fill=\"#fff\"/><rect x=\"2\" width=\"1\" height=\"2\" fill=\"#EF4135\"/></svg><span class=\"mif-t\">Fait en France, comme le Tour de France ou Zizou.</span></p>';const MIF_CSS='\\n/* \\xab Fait en France \\xbb signature: its own centred line in a dark footer, between two dividers */\\n.mif{display:block;margin:28px 0 0;padding:22px 0;border-top:1px solid rgba(255,255,255,.08);font:600 13px/1.5 var(--sans);color:var(--on-dark-muted,#a9b8a6);text-align:center}\\n.mif+.foot-legal{margin-top:0}\\n.mif-fr{display:inline-block;width:18px;height:12px;border-radius:3px;vertical-align:-1px;margin-right:8px;box-shadow:0 0 0 1px rgba(0,0,0,.12)}\\n.mif-a{position:relative;color:#fff;text-decoration:underline dotted;text-decoration-thickness:1.5px;text-underline-offset:3px;cursor:pointer}\\n.mif-a:hover{text-decoration-style:solid}\\n.mif-tip{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,6px);width:270px;display:grid;gap:3px;background:#141414;color:#fff;font:600 13px/1.45 var(--sans);font-style:normal;text-align:left;text-transform:none;letter-spacing:0;padding:12px 14px;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.3);opacity:0;pointer-events:none;transition:opacity .18s,transform .18s;z-index:30;white-space:normal}\\n.mif-tip::after{content:\"\";position:absolute;left:50%;bottom:-5px;width:10px;height:10px;background:#141414;transform:translateX(-50%) rotate(45deg);border-radius:2px}\\n.mif-a:hover .mif-tip,.mif-a:focus .mif-tip,.mif-a.open .mif-tip{opacity:1;transform:translate(-50%,0)}\\n.mif-tip .tt-h{font-weight:800;font-size:14px}\\n.mif-tip .tt-m{opacity:.75;font-size:12.5px}\\n.mif-tip .tt-l{margin-top:4px}\\n.mif-tip .tt-q{margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.15);font-style:italic;opacity:.9}\\n';const MIF_JS='\\n// \\xab Fait en France \\xbb signature (French pages only): a French creation and a French-born athlete drawn at\\n// at random, each a Google search link with a short checked tip (facts and sources: booking/tips_facts.json).\\n(function(){\\n  var el=document.querySelector(\\'.mif-t\\'); if(!el||el.__mif)return; el.__mif=true;\\n  var P=[\"Zizou\", \"Kylian Mbapp\\xe9\", \"Thierry Henry\", \"Michel Platini\", \"Antoine Griezmann\", \"Didier Deschamps\", \"\\xc9ric Cantona\", \"Lilian Thuram\", \"Franck Rib\\xe9ry\", \"Fabien Barthez\", \"Teddy Riner\", \"Tony Estanguet\", \"L\\xe9on Marchand\", \"Florent Manaudou\", \"Yannick Noah\", \"Antoine Dupont\", \"S\\xe9bastien Chabal\", \"Victor Wembanyama\", \"Martin Fourcade\", \"Alain Prost\", \"Bernard Hinault\", \"Ga\\xebl Monfils\", \"Am\\xe9lie Mauresmo\", \"Marion Bartoli\", \"Laure Manaudou\", \"Marie-Jos\\xe9 P\\xe9rec\", \"Laura Flessel\", \"Clarisse Agb\\xe9gn\\xe9nou\", \"Pauline Ferrand-Pr\\xe9vot\", \"Wendie Renard\", \"Surya Bonaly\", \"Jeannie Longo\", \"Estelle Mossely\", \"Tessa Worley\", \"Marie Bochet\", \"Julia Simon\", \"Lou Jeanmonnot\", \"Justine Braisaz-Bouchet\", \"Lo\\xefs Boisson\", \"Cassandre Beaugrand\", \"Perrine Laffont\", \"Romane Miradoli\", \"Oc\\xe9ane Michelon\", \"Marine Johann\\xe8s\", \"Estelle Nze Minko\", \"Marie-Am\\xe9lie Le Fur\", \"Blaise Matuidi\", \"Mamadou Sakho\"];\\n  var F=[\"le Tour de France\", \"Roland-Garros\", \"les 24 Heures du Mans\", \"les Jeux olympiques modernes\", \"la Coupe du monde de foot\", \"la p\\xe9tanque\", \"la tour Eiffel\", \"la baguette\", \"le camembert\", \"la cr\\xeape\", \"les pains au chocolat\", \"le champagne\", \"la marini\\xe8re\", \"le b\\xe9ret\", \"l\\'Opinel\", \"le stylo Bic\", \"le TGV\", \"la 2CV\", \"la montgolfi\\xe8re\", \"la carte \\xe0 puce\", \"le cin\\xe9ma\", \"le Petit Prince\", \"Ast\\xe9rix\", \"le Minitel\"];\\n  var f=F[Math.floor(Math.random()*F.length)], a=P[Math.floor(Math.random()*P.length)];\\n  // each name opens a Google search, for the curious\\n  // checked facts (sources kept in the session notes): creations by year, place and scale; athletes by name, age, sport, one feat\\n  var CR={\"le Tour de France\": {\"y\": \"1903\", \"r\": \"Paris, cr\\xe9\\xe9 par le journal L\\'Auto\", \"x\": \"3 333 km de course en 2026\"}, \"Roland-Garros\": {\"y\": \"1928\", \"r\": \"Paris, stade Roland-Garros (Auteuil)\", \"x\": \"Plus de 727 000 spectateurs en 2026\"}, \"les 24 Heures du Mans\": {\"y\": \"1923\", \"r\": \"Le Mans, Sarthe\", \"x\": \"350 000 spectateurs en 2026\"}, \"les Jeux olympiques modernes\": {\"y\": \"1894\", \"r\": \"Paris, congr\\xe8s de la Sorbonne\", \"x\": \"10 500 athl\\xe8tes \\xe0 Paris 2024\"}, \"la Coupe du monde de foot\": {\"y\": \"1930\", \"r\": \"Une id\\xe9e de Jules Rimet, Paris\", \"x\": \"48 \\xe9quipes en 2026\"}, \"la p\\xe9tanque\": {\"y\": \"1907\", \"r\": \"La Ciotat, Bouches-du-Rh\\xf4ne\", \"x\": \"Pr\\xe8s de 300 000 licenci\\xe9s en France\"}, \"la tour Eiffel\": {\"y\": \"1889\", \"r\": \"Paris\", \"x\": \"6,75 millions de visiteurs en 2025\"}, \"la baguette\": {\"y\": \"D\\xe9but du XXe si\\xe8cle\", \"r\": \"Paris\", \"x\": \"6 milliards de baguettes par an\"}, \"le camembert\": {\"y\": \"XVIIIe si\\xe8cle\", \"r\": \"Camembert, Normandie\", \"x\": null}, \"la cr\\xeape\": {\"y\": \"XIIIe si\\xe8cle\", \"r\": \"Bretagne\", \"x\": null}, \"les pains au chocolat\": {\"y\": \"XIXe si\\xe8cle\", \"r\": \"Paris, inspiration viennoise\", \"x\": null}, \"le champagne\": {\"y\": \"XVIIe si\\xe8cle\", \"r\": \"Champagne, Reims et \\xc9pernay\", \"x\": \"266 millions de bouteilles exp\\xe9di\\xe9es en 2025\"}, \"la marini\\xe8re\": {\"y\": \"1858\", \"r\": \"Bretagne, Marine nationale\", \"x\": \"21 rayures blanches impos\\xe9es par le d\\xe9cret de 1858\"}, \"le b\\xe9ret\": {\"y\": \"Moyen \\xc2ge\", \"r\": \"B\\xe9arn (Pyr\\xe9n\\xe9es)\", \"x\": null}, \"l\\'Opinel\": {\"y\": \"1890\", \"r\": \"Albiez-le-Vieux, Savoie\", \"x\": \"Plus de 350 millions de couteaux vendus\"}, \"le stylo Bic\": {\"y\": \"1950\", \"r\": \"Clichy (Hauts-de-Seine)\", \"x\": \"Plus de 120 milliards de Bic Cristal vendus\"}, \"le TGV\": {\"y\": \"1981\", \"r\": \"Premi\\xe8re ligne Paris-Lyon\", \"x\": \"574,8 km/h, record du monde sur rail en 2007\"}, \"la 2CV\": {\"y\": \"1948\", \"r\": \"Levallois-Perret (Hauts-de-Seine)\", \"x\": \"Pr\\xe8s de 3,9 millions de berlines produites\"}, \"la montgolfi\\xe8re\": {\"y\": \"1783\", \"r\": \"Annonay (Ard\\xe8che)\", \"x\": \"9 km parcourus lors du premier vol habit\\xe9\"}, \"la carte \\xe0 puce\": {\"y\": \"1974\", \"r\": \"Paris (Roland Moreno)\", \"x\": \"6,3 milliards de cartes produites en 2011\"}, \"le cin\\xe9ma\": {\"y\": \"1895\", \"r\": \"Lyon, premi\\xe8re s\\xe9ance \\xe0 Paris\", \"x\": null}, \"le Petit Prince\": {\"y\": \"1943\", \"r\": \"Publi\\xe9 \\xe0 New York, en exil\", \"x\": \"Traduit en plus de 600 langues et dialectes\"}, \"Ast\\xe9rix\": {\"y\": \"1959\", \"r\": \"Journal Pilote, Paris\", \"x\": \"393 millions d\\'albums vendus dans le monde\"}, \"le Minitel\": {\"y\": \"1980\", \"r\": \"Saint-Malo, Ille-et-Vilaine et V\\xe9lizy\", \"x\": \"6,5 millions de foyers \\xe9quip\\xe9s en 1993\"}}, AT={\"Zizou\": {\"n\": \"Zin\\xe9dine Zidane\", \"b\": \"1972-06-23\", \"s\": \"football\", \"f\": \"Champion du monde, France 1998, doubl\\xe9 en finale\"}, \"Kylian Mbapp\\xe9\": {\"n\": \"Kylian Mbapp\\xe9\", \"b\": \"1998-12-20\", \"s\": \"football\", \"f\": \"Champion du monde, Russie 2018, buteur en finale\"}, \"Thierry Henry\": {\"n\": \"Thierry Henry\", \"b\": \"1977-08-17\", \"s\": \"football\", \"f\": \"Champion du monde 1998 et champion d\\'Europe 2000\"}, \"Michel Platini\": {\"n\": \"Michel Platini\", \"b\": \"1955-06-21\", \"s\": \"football\", \"f\": \"Champion d\\'Europe, Euro 1984, avec 9 buts\"}, \"Antoine Griezmann\": {\"n\": \"Antoine Griezmann\", \"b\": \"1991-03-21\", \"s\": \"football\", \"f\": \"Champion du monde, Russie 2018, homme du match en finale\"}, \"Didier Deschamps\": {\"n\": \"Didier Deschamps\", \"b\": \"1968-10-15\", \"s\": \"football\", \"f\": \"Champion du monde en capitaine (1998) puis en s\\xe9lectionneur (2018)\"}, \"\\xc9ric Cantona\": {\"n\": \"\\xc9ric Cantona\", \"b\": \"1966-05-24\", \"s\": \"football\", \"f\": \"4 fois champion d\\'Angleterre avec Manchester United (1993-1997)\"}, \"Lilian Thuram\": {\"n\": \"Lilian Thuram\", \"b\": \"1972-01-01\", \"s\": \"football\", \"f\": \"Champion du monde 1998, doubl\\xe9 en demi-finale contre la Croatie\"}, \"Franck Rib\\xe9ry\": {\"n\": \"Franck Rib\\xe9ry\", \"b\": \"1983-04-07\", \"s\": \"football\", \"f\": \"Vainqueur de la Ligue des champions 2013 avec le Bayern\"}, \"Fabien Barthez\": {\"n\": \"Fabien Barthez\", \"b\": \"1971-06-28\", \"s\": \"football\", \"f\": \"Champion du monde 1998, meilleur gardien du tournoi\"}, \"Teddy Riner\": {\"n\": \"Teddy Riner\", \"b\": \"1989-04-07\", \"s\": \"judo\", \"f\": \"Double champion olympique \\xe0 Paris 2024 (+100 kg et par \\xe9quipes)\"}, \"Tony Estanguet\": {\"n\": \"Tony Estanguet\", \"b\": \"1978-05-06\", \"s\": \"cano\\xeb slalom\", \"f\": \"Triple champion olympique de C1 (2000, 2004, 2012)\"}, \"L\\xe9on Marchand\": {\"n\": \"L\\xe9on Marchand\", \"b\": \"2002-05-17\", \"s\": \"natation\", \"f\": \"Quatre titres olympiques en individuel, Paris 2024\"}, \"Florent Manaudou\": {\"n\": \"Florent Manaudou\", \"b\": \"1990-11-12\", \"s\": \"natation\", \"f\": \"Champion olympique du 50 m nage libre, Londres 2012\"}, \"Yannick Noah\": {\"n\": \"Yannick Noah\", \"b\": \"1960-05-18\", \"s\": \"tennis\", \"f\": \"Vainqueur de Roland-Garros 1983\"}, \"Antoine Dupont\": {\"n\": \"Antoine Dupont\", \"b\": \"1996-11-15\", \"s\": \"rugby\", \"f\": \"Champion olympique de rugby \\xe0 7, Paris 2024\"}, \"S\\xe9bastien Chabal\": {\"n\": \"S\\xe9bastien Chabal\", \"b\": \"1977-12-08\", \"s\": \"rugby\", \"f\": \"Vainqueur du Tournoi des Six Nations 2007\"}, \"Victor Wembanyama\": {\"n\": \"Victor Wembanyama\", \"b\": \"2004-01-04\", \"s\": \"basket-ball\", \"f\": \"Rookie de l\\'ann\\xe9e NBA \\xe0 l\\'unanimit\\xe9, saison 2023-2024\"}, \"Martin Fourcade\": {\"n\": \"Martin Fourcade\", \"b\": \"1988-09-14\", \"s\": \"biathlon\", \"f\": \"Triple champion olympique, Pyeongchang 2018\"}, \"Alain Prost\": {\"n\": \"Alain Prost\", \"b\": \"1955-02-24\", \"s\": \"formule 1\", \"f\": \"Quadruple champion du monde de F1 (1985, 1986, 1989, 1993)\"}, \"Bernard Hinault\": {\"n\": \"Bernard Hinault\", \"b\": \"1954-11-14\", \"s\": \"cyclisme\", \"f\": \"Cinq fois vainqueur du Tour de France, dernier sacre en 1985\"}, \"Ga\\xebl Monfils\": {\"n\": \"Ga\\xebl Monfils\", \"b\": \"1986-09-01\", \"s\": \"tennis\", \"f\": \"Demi-finaliste de Roland-Garros 2008 et de l\\'US Open 2016\"}, \"Blaise Matuidi\": {\"n\": \"Blaise Matuidi\", \"b\": \"1987-04-09\", \"s\": \"football\", \"f\": \"Champion du monde, Coupe du monde 2018\"}, \"Mamadou Sakho\": {\"n\": \"Mamadou Sakho\", \"b\": \"1990-02-13\", \"s\": \"football\", \"f\": \"Plus jeune capitaine de l\\'histoire du PSG, \\xe0 17 ans (2007)\"}, \"Am\\xe9lie Mauresmo\": {\"n\": \"Am\\xe9lie Mauresmo\", \"b\": \"1979-07-05\", \"s\": \"tennis\", \"f\": \"Victoires \\xe0 l\\'Open d\\'Australie et \\xe0 Wimbledon en 2006\"}, \"Marion Bartoli\": {\"n\": \"Marion Bartoli\", \"b\": \"1984-10-02\", \"s\": \"tennis\", \"f\": \"Victoire \\xe0 Wimbledon en 2013\"}, \"Laure Manaudou\": {\"n\": \"Laure Manaudou\", \"b\": \"1986-10-09\", \"s\": \"natation\", \"f\": \"Championne olympique du 400 m nage libre, Ath\\xe8nes 2004\"}, \"Marie-Jos\\xe9 P\\xe9rec\": {\"n\": \"Marie-Jos\\xe9 P\\xe9rec\", \"b\": \"1968-05-09\", \"s\": \"athl\\xe9tisme\", \"f\": \"Doubl\\xe9 olympique 200 m et 400 m, Atlanta 1996\"}, \"Laura Flessel\": {\"n\": \"Laura Flessel\", \"b\": \"1971-11-06\", \"s\": \"escrime\", \"f\": \"Championne olympique d\\'\\xe9p\\xe9e, individuel et \\xe9quipe, Atlanta 1996\"}, \"Clarisse Agb\\xe9gn\\xe9nou\": {\"n\": \"Clarisse Agb\\xe9gn\\xe9nou\", \"b\": \"1992-10-25\", \"s\": \"judo\", \"f\": \"Championne olympique des moins de 63 kg, Tokyo 2020\"}, \"Pauline Ferrand-Pr\\xe9vot\": {\"n\": \"Pauline Ferrand-Pr\\xe9vot\", \"b\": \"1992-02-10\", \"s\": \"cyclisme\", \"f\": \"Victoire au Tour de France Femmes 2025\"}, \"Wendie Renard\": {\"n\": \"Wendie Renard\", \"b\": \"1990-07-20\", \"s\": \"football\", \"f\": \"Huit Ligues des champions avec l\\'OL, de 2011 \\xe0 2022\"}, \"Surya Bonaly\": {\"n\": \"Surya Bonaly\", \"b\": \"1973-12-15\", \"s\": \"patinage artistique\", \"f\": \"Cinq fois championne d\\'Europe, de 1991 \\xe0 1995\"}, \"Jeannie Longo\": {\"n\": \"Jeannie Longo\", \"b\": \"1958-10-31\", \"s\": \"cyclisme\", \"f\": \"Championne olympique de la course en ligne, Atlanta 1996\"}, \"Estelle Mossely\": {\"n\": \"Estelle Mossely\", \"b\": \"1992-08-19\", \"s\": \"boxe\", \"f\": \"Championne olympique des poids l\\xe9gers, Rio 2016\"}, \"Tessa Worley\": {\"n\": \"Tessa Worley\", \"b\": \"1989-10-04\", \"s\": \"ski alpin\", \"f\": \"Double championne du monde de g\\xe9ant, 2013 et 2017\"}, \"Marie Bochet\": {\"n\": \"Marie Bochet\", \"b\": \"1994-02-09\", \"s\": \"para ski alpin\", \"f\": \"8 titres paralympiques, \\xe0 Sotchi 2014 et PyeongChang 2018\"}, \"Julia Simon\": {\"n\": \"Julia Simon\", \"b\": \"1996-10-09\", \"s\": \"biathlon\", \"f\": \"Trois titres olympiques aux JO de Milan-Cortina 2026\"}, \"Lou Jeanmonnot\": {\"n\": \"Lou Jeanmonnot\", \"b\": \"1998-10-28\", \"s\": \"biathlon\", \"f\": \"Gros globe de cristal de la Coupe du monde 2025-2026\"}, \"Justine Braisaz-Bouchet\": {\"n\": \"Justine Braisaz-Bouchet\", \"b\": \"1996-07-04\", \"s\": \"biathlon\", \"f\": \"Championne olympique de la mass start, P\\xe9kin 2022\"}, \"Lo\\xefs Boisson\": {\"n\": \"Lo\\xefs Boisson\", \"b\": \"2003-05-16\", \"s\": \"tennis\", \"f\": \"Demi-finaliste de Roland-Garros 2025, invit\\xe9e et 361e mondiale\"}, \"Cassandre Beaugrand\": {\"n\": \"Cassandre Beaugrand\", \"b\": \"1997-05-23\", \"s\": \"triathlon\", \"f\": \"Championne olympique de triathlon, Paris 2024\"}, \"Perrine Laffont\": {\"n\": \"Perrine Laffont\", \"b\": \"1998-10-28\", \"s\": \"ski de bosses\", \"f\": \"Championne olympique de ski de bosses, PyeongChang 2018\"}, \"Romane Miradoli\": {\"n\": \"Romane Miradoli\", \"b\": \"1994-03-10\", \"s\": \"ski alpin\", \"f\": \"Vice-championne olympique du super-G, Milan-Cortina 2026\"}, \"Oc\\xe9ane Michelon\": {\"n\": \"Oc\\xe9ane Michelon\", \"b\": \"2002-03-04\", \"s\": \"biathlon\", \"f\": \"Championne olympique de la mass start, Milan-Cortina 2026\"}, \"Marine Johann\\xe8s\": {\"n\": \"Marine Johann\\xe8s\", \"b\": \"1995-01-21\", \"s\": \"basket-ball\", \"f\": \"M\\xe9daill\\xe9e d\\'argent aux JO de Paris 2024\"}, \"Estelle Nze Minko\": {\"n\": \"Estelle Nze Minko\", \"b\": \"1991-08-11\", \"s\": \"handball\", \"f\": \"Championne olympique aux JO de Tokyo 2020\"}, \"Marie-Am\\xe9lie Le Fur\": {\"n\": \"Marie-Am\\xe9lie Le Fur\", \"b\": \"1988-09-26\", \"s\": \"para-athl\\xe9tisme\", \"f\": \"Double championne paralympique \\xe0 Rio 2016 (longueur et 400 m)\"}};\\n  var QUIP={\"le Tour de France\": \"Le maillot jaune depuis 1919.\", \"Roland-Garros\": \"Sur terre battue, \\xe9videmment.\", \"les 24 Heures du Mans\": \"Une nuit blanche au volant.\", \"les Jeux olympiques modernes\": \"L\\'important, c\\'est de participer.\", \"la Coupe du monde de foot\": \"Deux \\xe9toiles sur le maillot des Bleus.\", \"la p\\xe9tanque\": \"Vous tirez ou vous pointez ?\", \"la tour Eiffel\": \"La Dame de fer.\", \"la baguette\": \"Bien cuite, de pr\\xe9f\\xe9rence.\", \"le camembert\": \"\\xc0 d\\xe9guster \\xe0 temp\\xe9rature ambiante.\", \"la cr\\xeape\": \"Beurre-sucre, la base.\", \"les pains au chocolat\": \"Et pas \\xab chocolatine \\xbb, merci.\", \"le champagne\": \"\\xc0 consommer avec mod\\xe9ration.\", \"la marini\\xe8re\": \"Les rayures, c\\'est obligatoire.\", \"le b\\xe9ret\": \"L\\xe9g\\xe8rement pench\\xe9, s\\'il vous pla\\xeet.\", \"l\\'Opinel\": \"Toujours dans la poche.\", \"le stylo Bic\": \"Celui qu\\'on m\\xe2chouille en r\\xe9union.\", \"le TGV\": \"Attention au d\\xe9part.\", \"la 2CV\": \"La \\xab deudeuche \\xbb.\", \"la montgolfi\\xe8re\": \"Les premiers \\xe0 prendre l\\'air.\", \"la carte \\xe0 puce\": \"Code bon, vous pouvez retirer votre carte.\", \"le cin\\xe9ma\": \"Silence, \\xe7a tourne.\", \"le Petit Prince\": \"\\xab Dessine-moi un mouton. \\xbb\", \"Ast\\xe9rix\": \"Ils sont fous, ces Romains !\", \"le Minitel\": \"3615, \\xe7a vous dit quelque chose ?\"};\\n  function cap(s){return s.charAt(0).toUpperCase()+s.slice(1);}\\n  function line(cls,txt){var s=document.createElement(\\'span\\');s.className=cls;s.textContent=txt;return s;}\\n  function tipFor(t){var c=CR[t], a=AT[t]; if(!c&&!a)return null;\\n    var b=document.createElement(\\'em\\');b.className=\\'mif-tip\\';b.setAttribute(\\'role\\',\\'tooltip\\');\\n    if(c){b.appendChild(line(\\'tt-h\\',cap(t)));\\n      b.appendChild(line(\\'tt-m\\',(/^\\\\d/.test(c.y)?\\'Depuis \\'+c.y:cap(c.y))+\\', \\'+c.r));\\n      if(c.x)b.appendChild(line(\\'tt-l\\',c.x));\\n      if(QUIP[t])b.appendChild(line(\\'tt-q\\',QUIP[t]));}\\n    else{var bd=new Date(a.b),now=new Date(),age=now.getFullYear()-bd.getFullYear()-((now.getMonth()<bd.getMonth()||(now.getMonth()===bd.getMonth()&&now.getDate()<bd.getDate()))?1:0);\\n      b.appendChild(line(\\'tt-h\\',a.n));\\n      b.appendChild(line(\\'tt-m\\',cap(a.s)+\\', \\'+age+\\' ans\\'));\\n      b.appendChild(line(\\'tt-l\\',a.f));}\\n    return b;}\\n  function link(t){var x=document.createElement(\\'a\\');x.className=\\'mif-a\\';x.href=\\'https://www.google.com/search?q=\\'+encodeURIComponent(t.replace(/^(le |la |les |l\\')/,\\'\\'));x.target=\\'_blank\\';x.rel=\\'noopener\\';x.textContent=t;\\n    var b=tipFor(t);if(b)x.appendChild(b);return x;}\\n  el.textContent=\\'\\';el.append(\\'Fait en France, comme \\',link(f),\\' ou \\',link(a),\\'.\\');\\n\\n  // touch screens: a first tap on a name shows its tip, a second opens the search\\n  if(window.matchMedia&&matchMedia(\\'(hover: none)\\').matches&&!window.__mifTouch){window.__mifTouch=true;\\n    document.addEventListener(\\'click\\',function(e){var a=e.target.closest&&e.target.closest(\\'a.mif-a\\');\\n      document.querySelectorAll(\\'a.mif-a.open\\').forEach(function(x){if(x!==a)x.classList.remove(\\'open\\');});\\n      if(a&&!a.classList.contains(\\'open\\')){e.preventDefault();a.classList.add(\\'open\\');}},true);}\\n})();\\n';function MadeInFrance(){const ref=React.useRef(null);React.useEffect(()=>{if(!ref.current)return;try{new Function(MIF_JS)();}catch(e){console.error(\"[poteau-app footer] made in France\",e);}},[]);return /*#__PURE__*/_jsxs(\"div\",{className:\"pfoot-mif\",ref:ref,children:[/*#__PURE__*/_jsx(\"style\",{children:MIF_CSS+\".pfoot-mif{--sans:\"+FONT+\";--on-dark-muted:rgba(255,255,255,0.62)}.pfoot-mif .mif{margin:24px 0 0}.pfoot-mif+.pfoot-bottom{margin-top:0}\"}),/*#__PURE__*/_jsx(\"div\",{dangerouslySetInnerHTML:{__html:MIF_HTML}})]});}export function SiteFooter(props){const lang=useLang();const t=T[lang];const pre=PREFIX[lang];const[legalPrivacy,legalTerms,legalNotice]=LEGAL[lang];// Same page in another language (client only; the server renders plain prefixes).\nconst rest=usePath()||\"/\";const nav=useInternalNav();const langHref=l=>l===\"fr\"?rest:`/${l}${rest===\"/\"?\"/\":rest}`;return /*#__PURE__*/_jsxs(\"footer\",{className:\"pfoot\",style:props.style,children:[/*#__PURE__*/_jsx(\"style\",{children:FCSS}),/*#__PURE__*/_jsxs(\"div\",{className:\"pfoot-in\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"pfoot-grid\",children:[/*#__PURE__*/_jsxs(\"nav\",{className:\"pfoot-col\",\"aria-label\":t.cities,children:[/*#__PURE__*/_jsx(\"h3\",{children:t.cities}),CITIES.map(([slug,name])=>/*#__PURE__*/_jsx(\"a\",{href:`${pre}/city/${slug}`,onClick:nav,children:name},slug)),/*#__PURE__*/_jsx(\"a\",{className:\"all\",href:`${pre}/city`,onClick:nav,children:t.allCities})]}),/*#__PURE__*/_jsxs(\"nav\",{className:\"pfoot-col\",\"aria-label\":t.centres,children:[/*#__PURE__*/_jsx(\"h3\",{children:t.centres}),TOP_CENTRES.map(([slug,name])=>/*#__PURE__*/_jsx(\"a\",{href:`${pre}/center/${slug}`,onClick:nav,children:name},slug)),/*#__PURE__*/_jsx(\"a\",{className:\"all\",href:`${pre}/center`,onClick:nav,children:t.allCentres})]}),/*#__PURE__*/_jsxs(\"nav\",{className:\"pfoot-col\",\"aria-label\":t.blog,children:[/*#__PURE__*/_jsx(\"h3\",{children:t.blog}),CATEGORIES.map(c=>/*#__PURE__*/_jsx(\"a\",{href:`${pre}/blog/categorie/${c.slug[lang]}`,onClick:nav,children:c.name[lang]},c.slug.fr)),/*#__PURE__*/_jsx(\"a\",{className:\"all\",href:`${pre}/blog`,onClick:nav,children:t.allArticles})]}),/*#__PURE__*/_jsxs(\"nav\",{className:\"pfoot-col\",\"aria-label\":t.poteau,children:[/*#__PURE__*/_jsx(\"h3\",{children:t.poteau}),/*#__PURE__*/_jsx(\"a\",{href:pre||\"/\",onClick:nav,children:t.home}),/*#__PURE__*/_jsx(\"a\",{href:`${pre}/level`,onClick:nav,children:t.level}),/*#__PURE__*/_jsx(\"a\",{href:mailHref(lang),children:t.mail}),/*#__PURE__*/_jsx(\"a\",{href:`${pre}/legal/${legalPrivacy}`,onClick:nav,children:t.privacy}),/*#__PURE__*/_jsx(\"a\",{href:`${pre}/legal/${legalTerms}`,onClick:nav,children:t.terms}),/*#__PURE__*/_jsx(\"a\",{href:`${pre}/legal/${legalNotice}`,onClick:nav,children:t.legal}),/*#__PURE__*/_jsx(\"a\",{href:`${pre||\"\"}/#cookies`,children:t.cookies})]})]}),lang===\"fr\"&&/*#__PURE__*/_jsx(MadeInFrance,{}),/*#__PURE__*/_jsxs(\"div\",{className:\"pfoot-bottom\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"pfoot-left\",children:[/*#__PURE__*/_jsx(\"span\",{children:\"\\xa9 2026 Poteau\"}),/*#__PURE__*/_jsx(\"div\",{className:\"pfoot-soc\",children:SOCIALS.map(n=>/*#__PURE__*/_jsx(\"a\",{href:n.href,target:\"_blank\",rel:\"noopener\",\"aria-label\":n.name,title:n.name,children:/*#__PURE__*/_jsx(\"svg\",{viewBox:\"0 0 24 24\",\"aria-hidden\":\"true\",children:/*#__PURE__*/_jsx(\"path\",{d:n.path})})},n.name))})]}),/*#__PURE__*/_jsx(\"nav\",{className:\"pfoot-langs\",\"aria-label\":t.language,children:[\"fr\",\"en\",\"es\",\"it\"].map(l=>/*#__PURE__*/_jsx(\"a\",{href:langHref(l),hrefLang:l,\"aria-current\":l===lang?\"true\":undefined,children:{fr:\"Fran\\xe7ais\",en:\"English\",es:\"Espa\\xf1ol\",it:\"Italiano\"}[l]},l))})]})]})]});}addPropertyControls(SiteHeader,{});addPropertyControls(SiteFooter,{});// The home hero says « près de chez toi »: these chips are the way there. The\n// same cities as the footer, one tap from the top of the page. On a phone the\n// row scrolls sideways instead of wrapping, so it stays one line tall.\nconst WHERE={fr:\"\\xc7a joue \\xe0\",en:\"Games in\",es:\"Se juega en\",it:\"Si gioca a\"};const CHIPS_CSS=`\n.pchips { display: flex; align-items: center; gap: 10px; width: 100%; font-family: ${FONT}; }\n.pchips b { flex: none; color: rgba(255,255,255,0.72); font-size: 14px; font-weight: 700; }\n.pchips div { display: flex; gap: 8px; flex-wrap: wrap; min-width: 0; }\n.pchips a { flex: none; padding: 8px 14px; border-radius: 999px; color: #fff; font-size: 14px; font-weight: 800; text-decoration: none; background: rgba(255,255,255,0.07); box-shadow: inset 0 0 0 1px rgba(255,255,255,0.18); transition: background .2s ease, box-shadow .2s ease, transform .2s ease; }\n.pchips a:hover { background: rgba(255,255,255,0.14); box-shadow: inset 0 0 0 1px rgba(255,255,255,0.34); transform: translateY(-1px); }\n.pchips a.all { color: #00D434; background: none; box-shadow: none; padding-left: 6px; }\n@media (max-width: 809px) {\n  .pchips { flex-direction: column; align-items: flex-start; gap: 8px; }\n  .pchips div { flex-wrap: nowrap; overflow-x: auto; width: calc(100% + 40px); margin: 0 -20px; padding: 2px 20px 6px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }\n  .pchips div::-webkit-scrollbar { display: none; }\n}\n`;/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight auto\n */export function CityChips(props){const lang=useLang();const t=T[lang];const pre=PREFIX[lang];const nav=useInternalNav();return /*#__PURE__*/_jsxs(\"nav\",{className:\"pchips\",\"aria-label\":t.cities,style:props.style,children:[/*#__PURE__*/_jsx(\"style\",{children:CHIPS_CSS}),/*#__PURE__*/_jsx(\"b\",{children:WHERE[lang]}),/*#__PURE__*/_jsxs(\"div\",{children:[CITIES.map(([slug,name])=>/*#__PURE__*/_jsx(\"a\",{href:`${pre}/city/${slug}`,onClick:nav,children:name},slug)),/*#__PURE__*/_jsx(\"a\",{className:\"all\",href:`${pre}/city`,onClick:nav,children:t.allCities})]})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"SiteFooter\":{\"type\":\"reactComponent\",\"name\":\"SiteFooter\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"SiteHeader\":{\"type\":\"reactComponent\",\"name\":\"SiteHeader\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"auto\"}},\"CityChips\":{\"type\":\"reactComponent\",\"name\":\"CityChips\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./SiteNav.map","// Generated by Framer (4ecd144)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,Container,ControlType,cx,GeneratedComponentContext,getFonts,RenderTarget,safeCSSValue,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import{SiteFooter,SiteHeader}from\"#framer/local/codeFile/Zs5rbSo/SiteNav.js\";const SiteHeaderFonts=getFonts(SiteHeader);const SiteFooterFonts=getFonts(SiteFooter);const breakpoints={};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-LN0SX\";const variantClassNames={zec_fpcAN:\"framer-v-r523dx\"};const bt0s_wwXm=undefined;const breakpointRules={};const breakpointKeys=Object.keys(breakpointRules);const rules=[\".framer-LN0SX.framer-3wabn2, .framer-LN0SX .framer-3wabn2 { display: block; }\",\".framer-LN0SX.framer-r523dx { align-content: center; align-items: center; background-color: var(--ba5u8a); cursor: default; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-LN0SX .framer-8efory-container { flex: none; height: auto; order: -1000; position: sticky; width: 100%; z-index: 10; }\",\".framer-LN0SX .framer-uz0swq { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-LN0SX .framer-1bb28wn-container { flex: none; height: auto; order: 1002; position: relative; width: 100%; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }'];const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const getProps=({background,height,id,width,...props})=>{return{...props,bt0s_wwXm:background??props.bt0s_wwXm??\"rgb(255, 255, 255)\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,bt0s_wwXm,children,...restProps}=getProps(props);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{activeVariantId:baseVariant,isLayoutTemplate:true,primaryVariantId:\"zec_fpcAN\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:`:root body { background: ${safeCSSValue(bt0s_wwXm)}; }`}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-r523dx\",className),\"data-layout-template\":true,ref:refBinding,style:{\"--ba5u8a\":bt0s_wwXm,...style},children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-8efory-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"Site header\",isAuthoredByUser:true,name:\"Site header\",nodeId:\"KQrA3LP3e\",scopeId:\"vMeiyyvjh\",children:/*#__PURE__*/_jsx(SiteHeader,{height:\"100%\",id:\"KQrA3LP3e\",layoutId:\"KQrA3LP3e\",name:\"Site header\",style:{width:\"100%\"},width:\"100%\"})})}),children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-uz0swq\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(Container,{className:\"framer-1bb28wn-container\",\"data-code-component-plugin-id\":\"api\",\"data-framer-name\":\"Site footer\",isAuthoredByUser:true,name:\"Site footer\",nodeId:\"RDVC0AvVT\",scopeId:\"vMeiyyvjh\",children:/*#__PURE__*/_jsx(SiteFooter,{height:\"100%\",id:\"RDVC0AvVT\",layoutId:\"RDVC0AvVT\",name:\"Site footer\",style:{width:\"100%\"},width:\"100%\"})})})]}),/*#__PURE__*/_jsx(\"div\",{id:\"template-overlay\"})]})});});const css=target=>{const isStaticRenderer=target===RenderTarget.canvas||target===RenderTarget.export;if(!isStaticRenderer){return[...rules,...breakpointKeys.map(key=>{const query=breakpointRules[key];return`@media ${query} { ${breakpointRules[key].join(\" \")} }`;})];}return[...rules,...breakpointKeys.flatMap(key=>{const selector=breakpointRules[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 1000\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"bt0s_wwXm\":\"background\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"zec_fpcAN\":[\".framer-8efory-container\",\".framer-1bb28wn-container\"]}\n * @framerBreakpoints {\"zec_fpcAN\":{\"canvasClassName\":\"framer-r523dx-override\",\"minHeight\":900,\"viewportHeight\":800,\"name\":\"Desktop\",\"width\":1200,\"rootFontSize\":16}}\n * @framerDefaultVariant zec_fpcAN\n * @framerLayoutTemplate true\n */const FramervMeiyyvjh=withCSS(Component,css,\"framer-LN0SX\");export default FramervMeiyyvjh;FramervMeiyyvjh.displayName=\"Site layout\";FramervMeiyyvjh.defaultProps={height:1e3,width:1200};addPropertyControls(FramervMeiyyvjh,{bt0s_wwXm:{defaultValue:\"rgb(255, 255, 255)\",title:\"Background\",type:ControlType.Color}});addFonts(FramervMeiyyvjh,[{explicitInter:true,fonts:[]},...SiteHeaderFonts,...SiteFooterFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramervMeiyyvjh\",\"slots\":[],\"annotations\":{\"framerColorSyntax\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerVariables\":\"{\\\"bt0s_wwXm\\\":\\\"background\\\"}\",\"framerBreakpoints\":\"{\\\"zec_fpcAN\\\":{\\\"canvasClassName\\\":\\\"framer-r523dx-override\\\",\\\"minHeight\\\":900,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1200,\\\"rootFontSize\\\":16}}\",\"framerDefaultVariant\":\"zec_fpcAN\",\"framerLayoutTemplate\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicHeight\":\"1000\",\"framerHitTargets\":\"{\\\"zec_fpcAN\\\":[\\\".framer-8efory-container\\\",\\\".framer-1bb28wn-container\\\"]}\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"1200\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","\r\n\t\timport * as Framer from \"framer\";\r\nimport * as React from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport * as ReactDOM from \"react-dom/client\";\r\nimport SiteLayout from \"https://framerusercontent.com/modules/PzsRPKNXwbofe2CdY0Sf/znOgE7nN8SyDR3Dg7ha3/vMeiyyvjh.js\";\r\n\r\n\t\tconst routes = {f1Rs4Ezz3: {elements: {T3lVjZZiU: \"telecharger\", t5HY1oFof: \"hero-store\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/uKyLnY9mWtEeRC1rr2JK/9XPTTydrpQhKzN3ZwGUB/f1Rs4Ezz3.js\")), path: \"/\"}, tmmSarYVg: {elements: {e5zK5hIoT: \"categories\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/K6trTCONnyFocKEj8sT7/K6cjIj8bjoOk1F0XdwNc/tmmSarYVg.js\")), path: \"/blog\"}, znOADShvV: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/Dik5dFw0EhZV6BvMnSrI/qNucJFxJmW5zHMLu69Dd/znOADShvV.js\")), path: \"/city\"}, mJpM4p5Bf: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/XZRMtO3Rw7PtqFNBNzFQ/qFICH16aO9gX2FbDIEHO/mJpM4p5Bf.js\")), path: \"/center\"}, hN4sRNKXm: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/hH8RhjrH2sJwqfMFmafb/l7C4RpQNRMMEm9P9Qzzc/hN4sRNKXm.js\")), path: \"/redirect\"}, LgCMXeuK7: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/oujZ7qG4859EZMISnz8T/h84sOfCWiV3HQrh11Yaf/LgCMXeuK7.js\")), path: \"/unsubscribe\"}, gJHXqShXm: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/c5wdEnnSviWUwuhWy5Dd/n4or3q9bc3zp2PN3chRn/gJHXqShXm.js\")), path: \"/level\"}, ysNDgBYGs: {collectionId: \"Xg9a6GafL\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/oJL6AAG7ABXMw9SKSBoC/o3x7JSZqTaoKYbIpmF10/ysNDgBYGs.js\")), path: \"/blog/:WUrq9e_5G\"}, ia9x5sGVU: {collectionId: \"kP144R1ft\", elements: {N_VYkMU1m: \"categories\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/OuilQMospCw4mfq97UEn/7SeZ468vuSHWugsTXHdP/ia9x5sGVU.js\")), path: \"/blog/categorie/:sNQucR2Hq\"}, K3KKTS04g: {collectionId: \"IL4tjw6jd\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/RXX98pAVblSRJBcJQ7xR/flwUzP34WgX6vwhdtxFl/K3KKTS04g.js\")), path: \"/city/:Zf5t8amYN\"}, qn9Kytr7H: {collectionId: \"UiKv9wC1d\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/N8K80WlaliD71wHluApW/JggS1W3rrV77kwfBjDvN/qn9Kytr7H.js\")), path: \"/center/:FpaON4a3K\"}, Yes1RIz9M: {collectionId: \"XQTQRm0_e\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/6VJIJpgpATInJAnVyQDP/UvNuh3ZSSRoqCZUL7cF3/Yes1RIz9M.js\")), path: \"/legal/:RxEy_Qyrl\"}, R6mAiFvvd: {collectionId: \"WurHo5KA_\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/BibGk1Cy27hdAVKdEM2A/9WVHkhuBPWsmphLShwQM/R6mAiFvvd.js\")), path: \"/venue-preview/:pONL84Btd\"}, Eo3TRPUcz: {collectionId: \"pK06wsStC\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/6lQcyeOkfj5pDaDyPChX/X15VHpEPGnbEY6Z0tH2r/Eo3TRPUcz.js\")), path: \"/center-legacy/:yvYoewHYl\"}, Jcu9IYDmN: {collectionId: \"IL4tjw6jd\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/VvyTw14nXxQXSnzrUlJn/PUbUHTiLSBuLiA0rabei/Jcu9IYDmN.js\")), path: \"/padel/:Zf5t8amYN\"}, WyNq8uUR9: {collectionId: \"IL4tjw6jd\", elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/HcTi6MNjlSSc0vCJtJ23/JXnu3pQnvFuTgBphnWuP/WyNq8uUR9.js\")), path: \"/foot-a-5/:Zf5t8amYN\"}}\r\n\r\n\t\tconst locales = [{code: \"fr\", id: \"default\", name: \"Français\", slug: \"\", textDirection: \"ltr\"}, {code: \"en-US\", id: \"MpjVZlRkB\", name: \"English\", slug: \"en\", textDirection: \"ltr\"}, {code: \"es\", fallback: {code: \"en-US\", id: \"MpjVZlRkB\", name: \"English\", slug: \"en\", textDirection: \"ltr\"}, id: \"joSfbwDf4\", name: \"Español\", slug: \"es\", textDirection: \"ltr\"}, {code: \"it\", fallback: {code: \"en-US\", id: \"MpjVZlRkB\", name: \"English\", slug: \"en\", textDirection: \"ltr\"}, id: \"hGC6H6xUk\", name: \"Italiano\", slug: \"it\", textDirection: \"ltr\"}]\r\n\t\tconst collectionUtils = {IL4tjw6jd: async () => (await import(\"https://framerusercontent.com/modules/OIno6fUn6sIQROf5ifvz/A0ZaoXw7zNXVpH1TGd76/IL4tjw6jd.js\"))?.[\"utils\"], kP144R1ft: async () => (await import(\"https://framerusercontent.com/modules/q6zUHTww8KmxoJ4ddUbT/b5F3Lw7ai0DmYN7MkVBb/kP144R1ft.js\"))?.[\"utils\"], pK06wsStC: async () => (await import(\"https://framerusercontent.com/modules/hD0qqIh7FQD09A7NgTyd/fwfu4X2wPakWczjIuHjz/pK06wsStC.js\"))?.[\"utils\"], UiKv9wC1d: async () => (await import(\"https://framerusercontent.com/modules/mcqu9hCWOHXj0MzvlNK5/JZeO7IRMyvViCDScmpuI/UiKv9wC1d.js\"))?.[\"utils\"], WurHo5KA_: async () => (await import(\"https://framerusercontent.com/modules/IzNYffzTuqRLjkuQC9NH/WTyXkC81QDKjdNvnU6Ap/WurHo5KA_.js\"))?.[\"utils\"], Xg9a6GafL: async () => (await import(\"https://framerusercontent.com/modules/BCyLRRvNL1O205qgsYBG/hewRe7smF9UAcMPsbA7a/Xg9a6GafL.js\"))?.[\"utils\"], XQTQRm0_e: async () => (await import(\"https://framerusercontent.com/modules/8GqkQXbkCO8CSRzyXU2v/ftHbPsiQjLkZBUfSmChW/XQTQRm0_e.js\"))?.[\"utils\"]}\r\n\t\tconst serverDatabaseClient = undefined\r\n\t\tconst framerSiteId = \"a16aad7ec546becfd32802c42212e422e80f334f75d5cfdfacfd367b233c0daf\"\r\n\t\tfunction Template({webPageId, children, style, ...rest}) {const props1 = {bt0s_wwXm: \"rgb(24, 48, 26)\"}\r\nconst props2 = {...props1, bt0s_wwXm: \"rgb(10, 12, 10)\"}\r\nconst props3 = {...props1, bt0s_wwXm: \"rgb(238, 243, 247)\"}\r\nconst props4 = {...props1, bt0s_wwXm: \"rgb(255, 255, 255)\"}\r\nconst props5 = {...props1, bt0s_wwXm: \"var(--token-feb9ba6e-271e-4bd8-8c84-f9cd25ea368a)\"}\r\nconst templateProps = {Eo3TRPUcz: props4, f1Rs4Ezz3: props1, gJHXqShXm: props3, hN4sRNKXm: props3, ia9x5sGVU: props2, Jcu9IYDmN: props3, K3KKTS04g: props3, LgCMXeuK7: props4, mJpM4p5Bf: props3, oFo2yJ65E: props4, qn9Kytr7H: props3, R6mAiFvvd: props4, tmmSarYVg: props2, WyNq8uUR9: props3, Yes1RIz9M: props5, ysNDgBYGs: props2, znOADShvV: props3}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"f1Rs4Ezz3\":\r\ncase \"tmmSarYVg\":\r\ncase \"znOADShvV\":\r\ncase \"mJpM4p5Bf\":\r\ncase \"hN4sRNKXm\":\r\ncase \"LgCMXeuK7\":\r\ncase \"gJHXqShXm\":\r\ncase \"ysNDgBYGs\":\r\ncase \"ia9x5sGVU\":\r\ncase \"K3KKTS04g\":\r\ncase \"qn9Kytr7H\":\r\ncase \"Yes1RIz9M\":\r\ncase \"oFo2yJ65E\":\r\ncase \"R6mAiFvvd\":\r\ncase \"Eo3TRPUcz\":\r\ncase \"Jcu9IYDmN\":\r\ncase \"WyNq8uUR9\":\r\nreturn React.createElement(SiteLayout, {...props, key: \"SiteLayout\", style}, children(true));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"f1Rs4Ezz3\":\r\ncase \"tmmSarYVg\":\r\ncase \"znOADShvV\":\r\ncase \"mJpM4p5Bf\":\r\ncase \"hN4sRNKXm\":\r\ncase \"LgCMXeuK7\":\r\ncase \"gJHXqShXm\":\r\ncase \"ysNDgBYGs\":\r\ncase \"ia9x5sGVU\":\r\ncase \"K3KKTS04g\":\r\ncase \"qn9Kytr7H\":\r\ncase \"Yes1RIz9M\":\r\ncase \"oFo2yJ65E\":\r\ncase \"R6mAiFvvd\":\r\ncase \"Eo3TRPUcz\":\r\ncase \"Jcu9IYDmN\":\r\ncase \"WyNq8uUR9\":\r\nreturn [{hash: \"r523dx\"}]\r\ndefault: { return undefined }}}\r\n\r\n\t\tconst isBrowser = typeof document !== \"undefined\"\r\n\t\tconst isBot = isBrowser && /bot|-google|google-|yandex|ia_archiver|crawl|spider/iu.test(navigator.userAgent)\r\n\r\n\t\t\r\n\t\t\r\n\r\n\t\texport async function getPageRoot({\r\n\t\t\trouteId,\r\n\t\t\tpathVariables,\r\n\t\t\tcanonicalPathVariables,\r\n\t\t\tlocaleId,\r\n\t\t\tcollectionItemId,\r\n\t\t\tcontentLocaleId,\r\n\t\t\tshouldResolveInitialRouteContentState = false,\r\n\t\t}) {\r\n\t\t\tconst rootPreload = routes[routeId].page.preload()\r\n\r\n\t\t\t\r\n\r\n\t\t\tFramer.setLibraryFeatures({checkServerSideRouter: true, disableCustomCode: false, disableHoverOnMobile: false, editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, onPageRichTextBlockSelection: true, scrollRestoration: true, synchronousNavigationOnDesktop: false, yieldOnTap: false})\r\n\t\t\tFramer.setCurrentSiteId(framerSiteId)\r\n\r\n\t\t\tconst content = React.createElement(\r\n\t\t\t\tFramer.PageRoot,\r\n\t\t\t\t{\r\n\t\t\t\t\tisWebsite: true,\r\n\t\t\t\t\tenvironment: \"site\",\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\tcanonicalPathVariables,\r\n\t\t\t\t\troutes,\r\n\t\t\t\t\tcollectionUtils,\r\n\t\t\t\t\tserverDatabaseClient,\r\n\t\t\t\t\tframerSiteId,\r\n\t\t\t\t\tnotFoundPage: Framer.lazy(() => import(\"__framer-not-found-page\")),\r\n\t\t\t\t\tisReducedMotion: true,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tlocales,\r\n\t\t\t\t\tpreserveQueryParams: true,\r\n\t\t\t\t\tsiteCanonicalURL: \"https://poteau-app.com\",\r\n\t\t\t\t\tEditorBar: \r\n\t\t\ttypeof window !== \"undefined\" ? (() => {\r\n\t\t\t\tif (isBot) {\r\n\t\t\t\t\tconsole.log(\"[Framer On-Page Editing] Unavailable because navigator is bot\")\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn Framer.lazy(async () => {\r\n\t\t\t\t\tconst dependencies = {\r\n\t\t\t\t\t\t__version: 3,\r\n\t\t\t\t\t\tframer: {\r\n\t\t\t\t\t\t\tuseCurrentRoute: Framer.useCurrentRoute,\r\n\t\t\t\t\t\t\tuseLocaleInfo: Framer.useLocaleInfo,\r\n\t\t\t\t\t\t\tuseRouter: Framer.useRouter,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\treact: {\r\n\t\t\t\t\t\t\tcreateElement: React.createElement,\r\n\t\t\t\t\t\t\tFragment: React.Fragment,\r\n\t\t\t\t\t\t\tmemo: React.memo,\r\n\t\t\t\t\t\t\tuseCallback: React.useCallback,\r\n\t\t\t\t\t\t\tuseEffect: React.useEffect,\r\n\t\t\t\t\t\t\tuseRef: React.useRef,\r\n\t\t\t\t\t\t\tuseState: React.useState,\r\n\t\t\t\t\t\t\tuseLayoutEffect: React.useLayoutEffect,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\"react-dom\": { createPortal },\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\twindow.__framer_editorBarDependencies = dependencies\r\n\r\n\t\t\t\t\tconst { createEditorBar } = await import(\"https://framer.com/edit/init.mjs\")\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tdefault: createEditorBar(),\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t})() : undefined\r\n\t\t,\r\n\t\t\t\t\tadaptLayoutToTextDirection: false,\r\n\t\t\t\t\tLayoutTemplate: Template,\r\n\t\t\t\t\tloadSnippetsModule: new Framer.LazyValue(() => import(\"https://framerusercontent.com/modules/ivhrFbnR6wK5OZXf6dvl/vjOQOQYTLUgVrl8aUJfj/snippets.js\")),\r\n\t\t\t\t\tinitialCollectionItemId: collectionItemId,\r\n\t\t\t\t\tinitialContentLocaleIdOverride: contentLocaleId,\r\n\t\t\t\t}\r\n\t\t\t)\r\n\r\n\t\t\tconst contentWithGracefullyDegradingErrorBoundary = React.createElement(Framer.GracefullyDegradingErrorBoundary, {\r\n\t\t\t\tchildren: content\r\n\t\t\t})\r\n\r\n\t\t\t\r\n\t\t\tconst page = React.createElement(Framer.PageEffectsProvider, {\r\n\t\t\t\tchildren: contentWithGracefullyDegradingErrorBoundary,\r\n\t\t\t\tvalue: {routes: {}}\r\n\t\t\t})\r\n\r\n\t\t\t// We don't want the initial render to immediately have to suspend.\r\n\t\t\tawait rootPreload\r\n\t\t\treturn page\r\n\t\t}\r\n\t\r\n\r\n\t\tif (isBrowser) {\r\n\t\t\t// Note: HTTPArchive also uses this function to detect Framer sites; see https://github.com/HTTPArchive/wappalyzer/blob/371a17583f74fd9171b9077f59a5619b24062891/src/technologies/f.json#L1722-L1748.\r\n\t\t\twindow.__framer_importFromPackage = (packageAndFilename, exportIdentifier) => () => {\r\n\t\t\t\treturn React.createElement(Framer.ErrorPlaceholder, { error: 'Package component not supported: \"' + exportIdentifier + '\" in \"' + packageAndFilename + '\"' })\r\n\t\t\t}\r\n\r\n\t\t\twindow.__framer_events = window.__framer_events || []\r\n\r\n\t\t\t// Initialize lazy modules cache for hydration\r\n\t\t\tFramer.initLazyModulesCache()\r\n\r\n\t\t\tconst container = document.getElementById(\"main\")\r\n\t\t\t// We know that #main is parsed before this script, so we don't need to wait for DOMContentLoaded or similar events.\r\n\t\t\tif (\"framerHydrateV2\" in container.dataset) main(true, container)\r\n\t\t\telse main(false, container)\r\n\t\t}\r\n\r\n\t\tfunction track() {\r\n\t\t\tif (!isBrowser) return\r\n\t\t\twindow.__framer_events.push(arguments)\r\n\t\t}\r\n\r\n\t\tasync function main(shouldHydrate, container) {\r\n\t\t\tfunction handleError(error, errorInfo, recoverable = true) {\r\n\t\t\t\tif (error.caught || window.__framer_hadFatalError) return // we already logged it\r\n\r\n\t\t\t\tconst componentStack = errorInfo?.componentStack\r\n\t\t\t\tif (recoverable) {\r\n\t\t\t\t\tconsole.warn(\"Caught a recoverable error. The site is still functional, but might have some UI flickering or degraded page load performance. If you are the author of this website, update external components and check recently added custom code or code overrides to fix the following server/client mismatches:\\n\", error, componentStack)\r\n\t\t\t\t\t// we only want to collect 1%, because this can be quite noisy (floods the data pipeline)\r\n\t\t\t\t\tif (Math.random() > 0.01) return\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.error(\"Caught a fatal error. Please report the following to the Framer team via https://www.framer.com/contact/:\\n\", error, componentStack)\r\n\t\t\t\t}\r\n\t\t\t\ttrack(recoverable ? \"published_site_load_recoverable_error\" : \"published_site_load_error\", {\r\n\t\t\t\t\tmessage: String(error),\r\n\t\t\t\t\tcomponentStack, // componentStack is more useful\r\n\t\t\t\t\tstack: componentStack ? undefined : error instanceof Error && typeof error.stack === \"string\" ? error.stack : null,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\ttry {\r\n\t\t\t\tlet routeId, localeId, contentLocaleId, pathVariables, canonicalPathVariables, breakpoints, routeData\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\trouteData = JSON.parse(container.dataset[\"framerHydrateV2\"])\r\n\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\tcontentLocaleId = routeData.contentLocaleId\r\n\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\tcanonicalPathVariables = routeData.canonicalPathVariables\r\n\t\t\t\t\tbreakpoints = routeData.breakpoints\r\n\r\n\t\t\t\t\trouteId = Framer.patchRoutesForABTesting(routes, routeId) // Prioritize optimized route id to avoid flickering in browsers not supporting the server-timing header (Safari older than 16.4)\r\n\t\t\t\t} else {\r\n\t\t\t\t\t\r\n\t\t\t\t\tFramer.patchRoutesForABTesting(routes, undefined) // This must happen before inferInitialRouteFromPath\r\n\t\t\t\t\tconst serverRoute = performance.getEntriesByType(\"navigation\")[0]?.serverTiming?.find(e => e.name === \"route\")?.description\r\n\t\t\t\t\tif (serverRoute) {\r\n\t\t\t\t\t\tconst routeData = new URLSearchParams(serverRoute)\r\n\t\t\t\t\t\trouteId = routeData.get(\"id\")\r\n\t\t\t\t\t\tlocaleId = routeData.get(\"locale\")\r\n\t\t\t\t\t\tfor (const [key, value] of routeData.entries()) {\r\n\t\t\t\t\t\t\tif (!key.startsWith(\"var.\")) continue\r\n\t\t\t\t\t\t\tpathVariables ??= {}\r\n\t\t\t\t\t\t\tpathVariables[key.slice(4)] = value\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!routeId || !localeId) {\r\n\t\t\t\t\t\tconst routeData = Framer.inferInitialRouteFromPath(routes, decodeURIComponent(location.pathname), true, locales)\r\n\t\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst pagePromise = getPageRoot({\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tcontentLocaleId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\tcanonicalPathVariables,\r\n\t\t\t\t\tcollectionItemId: shouldHydrate ? routeData?.collectionItemId : undefined,\r\n\t\t\t\t\tshouldResolveInitialRouteContentState: !shouldHydrate,\r\n\t\t\t\t})\r\n\r\n\t\t\t\t\r\nif (typeof window !== \"undefined\") {\r\n\tvoid (async () => {\r\n\t\tconst route = routes[routeId]\r\n\r\n\t\tconst defaultLocaleId = \"default\"\r\n\t\tconst framerLocale = locales.find(({ id }) => !localeId ? id === defaultLocaleId : id === localeId).code\r\n\r\n\t\t\r\n\t\tlet collectionItemId = routeData?.collectionItemId ?? null\r\n\t\tif (collectionItemId === null && route?.collectionId && collectionUtils) {\r\n\t\t\tconst utils = await collectionUtils[route.collectionId]?.()\r\n\t\t\tconst [slug] = Object.values(pathVariables)\r\n\t\t\tif (utils && typeof slug === \"string\") {\r\n\t\t\t\tcollectionItemId = (await utils.getRecordIdBySlug(slug, framerLocale || undefined)) ?? null\r\n\t\t\t}\r\n\t\t}\r\n\t\r\n\r\n\t\tconst resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions()\r\n\t\tconst timezone = resolvedDateTimeOptions.timeZone\r\n\t\tconst locale = resolvedDateTimeOptions.locale\r\n\r\n\t\t// wait for the page to be activated before sending the pageview event\r\n\t\t// https://developer.chrome.com/docs/web-platform/prerender-pages#impact-on-analytics\r\n\t\tawait new Promise((resolve) => {\r\n\t\t\tif (document.prerendering) {\r\n\t\t\t\tdocument.addEventListener(\"prerenderingchange\", resolve, { once: true })\r\n\t\t\t} else {\r\n\t\t\t\tresolve()\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\twindow.__framer_events.push([\r\n\t\t\t\"published_site_pageview\",\r\n\t\t\t{\r\n\t\t\t\tframerSiteId,\r\n\t\t\t\tversion: 2,\r\n\t\t\t\troutePath: route?.path || \"/\",\r\n\t\t\t\tcollectionItemId,\r\n\t\t\t\tframerLocale: framerLocale || null,\r\n\t\t\t\twebPageId: route?.abTestingVariantId ?? routeId,\r\n\t\t\t\tabTestId: route?.abTestId,\r\n\t\t\t\treferrer: document.referrer || null,\r\n\t\t\t\turl: window.location.href,\r\n\t\t\t\thostname: window.location.hostname || null,\r\n\t\t\t\tpathname: window.location.pathname || null,\r\n\t\t\t\thash: window.location.hash || null,\r\n\t\t\t\tsearch: window.location.search || null,\r\n\t\t\t\ttimezone,\r\n\t\t\t\tlocale,\r\n\t\t\t},\r\n\t\t\t\"eager\"\r\n\t\t])\r\n\r\n\t\t// Yield to avoid blocking the main thread with the user code\r\n\t\tawait Framer.yieldToMain({ priority: \"background\", ensureContinueBeforeUnload: true, continueAfter: \"paint\" })\r\n\r\n\t\tdocument.dispatchEvent(new CustomEvent(\"framer:pageview\", {\r\n\t\t\tdetail: { framerLocale: framerLocale || null }\r\n\t\t}))\r\n\t})()\r\n}\r\n\r\n\r\n\t\t\t\tconst page = await pagePromise\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tFramer.withPerformanceMarks(\"framer-rewrite-breakpoints\", () => {\r\n\t\t\t\t\t\tFramer.removeHiddenBreakpointLayersV2(breakpoints)\r\n\t\t\t\t\t\twindow.__framer_onRewriteBreakpoints?.(breakpoints)\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tconst startTransition = isBot ? cb => cb() : React.startTransition\r\n\t\t\t\t\tstartTransition(() => {\r\n\t\t\t\t\t\tFramer.markHydrationStart()\r\n\t\t\t\t\t\tFramer.turnOffReactEventHandling()\r\n\t\t\t\t\t\tReactDOM.hydrateRoot(container, page, { onRecoverableError: handleError })\r\n\t\t\t\t\t})\r\n\t\t\t\t} else {\r\n\t\t\t\t\t\r\n\t\t\t\t\tReactDOM.createRoot(container, { onRecoverableError: handleError }).render(page)\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\thandleError(error, undefined, false)\r\n\t\t\t\tthrow error\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\r\n\r\n\t\t\r\n\t"],"mappings":"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"}