{"version":3,"file":"shared-lib.D7CbNdMo.mjs","names":["useState","startTransition","useMemo","__esmMin","pe","init_npm_react_18_3_1","init_ssg_sandbox_shims","window","te","_e","p","init_jsx_runtime","ce","AnimatePresence","init_framer_motion_DhsWWWsN","motion","addPropertyControls","init_framer_BWFVvmND","ControlType","loadGoogleTags","w","s","GA_ID","ADS_ID","e","ADS_CONVERSION","AVFCookieBanner","props","visible","setVisible","isMobile","setIsMobile","stored","STORAGE_KEY","open","update","mobileBreakpoint","save","previous","value","host","domains","name","c","d","styles","textColor","accent","background","init_CookieBanner"],"sources":["https:/framerusercontent.com/modules/h3hnkONM3vGhzm4ZcQiH/tPeWPUbnSpH0Sbc86cKm/CookieBanner.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{AnimatePresence,motion}from\"framer-motion\";import{startTransition,useEffect,useMemo,useState}from\"react\";/**\n * AVFCookieBanner — Composant Framer\n *\n * Installation :\n * 1. Copier ce fichier dans Framer > Assets > Code Components\n * 2. Glisser le composant sur n'importe quelle page (il se positionne en fixed)\n * 3. Le placer de préférence sur toutes les pages (ou dans un layout partagé)\n *\n * Le choix est mémorisé en localStorage sous la clé \"avf_cookie_consent\"\n * Valeurs : \"accepted\" | \"refused\"\n */const STORAGE_KEY=\"avf_cookie_consent\";const GA_ID=\"G-MZ2FF9DD33\";const ADS_ID=\"AW-18401027909\";const ADS_CONVERSION=\"AW-18401027909/G2ENCPLA_OQcEMXOpcZE\";/**\n * Charge Google Analytics et Google Ads, uniquement après consentement.\n * Une seule fois par visite, même si plusieurs bandeaux sont présents.\n */function loadGoogleTags(){if(typeof window===\"undefined\")return;const w=window;if(w.__avfTagsLoaded)return;w.__avfTagsLoaded=true;w.dataLayer=w.dataLayer||[];w.gtag=function(){w.dataLayer.push(arguments);};const s=document.createElement(\"script\");s.async=true;s.src=\"https://www.googletagmanager.com/gtag/js?id=\"+GA_ID;document.head.appendChild(s);w.gtag(\"js\",new Date);w.gtag(\"config\",GA_ID);w.gtag(\"config\",ADS_ID);// Conversion : visio découverte réservée via Calendly\nwindow.addEventListener(\"message\",e=>{if(e.origin!==\"https://calendly.com\")return;if(!e.data||typeof e.data.event!==\"string\")return;if(e.data.event===\"calendly.event_scheduled\"){w.gtag(\"event\",\"conversion\",{send_to:ADS_CONVERSION});}});}// User request: Improve the mobile layout of the AVFCookieBanner component in CookieBanner.tsx for a French flute-school site (dark purple #120025 surface, accent #b06ef3, light text). Below ~640px viewport width, stack text then buttons, keep compact bottom-anchored banner with safe-area inset, preserve desktop appearance and existing behavior/French copy, and keep SSR-safe access.\n/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function AVFCookieBanner(props){const{background=\"#120025\",accent=\"#b06ef3\",textColor=\"#F8F6F2\",mobileBreakpoint=640}=props;const[visible,setVisible]=useState(false);const[isMobile,setIsMobile]=useState(false);useEffect(()=>{if(typeof window===\"undefined\")return;try{const stored=window.localStorage.getItem(STORAGE_KEY);if(stored===\"accepted\")loadGoogleTags();if(!stored)startTransition(()=>setVisible(true));}catch{// localStorage non disponible (SSR, etc.)\nstartTransition(()=>setVisible(true));}},[]);// Réouverture du bandeau via le lien « Gérer les cookies »\nuseEffect(()=>{if(typeof window===\"undefined\")return;const open=()=>startTransition(()=>setVisible(true));window.addEventListener(\"avf-open-consent\",open);return()=>window.removeEventListener(\"avf-open-consent\",open);},[]);useEffect(()=>{if(typeof window===\"undefined\")return;const update=()=>{startTransition(()=>setIsMobile(window.innerWidth<mobileBreakpoint));};update();window.addEventListener(\"resize\",update);return()=>window.removeEventListener(\"resize\",update);},[mobileBreakpoint]);const save=value=>{if(typeof window===\"undefined\")return;let previous=null;try{previous=window.localStorage.getItem(STORAGE_KEY);window.localStorage.setItem(STORAGE_KEY,value);}catch{// silently fail\n}startTransition(()=>setVisible(false));if(value===\"accepted\")loadGoogleTags();// Prévient le script de mesure (Analytics / Ads) du choix\nwindow.dispatchEvent(new CustomEvent(\"avf-consent\",{detail:value}));// Retrait d'un consentement donné : on efface les cookies Google et on recharge\nif(value===\"refused\"&&previous===\"accepted\"){const host=window.location.hostname;const domains=[\"\",host,\".\"+host,\".\"+host.replace(/^www\\./,\"\")];document.cookie.split(\";\").forEach(c=>{const name=c.split(\"=\")[0].trim();if(/^(_ga|_gid|_gcl|_gat)/.test(name)){domains.forEach(d=>{document.cookie=name+\"=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/\"+(d?\"; domain=\"+d:\"\");});}});window.location.reload();}};const styles=useMemo(()=>({wrapper:{position:\"fixed\",bottom:0,left:0,right:0,display:\"flex\",justifyContent:\"center\",padding:isMobile?\"0 12px calc(8px + env(safe-area-inset-bottom))\":\"0 16px 24px\",zIndex:9999,pointerEvents:\"none\",fontFamily:\"Inter, -apple-system, sans-serif\"},card:{maxWidth:600,width:\"100%\",background,border:\"1px solid rgba(176, 110, 243, 0.28)\",borderRadius:isMobile?12:14,padding:isMobile?\"12px 14px\":\"18px 22px\",boxShadow:\"0 12px 48px rgba(0,0,0,0.55), 0 0 80px rgba(176,110,243,0.07)\",display:\"flex\",flexDirection:isMobile?\"column\":\"row\",alignItems:isMobile?\"stretch\":\"center\",gap:isMobile?10:20,pointerEvents:\"all\"},textBlock:{flex:1,minWidth:0,width:\"100%\"},title:{margin:0,color:textColor,fontSize:13,fontWeight:500,lineHeight:1.5},subtitle:{margin:\"4px 0 0\",color:\"rgba(248, 246, 242, 0.52)\",fontSize:12,lineHeight:1.6},link:{color:accent,textDecoration:\"none\"},buttons:{display:\"flex\",gap:8,flexShrink:0,width:isMobile?\"100%\":\"auto\"},btnRefuse:{background:\"transparent\",border:\"1px solid rgba(248, 246, 242, 0.18)\",color:\"rgba(248, 246, 242, 0.65)\",padding:\"9px 18px\",borderRadius:100,cursor:\"pointer\",fontSize:13,fontFamily:\"inherit\",whiteSpace:\"nowrap\",transition:\"border-color 0.2s, color 0.2s\",minHeight:44,flex:isMobile?1:undefined},btnAccept:{background:accent,border:\"none\",color:\"#fff\",padding:\"9px 18px\",borderRadius:100,cursor:\"pointer\",fontSize:13,fontWeight:600,fontFamily:\"inherit\",whiteSpace:\"nowrap\",boxShadow:\"0 0 22px rgba(176, 110, 243, 0.38)\",transition:\"background 0.2s, box-shadow 0.2s\",minHeight:44,flex:isMobile?1:undefined}}),[accent,background,isMobile,textColor]);return /*#__PURE__*/_jsx(AnimatePresence,{children:visible&&/*#__PURE__*/_jsx(motion.div,{style:styles.wrapper,initial:{y:72,opacity:0},animate:{y:0,opacity:1},exit:{y:72,opacity:0},transition:{type:\"spring\",stiffness:380,damping:32},children:/*#__PURE__*/_jsxs(\"div\",{style:styles.card,children:[/*#__PURE__*/_jsxs(\"div\",{style:styles.textBlock,children:[/*#__PURE__*/_jsx(\"p\",{style:styles.title,children:\"Ce site utilise des cookies de mesure d'audience.\"}),/*#__PURE__*/_jsxs(\"p\",{style:styles.subtitle,children:[\"Google Analytics et Google Ads ne sont activ\\xe9s que si vous acceptez.\",\" \",/*#__PURE__*/_jsx(\"a\",{href:\"/politique-de-confidentialite\",style:styles.link,children:\"En savoir plus\"})]})]}),/*#__PURE__*/_jsxs(\"div\",{style:styles.buttons,children:[/*#__PURE__*/_jsx(\"button\",{style:styles.btnRefuse,onClick:()=>save(\"refused\"),children:\"Refuser\"}),/*#__PURE__*/_jsx(\"button\",{style:styles.btnAccept,onClick:()=>save(\"accepted\"),children:\"Accepter\"})]})]})})});}addPropertyControls(AVFCookieBanner,{background:{type:ControlType.Color,title:\"Fond\",defaultValue:\"#120025\"},accent:{type:ControlType.Color,title:\"Accent\",defaultValue:\"#b06ef3\"},textColor:{type:ControlType.Color,title:\"Texte\",defaultValue:\"#F8F6F2\"},mobileBreakpoint:{type:ControlType.Number,title:\"Mobile ≤\",defaultValue:640,min:480,max:900,step:10,unit:\"px\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AVFCookieBanner\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CookieBanner.map"],"mappings":"A,4QAaG,SAASmB,GAAgB,CAAC,GAAUZ,IAAS,OAAY,OAAO,IAAMa,EAAEb,EAAO,GAAGa,EAAE,gBAAgB,OAAO,EAAE,gBAAgB,GAAK,EAAE,UAAUA,EAAE,WAAW,CAAC,EAAE,EAAE,KAAK,UAAU,CAACA,EAAE,UAAU,KAAK,SAAS,CAAE,EAAE,IAAMC,EAAE,SAAS,cAAc,QAAQ,EAAE,EAAE,MAAM,GAAK,EAAE,IAAI,+CAA+CC,EAAM,SAAS,KAAK,YAAYD,CAAC,EAAED,EAAE,KAAK,qBAAK,IAAI,IAAI,EAAEA,EAAE,KAAK,SAASE,CAAK,EAAEF,EAAE,KAAK,SAASG,CAAM,EAClahB,EAAO,iBAAiB,UAAU,GAAG,CAAIiB,EAAE,SAAS,wBAAkCA,EAAE,MAAM,OAAOA,EAAE,KAAK,OAAQ,UAAmBA,EAAE,KAAK,QAAQ,4BAA4BJ,EAAE,KAAK,QAAQ,aAAa,CAAC,QAAQK,CAAc,CAAC,CAAG,CAAC,CAAE,CAIzO,SAAwBC,EAAgB,EAAM,CAAC,GAAK,CAAC,aAAW,UAAU,SAAO,UAAU,YAAU,UAAU,mBAAiB,KAAKC,EAAW,CAACC,EAAQC,GAAY7B,EAAS,EAAK,EAAO,CAAC8B,EAASC,GAAa/B,EAAS,EAAK,EAAEY,MAAc,CAAC,GAAUL,IAAS,OAAmB,GAAG,CAAC,IAAMyB,EAAOzB,EAAO,aAAa,QAAQ0B,CAAW,EAAKD,IAAS,YAAWb,EAAe,EAAMa,GAAOxB,MAAoBqB,EAAW,EAAI,CAAC,CAAE,MAAM,CAClbrB,MAAoBqB,EAAW,EAAI,CAAC,CAAE,CAAC,EAAE,CAAC,CAAC,EAC3CjB,MAAc,CAAC,GAAUL,IAAS,OAAY,OAAO,IAAM2B,MAASjC,MAAoB4B,EAAW,EAAI,CAAC,EAAmD,OAAjDtB,EAAO,iBAAiB,mBAAmB2B,CAAI,MAAY3B,EAAO,oBAAoB,mBAAmB2B,CAAI,CAAE,EAAE,CAAC,CAAC,EAAEtB,MAAc,CAAC,GAAUL,IAAS,OAAY,OAAO,IAAM4B,MAAW,CAAC3B,MAAoBuB,EAAYxB,EAAO,WAAW6B,CAAgB,CAAC,CAAE,EAAoD,OAAlDD,EAAO,EAAE5B,EAAO,iBAAiB,SAAS4B,CAAM,MAAY5B,EAAO,oBAAoB,SAAS4B,CAAM,CAAE,EAAE,CAACC,CAAgB,CAAC,EAAE,IAAMC,EAAK,GAAO,CAAC,GAAU9B,IAAS,OAAY,OAAO,IAAI+B,EAAS,KAAK,GAAG,CAAC,EAAS/B,EAAO,aAAa,QAAQ0B,CAAW,EAAE1B,EAAO,aAAa,QAAQ0B,EAAYM,CAAK,CAAE,MAAM,CACjqB,CAEA,GAFC/B,MAAoBqB,EAAW,EAAK,CAAC,EAAKU,IAAQ,YAAWpB,EAAe,EAC7EZ,EAAO,cAAc,IAAI,YAAY,cAAc,CAAC,OAAOgC,CAAK,CAAC,CAAC,EAC/DA,IAAQ,WAAWD,IAAW,WAAW,CAAC,IAAME,EAAKjC,EAAO,SAAS,SAAekC,EAAQ,CAAC,GAAGD,EAAK,IAAIA,EAAK,IAAIA,EAAK,QAAQ,SAAS,EAAE,CAAC,EAAE,SAAS,OAAO,MAAM,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAME,EAAKC,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,EAAK,wBAAwB,KAAKD,CAAI,GAAGD,EAAQ,QAAQ,GAAG,CAAC,SAAS,OAAOC,EAAK,oDAAoDE,EAAE,YAAYA,EAAE,GAAI,CAAC,CAAG,CAAC,EAAErC,EAAO,SAAS,OAAO,CAAE,CAAC,EAAQsC,EAAO3C,OAAa,CAAC,QAAQ,CAAC,SAAS,QAAQ,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,OAAO,eAAe,SAAS,QAAQ4B,EAAS,iDAAiD,cAAc,OAAO,KAAK,cAAc,OAAO,WAAW,kCAAkC,EAAE,KAAK,CAAC,SAAS,IAAI,MAAM,OAAO,aAAW,OAAO,sCAAsC,aAAaA,EAAS,GAAG,GAAG,QAAQA,EAAS,YAAY,YAAY,UAAU,gEAAgE,QAAQ,OAAO,cAAcA,EAAS,SAAS,MAAM,WAAWA,EAAS,UAAU,SAAS,IAAIA,EAAS,GAAG,GAAG,cAAc,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,MAAMgB,EAAU,SAAS,GAAG,WAAW,IAAI,WAAW,GAAG,EAAE,SAAS,CAAC,OAAO,UAAU,MAAM,4BAA4B,SAAS,GAAG,WAAW,GAAG,EAAE,KAAK,CAAC,MAAMC,EAAO,eAAe,MAAM,EAAE,QAAQ,CAAC,QAAQ,OAAO,IAAI,EAAE,WAAW,EAAE,MAAMjB,EAAS,OAAO,MAAM,EAAE,UAAU,CAAC,WAAW,cAAc,OAAO,sCAAsC,MAAM,4BAA4B,QAAQ,WAAW,aAAa,IAAI,OAAO,UAAU,SAAS,GAAG,WAAW,UAAU,WAAW,SAAS,WAAW,gCAAgC,UAAU,GAAG,KAAKA,EAAS,EAAE,IAAA,EAAS,EAAE,UAAU,CAAC,WAAWiB,EAAO,OAAO,OAAO,MAAM,OAAO,QAAQ,WAAW,aAAa,IAAI,OAAO,UAAU,SAAS,GAAG,WAAW,IAAI,WAAW,UAAU,WAAW,SAAS,UAAU,qCAAqC,WAAW,mCAAmC,UAAU,GAAG,KAAKjB,EAAS,EAAE,IAAA,EAAS,CAAC,GAAG,CAACiB,EAAOC,EAAWlB,EAASgB,CAAS,CAAC,EAAE,MAAoB,gBAAKjC,EAAgB,CAAC,SAASe,GAAsB,gBAAKb,EAAO,IAAI,CAAC,MAAM8B,EAAO,QAAQ,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,WAAW,CAAC,KAAK,SAAS,UAAU,IAAI,QAAQ,EAAE,EAAE,SAAsB,gBAAM,MAAM,CAAC,MAAMA,EAAO,KAAK,SAAS,CAAc,gBAAM,MAAM,CAAC,MAAMA,EAAO,UAAU,SAAS,CAAc,gBAAK,IAAI,CAAC,MAAMA,EAAO,MAAM,SAAS,mDAAmD,CAAC,EAAe,gBAAM,IAAI,CAAC,MAAMA,EAAO,SAAS,SAAS,CAAC,uEAA0E,IAAiB,gBAAK,IAAI,CAAC,KAAK,gCAAgC,MAAMA,EAAO,KAAK,SAAS,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,gBAAM,MAAM,CAAC,MAAMA,EAAO,QAAQ,SAAS,CAAc,gBAAK,SAAS,CAAC,MAAMA,EAAO,UAAU,YAAYR,EAAK,SAAS,EAAE,SAAS,SAAS,CAAC,EAAe,gBAAK,SAAS,CAAC,MAAMQ,EAAO,UAAU,YAAYR,EAAK,UAAU,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,C,8DAb56F,EAAY,qBAA2B,EAAM,eAAqB,EAAO,iBAAuB,EAAe,sCAa8zFrB,EAAoBU,EAAgB,CAAC,WAAW,CAAC,KAAKR,EAAY,MAAM,MAAM,OAAO,aAAa,SAAS,EAAE,OAAO,CAAC,KAAKA,EAAY,MAAM,MAAM,SAAS,aAAa,SAAS,EAAE,UAAU,CAAC,KAAKA,EAAY,MAAM,MAAM,QAAQ,aAAa,SAAS,EAAE,iBAAiB,CAAC,KAAKA,EAAY,OAAO,MAAM,WAAW,aAAa,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC,C"}